سؤال

لدي بعض النوع المخصص:

[RdfSerializable]
public class Item
{
    [RdfProperty(true)]
    public string Name { get; set; }
}

وبعض أنواع أخرى تحتوي على صفيف العنصر:

[RdfSerializable]
public class Container
{
      // ... some code

      // if this attribute is missing, then this property will not be exported as array
      [CardinalityRestriction(1, 100)]     
      [RdfProperty(false)]
      public Item[] MyArray { get { return mMyArray; } }
}

وهذا يحدث أنه إذا قمت بإزالة سمة CardOnalityRestriction من Myarray، فسيتم تصديرها بواسطة Owlgrinder.exe كعنصر واحد وليس كصفيف من العناصر.

هل هناك طريقة أخرى لتحديد المصفوفات دون تقييدها إلى مجموعة من العناصر؟

هل كانت مفيدة؟

المحلول

رواية يتصرف OnTologyExtractor بشكل صحيح (Owlgrinder يقرأ ontologies وإنتاج التجميعات. OnTologyExtractor يقرأ التجميعات وتباقب ontologies). بحسب ال بومة المواصفات, ، إذا لم يكن هناك تقييد كرادة مرتبط بممتلكات البومة، فمن المفترض أن أصادته "صفر أو أكثر". إذا كنت تريد أن تكون الممتلكات ليست "خاصية صفيف"، فأنت بحاجة إلى تطبيق تقييد الكرادة. اختصار لهذا هو جعل الممتلكات البومة أ الممتلكات الوظيفية, ، حيث الكائدة 0 أو 1.

لذلك كل ما عليك فعله هو إزالة الديكور [1،100)] ولديك ما تريد.

تحرير: الاستجابة على التعليق] لقد قمت بإعادة استنساخ قضيتك، وإزالة CardOnalityRestriction، وتنتج OnTologyExtractor ontology التالي:

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdfschema="http://www.w3.org/2000/01/rdf-schema#">
    <owl:Ontology rdf:about="http://www.test.com/MyOntology" />
    <owl:Class rdf:about="http://www.test.com/MyOntology#Item" />
    <owl:DatatypeProperty rdf:about="http://www.test.com/MyOntology#Name">
        <rdfschema:domain rdf:resource="http://www.test.com/MyOntology#Item" />
        <rdfschema:range rdf:resource="http://www.w3.org/2001/XMLSchema#string" />
        <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty" />
    </owl:DatatypeProperty>
    <owl:ObjectProperty rdf:about="http://www.test.com/MyOntology#MyArray">
        <rdfschema:domain>
            <owl:Class rdf:about="http://www.test.com/MyOntology#Container" />
        </rdfschema:domain>
        <rdfschema:range rdf:resource="http://www.test.com/MyOntology#Item" />
    </owl:ObjectProperty>
</rdf:RDF>

يتيح لك هذا التطبيق إنشاء ملفات RDF حيث يحتوي كائن الحاوية على عناصر صفرية أو أكثر مرتبطة عبر خاصية Myarray Owl.

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