如何在OWL中定义关系属性?

时间:2014-03-01 20:39:21

标签: semantic-web owl ontology knowledge-management

在我的本体论中,我有个人“pic Joan”,这是概念“山”和“端口Cerbère”的实例,它是概念“村庄”的一个实例。我有从“pic Joan”到“Cerbère”港口的“支配”关系(在这个意义上说,这座山被认为是靠近村庄,因此“支配它”)。

但事实上,我需要代表信息“pic Joan在距离西北1.5英里的地方塞尔塞雷港”。

所以,从逻辑上讲,我需要附加关系“支配”数据属性“distance = 1.5M”,“direction = NW”。

但是,AFAIK,OWL 不提供关系属性。我知道我可以为关系定义范围和域,但这不是关于范围和域,当在不同实例之间采用时,相同的关系将具有不同的属性值。

您如何在OWL中表示此信息?

(辅助问题:是否有其他一些本体论形式可以定义关系的属性?如果是,是否有像Protégé这样的工具来管理该形式主义的本体?)

2 个答案:

答案 0 :(得分:1)

此用例最常见的模式是引入一个新类,比如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

可以添加更多属性以引入距离或其他特征。

编辑:复制以下约书亚评论中的链接:对于n-ary关系,请参阅here

答案 1 :(得分:0)

  

还有其他一些本体论形式,我可以定义关系的属性吗?

您是否查看了主题地图?