تحويل الرموز القياسية للصناعة إلى DTDL ل Azure Digital Twins
تستند معظم عمليات تخطيط الشبكة إلى معايير الويب الدلالية مثل OWL وRDF وRDFS.
لاستخدام نموذج مع Azure Digital Twins، يجب أن يكون بتنسيق DTDL. توضح هذه المقالة إرشادات التصميم العامة في شكل نمط تحويل لتحويل النماذج المستندة إلى RDF إلى DTDL بحيث يمكن استخدامها مع Azure Digital Twins.
تحتوي المقالة أيضا على نموذج التعليمات البرمجية للمحول لمحولات RDF وOWL، والتي يمكن توسيعها للمخططات الأخرى في صناعة البناء.
على الرغم من أن الأمثلة الواردة في هذه المقالة تركز على الإنشاء، يمكنك تطبيق عمليات مماثلة على المخططات القياسية عبر صناعات مختلفة لتحويلها إلى DTDL أيضا.
نمط التحويل
هناك العديد من مكتبات الجهات الخارجية التي يمكن استخدامها عند تحويل النماذج المستندة إلى RDF إلى DTDL. تسمح لك بعض هذه المكتبات بتحميل ملف النموذج الخاص بك في رسم بياني. يمكنك إجراء تكرار حلقي عبر الرسم البياني للبحث عن بنى RDFS وOWL معينة، وتحويلها إلى DTDL.
الجدول التالي هو مثال على كيفية تعيين بنيات RDFS وOWL إلى DTDL.
مفهوم RDFS/OWL | إنشاء RDFS/OWL | مفهوم DTDL | إنشاء DTDL |
---|---|---|---|
الفصول | owl:Class لاحقة IRI rdfs:label rdfs:comment |
الواجهة | @type:Interface @id displayName comment |
الفئات الفرعيه | owl:Class لاحقة IRI rdfs:label rdfs:comment rdfs:subClassOf |
الواجهة | @type:Interface @id displayName comment extends |
خصائص نوع البيانات | owl:DatatypeProperty rdfs:label أو INode rdfs:label rdfs:range |
خصائص الواجهة | @type:Property name displayName schema |
خصائص الكائن | owl:ObjectProperty rdfs:label أو INode rdfs:range rdfs:comment rdfs:label |
العلاقة | type:Relationship name target (أو تم حذفه إذا لم يكن )rdfs:range comment displayName |
يوضح مقتطف التعليمات البرمجية C# التالي كيفية تحميل ملف نموذج RDF في رسم بياني وتحويله إلى DTDL، باستخدام مكتبة dotNetRDF .
using VDS.RDF.Ontology;
using VDS.RDF.Parsing;
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace DigitalTwins_Samples
{
public class DigitalTwinsConvertRDFSample
{
public void Run()
{
Console.WriteLine("Reading file...");
FileLoader.Load(_ontologyGraph, rdfFile.FullName);
// Start looping through for each owl:Class
foreach (OntologyClass owlClass in _ontologyGraph.OwlClasses)
{
// Generate a DTMI for the owl:Class
string Id = GenerateDTMI(owlClass);
if (!String.IsNullOrEmpty(Id))
{
Console.WriteLine($"{owlClass.ToString()} -> {Id}");
// Create Interface
var dtdlInterface = new DtdlInterface
{
Id = Id,
Type = "Interface",
DisplayName = GetInterfaceDisplayName(owlClass),
Comment = GetInterfaceComment(owlClass),
Contents = new List<DtdlContents>(),
};
// An OWL graph can have parent/child classes.
// So to understand if an OWL class is a base class or a child class,
// look for a superclass on any given OWL class.
// If found, convert these to parent + child Interfaces using DTDL extends.
IEnumerable<OntologyClass> foundSuperClasses = owlClass.DirectSuperClasses;
//...
}
// Add interface to the list of interfaces
_interfaceList.Add(dtdlInterface);
}
// Serialize to JSON
var json = JsonConvert.SerializeObject(_interfaceList);
}
}
}
عينات المحول
يحتوي هذا القسم على نموذج التعليمات البرمجية للمحول لمحولات RDF وOWL، والتي يمكن توسيعها للمخططات الأخرى في صناعة البناء.
تطبيق محول RDF
هناك نموذج تطبيق متاح يحول ملف نموذج يستند إلى RDF إلى DTDL الإصدار 2 (v2). يتم دعم DTDL v2 بواسطة Azure Digital Twins، ولكن يمكنك أيضا اتباع هذه الإرشادات بعد ذلك لتحويل نماذج DTDL v2 إلى DTDL v3 الأحدث.
تم التحقق من صحة نموذج التطبيق لمخطط الطوب، ويمكن توسيعه للمخططات الأخرى في صناعة البناء (مثل مخطط البناء Ontology (BOT) أو شبكة الاستشعار الدلالية أو فئات مؤسسة صناعة BuildingSmart (IFC)).
العينة هي تطبيق سطر أوامر .NET Core يسمى RdfToDtdlConverter.
لتنزيل التعليمات البرمجية إلى جهازك، حدد الزر Browse code أسفل العنوان في صفحة العينة، والذي سينقلك إلى مستودع GitHub للعينة. حدد الزر Code و Download ZIP لتنزيل العينة كملف .zip يسمى RdfToDtdlConverter-main.zip. يمكنك بعد ذلك فك ضغط الملف واستكشاف التعليمات البرمجية.
يمكنك استخدام هذه العينة لمشاهدة أنماط التحويل في السياق، وأن يكون لديك ككتلة بناء لتطبيقاتك الخاصة التي تقوم بتحويلات النموذج وفقا لاحتياجاتك الخاصة.
محول OWL2DTDL
محول OWL2DTDL هو نموذج قاعدة تعليمات برمجية تترجم علم معلومات OWL إلى مجموعة من إعلانات واجهة DTDL، والتي يمكن استخدامها مع خدمة Azure Digital Twins. كما أنه يعمل لشبكات علم الأورام، مصنوعة من أحد الأورام الجذر التي تعيد استخدام الأنطولوجيا الأخرى من خلال owl:imports
الإعلانات. تم استخدام هذا المحول لترجمة Real Estate Core Ontology إلى DTDL ويمكن استخدامه لأي علم ترجمة مستند إلى OWL.
نموذج التعليمات البرمجية هذا ليس حلا شاملا يدعم كامل مواصفات OWL، ولكن يمكن أن يمنحك أفكارا وبدء التعليمات البرمجية التي يمكنك استخدامها في تطوير مسارات استيعاب علم الأورام الخاصة بك.
الخطوات التالية
تابع على مسار تطوير النماذج استنادا إلى النماذج: مسار تطوير النموذج الكامل.