Owl 猫头鹰&x27;s等效类别与子类别

Owl 猫头鹰&x27;s等效类别与子类别,owl,Owl,的等价类和子类之间有什么区别?在阅读OWL primer时,我发现教程使用了很多子类来声明一个新类,如下所示 SubClassOf( :Teenager DataSomeValuesFrom( :hasAge DatatypeRestriction( xsd:integer xsd:minExclusive "12"^^xsd:integer xsd:maxInclusive "19"^^xsd:integer ) ) ) 我可以写信吗 Eq

的等价类和子类之间有什么区别?在阅读OWL primer时,我发现教程使用了很多子类来声明一个新类,如下所示

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
    )
  )
)

相反?

当说明
A
B
的一个子类时,这限制了
A
必须继承
B
的所有特征,,而不是反过来。在你的例子中,
A
=
青少年
,和
B
=
hasAge[12:19]
(我自己的符号,但你明白了)

这意味着OWL本体中的任何
tender
实例也必须具有
hasAge
属性,该属性的值必须在
[12:19]
范围内,但并非如此。具体地说,这并不意味着具有
hasAge
属性且值在
[12:19]
范围内的任何实例也是
青少年的实例。为了说明这一点,考虑类<代码> CAR> <代码>的实例(称为代码>代码>代码>。我们也可以说:

c。hasAge 13

这说明
Car
的实例
c
已经13岁了。然而,根据上面定义的子类公理
青少年
,推理者推断
c
也是
青少年
的一个例子(如果青少年是人,而不是车,也许正如我们所希望的那样)


使用等价时的区别在于,子类关系隐含在两个方向上。因此,如果我们要包含第二条公理,它将
青少年
定义为等同于任何具有
hasAge
属性且值在
[12:19]
范围内的事物,然后推理者会推断car
c
也是
Tenient

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

:USPresident owl:equivalentClass :USCommanderInChief
都将有相同的个人(全部或部分美国总统)。因此,如果我们断言约翰·亚当斯是美国公民,那么可以推断约翰·亚当斯也是美国总统

对于子类,我们表示一个层次结构。e、 GrannySmithApple是苹果的一种

:USPresident owl:equivalentClass :USCommanderInChief .

:USPresident rdfs:subClassOf :USCommanderInChief ;
:USCommanderInChief rdfs:subClassOf :USPresident .