Question

J'ai un certain type personnalisé:

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

et un autre type qui a tableau de l'élément:

[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; } }
}

Et il se produit que si je supprime l'attribut CardinalityRestriction de MonTableau il sera exporté par OwlGrinder.exe comme un seul article et pas en tant que tableau d'éléments.

Y at-il une autre façon de définir des tableaux sans les contraindre à une certaine gamme d'éléments?

Était-ce utile?

La solution

ROWLEX OntologyExtractor se comporte correctement (OwlGrinder lit ontologies et de produire des assemblages. OntologyExtractor lit assemblées et recrache sur ontologies). Selon le spécifications OWL , s'il n'y a pas de restriction de cardinalité associée au propriété OWL, sa cardinalité est supposé « zéro ou plus ». Si vous voulez une propriété ne soit pas une « propriété de tableau », alors vous devez appliquer la restriction de cardinalité. Un raccourci pour que fait la propriété OWL un propriété fonctionnelle, où la cardinalité est 0 ou 1.

Donc tout ce que vous devez faire est de retirer la décoration [CardinalityRestiction (1100)] et vous avez ce que vous voulez.

[EDIT: répondre au commentaire] Je reproduis votre cas, enlevé le CardinalityRestriction et OntologyExtractor produit l'ontologie suivante:

<?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>

Cette ontologie vous permet de créer des fichiers RDF où votre objet conteneur a zéro ou plusieurs éléments liés via la propriété MonTableau OWL.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top