Memperluas ontologi

Artikel ini menggunakan ontologi RealEstateCore berbasis DTDL untuk bangunan pintar sebagai dasar untuk contoh perluasan ontologi dengan properti DTDL baru. Teknik yang dijelaskan di sini umum, bagaimanapun, dan dapat diterapkan ke bagian mana pun dari ontologi berbasis DTDL dengan kemampuan DTDL yang kompatibel dengan Azure Digital Twins (Properti, Hubungan, Komponen).

Ontologi standar industri Microsoft, seperti ontologi RealEstateCore berbasis DTDL, adalah cara yang bagus untuk mulai membangun solusi IoT Anda. Ontologi industri menyediakan serangkaian antarmuka dasar yang kaya yang dirancang untuk domain Anda dan direkayasa untuk bekerja di luar kotak di layanan Azure IoT seperti Azure Digital Twins.

Namun, ada kemungkinan solusi Anda memiliki kebutuhan khusus yang tidak tercakup oleh ontologi industri. Misalnya, Anda mungkin ingin menghubungkan kembar digital Anda ke model 3D yang disimpan dalam sistem terpisah. Dalam hal ini, Anda dapat memperluas salah satu ontologi ini untuk menambahkan kemampuan Anda sendiri sambil menjaga semua manfaat ontologi asli.

Hierarki spasi RealEstateCore

Dalam ontologi RealEstateCore berbasis DTDL, hierarki Space digunakan untuk mendefinisikan berbagai jenis ruang: Kamar, Bangunan, Zona, dan seterusnya. Hierarki meluas dari masing-masing model ini untuk menentukan berbagai jenis Kamar, Bangunan, dan Zona.

Sebagian hierarki terlihat seperti diagram di bawah ini.

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

Untuk informasi selengkapnya tentang ontologi RealEstateCore, lihat Ontologi RealEstateCore berbasis Bahasa Definisi Digital Twins untuk bangunan pintar di GitHub.

Memperluas hierarki spasi RealEstateCore

Terkadang solusi Anda memiliki kebutuhan khusus yang tidak tercakup oleh ontologi industri. Dalam hal ini, memperluas hierarki memungkinkan Anda untuk terus menggunakan ontologi industri sambil menyesuaikannya untuk kebutuhan Anda.

Dalam artikel ini, kita membahas dua kasus berbeda ketika memperpanjang hierarki ontologi menjadi berguna:

  • Menambahkan antarmuka baru untuk konsep yang tidak ada dalam ontologi industri.
  • Menambahkan Properti, Hubungan, atau Komponen tambahan ke antarmuka yang ada.

Menambahkan antarmuka baru untuk konsep baru

Dalam hal ini, Anda ingin menambahkan antarmuka untuk konsep yang diperlukan untuk solusi Anda yang tidak ada dalam ontologi industri. Misalnya, jika solusi Anda memiliki jenis ruangan lain yang tidak diwakili dalam ontologi RealEstateCore berbasis DTDL, maka Anda dapat menambahkannya dengan memperluas langsung dari antarmuka RealEstateCore.

Contoh di bawah ini menyajikan solusi yang perlu mewakili "ruang fokus", yang tidak terdapat dalam ontologi RealEstateCore. Ruang fokus adalah ruang kecil yang dirancang bagi orang untuk fokus pada tugas selama beberapa jam pada satu waktu.

Untuk memperluas ontologi industri dengan konsep baru ini, buat antarmuka baru yang membentang dari antarmuka dalam ontologi industri.

Setelah menambahkan antarmuka ruang fokus, hierarki yang diperluas menunjukkan jenis ruangan baru.

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

Menambahkan kemampuan ekstra ke antarmuka yang ada

Dalam hal ini, Anda ingin menambahkan lebih banyak Properti, Hubungan, atau Komponen ke antarmuka yang berada dalam ontologi industri.

Di bagian ini, Anda akan melihat dua contoh:

  • Jika Anda sedang membangun solusi yang menampilkan gambar ruang 3D yang sudah Anda miliki dalam sistem yang ada, Anda mungkin ingin mengaitkan setiap kembar digital ke gambar 3D (dengan ID) sehingga ketika solusi menampilkan informasi tentang ruang, ia juga dapat mengambil gambar 3D dari sistem yang ada.
  • Jika solusi Anda perlu melacak status online/offline ruang konferensi, maka Anda mungkin ingin melacak status ruang konferensi untuk digunakan dalam tampilan atau kueri.

Kedua contoh dapat diimplementasikan dengan properti baru: drawingId properti yang mengaitkan gambar 3D dengan kembar digital dan online properti yang menunjukkan apakah ruang konferensi online atau tidak.

Biasanya, Anda tidak ingin memodifikasi ontologi industri secara langsung karena Anda ingin dapat memasukkan pembaruan untuk itu dalam solusi Anda di masa depan (yang akan menimpa tambahan Anda). Sebaliknya, penambahan semacam ini dapat dilakukan dalam hierarki antarmuka Anda sendiri yang membentang dari ontologi RealEstateCore berbasis DTDL. Setiap antarmuka yang Anda buat menggunakan beberapa pewarisan antarmuka untuk memperluas antarmuka RealEstateCore induknya dan antarmuka induknya dari hierarki antarmuka yang diperluas. Pendekatan ini memungkinkan Anda untuk menggunakan ontologi industri dan penambahan Anda bersama-sama.

Untuk memperluas ontologi industri, buat antarmuka Anda sendiri yang meluas dari antarmuka dalam ontologi industri dan tambahkan kemampuan baru ke antarmuka Anda yang diperluas. Untuk setiap antarmuka yang ingin Anda perluas, buat antarmuka baru. Antarmuka yang diperluas ditulis dalam DTDL (lihat DTDL untuk Antarmuka yang Diperluas nanti dalam dokumen ini).

Setelah memperluas bagian hierarki yang diperlihatkan di atas, hierarki yang diperluas terlihat seperti diagram di bawah ini. Di sini antarmuka Space yang diperluas menambahkan drawingId properti yang akan berisi ID yang mengaitkan kembaran digital dengan gambar 3D. Selain itu, antarmuka ConferenceRoom menambahkan online properti yang akan berisi status online ruang konferensi. Melalui pewarisan, antarmuka ConferenceRoom berisi semua kemampuan dari antarmuka RealEstateCore ConferenceRoom dan semua kemampuan dari antarmuka Space yang diperluas.

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

Anda tidak perlu memperluas setiap antarmuka dalam ontologi industri, hanya antarmuka di mana Anda perlu menambahkan kemampuan baru. Misalnya, jika Anda perlu menambahkan kemampuan baru, seperti arterial properti ke antarmuka Hallway, Anda dapat memperluas antarmuka tersebut tanpa memperluas antarmuka lain yang juga diperluas dari Ruangan.

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

Hubungan ke antarmuka yang diperluas

Antarmuka yang diperluas juga dapat digunakan sebagai target untuk hubungan, bahkan jika hubungan awalnya dimodelkan untuk menargetkan antarmuka dasar. Sebagai contoh, dalam ontologi RealEstateCore berbasis DTDL, antarmuka Apartemen berisi Hubungan bernama termasuk yang menargetkan antarmuka Ruangan (ditunjukkan pada diagram di bawah). Ini memungkinkan Anda membuat grafik kamar untuk membentuk apartemen.

Berdasarkan bagian hierarki Kamar dari bagian sebelumnya, apartemen digital twin dapat mencakup kembar tipe Kamar, dan Hallway adalah ekstensi Kamar (sehingga Apartemen dapat mencakup Lorong). Ini juga berarti bahwa Apartemen dapat mencakup Lorong yang diperluas dengan arterial properti , karena Lorong yang diperluas dihitung sebagai Lorong seperti yang dirujuk dalam hubungan asli.

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

Menggunakan hierarki space yang diperluas

Saat Anda membuat kembar digital menggunakan hierarki Ruang yang diperluas, setiap model kembar digital akan menjadi satu dari hierarki Ruang yang diperluas (bukan ontologi industri asli) dan akan mencakup semua kemampuan dari ontologi industri dan antarmuka yang diperluas melalui pewarisan antarmuka.

Setiap model kembar digital akan menjadi antarmuka dari hierarki yang diperluas, yang ditunjukkan dalam diagram di bawah ini.

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

Saat meminta kembar digital menggunakan ID model (operatorIS_OF_MODEL), ID model dari hierarki yang diperluas harus digunakan. Contohnya, SELECT * FROM DIGITALTWINS WHERE IS_OF_MODEL('dtmi:com:example:Office;1').

Berkontribusi kembali ke ontologi asli

Dalam beberapa kasus, Anda akan memperluas ontologi industri dengan cara yang berguna secara luas bagi sebagian besar pengguna ontologi. Dalam hal ini, Anda harus mempertimbangkan untuk berkontribusi ekstensi Anda kembali ke ontologi asli. Setiap ontologi memiliki proses yang berbeda untuk berkontribusi, jadi periksa repositori GitHub ontology untuk detail kontribusi.

DTDL untuk antarmuka baru

DTDL untuk antarmuka baru yang membentang langsung dari ontologi industri akan terlihat seperti ini.

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

DTDL untuk antarmuka yang diperluas

DTDL untuk antarmuka yang diperluas, terbatas pada bagian yang dibahas di atas, akan terlihat seperti ini.

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

Langkah berikutnya

Lanjutkan pada jalur untuk mengembangkan model berdasarkan ontologi: Jalur pengembangan model lengkap.