2010-11-16 25 views
8

EquivalentClass和SubClass of之間有什麼區別?儘管通讀OWL底漆,我發現教程使用SubClassOf很多聲明一個新的類,如下所示OWL的EquivalentClass與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 
    ) 
) 
) 

呢?

回答

15

時指出A子類B,這限制A到一定繼承B而不是周圍的其他方法所有特性。在你的榜樣,A = TeenagerB = hasAge [12:19](我自己的符號,但你的想法)。

這意味着在OWL本體Teenager任何情況下必然也有物業hasAge與範圍[12:19]值,但周圍的其他方式。具體而言,這並不意味着東西與物業hasAge與範圍[12:19]值的任何實例也是Teenager一個實例。爲了清楚說明,請考慮類Car的實例(稱爲c)。我們也可以說:

c . hasAge 13

這是說實例Carc是13歲。然而,與子類公理定義上面Teenager,一個推理推斷c也是Teenager實例(也許我們會想,如果青少年,而不是汽車)。

使用等價關係時的差異是暗示子類關係隱含在兩個方向之間。所以,如果我們不是包括定義Teenager第二公理是相當於到任何與物業hasAge與範圍[12:19]的值,那麼推理就會推斷該車c也是Teenager一個實例。

+1

非常好的解釋和例子 – 2014-10-01 14:59:54

2

等價類可能具有相同的成員,例如,

:USPresident owl:equivalentClass :USCommanderInChief 

都將具有相同的個體(全部或部分的美國總統)。因此,如果我們斷言約翰亞當斯是美國司令官,那麼可以推斷約翰亞當斯也是美國總統。

隨着子類,我們表明一個層次。例如,GrannySmithApple是Apple的一種類型。