OWL的EquivalentClass与SubClassOf

时间:2010-11-16 08:55:49

标签: owl

EquivalentClass和SubClass有什么区别?在阅读OWL入门时,我发现教程使用SubClassOf来声明一个新类,如下所示

SubClassOf(
  :Teenager
  DataSomeValuesFrom( :hasAge
    DatatypeRestriction( xsd:integer
      xsd:minExclusive "12"^^xsd:integer
      xsd:maxInclusive "19"^^xsd:integer
    )
  )
)

我可以写

吗?
EquivalentClass(
  :Teenager
  DataSomeValuesFrom( :hasAge
    DatatypeRestriction( xsd:integer
      xsd:minExclusive "12"^^xsd:integer
      xsd:maxInclusive "19"^^xsd:integer
    )
  )
)

代替?

3 个答案:

答案 0 :(得分:20)

当说明AB子类时,这会限制A必须继承B的所有特征,但不是相反的方式。在您的示例中,A = TeenagerB = hasAge [12:19](我自己的符号,但您明白了)。

这意味着OWL本体中Teenager的任何实例都必须具有属性hasAge,其值的范围为[12:19],但 不是< / em>相反的方式。具体而言,这并不意味着具有属性hasAge且值[12:19]范围内的值的任何实例也是Teenager的实例。为清楚起见,请考虑类c的实例(称为Car)。我们也可以这样说:

c . hasAge 13

这表示c的实例Car已有13年历史。但是,通过上面定义Teenager的子类公理,推理器推断c也是Teenager的实例(也许正如我们想要的那样,如果青少年是,而不是汽车)。

使用等价时的区别在于暗示子类关系进入两个方向。因此,如果我们要将第Teenager定义为等效的第二个公理包含属性为hasAge且值为[12:19]的任何内容,然后推理人会推断汽车c也是Teenager的实例。

答案 1 :(得分:3)

等效类可能具有相同的成员,例如

:USPresident owl:equivalentClass :USCommanderInChief

将拥有相同的人(全部或部分美国总统)。因此,如果我们断言约翰亚当斯是USCommanderInChief,可以推断约翰亚当斯也是美国总统。

对于子类,我们指示一个层次结构。例如,GrannySmithApple是一种Apple。

答案 2 :(得分:1)

:USPresident owl:equivalentClass :USCommanderInChief .

相同
:USPresident rdfs:subClassOf :USCommanderInChief ;
:USCommanderInChief rdfs:subClassOf :USPresident .