我如何获得负面对象属性断言



我在本体中工作,我有以下SWRL规则:

User(?u) ^ Project(?p) ^ isRelatedTo(?u, ?p) ^ isMemberOf(?u, ?p) -> verifiedAssociation(?u, ?p)

我想知道何时发生负面对象的属性断言(何时验证无效(。

我在Protégé上发现了Tab属性主张,但我希望(推理器(推断出来。而且我不知道如何创建一个规则来实现这一目标。

有人可以帮我吗?

无法通过规则实现该推断。原因是您需要的是能够说

User(?u) ^ Project(?p) ^ isNotRelatedTo(?u, ?p) ^ isNotMemberOf(?u, ?p) 
  -> unverifiedAssociation(?u, ?p)

但是,您需要说?u ?p无关,而不仅是特定的?p。这属于规则的范围和猫头鹰/DLS的范围之外,因为它需要一种封闭的世界推理形式而不是开放的世界推理。

要达到所需的结果,您需要以某种方式关闭世界。因此,您的用户要么分配给项目,要么尚未分配。让我们介绍与Project不相交的NoProject类。然后您添加规则

User(?u) ^ NoProject(?p)
  -> unverifiedAssociation(?u, ?p)

其中unverifiedAssociationverifiedAssociation不相交。

您也可能想查看具有" null"对象属性的个人 堆栈溢出问题。

update

SWRL不支持SWRL常见问题解答否定。唯一的方法是定义与对象属性的双重属性。即,

ObjectProperty: isMemberOf
ObjectProperty: isNotMemberOf
    DisjointWith: isMemberOf

VerifiedAssociationNotVerifiedAssociation的操作类似。然后,您以积极的形式定义规则:

User(?u) ^ Project(?p) ^ isRelatedTo(?u, ?p) ^ isNotMemberOf(?u, ?p) 
  -> NotVerifiedAssociation(?u, ?p)

相关内容

  • 没有找到相关文章

最新更新