Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

8 Cours OWL Protege 4P

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 14

Plan

Mise en oeuvre de OWL


avec Protégé 1. Protégé

Bernard ESPINASSE 2. L’ontologie “African Wildlife »


Aix-Marseille Université
LIS UMR CNRS 7020
Novembre 2019
3. Description de classes en Protégé

Protégé 4. Restrictions sur les propriétés en Protégé


L’ontologie “African Wildlife »
Description de classes en Protégé 5. Raisonnements sur les ontologies en Protégé
Restrictions sur les propriétés en Protégé
Raisonnements sur les ontologies en Protégé Inspiré de la présentation de J. Dibie, AgroParisTech

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 1 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 2

Protégé
§ Protégé est un système permettant la création d'ontologies très
populaire développé à l’Université de Stanford
§ Protégé est développé en Java.
§ Protégé fonctionnant sur la machine virtuelle Java, est multi-
platefor,mes (linux, Windows, MacOS, …)
§ Protégé est gratuit et son code source est publié sous une licence
libre (Mozilla Public License).
1. Protégé § Protégé peut lire et sauvegarder des ontologies dans la plupart des
formats d'ontologies : RDF, RDFS, OWL, Turtle, JSON-LD, ….
§ Dernière version : 5.5.0 (14 mars 2019)
§ Lien de téléchargement : https://protege.stanford.edu/

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 3 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 4
L’Ontologie « African Wildelife Ontology »
Source : Antoniou, G, van Harmelen, F. A Semantic Web Primer. MIT Press, 2003.
Objet :
§ Cette ontologie décrit la vie sauvage en Afrique avec
§ des animaux: carnivores (des lions) et herbivores (des girafes)
§ des plantes telles que des arbres composés de branches et de feuilles
§ ...
§ On s’intéresse ici à un sous-ensemble de cette ontologie, centré sur les
classes et sous-classes représentées par les sous-graphes suivants (class
hierarchy) :
2. L’Ontologie “African Wildlife »

§ Remarque : le graphe complet associé à l’ontologie est bien plus grand.

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 5 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 6

African Wildelife Ontology


§ Le graphe suivant illustre le fait que les branches (branch) sont des parties
(is-part-of) d’arbre (tree) :

3. Description de classes en Protégé


§ On aurait une représentation similaire pour indiquer que les feuilles (leaf)
sont sont des parties (is-part-of) d’arbre (tree)

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 7 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 8
Déclarations de classes en OWL2 1/ Par identifiant de classe (URI) en RDF/XML
<owl:Class rdf:ID="Animal"/>
OWL distingue 6 types de descriptions d’une classe : <owl:Class rdf:ID="Herbivore">
<rdfs:subClassOf rdf:resource="#Animal"/>
1. Identifiant de classe (URI) </owl:Class>
<owl:Class rdf:ID="Carnivore">
2. Enumération exhaustive de ses individus qui forment <rdfs:subClassOf rdf:resource="#Animal"/>
ses instances possibles </owl:Class>
...
3. Intersection entre une ou plusieurs descriptions de <owl:Class rdf:ID="Plant"/>
classes <owl:Class rdf:ID="Tree">
<rdfs:subClassOf rdf:resource="#Plant"/>
4. Union entre une ou plusieurs descriptions de classes </owl:Class>
<owl:Class rdf:ID="Branch"/>
5. Complément d’une description de classe <owl:Class rdf:ID="Leaf"/>
6. Restriction de propriétés
Rdfs :subClassOf = axiome de classe

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 9 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 10

Définition « simple » d’une classe


1/ Par identifiant de classe (URI) en RDF/XML En Protégé
:Animal rdf:type owl:Class
:Herbivore rdfs:subClassOf :Animal Thing
:Carnivore rdfs:subClassOf :Animal
:Giraffe rdfs:subClassOf :Herbivore
:Lion rdfs:subClassOf :Carnivore Animal Plant Branch Leaf
:Plant rdf:type owl:Class
:Tree rdfs:subClassOf :Plant Herbivore Carnivore
:Branch rdf:type owl:Class Tree
:Leaf rdf:type owl:Class

Giraffe Lion

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 11 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 12
2/ Par énumération exhaustive de ses individus 2/ Par énumération exhaustive d’individus : oneOf
§ Les instances § Syntaxe RDF/XML :
<rdf:Description rdf:about="Ernestine_la_girafe"> <owl:Class rdf:about="Les_girafes_copines">
<owl:equivalentClass>
<rdf:type rdf:resource="#Giraffe"/>
<owl:Class>
</rdf:Description> <owl:oneOf rdf:parseType="Collection">
<rdf:Description rdf:about="Leon_le_lion"> <giraffe rdf:about="Ernestine_la_girafe"/>
<rdf:type rdf:resource="#Lion“/> <giraffe rdf:about="Noemie"/>
</rdf:Description> <giraffe rdf:about="Gertrude"/>
</owl:oneOf>
§ Plus simplement : </owl:Class>
<Giraffe rdf:about="Ernestine_la_girafe"/> <Lion </owl:equivalentClass> </owl:Class>
rdf:about="Leon_le_lion"/> <owl:equivalentClass> = axiome de classe
§ Turtle Syntax : § Syntaxe Turtle :
:Ernestine_la_girafe rdf:type :Giraffe . :Leon_le_lion : Les_girafes_copines owl:equivalentClass [
rdf:type :Lion . rdf:type owl:Class ;
owl:oneOf ( :Ernestine_la_girafe :Noemie :Gertrude )
].

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 13 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 14

Identité des instances Identité des instances


§ Pas d’unicité des instances a priori § Syntaxe RDF/XML :
<Giraffe rdf:about="Ernestine_la_girafe"/>
§ Il faut déclarer explicitement si elles sont : <Giraffe rdf:about="Noemie"/>
<Giraffe rdf:about="Gertrude"/>
§ égales owl:sameAs ou
<Giraffe rdf:about="Ernestine">
§ distinctes owl:differentFrom et owl:Alldifferent <owl:sameAs rdf:resource="#Ernestine_la_girafe"/>
<owl:differentFrom rdf:resource="#Noemie"/>
§ Dans notre exemple, nous supposons ici que les 3 instances : </Giraffe>
§ Ernestine_la_girafe,
<owl:AllDifferent>
§ Noemie <owl:distinctMembers rdf:parseType="Collection">
<Giraffe rdf:about="#Ernestine_la_girafe "/>
§ Gertrude <Giraffe rdf:about="#Noemie"/>
<Giraffe rdf:about="#Gertrude"/>
§ sont distinctes </owl:distinctMembers>
</owl:AllDifferent>

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 15 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 16
Identité des instances 3/ Par intersection de classes : intersectionOf
§ Syntaxe RDF/XML :
<owl:Class rdf:about="Omnivore"> <owl:equivalentClass>
§ Syntaxe Turtle : <owl:Class>
:Ernestine_la_girafe rdf:type :Giraffe . <owl:intersectionOf rdf:parseType="Collection">
:Noemie rdf:type :Giraffe . <owl:Class rdf:about="#Herbivore"/>
:Gertrude rdf:type :Giraffe . <owl:Class rdf:about="#Carnivore"/>
</owl:intersectionOf>
:Ernestine rdf:type :Giraffe . </owl:Class>
:Ernestine owl:sameAs :Ernestine_la_girafe </owl:equivalentClass>
:Ernestine owl:differentFrom :Noemie . </owl:Class>
§ Syntaxe Turtle :
:Omnivore owl:equivalentClass [
[] rdf:type owl:AllDifferent ;
rdf:type owl:Class ;
owl:distinctMembers owl:intersectionOf ( :Herbivore :Carnivore )
( :Ernestine_la_girafe :Noemie :Gertrude ) . ].
§ Interprétation logique
∀x Herbivore(x) ∧ Carnivore(x) → Omnivore(x)

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 17 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 18

4/ Par union de classes : unionOf 5/ Par complement de classes : complementOf


§ Les carnivores sont définis comme l’union des canidés et des § Les canidés sont des carnivores qui ne sont pas des félidés.
félidés § Syntaxe RDF/XML :
§ Syntaxe RDF/XML : <owl:Class rdf:about="Canide"> <owl:equivalentClass>
<owl:Class rdf:about="Carnivore"> <owl:Class>
<owl:equivalentClass> <owl:intersectionOf rdf:parseType="Collection">
<owl:Class> <owl:Class rdf:about="#Carnivore"/>
<owl:unionOf rdf:parseType="Collection"> <owl:Class>
<owl:Class rdf:about="#Canide"/> <owl:complementOf rdf:resource="#Felide"/>
<owl:Class rdf:about="#Felide"/> </owl:Class>
</owl:unionOf> </owl:intersectionOf>
</owl:Class> </owl:Class>
</owl:equivalentClass> </owl:equivalentClass> </owl:Class>
</owl:Class> § Syntaxe Turtle :
§ Syntaxe Turtle : :Canide owl:equivalentClass [
:Carnivore owl:equivalentClass [ rdf:type owl:Class ;
rdf:type owl:Class ; owl:intersectionOf
owl:unionOf ( :Canide :Felide ) ( :Canivore [owl:complementOf :Felide ] )
]. ].

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 19 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 20
Axiome de classe disjointWith Axiome de classe AlldisjointWith
<owl:AllDisjointClasses>
§ Les herbivores sont disjoints des carnivores <owl:members rdf:parseType="Collection">
<owl:Class rdf:about="Animal"/>
<owl:Class rdf:ID="Herbivore"> <owl:Class rdf:about="Plant"/>
<owl:Class rdf:about="Branch"/>
<rdfs:subClassOf rdf:ressource="#Animal"/> <owl:Class rdf:about="Leaf"/>
</owl:members>
<owl:disjointWith rdf:ressource="#Carnivore"/> </owl:AllDisjointClasses>

</owl:Class> § Syntaxe Turtle :


[] rdf:type owl:AllDisjointClasses ;
§ Syntaxe Turtle :
owl:members ( :Animal :Plant :Branch :Leaf ) .
:Herbivore rdfs:subClassOf :Animal
§ Interprétation logique
:Herbivore owl:disjointwith :Carnivore ∀x Herbivore(x) → Animal(x)
∀x Herbivore(x) ∧ non Animal(x)
§ Remarque : subClassOf, equivalentClass, disjointWith et
AllDisjointWith sont des axiomes de classe

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 21 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 22

6/ Par restriction de propriétés : objectproperty Les propriétés objets dans OWL: objectProperty
§ Définissons d’abord les propriétes, objectproperty, on s’intéressera § Syntaxe RDF/XML :
ensuite à leur restrictions <owl:ObjectProperty rdf:about="eats">
<rdfs:domain rdf:resource="#Animal"/>
§ Dans « African Wildlife Ontology » : <rdfs:range rdf:resource="Thing"/>
§ les animaux carnivores mangent des animaux </owl:ObjectProperty>
§ les animaux herbivores mangent des plantes ou des “bouts” de plantes <owl:ObjectProperty rdf:about="eaten-by">
<rdfs:range rdf:resource="#Animal"/>
<rdfs:domain rdf:resource="Thing"/>
§ Object property (entre 2 classes) : <owl:inverseOf rdf:resource="#eats"/>
§ Object property eats </owl:ObjectProperty>
§ Syntaxe Turtle :
• Domain:Animal :eats
• Range:Thing rdf:type owl:ObjectProperty ;
§ Propriété inverse : rdfs:domain :Animal .
:eaten-by
§ Object property eats-by rdf:type owl:ObjectProperty ;
• Domain: Thing rdfs:range :Animal ;
owl:inverseOf :eats .
• Range: Animal

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 23 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 24
Dans Protégé Les propriétés objets Propriété OWL is-part-of
§ Dans « African Wildlife Ontology » :
§ les animaux carnivores mangent des animaux
§ les animaux herbivores mangent des plantes ou des “bouts” de plantes
§ Object property (entre 2 classes) :
§ Object property is-part-of
• Domain:Thing
• Range:Thing
Is-part-of = propriété transitive
§ Syntaxe RDF/XML :
<owl:ObjectProperty rdf:about="is_part_of"/>
<owl:TransitiveProperty rdf:about="is_part_of "/>
§ Syntaxe Turtle :
:is_part_of rdf:type owl:ObjectProperty ;
rdf:type owl:TransitiveProperty .

41

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 25 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 26

Dans Protégé Les propriétés OWL Les propriétés de données DatatypeProperty


§ Datatype property (entre une classe et un « datatype ») :
Datatype property hasAge
• Domain:Thing
• Range: nonNegativeInteger (Datatype)
§ Syntaxe RDF/XML :
<owl:DatatypeProperty rdf:about="hasAge">
<rdfs:range rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/>
</owl:DatatypeProperty>
§ Syntaxe Turtle :
:hasAge rdf:type owl:DatatypeProperty ;
rdfs:range xsd:NonNegativeInteger .

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 2746 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 28
Dans Protégé Les propriétés OWL Les propriétés de données DatatypeProperty
§ Syntaxe RDF/XML :
<owl:DatatypeProperty rdf:about="hasAge">
<rdfs:range rdf:resource=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/>
</owl:DatatypeProperty>
<owl:FunctionalProperty rdf:about="hasAge"/>

§ Syntaxe Turtle :
:hasAge rdf:type owl:DatatypeProperty ;
rdf:type owl:FunctionalProperty ;
rdfs:range xsd:NonNegativeInteger .

Propriété fonctionnelle : propriété qui a au plus une valeur pour chaque objet
Propriété fonctionnelle : propriété qui a au plus une valeur pour chaque objet 50
Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 29 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 30

Les caractéristiques des propriétés


Dans Protégé: caractéristiques des propriétés Caractéristiques des propriétés en OWL1/OWL2
§ OWL-1 :
§ Fonctionnelle (au plus une valeur, e.g. hasAge)
P(x,y)∧ P(x,z)→ y = z
§ Inverse fonctionnelle (l’inverse de la propriété est fonctionnelle, e.g.
IsAgeOf)
P(y,x)∧ P(z,x)→ y = z
§ Transitive (e.g. is-part-of)
P(x,y)∧ P(y,z)→ P(x,z)
§ Symétrique (e.g. aLeMemeAge)
P(x, y) ó P(y, x)
§ Spécificités OWL-2 :
§ Asymétrique (OWL2) (e.g. estPlusGrand)
§ Réflexive (OWL2) (e.g. aLeMemeAge)
P(x, x)
§ Irréflexive (OWL2) (e.g. estPlusGrand)
52

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 31 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 32
Autres spécificités de OWL-2
§ Les chaines de propriétés
§ Les clés
§ Définitions de types de données plus riches
owl:NegativePropertyAssertion
Exemple : Ernestine ne peut pas avoir 12 ans
§ Possibilité de définir des restrictions sur les cardinalités plus
avancées : 4. Restrictions sur les propriétés en
owl:maxQualifiedCardinality,
Protégé
owl:minQualifiedCardinality
Exemple : Léon a au moins 2 copines qui sont des copines
d’Ernestines
§ Amélioration des possibilités d’annotations

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 33 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 34

Restrictions sur les propriétés Restrictions sur les propriétés someValuesFrom


§ Dans « African Wildlife Ontology » : § Syntaxe RDF/XML :
<owl:Class rdf:about="#Carnivore">
§ les animaux carnivores sont des animaux qui mangent des <rdfs:subClassOf>
animaux <owl:Restriction>
<owl:onProperty rdf:resource="eats"/>
§ Comment définir les animaux carnivores? <owl:someValuesFrom rdf:resource="#Animal"/>
</owl:Restriction>
§ Les carnivores sont des animaux: subClassOf </rdfs:subClassOf>
<rdfs:comment>
§ Les carnivores sont des animaux qui mangent des animaux, Carnivores are exactly those animals that eat also animals.
mais pas seulement </rdfs:comment>
</owl:Class>
« Ils mangent au moins un animal »
§ Remarque : les restrictions sont toujours définies à partir d’une
§ Utilisation de la restriction someValuesFrom classe sur une propriété

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 35 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 36
Restrictions sur les propriétés someValuesFrom Restrictions sur les propriétés
Dans Protégé
§ Syntaxe RDF/XML :
:Carnivore owl:subClassOf [
rdf:type owl:Restriction ;
owl:onProperty :eats ; owl:someValuesFrom :Animal
];

<rdfs:comment>
Carnivores are exactly those animals that eat also animals.

60

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 37 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 38

Restrictions sur les propriétés allValuesFrom Restrictions sur les propriétés allValuesFrom
§ Syntaxe RDF/XML :
§ Dans « African Wildlife Ontology » : <owl:Class rdf:about="#Herbivore">
<rdfs:subClassOf>
§ Les herbivores sont des animaux: subClassOf <owl:Restriction>
<owl:onProperty rdf:resource="eats"/>
§ Les herbivores sont des animaux qui ne mangent que : <owl:allValuesFrom rdf:resource="#Plant"/>
</owl:Restriction>
</rdfs:subClassOf>
• des plantes ou <rdfs:comment>
Herbivores are exactly those animals that eat
• des “bouts” de plantes only plants or parts of plants.
</rdfs:comment>
</owl:Class>
§ Comment définir les animaux herbivores?
§ Syntaxe Turtle :
ð Utilisation de la restriction allValuesFrom :Herbivore owl:subClassOf [
rdf:type owl:Restriction ;
owl:onProperty :eats ;
owl:allValuesFrom :Plant
];
Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 39 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 40
Dans Protégé Ensembles de restrictions sur une classe
Restrictions sur les propriétés § Classe Herbivore :
<owl:Class rdf:about="#Herbivore">
<owl:subClassOf>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="eats"/>
<owl:allValuesFrom rdf:resource="#Plant"/>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="eats"/>
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="is-part-of"/>
<owl:someValuesFrom rdf:resource="#Plant"/>
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>

?
</owl:unionOf>
</owl:Class>
</owl:subClassOf>
65
</owl:Class>

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 41 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 42

Restrictions sur les propiétés : HasValue Restriction sur les cardinalités


§ Les herbivores « basilicéens » sont des herbivores qui ne mangent § Dans l’African Wildlife Ontology : tout animal a un âge et un seul
que du basilic, le basilic étant une instance de la classe plant
§ Utilisations des contraintes de cardinalité :
§ Utilisation de la restriction hasValue
§ minCardinality (au moins)
<Plant rdf:about="Basilic"/>
<owl:Class rdf:about ="Herbivore_Basiliceen"> § maxCardinality (au plus)
<owl:equivalentClass>
<owl:Restriction> § cardinality (exactement)
<owl:onProperty rdf:resource="eats"/>
<owl:hasValue rdf:resource="Basilic"/> § Syntaxe RDF/XML :
</owl:Restriction>
<owl:Class rdf:about="#Animal">
</owl:equivalentClass>
<rdfs:subClassOf>
</owl:Class>
<owl:Restriction>
§ Syntaxe Turtle : <owl:onProperty rdf:resource="hasAge"/>
<owl:cardinality
:Basilic rdf:type :Plant rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
:Herbivore_Basiliceen owl:equivalentClass [
</owl:cardinality>
rdf:type owl:Restriction ;
</owl:Restriction>
owl:onProperty :eats ;
owl:hasValue :Basilic </rdfs:subClassOf>
</owl:Class>

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 43 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 44
Restrictions
Dans Protégé sur les cardinalités Les instances dans Protégé
Les instances
§ Saisie des instances dans Protégé :

78

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 45 ! Tout animal doit avoir un âge
Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE
79
46

Spécificités de OWL2 Spécificités de OWL2: chaînes de propriétés


<rdf:Description rdf:about="hasGrandparent">
§ Saisie des instances dans Protégé :
<owl:propertyChainAxiom rdf:parseType="Collection">
§ Les chaines de propriétés <owl:ObjectProperty rdf:about="hasParent"/>
<owl:ObjectProperty rdf:about="hasParent"/>
§ Les clés </owl:propertyChainAxiom>
</rdf:Description>
§ Définitions de types de données plus riches :
owl:NegativePropertyAssertion § Syntaxe Turtle :
:hasGrandparent owl:propertyChainAxiom
Exemple : Ernestine ne peut pas avoir 12 ans
Spécificités de OWL2: clés
§ Possibilité de définir des restrictions sur les cardinalités plus
avancées <owl:Class rdf:about="Person">
owl:maxQualifiedCardinality <owl:hasKey rdf:parseType="Collection">
owl:minQualifiedCardinality <owl:ObjectProperty rdf:about="hasSSN"/>
</owl:hasKey>
Exemple : Léon a au moins 2 copines qui sont des copines </owl:Class>
d’Ernestines § Syntaxe Turtle :
§ Amélioration des possibilités d’annotations :Person owl:hasKey ( :hasSSN ) .

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 47 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 48
Spécificités de OWL2: annotations
<owl:Class rdf:about="Man">
<rdfs:subClassOf rdf:resource="Person"/>
</owl:Class>
<owl:Axiom>
<owl:annotatedSource rdf:resource="Man"/>
<owl:annotatedProperty
rdf:resource="&rdfs;subClassOf"/>
<owl:annotatedTarget rdf:resource="Person"/>
<rdfs:comment>States that every man is a person.
</rdfs:comment>
</owl:Axiom>
5. Raisonnements sur les ontologies
§ Syntaxe Turtle :
:Man rdfs:subClassOf :Person .
[] rdf:type owl:Axiom ;
owl:annotatedSource :Man ;
owl:annotatedProperty rdfs:subClassOf ;
owl:annotatedTarget :Person ;
rdfs:comment "States that every man is a
person."^^xsd:string .

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 49 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 50

Raisonnements sur les ontologies Raisonnements dans Protégé


§ Pourquoi raisonner sur les ontologies :
Raisonner sur les ontologies
§ Pour vérifier la cohérence d’une ontologie
§ Pour inférer de nouvelles connaissances, on peut utiliser
un raisonneur
§ Exemple :
• supposons qu’on crée une nouvelle classe test, sous-
classe de Carnivore et Herbivore qui ont été
déclarées disjointes.
• Si on lance le « raisonneur » de Protégé, on obtient...

89

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 51 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 52
Raisonnements sur les ontologies Raisonner
Avec Protégé sur les ontologies
§ Supposons qu’Ernestine_la_girafe mange Leon_le_lion, on obtient...

§ Nouvelles connaissances inférées :

§ Ernestine_la_giraffe is-a Giraffe

§ Ernestine_la_giraffe is-a Herbivore

§ Ernestine_la_giraffe (eats only Plant) or (eats only (is-part-of


some Plant))

§ Leon_le_lion is-a Leaf. !

§ Leon_le lion eaten-by Ernestine_la_giraffe. !

§ Possible car les classes Lion et Leaf ne sont pas disjointes !

91

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 53 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 54

Raisonnement dans Protégé Raisonnement dans Protégé


Raisonner sur les ontologies
§ Ajoutons que les classes Leaf et Animal sont disjointes, on obtient : Raisonner sur les ontologies
§ Exemple de 2 justifications sur 4 trouvées par le raisonneur de Protégé 5.0 :

93
94
Exemple de 2 justifications sur 4 trouvées par le raisonneur de Protégé 5.0

Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 55 Mise en œuvre de OWL avec Protégé - Bernard ESPINASSE 56

Vous aimerez peut-être aussi