How do I define relation properties in OWL?

风流意气都作罢 提交于 2021-02-19 02:12:59

问题


In my ontology I have individuals "pic Joan" which is an instance of concept "mountain" and "port Cerbère" which is an instance of concept "village". I have the relation "dominates" going from "pic Joan" to "port Cerbère" (in the sense that the mountain is perceived as being close and above the village, and hence "dominates it").

But in fact, I need to represent the information "pic Joan dominates port Cerbère at a distance of 1.5 miles NW".

So, logically, I would need to attach to the relation "dominates" the data properties "distance=1.5M", "direction=NW".

But, AFAIK, OWL does not provide properties for relations. I know that I can define range and domain for relations, but this is not about range and domain, the same relation will have different property values when taken between different instances.

How would you represent this information in OWL?

(Auxiliary question: is there some other ontology formalism where I can define properties for relations? And if yes, are there tools like Protégé to manage ontologies in that formalism?)


回答1:


The most common pattern for this use case is to introduce a new class, say RelativePosition:

RelativePosition a Class.
relationType a DataProperty.
relationType domain RelativePosition.
// relationType values not specified here: might be "dominant","overlooking"...
// depending on your needs, this might need more structure.
firstFeature a ObjectProperty.
firstFeature domain RelativePosition.
secondFeature a ObjectProperty.
secondFeature domain RelativePosition.
// both properties can appear multiple times for one instance of RelativePosition
// to group sets of entities which share a relative position

More properties can be added to introduce distance, or other characteristics.

Edit: copied link from Joshua's comment below: for n-ary relations, see here




回答2:


is there some other ontology formalism where I can define properties for relations?

Have you looked into Topic Maps?



来源:https://stackoverflow.com/questions/22120071/how-do-i-define-relation-properties-in-owl

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!