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 中创建它,你需要将 locationHasSiteIstnodeHasSite 作为对象属性,并将 Site 作为 class而不是数据类型,那么您可以在 Protege 中使用 object 属性 链接和包含 ,如下所示:

nodeHasSite o inverse(locationHasSiteIst) SubPropertyOf nodeLocatedInLocation

最后一行的意思是如果一个节点n1位于site1,一个位置l1也位于s1,那么n1 位于 l1.