2010-11-16 4 views
8

Qual è la differenza tra EquivalentClass e Sottoclass di? Durante la lettura attraverso OWL fondo, trovo il tutorial utilizza subClassOf un sacco di dichiarare una nuova classe, come segueOWL's EquivalentClass vs. SubClassOf

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

Posso scrivere

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

invece?

risposta

15

Quando affermando che A è una sottoclasse di B, questo limita A per ereditare necessariamente tutte le caratteristiche di B, ma non il contrario. Nel tuo esempio, A = Teenager e B = hasAge [12:19] (la mia notazione personale, ma tu hai l'idea).

Ciò significa che qualsiasi istanza Teenager nel ontologie deve avere necessariamente anche la proprietà hasAge con un valore compreso [12:19], ma non viceversa. In particolare, ciò non significa che qualsiasi istanza di qualcosa con la proprietà hasAge con un valore compreso nell'intervallo [12:19] sia anche un'istanza di Teenager. Per chiarire ciò, prendere in considerazione un'istanza (denominata c) della classe Car. Potremmo anche dire che:

c . hasAge 13

Questo dice che esempio c di Car ha 13 anni. Tuttavia, con l'assioma sottoclasse definisce Teenager sopra, un ragionatore sarebbe non dedurre che c è anche un'istanza di Teenager (forse come vorremmo, se gli adolescenti sono persone, non auto).

La differenza quando si utilizza l'equivalenza è che il rapporto sottoclasse è implicito ad andare in entrambe le direzioni . Quindi, se dovessimo includere invece il secondo assioma che ha definito Teenager essere equivalente a qualsiasi cosa con la proprietà hasAge con un valore nella gamma [12:19], allora un ragionatore sarebbe dedurre che la vettura c è anche un'istanza di Teenager.

+1

spiegazione molto buona e l'esempio –

2

classi equivalenti possono avere gli stessi membri, ad esempio,

:USPresident owl:equivalentClass :USCommanderInChief 

saranno entrambi hanno gli stessi individui (tutti o alcuni dei presidenti degli Stati Uniti). Quindi, se affermiamo che John Adams era un USCommanderInChief, si può dedurre che John Adams fosse anche un presidente degli Stati Uniti.

Con la sottoclasse, stiamo indicando una gerarchia. ad esempio, GrannySmithApple è un tipo di Apple.