Owl 猫头鹰&x27;s等效类别与子类别
的等价类和子类之间有什么区别?在阅读OWL primer时,我发现教程使用了很多子类来声明一个新类,如下所示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
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]
范围内的事物,然后推理者会推断carc
也是Tenient
等效类的一个实例,可能具有相同的成员,例如
:USPresident owl:equivalentClass :USCommanderInChief
都将有相同的个人(全部或部分美国总统)。因此,如果我们断言约翰·亚当斯是美国公民,那么可以推断约翰·亚当斯也是美国总统
对于子类,我们表示一个层次结构。e、 GrannySmithApple是苹果的一种
:USPresident owl:equivalentClass :USCommanderInChief .
与
:USPresident rdfs:subClassOf :USCommanderInChief ;
:USCommanderInChief rdfs:subClassOf :USPresident .