في Rowlex هل هناك طريقة لإزالة "RDF: Datatype" من كائن Serialized؟

StackOverflow https://stackoverflow.com/questions/1127370

  •  13-09-2019
  •  | 
  •  

سؤال

في Owlex هل من الممكن إزالة سمة "RDF: Datatype" لكل خاصية و / أو استخدام مخطط RDF المشترك بدلا من ذلك؟

مثال:

<MyOntology:Channel>
   <MyOntology:title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">My news</MyOntology:title>
   <MyOntology:description rdf:datatype="http://www.w3.org/2001/XMLSchema#string">My desc</MyOntology:description>
</MyOntology:Channel>
هل كانت مفيدة؟

المحلول

السؤال غير واضح تماما، لذلك يمكنك الحصول على إجابة عامة :) يجب أن تكون كل خاصية البومة إما نوع بيانات أو نوع كائن.

  • خصائص نوع الكائن توصيل عقدين من الرسم البياني، أي ليس فقط الموضوع ولكن كائن الثلاثي هو uri (أو عقدة فارغة)، أيضا.
  • خاصية نوع البيانات: كائن الثلاثي هو قيمة ملموسة يمكن أن تكون سلسلة، عدد صحيح، وقت التاريخ إلخ. تسمى هذه القيم الخرسانية "حرفية" -s. النوع الأساسي من الحرفيين هو "حرفي"، من هذه أنواع الخرسانة (السلسلة، عدد صحيح، DateTime ...) فرعية.

عندما تقوم بتحديد طبيبتك، فلا تطلب منك تقييد خصائص نوع البيانات الخاصة بك إلى نوع حرفي معين. قد تبقيها عام، وقبل أي أنواع من الحرفيين. روليكس يدعم هذا. هناك فئة RDFliteral العامة ومضيفين لفئات حرفية محددة مثل rdfliteralstring، rdfliteraldateTime وما إلى ذلك. كل فئة حرفية محددة تحتوي على تطبيقات صريحة واضحة وتضجية لتحويل أنواع .NET إلى حرفي والظهر. لذلك في روليس، قد تكتب:

    RdfDocument rdfDoc = new RdfDocument();
    // Assuming that Person class and DateOfBirth data type property 
    // are autogenerated from your person-ontology, AND
    // your DateOfBirth data type property is restricted to DateTime
    Person p = new Person("joe", rdfDoc); 
    // Implicit casting from DateTime to RdfLiteralDateTime
    p.DateOfBirth = new Sytem.DateTime(1946, 12, 31); // Compiles OK
    p.DateOfBirth = 26; // Compiler error
    p.DateOfBirth = "Hello World"; // Compiler error

إذا لم يقتصر خاصية نوع بيانات DeateOfBirth في OnTology الخاص بك على DateTime ثم ترجمة جميع الأسطر المذكورة أعلاه دون أخطاء. ومع ذلك، رأيي الشخصي هو أنه إذا كنت تستطيع أن تكون أكثر تحديدا، فستكون أكثر تحديدا، لأنه يمكنك منع الأخطاء والمحاكمة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top