Artificial intelligence Protege反向对象属性

Artificial intelligence Protege反向对象属性,artificial-intelligence,owl,ontology,protege,protege4,Artificial Intelligence,Owl,Ontology,Protege,Protege4,我试图定义两个反向对象属性 对象属性包括: hasChild hasParent 很明显,如果约翰有父母安娜,那么安娜有孩子约翰。 这似乎是通过使用Protege的倒数来实现的,但是如果我们假设ANNA是快乐的, 下面是DL查询: hasChild only Happy 也返回JOHN。推理者解释说,hasChild与hasParent相反。 有人能帮我把事情弄清楚吗?提前谢谢 hasChild only Happy是一种普遍的限制,没有伴随存在的限制。在开放世界假设下,这些通用限制最终包

我试图定义两个反向对象属性

对象属性包括:

  • hasChild
  • hasParent
很明显,如果
约翰有父母安娜
,那么
安娜有孩子约翰
。 这似乎是通过使用Protege的
倒数来实现的,但是如果我们假设
ANNA是快乐的
, 下面是DL查询:

hasChild only Happy
也返回
JOHN
。推理者解释说,
hasChild与hasParent相反。

有人能帮我把事情弄清楚吗?提前谢谢

hasChild only Happy
是一种普遍的限制,没有伴随存在的限制。在开放世界假设下,这些通用限制最终包括定义的所有个人,因为
for all
包括属性没有填充物的情况

要验证是否是这种情况,请创建一个名为hasChild only Happy的命名类,并检查哪些类与之等效。很可能,您会在结果中找到
owl:Thing
。因此,所有人都将是该问题的答案

为了避免这种情况,请将
hasChild some Happy
添加到查询中,以便在得出推断之前必须有一个填充符


但是,请注意,您希望家长快乐。也许你的意思是颠倒方向,说“hasParent only Happy”

仅根据你的描述,这看起来不对。你能给出你的本体中的细节吗?我想知道为什么在开放世界的假设下应该返回任何东西。我试图用给定的公理重现它,但在DL查询选项卡中没有返回任何内容。你的本体论中肯定还有其他我们不知道的公理。。。