J'ai certaines classes de chouettes qui ont des instances. Ces classes ont également des propriétés qui ont une valeur pour chaque instance. J'ai créé mon ontologie par Protege3.4, et j'ai créé la librairie C# de Rowlex.
Par exemple, la classe 'Program' a une instance de propriété 'Software' et 'atGrade'. La valeur de la propriété pour cette instance est 'PHD' (atGrade est une propriété d'objet qui mappe domain en classe de classe). Ceci est le OWL:Problème lors de la récupération de la valeur de propriété d'une instance d'une classe OWL
<owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Program">
<rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Student"/>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Teacher"/>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Rank"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty>
<owl:ObjectProperty rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#atGrade"/>
</owl:onProperty>
<owl:allValuesFrom rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Grade"/>
</owl:Restriction>
</rdfs:subClassOf>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Course"/>
<owl:disjointWith>
<owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#LearningResource"/>
</owl:disjointWith>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Note"/>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#ClassOfCourse"/>
<owl:equivalentClass>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<Program rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Management">
<atGrade rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#PHD"/>
</Program>
<Program rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Literature">
<atGrade rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#PHD"/>
</Program>
<Program rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Software">
<atGrade rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#MasterOfResearch"/>
</Program>
<Program rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Information_Technology">
<atGrade rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#MasterOfScience"/>
</Program>
</owl:oneOf>
</owl:Class>
</owl:equivalentClass>
<owl:disjointWith>
<owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Project"/>
</owl:disjointWith>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Grade"/>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#ResourceType"/>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Language"/>
<rdfs:comment xml:lang="en">Study branch in which the members are working (e.g. MBA)</rdfs:comment>
<owl:disjointWith>
<owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Discussion"/>
</owl:disjointWith>
<owl:disjointWith rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Question"/>
</owl:Class>
La propriété atGrade est également défini dans l'ontologie:
<owl:ObjectProperty rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#atGrade">
<rdfs:range rdf:resource="http://www.owl-ontologies.com/Ontology1243411901.owl#Grade"/>
<rdfs:domain>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Program"/>
<owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Teacher"/>
<owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Project"/>
<owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Course"/>
<owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1243411901.owl#Student"/>
</owl:unionOf>
</owl:Class>
</rdfs:domain>
</owl:ObjectProperty>
Maintenant, quand je fais une des instances en C#, par exemple:
Program prog = new Program("http://www.owl-ontologies.com/Ontology1243411901.owl#Management", new RdfDocument());
La propriété atGrade renvoie null. J'ai fait ce qui suit, mais le problème n'a pas résolu:
- fait une classe complète (nouveau programme _ (...))
-entré un fichier RDF existant: nouveau programme (uri, new RdfDocument (uri)) . -deleted la balise 'rdfs: subClassOf' de l'ontologie.
Des idées comment ce problème peut-il résoudre?
Peut-être que je devrais supprimer les instances de l'ontologie et les insérer dans un RDF, puis les récupérer à partir de là?
Merci beaucoup. J'ai donc eu un malentendu sur les ontologies et maintenant il est réformé. Merci encore – Ehsan