2010-11-16 22 views
8

Quelle est la différence entre EquivalentClass et SubClass of? En lisant l'amorce OWL, je trouve le tutoriel utilise SubClassOf beaucoup à déclarer une nouvelle classe, comme suitEquivalentClasse OWL vs. SubClassOf

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

Puis-je écrire

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

à la place?

Répondre

15

en indiquant que le A est une sous-classe deB, ce qui restreint A hériter nécessairement toutes les caractéristiques de B, mais pas l'inverse. Dans votre exemple, A = Teenager, et B = hasAge [12:19] (ma propre notation, mais vous avez l'idée).

Cela signifie que toute instance de Teenager dans l'ontologie OWL doit nécessairement aussi avoir la propriété hasAge avec une valeur comprise entre [12:19], mais pas l'inverse. Plus précisément, cela ne signifie pas que toute instance de quelque chose avec la propriété hasAge avec une valeur dans la plage [12:19] est également une instance de Teenager. Pour le rendre clair, considérez une instance (appelée c) de la classe Car. On pourrait dire aussi que:

c . hasAge 13

Cela dit par exemple c de Car est de 13 ans. Cependant, avec l'axiome de la sous-classe définissant Teenager ci-dessus, un raisonneur serait pas déduire que c est aussi une instance de Teenager (peut-être que nous voudrions, si les adolescents sont personnes, pas de voitures).

La différence lors de l'utilisation de l'équivalence est que la relation de sous-classe est impliquée dans dans les deux directions. Donc, si nous devions inclure plutôt le second axiome qui a défini Teenager être équivalent à quoi que ce soit avec la propriété hasAge avec une valeur comprise entre [12:19], puis un raisonneur serait en déduire que la voiture c est aussi une instance de Teenager.

+1

très bonne explication et l'exemple –

2

des classes équivalentes pourraient avoir les mêmes membres, par exemple,

:USPresident owl:equivalentClass :USCommanderInChief 

auront à la fois les mêmes personnes (tout ou partie des présidents des États-Unis). Donc, si nous affirmons que John Adams était un USCommanderInChief, on peut déduire que John Adams était aussi un président américain.

Avec la sous-classe, nous indiquons une hiérarchie. par exemple, GrannySmithApple est un type d'Apple.