J'essaie de faire en sorte que Pellet propage les propriétés des classes jusqu'aux individus appartenant à ces classes. Par exemple, si j'ai la classe A avec la propriété X et l'individu B avec rdf: type = Classe A, je veux que l'individu B ait la propriété X après avoir exécuté le raisonneur. J'utilise la technique de l'inclusion de la chaîne de propriété référencée sur la page OWL 2 New Features. Cette technique fonctionne parfaitement si j'utilise mes propres propriétés personnalisées dans la chaîne de propriétés, mais cela ne fonctionne pas si j'essaie d'utiliser rdf: type lui-même. Voici quelques coupures pertinentes de mon RDF/XML.Raisonnement de la chaîne de propriétés sur rdf: type
Ontological classe (générée par Jena, notez le « spread » propriété, c'est-ce que je suis en train de se propager aux individus de la classe Person):
<rdf:Description rdf:about="http://family/person">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
<owl:sameAs rdf:resource="http://family/person"/>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
<owl:equivalentClass rdf:resource="http://family/person"/>
<owl:disjointWith rdf:resource="http://www.w3.org/2002/07/owl#Nothing"/>
<j.1:spread rdf:resource="http://spread/specificSpread"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>
« spread » immobilier (écrit manuellement par moi, pas généré avec Jena depuis l'API Jena ne supporte pas les chaînes de propriétés d'objet): la personne Œdipe regarde
<rdf:Description rdf:about="http://spread/generalSpread">
<owl:propertyChainAxiom rdf:parseType="Collection">
<owl:ObjectProperty rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
<owl:ObjectProperty rdf:about="http://spread/generalSpread"/>
</owl:propertyChainAxiom>
</rdf:Description>
Avant le raisonnement, comme ceci:
<rdf:Description rdf:about="http://family/Oedipus">
<rdf:type rdf:resource="http://family/person"/>
</rdf:Description>
L'idée est que, après le raisonnement, il ressemblerait à quelque chose comme ceci:
<rdf:Description rdf:about="http://family/Oedipus">
<rdf:type rdf:resource="http://family/person"/>
<j.1:spread rdf:resource="http://spread/specificSpread"/>
</rdf:Description>
J'ai le sentiment que la référence à rdf: type comme rdf: ressource est probablement là où les choses se çela depuis que je Je suis à peu près sûr que ce n'est pas une ressource. Mais je ne suis pas sûr de savoir comment le réparer. Je ainsi il a couru à travers le programme de fibre de ligne de commande Pellet et il ne semble pas avoir un problème avec elle, sauf qu'il a créé une entrée explicite pour rdf: type qui ressemblait à ceci:
<owl:ObjectProperty rdf:about="&rdf;type"/>
Attend un peu étrange à moi et pourrait aussi être un indice qu'il ne comprend pas ma référence à rdf: type.
Quelqu'un peut-il faire la lumière sur ce qui pourrait se passer? J'apprécierais vraiment toute aide que quelqu'un pourrait fournir.
question parfaite pour semanticoverflow.com – harschware
N'existait pas au moment de poser cette question. –
C'était juste un bébé de seulement 3 mois et pas très connu :-) Mais j'ai fait le commentaire plus pour les lecteurs qui viennent à cette question. Et (+1) pour une bonne question. – harschware