Reputation: 11
Making an individual to become 'instance' of a class by 'exactly 1 restriction' doesn't seem to work with default reasoners in protege. Is there any other way except closure axiom or any closed world reasoner?
Upvotes: 1
Views: 224
Reputation: 4787
Yes, it will not work. Say you have
Class: Person
SubClassOf: name exactly 1 xsd:string
Individual: aPerson
Types: Person
the reasoner will not give an inconsistency due to the open world assumption. To "close the world" for aPerson
you have to tell the reasoner that aPerson
does not have a name, which you can state as follows:
Individual: aPerson
Types: Person, name max 0 xsd:string
for which the reasoner will give an inconsistency. See also this similar SO queston.
Upvotes: 1