Sdílet prostřednictvím


Rozšíření ontologií

Tento článek používá pro inteligentní budovy jako základ rozšíření ontologií realEstateCore založené na DTDL pro příklady rozšíření ontologií s novými vlastnostmi DTDL. Zde popsané techniky jsou ale obecné a lze je použít na libovolnou část ontologie založené na DTDL s libovolnou schopností DTDL kompatibilní s Azure Digital Twins (vlastnost, relace, komponenta).

Standardní ontologie Od Microsoftu, jako je například ontologie realEstateCore založená na DTDL, představují skvělý způsob, jak začít vytvářet řešení IoT. Oborové ontologie poskytují bohatou sadu základních rozhraní, která jsou navržená pro vaši doménu a navržená tak, aby fungovala předem ve službách Azure IoT, jako je Azure Digital Twins.

Je však možné, že vaše řešení může mít specifické potřeby, které nejsou pokryty oborovou ontologií. Můžete například chtít propojit digitální dvojčata s 3D modely uloženými v samostatném systému. V tomto případě můžete jednu z těchto ontologií rozšířit, abyste mohli přidat vlastní možnosti a zároveň zachovat všechny výhody původní ontologie.

RealEstateCore space hierarchy

V ontologii realEstateCore založené na DTDL se hierarchie prostorů používá k definování různých druhů prostorů: Místnosti, budovy, zóna atd. Hierarchie se rozšiřuje z každého z těchto modelů, aby definovala různé druhy místností, budov a zón.

Část hierarchie vypadá jako následující diagram.

Diagram showing part of the RealEstateCore space hierarchy. It shows elements for Space, Room, ConferenceRoom, and Office.

Další informace o ontologii RealEstateCore najdete v tématu RealEstateCore ontologie založené na jazyce RealEstateCore založené na technologii Digital Twins Pro inteligentní budovy na GitHubu.

Rozšíření hierarchie prostoru RealEstateCore

V některých případech má vaše řešení specifické potřeby, které oborová ontologie nepokrývá. V tomto případě rozšíření hierarchie umožňuje pokračovat v používání oborové ontologie a zároveň ji přizpůsobit vašim potřebám.

V tomto článku probereme dva různé případy, kdy je rozšíření hierarchie ontologie užitečné:

  • Přidání nových rozhraní pro koncepty, které nejsou v oboru ontologie
  • Přidání dalších vlastností, relací nebo součástí do existujících rozhraní

Přidání nových rozhraní pro nové koncepty

V tomto případě chcete přidat rozhraní pro koncepty potřebné pro vaše řešení, které nejsou přítomné v oboru ontologie. Pokud má vaše řešení například jiné typy místností, které nejsou reprezentované v ontologii RealEstateCore založené na DTDL, můžete je přidat tak, že je rozšíříte přímo z rozhraní RealEstateCore.

Následující příklad představuje řešení, které musí představovat "detailní místnosti", které nejsou přítomné v ontologii RealEstateCore. Fokus je malý prostor určený pro lidi, aby se mohli soustředit na úkol na pár hodin najednou.

Pokud chcete rozšířit oborovou ontologii pomocí tohoto nového konceptu, vytvořte nové rozhraní, které se rozšiřuje z rozhraní v oboru ontologie.

Po přidání rozhraní detailní místnosti se v rozšířené hierarchii zobrazí nový typ místnosti.

Diagram showing part of the RealEstateCore space hierarchy, including a new addition of Focus Room.

Přidání dalších funkcí do existujících rozhraní

V tomto případě chcete do rozhraní, která jsou v oboru ontologie, přidat další vlastnosti, relace nebo komponenty.

V této části uvidíte dva příklady:

  • Pokud vytváříte řešení, které zobrazuje 3D výkresy prostorů, které už máte v existujícím systému, můžete chtít přidružit každé digitální dvojče k 3D výkresu (podle ID), aby při zobrazení informací o prostoru řešení mohlo také načíst 3D výkres z existujícího systému.
  • Pokud vaše řešení potřebuje sledovat online nebo offline stav konferenčních místností, můžete chtít sledovat stav konferenční místnosti pro použití v zobrazení nebo dotazech.

Oba příklady lze implementovat s novými vlastnostmi: drawingId vlastnost, která přidruží 3D výkres k digitálnímu online dvojčeti a vlastnost, která označuje, jestli je konferenční místnost online nebo ne.

Obvykle nechcete upravovat oborové ontologie přímo, protože v budoucnu chcete mít možnost začlenit do svého řešení aktualizace (což by přepsalo vaše doplňky). Místo toho je možné tyto druhy sčítání vytvořit ve vaší vlastní hierarchii rozhraní, která se rozšiřuje z ontologie realEstateCore založeného na DTDL. Každé rozhraní, které vytvoříte, používá více dědičností rozhraní k rozšíření nadřazeného rozhraní RealEstateCore a jeho nadřazeného rozhraní z vaší rozšířené hierarchie rozhraní. Tento přístup vám umožní společně využívat oborové ontologie a vaše doplňky.

Pokud chcete rozšířit oborové ontologie, vytvořte vlastní rozhraní, která se rozšiřují z rozhraní v oboru ontologie, a přidejte do rozšířených rozhraní nové možnosti. Pro každé rozhraní, které chcete rozšířit, vytvořte nové rozhraní. Rozšířená rozhraní jsou napsána v DTDL (viz DTDL pro rozšířená rozhraní dále v tomto dokumentu).

Po rozšíření části výše uvedené hierarchie vypadá rozšířená hierarchie jako následující diagram. Rozšířené rozhraní prostoru zde přidá drawingId vlastnost, která bude obsahovat ID, které přidruží digitální dvojče k 3D výkresu. Kromě toho rozhraní ConferenceRoom přidá online vlastnost, která bude obsahovat online stav konferenční místnosti. Prostřednictvím dědičnosti rozhraní ConferenceRoom obsahuje všechny možnosti z rozhraní RealEstateCore ConferenceRoom a všechny možnosti z rozšířeného rozhraní prostoru.

Diagram showing the extended RealEstateCore space hierarchy, with more new additions as described.

Nemusíte rozšiřovat všechna rozhraní v oboru ontologie, pouze ty, kde potřebujete přidat nové funkce. Pokud například potřebujete přidat novou funkci, například arterial vlastnost do rozhraní Chodby, můžete toto rozhraní rozšířit, aniž byste rozšířili další rozhraní, která také rozšiřují z místnosti.

Diagram showing an extended RealEstateCore space hierarchy, containing an extended Hallway interface with an arterial property.

Relace k rozšířeným rozhraním

Rozšířená rozhraní lze také použít jako cíl relací, i když je relace původně modelována tak, aby cílila na základní rozhraní. Například v ontologii realEstateCore založené na DTDL obsahuje rozhraní Apartment pojmenovanou relaci, která cílí na rozhraní místnosti (znázorněno v diagramu níže). Díky tomu můžete vytvořit graf místností pro vytvoření bytu.

V závislosti na části hierarchie místností z předchozí části může digitální dvojče apartmánu obsahovat dvojčata typu pokoje a chodba je rozšířením pokoje (takže apartmán může obsahovat chodby). To také znamená, že byt může obsahovat rozšířenou chodbu s arterial nemovitostí, protože rozšířená chodba se počítá jako chodba, jak je odkazována v původních relacích.

Diagram showing an extended RealEstateCore space hierarchy, with an extended Hallway interface and relationships to it.

Použití rozšířené hierarchie prostoru

Při vytváření digitálních dvojčat pomocí rozšířené hierarchie prostorů bude každý model digitálního dvojčete jeden z rozšířených prostorových hierarchií (nikoli původní oborové ontologie) a bude zahrnovat všechny možnosti z oboru ontologie a rozšířené rozhraní prostřednictvím dědičnosti rozhraní.

Každý model digitálního dvojčete bude rozhraním z rozšířené hierarchie, jak je znázorněno v následujícím diagramu.

Diagram showing the extended RealEstateCore space hierarchy, including the connected models Space, Room, ConferenceRoom, Office, and FocusRoom.

Při dotazování na digitální dvojčata pomocí ID modelu ( IS_OF_MODEL operátor) by se měla použít ID modelů z rozšířené hierarchie. Například SELECT * FROM DIGITALTWINS WHERE IS_OF_MODEL('dtmi:com:example:Office;1').

Přispívání zpět do původní ontologie

V některých případech rozšíříte oborovou ontologii způsobem, který je pro většinu uživatelů ontologie obecně užitečný. V takovém případě byste měli zvážit přispívání rozšíření zpět do původní ontologie. Každá ontologie má jiný proces pro přispívání, takže podrobnosti o příspěvku najdete v úložišti Ontologie na GitHubu.

DTDL pro nová rozhraní

DTDL pro nová rozhraní, která se rozšiřují přímo z oboru ontologie, by vypadala takto.

{
  "@id": "dtmi:com:example:FocusRoom;1", 
  "@type": "interface", 
  "extends": "dtmi:digitaltwins:rec_3_3:building:Office;1", 
  "@context": "dtmi:dtdl:context;2" 
} 

DTDL pro rozšířená rozhraní

DTDL pro rozšířená rozhraní, omezená na část probíranou výše, by vypadala takto.

[
  {
    "@id": "dtmi:com:example:Space;1",
    "@type": "Interface",
    "extends": "dtmi:digitaltwins:rec_3_3:core:Space;1",
    "contents": [
      {
        "@type": "Property",
        "name": "drawingid",
        "schema": "string"
      }
    ],
    "@context": "dtmi:dtdl:context;2"
  },
  {
    "@id": "dtmi:com:example:Room;1",
    "@type": "Interface",
    "extends": [
      "dtmi:digitaltwins:rec_3_3:core:Room;1",
      "dtmi:com:example:Space;1"
    ],
    "@context": "dtmi:dtdl:context;2"
  },
  {
    "@id": "dtmi:com:example:ConferenceRoom;1",
    "@type": "Interface",
    "extends": [
      "dtmi:digitaltwins:rec_3_3:building:ConferenceRoom;1",
      "dtmi:com:example:Room;1"
    ],
    "contents": [
      {
        "@type": "Property",
        "name": "online",
        "schema": "boolean"
      }
    ],
    "@context": "dtmi:dtdl:context;2"
  },
  {
    "@id": "dtmi:com:example:Office;1",
    "@type": "Interface",
    "extends": [
      "dtmi:digitaltwins:rec_3_3:building:Office;1", 
      "dtmi:com:example:Room;1" 
    ],
    "@context": "dtmi:dtdl:context;2" 
  }, 
  {
    "@id": "dtmi:com:example:FocusRoom;1", 
    "@type": "Interface", 
    "extends": "dtmi:com:example:Office;1", 
    "@context": "dtmi:dtdl:context;2" 
  }
]

Další kroky

Pokračujte na cestě pro vývoj modelů založených na ontologiích: Úplná cesta vývoje modelu.