Reputation: 1450
Hi I am designing an Ontology in which I need to define a data property 'SSN' for a class named 'Person'. Now one restriction, which I am thinking, would be of uniqueness. That is no two instances of class 'Person' should have same SSN. My question: How to define such restriction in Protege?
http://www.co-ode.org/resources/reference/manchester_syntax/
defines some restrictions but I think nothing fits in my case.
Upvotes: 2
Views: 417
Reputation: 13295
You just need to define the SSN property as inverse-functional. An inverse functional property means that wherever you see a given range value, you know that the subject resource must be the same. So, if p
is inverse functional, and you have:
R0 p N .
R1 p N .
then you can infer that R0
and R1
must denote the same individual. If you know, through some other axioms, that R0
and R1
are in fact different, then a reasoner will report that your model is inconsistent. That's as close as you can get to the consistency checking you want in an open-world knowledge base.
Upvotes: 3