I have created an ontology based on:
Every person is beautiful if one of his/her parents is beautiful
Aphrodite is a parent of Eros
Aphrodite is beautiful
thus we would expect Eros to be beautiful too! However, the Pellet reasoner doesn't seem to infer that. If I manually put the type of Eros to successful, it will accept it, but shouldn't it infer it?
My ontology lies here (change the extension to .owl). I am also providing screenshots from Protege:
Class hierarchy: Eros: Inferred class hierarchy:
What am I missing?
EDIT:
I can see Eros appearing in this DL query:
hasParent some Beautiful
but not in this:
hasParent exactly 1 Beautiful
but still even if I say OK for some
, I would expect to see Beautiful as I see Child in my 2nd picture, where Child is inferred by the reasoner.
What about the HermiT reasoner (built-in with protege) ?
UDPATE:
Ok, here is a new ontology I wrote based on your assignment (though, I didn't complete all sentences just the ones that suffice to infer that Eros is happy).
Now the reasoner will certainly infer that both Aphrodite and Eros are happy, although that was never asserted in the ontology above. Here is a DL query for Happy concept that shows the result, "notice we just query which instances belongs to
Happy
concept":Eros is finally happy :)
Here is the same ontology in
Manchester syntax
MORE UPDATE:
DL query on Beautiful shows Eros as Beautiful too:
Hope it helps.