【问题标题】:Protege reverse object properties保护反向对象属性
【发布时间】:2019-12-01 15:43:25
【问题描述】:

我正在尝试定义两个反向对象属性。

对象属性为:

  • hasChild
  • hasParent

很明显如果JOHN hasParent ANNA,那么ANNA hasChild JOHN。 这似乎是通过使用 Protege 的InverseOf 来完成的,但是如果我们假设ANNA is Happy, 下面的 DL 查询:

hasChild only Happy

也返回JOHN。推理者解释说hasChild is inverseOf hasParent。 有人可以帮我清理一下吗?提前致谢!

【问题讨论】:

  • 仅根据您的描述,这看起来不正确。您能否详细介绍一下您的本体中的内容?
  • 我想知道为什么在开放世界假设下应该返回任何东西。我试图用给定的公理重现它,DL Query 选项卡中没有返回任何内容。你的本体中肯定还有其他我们不知道的公理......

标签: artificial-intelligence owl ontology protege protege4


【解决方案1】:

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

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

为避免这种情况,请将hasChild some Happy 添加到您的查询中,以便在进行推理之前必须有一个填充符。

但是,请注意您希望父母开心。也许你的意思是反过来说hasParent only Happy

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    • 2013-01-05
    • 2014-02-08
    • 1970-01-01
    • 2019-10-06
    • 2019-05-31
    • 2017-05-09
    相关资源
    最近更新 更多