Question

Je suis nouveau dans les ontologies et j'ai une question fondamentale sur le raisonnement OWL.La question peut sembler longue, désolé.

Considérons une ontologie avec les axiomes suivants (hibou: classe C1) et (hibou: classe P), avec une propriété d'objet (RDFS: le domaine observe C1) (RDFS: Range observe P), ainsi qu'un individu (RDF: Type P P P P P P P P P P P )

Je restreint ensuite la classe C1 en créant une classe C2 (rdfs:subClassOf C2 C1) avec la restriction (observe C2 p)

Maintenant, lorsque je crée ensuite un nouvel individu (rdf:type x hibou:Thing) (observe x p), alors le raisonneur en déduit (rdf:type x C1).Cependant, la définition de l'individu x semble plus proche de C2, le raisonneur ne devrait-il pas en déduire que x est du type C2 ?

S'il vous plaît, aidez-moi !

J'expérimente en utilisant le framework Jena.

Était-ce utile?

La solution

La raison pour laquelle cela ne se produit pas est que vous avez créé votre restriction à l'aide d'une sous-classe, ce qui signifie que vous avez créé une condition nécessaire (mais pas suffisante).En d’autres termes, vous avez dit ceci au raisonneur :

"SI un individu est de type C2, ALORS il doit avoir une propriété 'observe'"

Mais vous avez pas je l'ai dit dans l'autre sens :

"SI un particulier possède une propriété 'observe', ALORS elle doit être de type C2"

Pour que le raisonneur puisse déduire que votre individu est du type C2, vous devez également y avoir la deuxième règle (la condition suffisante).Vous pouvez le faire dans OWL en utilisant un owl:equivalentClass relation sur votre restriction (au lieu d'un rdfs:subClassOf relation).

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