推断OWL中两个对象属性相等

时间:2015-01-02 11:36:51

标签: owl protege description-logic pellet

给定一个本体O,并让A,B两个类和对象属性P和Q这样:

  1. P域A
  2. P范围B
  3. A⊑= 1P.⊤
  4. Q⊑P
  5. A⊑= 1Q.⊤
  6. 因此,我们要证明P≡Q,我们只需要显示P⊑Q,因为我们已经有另一个方向,Q⊑P,在(4)中。得出结论P≡Q是等价的;让

    1. (x,y)∈P
    2. 然后x∈A和y∈B我们从(5)得到Q将A的每个个体与B的恰好一个个体联系起来;那么必须存在y'∈B使得(x,y')∈Q;通过(4),我们可以推断出

      1. (x,y')∈P
      2. 然后,从(3),(6)和(7),我们可以推断出y = y'。 因此,如果(x,y)∈P,那么(x,y)∈Q,这意味着:

        1. P⊑Q
        2. 然后,通过(4)和(8):

          1. P≡Q
          2. 问题:

            1. 这个结论是真的吗?
            2. Reasoners(例如,Pellet,通过Protégé插件)不会推断P≡Q,但每次我断言P(a,b)时,推理器推断Q(a,b),而反之亦然< / em>的!

1 个答案:

答案 0 :(得分:2)

你的推理是正确的,P在这个本体中确实等同于P1。但是,Pellet作为大多数当前的DL reasoners,不会对属性层次结构进行推断。它被计算为属性层次关系的告知信息的自反传递闭包。据我所知,执行完整属性层次计算的唯一推理因素是HermiT;如果您使用它对本体进行分类,则推断P EquivalentTo P1将出现在推断的对象属性层次结构视图中。