Megosztás a következőn keresztül:


Az ontologies kiterjesztése

Ez a cikk a DTDL-alapú RealEstateCore ontológiát használja az intelligens épületekhez , például az új DTDL-tulajdonságokkal rendelkező ontológiák kiterjesztésére. Az itt ismertetett technikák azonban általánosak, és bármely Azure Digital Twins-kompatibilis DTDL-képességgel (tulajdonság, kapcsolat, összetevő) alkalmazhatók a DTDL-alapú ontológia bármely részére.

A Microsoft iparági szabványnak megfelelő ontológiái, például a DTDL-alapú RealEstateCore ontológia nagyszerű lehetőséget biztosítanak az IoT-megoldás létrehozásának megkezdésére. Az iparági ontológiák számos olyan alapfelületet biztosítanak, amelyek a tartományhoz vannak tervezve, és úgy vannak megtervezve, hogy az Azure IoT-szolgáltatásokban, például az Azure Digital Twinsben működjenek.

Előfordulhat azonban, hogy a megoldásnak olyan konkrét igényei vannak, amelyeket nem fed le az iparági ontológia. Előfordulhat például, hogy a digitális ikerpéldányokat egy külön rendszerben tárolt 3D modellekhez szeretné csatlakoztatni. Ebben az esetben kiterjesztheti ezen ontológiák egyikét, hogy saját képességeket adjon hozzá, miközben megtartja az eredeti ontológia minden előnyét.

RealEstateCore térhierarchia

A DTDL-alapú RealEstateCore ontológiában a térhierarchia különböző típusú terek meghatározására szolgál: szobák, épületek, zóna stb. A hierarchia kiterjed ezekre a modellekre, hogy különböző típusú szobákat, épületeket és zónákat definiáljon.

A hierarchia egy része az alábbi diagramhoz hasonlóan néz ki.

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

További információ a RealEstateCore ontológiáról: Digital Twins Definition Language-alapú RealEstateCore ontológia intelligens épületekhez a GitHubon.

A RealEstateCore térhierarchiájának kiterjesztése

Néha a megoldásnak olyan konkrét igényei vannak, amelyeket nem fed le az iparági ontológia. Ebben az esetben a hierarchia kibővítésével továbbra is használhatja az iparági ontológiát, miközben testre szabhatja az igényeinek megfelelően.

Ebben a cikkben két különböző esetet tárgyalunk, amelyekben hasznos az ontológia hierarchiájának kiterjesztése:

  • Új felületek hozzáadása az iparági ontológiában nem szereplő fogalmakhoz.
  • További tulajdonságok, kapcsolatok vagy összetevők hozzáadása a meglévő felületekhez.

Új felületek hozzáadása új fogalmakhoz

Ebben az esetben olyan interfészeket szeretne hozzáadni a megoldáshoz szükséges fogalmakhoz, amelyek nem szerepelnek az iparági ontológiában. Ha például a megoldás más típusú szobákkal rendelkezik, amelyek nem szerepelnek a DTDL-alapú RealEstateCore ontológiában, akkor közvetlenül a RealEstateCore felületről bővítheti őket.

Az alábbi példa egy olyan megoldást mutat be, amelynek a "fókuszszobákat" kell képviselnie, amelyek nem szerepelnek a RealEstateCore ontológiában. A fókuszszoba egy kis hely, amelyet az emberek arra terveztek, hogy egyszerre néhány órára összpontosítsanak egy feladatra.

Az iparági ontológia ezen új koncepcióval való kibővítéséhez hozzon létre egy új felületet, amely az iparági ontológia felületeitől terjed ki.

A fókuszszoba felületének hozzáadása után a kiterjesztett hierarchia megjeleníti az új helyiségtípust.

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

További képességek hozzáadása a meglévő felületekhez

Ebben az esetben további tulajdonságokat, kapcsolatokat vagy összetevőket szeretne hozzáadni az iparági ontológiában található felületekhez.

Ebben a szakaszban két példát láthat:

  • Ha olyan megoldást hoz létre, amely egy meglévő rendszerben már meglévő szóközök 3D rajzait jeleníti meg, érdemes lehet az egyes digitális ikerpéldányokat a 3D rajzhoz (azonosító szerint) társítani, hogy amikor a megoldás a térről jelenít meg információkat, a 3D rajzot is lekérhesse a meglévő rendszerből.
  • Ha a megoldásnak nyomon kell követnie a konferenciatermek online/offline állapotát, érdemes lehet nyomon követnie a konferenciaterem állapotát a megjelenítésben vagy lekérdezésekben való használathoz.

Mindkét példa implementálható új tulajdonságokkal: egy drawingId olyan tulajdonsággal, amely a 3D rajzot a digitális ikerpéldányhoz társítja, és egy online tulajdonság, amely jelzi, hogy a konferenciaterem online állapotban van-e.

Általában nem szeretné közvetlenül módosítani az iparági ontológiát, mert a jövőben hozzá szeretné adni a hozzá tartozó frissítéseket a megoldásba (ami felülírná a kiegészítéseket). Ehelyett az ilyen típusú kiegészítések a saját felületi hierarchiában végezhetők el, amely a DTDL-alapú RealEstateCore ontológiából terjed ki. Minden létrehozott felület több illesztőöröklést használ a szülő RealEstateCore felületének és szülőfelületének kiterjesztéséhez a kiterjesztett felületi hierarchiából. Ez a megközelítés lehetővé teszi az iparági ontológia és a kiegészítések együttes használatát.

Az iparági ontológia kibővítéséhez hozzon létre saját interfészeket, amelyek az iparági ontológia felületeitől terjednek, és adja hozzá az új képességeket a kiterjesztett interfészekhez. Minden bővíteni kívánt felülethez hozzon létre egy új felületet. A kiterjesztett interfészek DTDL-ben vannak megírva (a dokumentum későbbi részében lásd a DTDL-t a kiterjesztett felületekhez ).

A hierarchia fent látható részének kiterjesztése után a kiterjesztett hierarchia az alábbi diagramhoz hasonlóan néz ki. Itt a kiterjesztett tér felület hozzáadja azt a drawingId tulajdonságot, amely egy azonosítót tartalmaz, amely a digitális ikerpéldányt a 3D rajzhoz társítja. Emellett a Konferenciaterem felület hozzáad egy tulajdonságot online , amely tartalmazza a konferenciaterem online állapotát. Az öröklés révén a ConferenceRoom felület tartalmazza a RealEstateCore Konferenciaterem felületének összes funkcióját, valamint a kiterjesztett térfelület összes funkcióját.

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

Nem kell az iparági ontológia minden felületét kiterjeszteni, csak azokat, ahol új képességeket kell hozzáadnia. Ha például egy új képességet, például egy arterial tulajdonságot kell hozzáadnia a Hallway-felülethez, akkor ezt a felületet úgy bővítheti ki, hogy nem terjeszt ki más, a Helyiségből is kiterjeszthető interfészeket.

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

Kapcsolatok kiterjesztett felületekhez

A kiterjesztett interfészek a kapcsolatok célként is használhatók, még akkor is, ha a kapcsolat eredetileg egy alapfelület megcélzására van modellezve. A DTDL-alapú RealEstateCore ontológiában például az Apartman felület tartalmaz egy Olyan kapcsolatot, amely egy szobafelületet céloz meg (az alábbi ábrán látható). Így létrehozhat egy gráfot a szobákról a lakás létrehozásához.

Az előző szakaszban szereplő Szobahierarchia része alapján az Apartman digitális ikerpéldányok tartalmazhatnak szoba típusú ikerpéldányokat, a Hallway pedig a Szoba kiterjesztése (így az apartman a folyosókat is magában foglalhatja). Ez azt is jelenti, hogy egy apartman tartalmazhat egy kiterjesztett folyosót a arterial tulajdonsággal, mivel a kiterjesztett folyosó a Hallwaynek számít, ahogy az eredeti kapcsolatokban hivatkoznak rá.

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

A kiterjesztett térhierarchia használata

Amikor digitális ikerpéldányokat hoz létre a kiterjesztett térhierarchiával, minden digitális ikerpéldány modellje a kiterjesztett térhierarchiából (nem az eredeti iparági ontológiából) származik, és az iparági ontológiából és a kiterjesztett interfészekből származó összes képességet tartalmazza a felületöröklésen keresztül.

Minden digitális ikerpéldány modellje egy interfész lesz a kiterjesztett hierarchiából, amely az alábbi ábrán látható.

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

Ha digitális ikerpéldányokat kérdez le a modellazonosító (az IS_OF_MODEL operátor) használatával, a kiterjesztett hierarchiából származó modellazonosítókat kell használni. For example, SELECT * FROM DIGITALTWINS WHERE IS_OF_MODEL('dtmi:com:example:Office;1').

Hozzájárulás az eredeti ontológiához

Bizonyos esetekben az iparági ontológiát úgy fogja kiterjeszteni, hogy az széles körben hasznos legyen az ontológia legtöbb felhasználója számára. Ebben az esetben érdemes megfontolni a bővítmények eredeti ontológiához való visszaállítását. Minden egyes ontológia más-más folyamatokat tartalmaz a hozzájáruláshoz, ezért a hozzájárulás részleteiért tekintse meg az ontológia GitHub-adattárát.

DTDL új felületekhez

A közvetlenül az iparági ontológiából kiterjeszthető új interfészek DTDL-je így nézne ki.

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

DTDL kiterjesztett interfészekhez

A kiterjesztett interfészek DTDL-je, amely a fent tárgyalt részre korlátozódik, így nézne ki.

[
  {
    "@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" 
  }
]

További lépések

Folytassa a modellek fejlesztésének útját az ontológiák alapján: Teljes modellfejlesztési út.