如何使用Protege swrl选项卡将规则头保持为null

时间:2016-02-05 17:52:43

标签: ontology protege4 swrl

我正在尝试使用SWRL规则捕获冲突。我了解到SWRL确实支持空头规则(结果)。但Protege不允许定义这样的规则。 我想要实现的一个虚拟例子是

:coverageId

意味着一个人不可能通过hasSon和hasDaughter属性与同一个人链接。如果不可能保护,请指导我如何实现这一目标。

1 个答案:

答案 0 :(得分:0)

规则主体可以是空的,但它并不意味着矛盾,就像你的意图一样;它被解释为不适用的规则。规格为here

如果我理解你的意图正确,那么你可以通过创建两个类来实现:为hasSon定义一个确切的基数限制为0,为hasDaughter定义一个确切的基数限制为0,然后将这些类分别指定为hasDaughterhasSon的范围。

这样说明A hasSon BA hasDaughter B会导致不一致。