Teilen über


Erweitern von Ontologien

In diesem Artikel wird die DTDL-basierte RealEstateCore-Ontologie für intelligente Gebäude als Grundlage für Beispiele zum Erweitern von Ontologien mit neuen DTDL-Eigenschaften verwendet. Die hier beschriebenen Techniken sind jedoch allgemein und können auf jeden Teil einer DTDL-basierten Ontologie mit jeder Azure Digital Twins-kompatiblen DTDL-Funktion (Property, Relationship, Component) angewendet werden.

Die Branchenstandard-Ontologien von Microsoft, z. B. die DTDL-basierte RealEstateCore-Ontologie, sind eine hervorragende Möglichkeit, mit der Erstellung Ihrer IoT-Lösung zu beginnen. Branchen-Ontologien bieten eine umfangreiche Reihe von Basisschnittstellen, die für Ihre Aufgaben konzipiert sind Standard und entwickelt wurden, um in Azure IoT-Diensten wie Azure Digital Twins aus der Box herauszuarbeiten.

Allerdings ist es möglich, dass Ihre Lösung spezifische Anforderungen aufweist, die nicht von der Branchenontologie abgedeckt werden. Beispielsweise können Sie Ihre digitalen Zwillinge mit 3D-Modellen verknüpfen, die in einem separaten System gespeichert werden. In diesem Fall können Sie eine dieser Ontologien erweitern, um Ihre eigenen Funktionen hinzuzufügen und gleichzeitig alle Vorteile der ursprünglichen Ontologie beizubehalten.

RealEstateCore-Bereichshierarchie

In der DTDL-basierten RealEstateCore-Ontologie wird die Bereichshierarchie zum Definieren verschiedener Arten von Bereichen verwendet: Räume, Gebäude, Zonen usw. Die Hierarchie erstreckt sich von jedem dieser Modelle, um verschiedene Arten von Räumen, Gebäuden und Zonen zu definieren.

Ein Teil dieser Hierarchie entspricht der Darstellung im folgenden Diagramm.

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

Weitere Informationen zur RealEstateCore-Ontologie finden Sie unter Digital Twins Definition Language-basierte RealEstateCore Ontologie für intelligente Gebäude auf GitHub.

Erweitern der RealEstateCore-Bereichshierarchie

In manchen Fällen weist Ihre Lösung spezifische Anforderungen auf, die nicht von der Branchenontologie abgedeckt werden. In diesem Fall ermöglicht Ihnen das Erweitern der Hierarchie es Ihnen, weiter die Branchenontologie zu verwenden, während Sie diese entsprechend Ihrer Anforderungen anpassen.

In diesem Artikel werden zwei verschiedene Fälle erläutert, in denen das Erweitern der Hierarchie der Ontologie hilfreich ist:

  • Hinzufügen neuer Schnittstellen für nicht in der Branchenontologie enthaltene Konzepte
  • Hinzufügen zusätzlicher Eigenschaften, Beziehungen oder Komponenten zu vorhandenen Schnittstellen.

Hinzufügen neuer Schnittstellen für neue Konzepte

In diesem Fall möchten Sie Schnittstellen für Konzepte hinzufügen, die für Ihre Lösung erforderlich sind, die nicht in der Ontologie der Branche vorhanden sind. Wenn Ihre Lösung beispielsweise andere Arten von Räumen umfasst, die nicht in der DTDL-basierten RealEstateCore-Ontologie enthalten sind, können Sie diese hinzufügen, indem Sie die RealEstateCore-Schnittstellen direkt erweitern.

Im folgenden Beispiel wird eine Lösung veranschaulicht, die „Fokusräume“ darstellen muss, die nicht in der RealEstateCore-Ontologie vorhanden sind. Ein Fokusraum ist ein kleiner Bereich, der dazu konzipiert ist, dass sich Mitarbeiter in diesem einige Stunden auf eine bestimmte Aufgabe konzentrieren können.

Erstellen Sie eine neue Schnittstelle, die die Schnittstellen in der Branchenontologie erweitert, um die Branchenontologie um dieses neue Konzept zu erweitern.

Nachdem Sie die Schnittstelle für Fokusräume hinzugefügt haben, zeigt die erweiterte Hierarchie den neuen Raumtyp an.

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

Hinzufügen zusätzlicher Funktionen zu vorhandenen Schnittstellen

In diesem Fall möchten Sie weitere Eigenschaften, Beziehungen oder Komponenten zu Schnittstellen hinzufügen, die sich in der Branchen-Ontologie befinden.

In diesem Abschnitt werden zwei Beispiele vorgestellt:

  • Wenn Sie eine Lösung erstellen, die 3D-Zeichnungen von Bereichen anzeigt, die bereits in einem vorhandenen System vorliegen, sollten Sie jeden digitalen Zwilling der jeweiligen 3D-Zeichnung zuordnen (nach ID), damit auch die 3D-Zeichnung aus dem System abgerufen werden kann, wenn die Lösung Informationen zum Bereich anzeigt.
  • Wenn Ihre Lösung den Online-/Offlinestatus von Konferenzräumen nachverfolgen muss, sollten Sie den Konferenzraumstatus für die Verwendung in Anzeigen oder Abfragen nachverfolgen.

Beide Beispiele können mithilfe neuer Eigenschaften implementiert werden: einer drawingId-Eigenschaft, die die 3D-Zeichnung dem digitalen Zwilling und einer online-Eigenschaft, die angibt, ob der Konferenzraum online ist oder nicht.

In der Regel wird davon abgeraten, die Branchenontologie direkt zu ändern, da Sie in der Zukunft dazu in der Lage sein müssen, Updates für diese zu Ihrer Lösung hinzuzufügen (welche Ihre Ergänzungen überschreiben würden). Stattdessen können solche Additionen in Ihrer eigenen Schnittstellenhierarchie erfolgen, die die DTDL-basierte RealEstateCore-Ontologie erweitert. Jede Schnittstelle, die Sie erstellen, verwendet mehrere Schnittstellenvererbungen, um die übergeordnete RealEstateCore-Schnittstelle und die übergeordnete Schnittstelle Ihrer erweiterten Schnittstellenhierarchie zu erweitern. Dieser Ansatz ermöglicht es Ihnen, die Branchenontologie zusammen mit Ihren Ergänzungen zu verwenden.

Zum Erweitern der Branchenontologie erstellen Sie Ihre eigenen Schnittstellen, die die Schnittstellen in der Branchenontologie erweitern und neue Funktionen zu Ihren erweiterten Schnittstellen hinzufügen. Für jede Schnittstelle, die Sie erweitern möchten, müssen Sie eine neue Schnittstelle erstellen. Die erweiterten Schnittstellen werden in DTDL geschrieben (Informationen hierzu finden Sie unter DTDL für erweiterte Schnittstellen weiter unten in diesem Dokument).

Nach der Erweiterung des oben gezeigten Teils der Hierarchie sieht die erweiterte Hierarchie wie in der folgenden Abbildung aus. Die erweiterte Schnittstelle „Space“ fügt die Eigenschaft drawingId hinzu, die eine ID enthalten soll, die den digitalen Zwilling der 3D-Zeichnung zuordnet. Darüber hinaus fügt die ConferenceRoom-Schnittstelle eine online-Eigenschaft hinzu, die den Onlinestatus des Konferenzraums enthält. Durch die Vererbung enthält die ConferenceRoom-Schnittstelle alle Funktionen der RealEstateCore-Schnittstelle „ConferenceRoom“ sowie alle Funktionen der erweiterten Schnittstelle „Space“.

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

Sie müssen nicht jede Schnittstelle in der Branchenontologie erweitern, sondern nur diejenigen, in denen Sie neue Funktionen hinzufügen müssen. Wenn Sie beispielsweise der Schnittstelle „Hallway“ eine neue Funktion hinzufügen müssen (etwa eine Eigenschaft vom Typ arterial), können Sie diese Schnittstelle erweitern, ohne andere von „Room“ ausgehende Schnittstellen zu erweitern.

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

Beziehungen mit erweiterten Schnittstellen

Erweiterte Schnittstellen können auch als Ziel für Beziehungen verwendet werden, auch wenn die Beziehung ursprünglich für eine Basisschnittstelle modelliert wurde. Beispielsweise enthält die Schnittstelle „Apartment“ in der DTDL-basierten RealEstateCore-Ontologie eine Beziehung mit dem Namen includes, die auf die Schnittstelle „Room“ (siehe Diagramm unten) ausgerichtet ist. Auf diese Weise können Sie ein Diagramm von Räumen erstellen, aus denen das Apartment besteht.

Basierend auf dem Teil der Raumhierarchie aus dem vorherigen Abschnitt kann ein digitaler Zwilling vom Typ „Apartment“ Zwillinge vom Typ „Room“ enthalten, und „Hallway“ ist eine Erweiterung von „Room“ (Apartment kann also Hallway-Elemente enthalten). Das bedeutet auch, dass ein Apartment ein erweitertes Hallway-Element mit der Eigenschaft arterial enthalten kann, da ein erweitertes Hallway-Element gemäß Verweis in den ursprünglichen Beziehungen als Hallway-Element zählt.

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

Verwenden der erweiterten Bereichshierarchie

Wenn Sie digitale Zwillinge mithilfe der erweiterten Bereichshierarchie erstellen, stammen die Modelle jedes digitalen Zwillings aus der erweiterten Bereichshierarchie (nicht aus der ursprünglichen Branchenontologie) und enthalten alle Funktionen der Branchenontologie und die erweiterten Schnittstellen über die Schnittstellenvererbung.

Jedes Modell der digitalen Zwillinge ist dann eine Schnittstelle der erweiterten Hierarchie (siehe folgendes Diagramm).

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

Beim Abfragen digitaler Zwillinge mithilfe der Modell-ID (der IS_OF_MODEL-Operator) sollten die Modell-IDs aus der erweiterten Hierarchie verwendet werden. Beispielsweise SELECT * FROM DIGITALTWINS WHERE IS_OF_MODEL('dtmi:com:example:Office;1').

Mitwirken bei der ursprünglichen Ontologie

Manchmal erweitern Sie die Branchenontologie auf eine Weise, die für die meisten Benutzer der Ontologie nützlich ist. In diesem Fall sollten Sie es in Betracht ziehen, Ihre Erweiterungen zur ursprünglichen Ontologie beizutragen. Jede Ontologie bietet einen anderen Prozess zum Mitwirken. Überprüfen Sie also das GitHub-Repository der Ontologie, um Informationen zum Mitwirken zu erhalten.

DTDL für neue Schnittstellen

Die DTDL für neue Schnittstellen, die direkt aus der Branchenontologie erweitert werden, sieht wie folgt aus.

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

DTDL für erweiterte Schnittstellen

Die DTDL für die erweiterten Schnittstellen (beschränkt auf den oben behandelten Abschnitt) sieht wie folgt aus.

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

Nächste Schritte

Fahren Sie mit dem Weg zur Entwicklung von Modellen auf Der Grundlage von Ontologien fort: Vollständiger Modellentwicklungspfad.