Protege 中对象 属性 ontology 的限制
Restriction on object property ontology in Protege
我在 Protege 5.2 中创建了一个 ontology,现在我正在尝试正确创建相应 类 的对象属性。这是我构建 ontology 所依据的 UML 图的片段:
Snippet of my ontology
关于isLocated对象属性,它们的特点如下:如果一个节点X有一个SITE值Z,并且相同的值Z出现在一个位置Y的SITEIST中,那么节点X是位于位置 Y。
我应该查看 SWRL 规则,还是有什么方法可以在不去那里的情况下对其进行编码?
先谢谢大家了!
在 SWRL 中,您可以直接实现:
locationHasSiteIst(?l, ?s) ^ nodeHasSite(?n, ?s) -> nodeLocatedInLocation(?n, ?l)
如果你想在 OWL 中创建它,你需要将 locationHasSiteIst
和 nodeHasSite
作为对象属性,并将 Site
作为 class而不是数据类型,那么您可以在 Protege 中使用 object 属性 链接和包含 ,如下所示:
nodeHasSite o inverse(locationHasSiteIst) SubPropertyOf nodeLocatedInLocation
最后一行的意思是如果一个节点n1
位于site1
,一个位置l1
也位于s1
,那么n1
位于 l1
.
我在 Protege 5.2 中创建了一个 ontology,现在我正在尝试正确创建相应 类 的对象属性。这是我构建 ontology 所依据的 UML 图的片段: Snippet of my ontology
关于isLocated对象属性,它们的特点如下:如果一个节点X有一个SITE值Z,并且相同的值Z出现在一个位置Y的SITEIST中,那么节点X是位于位置 Y。
我应该查看 SWRL 规则,还是有什么方法可以在不去那里的情况下对其进行编码?
先谢谢大家了!
在 SWRL 中,您可以直接实现:
locationHasSiteIst(?l, ?s) ^ nodeHasSite(?n, ?s) -> nodeLocatedInLocation(?n, ?l)
如果你想在 OWL 中创建它,你需要将 locationHasSiteIst
和 nodeHasSite
作为对象属性,并将 Site
作为 class而不是数据类型,那么您可以在 Protege 中使用 object 属性 链接和包含 ,如下所示:
nodeHasSite o inverse(locationHasSiteIst) SubPropertyOf nodeLocatedInLocation
最后一行的意思是如果一个节点n1
位于site1
,一个位置l1
也位于s1
,那么n1
位于 l1
.