【问题标题】:Exclude individuals that is related by some specific inverse properties排除与某些特定逆属性相关的个体
【发布时间】:2016-09-10 12:28:25
【问题描述】:

我有一些个人 A、B、C、D、E 和两个属性 P1、P2。

A P1 B
C P1 D
E P2 C

我想构建一个只捕获 A 而不是 C 的类。所以我设置了一个类,

  1. myClass EquivalentTo: (P1 some owl:Thing) and (P1 only owl:Thing)
  2. myClass EquivalentTo: (P1 some owl:Thing) and (not inverse P2 some owl:Thing)

但所有这些尝试都失败了。如何区分单个 A 和 C?

【问题讨论】:

    标签: owl protege object-property


    【解决方案1】:

    myClass EquivalentTo: (P1 some owl:Thing) and (P1 only owl:Thing)

    失败,因为类表达式实际上等同于 P1 some Thing。由于每个个体都是Thing的一个实例,所以交叉路口的右侧实际上并没有添加任何东西。

    myClass EquivalentTo: (P1 some owl:Thing) and (not inverse P2 some owl:Thing)

    这实际上对您提供的描述是正确的。您希望个人对 P1(好)有一定的价值,并且不是其他个人的 P2 价值。这是描述它的方式。

    我认为您遇到的问题是,虽然您的数据集不包含任何形式的三元组

        x P2 A

    本体中没有任何东西说这样的事情是不可能的。所以你不能确定 A 确实有类型 (not inverse P2 some Thing)。这种现象被称为开放世界假设(OWA)。如果你搜索它,你会在 Stack Overflow 上找到一些关于 OWL 中 OWA 的其他问题。例如,请参阅:

    在这种情况下,如果您想说 A 不是其他人的 P2 值,您可能必须手动执行此操作,方法是向 添加类型一个喜欢:

        仅逆 P2 owl:Nothing

    一旦你这样做了,你就会得到你想要的结果:

    【讨论】:

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