OWL et Protégé - Université Paris 8

Download Report

Transcript OWL et Protégé - Université Paris 8

OWL DL
Ontologies et Réseaux d’ontologies
Chan LE DUC
M2R - Université Paris 8, 2014-2015
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Plan
1
Ontologies
2
RDF
3
OWL
4
Outil : Protégé
5
Sémantique de OWL : Logiques de description
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
OWL (Ontology Web Language)
Syntaxe :
XML avec les balises représentant le vocabulaire et
opérateurs logiques
Vocabulaire : classes (concepts) : Thing, Nothing,
propriétés (rôles) et instances (individus)
Opérateurs logiques : sous-classe (subsomption de
concepts) ; sous-propriété (subsomption de rôles) ;
disjonction de classes ; negation, union, intersection de
classes ; restrictions existentielle, universelle et de
cardinalité ; assertions sur des individus, etc.
OWL utilise les éléments syntaxiques (balises) de RDF :
espace de noms, rdf:about, rdf:resource, rdf:ID,
...
Sémantique : Logique de Description
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Trois sous-langages de OWL
OWL-Lite (pas de OU, pas de NON, cardinalité d’unité) :
classification, contraintes simples
OWL-DL : maximum expressivité en maintenant la
complétude et décidabilité
OWL-Full : liberté syntaxique comme RDF, maximum
expressivité (aucune garantie de calcul)
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Logiques de description (DL)
Sémantique formelle : fragments de la
logique du premier ordre [Borgida 96]
Représentation de connaissances basée sur
concepts (classes), rôles (relations) et
individus
Langage du Web sémantique : OWL basé
sur DL [W3C 04, 06]
Systèmes implémentés : FaCT++, Racer,
Pellet, ...
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Logiques de description
Syntaxe
Ensembles de noms de concepts et de rôles NC , NR
(inverse ou transitif) et individus {a1 , ..., aK }
Formules récursivement composées de NC , NR et des
constructeurs logiques :
C :=C | CuD | CtD | ¬C | ∃R.C | ∀R.C |≥ n R.C |≤ n R.C
TBox : Ensemble d’axiomes {C v D} et hiérarchie de rôles
{R v S}
ABox : Ensemble d’assertions {C(ai )} ou {R(ai , aj )}
Base de connaissances exprimée en DL :
TBox ∪ ABox = Ontologie
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Logiques de description
Sémantique
Une interprétation : h∆, .I i avec ∆ 6= ∅ et .I une fonction
telle que C I ⊆ ∆, R I ⊆ ∆ × ∆, aiI ∈ ∆,
(C u D)I :=C I ∩ D I ,(C t D)I :=C I ∪ D I , (¬C)I :=∆ \ C I ,
(∃R.C)I :={x | ∃y .y ∈ C I ∧ hx, yi ∈ R I },
(∀R.C)I :={x | hx, yi ∈ R I ⇒ y ∈ C I },
(≥ n R.C)I :={x | #{y ∈ C I | hx, y i ∈ R I } ≥ n},
(≤ n R.C)I :={x | #{y ∈ C I | hx, y i ∈ R I } ≤ n}
R est transitif : si hx, yi, hy, zi ∈ R I alors hx, zi ∈ R I
R − : hx, yi ∈ (R − )I iff hy, xi ∈ R I
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Exemple d’une interpretation
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Logiques de description
Sémantique
Si une interprétation I = h∆, .I i d’une ontologie O satisfait
C I ⊆ D I , R I ⊆ S I pour tout axiome C v D, R v S dans
TBox, et
aiI ∈ C I et haiI , ajI i ∈ R I pour toute assertion C(ai ),
R(ai , aj ) dans ABox
alors I est un modèle de O (I |= O)
Une ontologie O est cohérente ssi elle a un modèle
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Exemple : modèle d’une ontologie
Ontologie :
1
Les classes Sorcier, Moldu , Phénix et Humain
2
Les propriétés avoirAnimal, avoirPhénix
3
Sorcier et Moldu sont Humain
4
avoirPhénix est plus spécifique que avoirAnimal
5
Le domaine de avoirPhénix est Sorcier
6
Harry Potter est un Sorcier
7
Dumbledore a Fawkes qui est un Phénix
Contruire un modèle de l’ontologie
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Classes et sous-classes
<owl:Class rdf:ID="Femme">
<rdfs:subClassOf rdf:resource="#Personne" />
</owl:Class>
...
<owl:Class rdf:ID="Femme">
<rdfs:subClassOf rdf:resource="#Personne" />
</owl:Class>
<owl:Class rdf:ID="PersonneOccupée">
<rdfs:subClassOf>
<owl:Restriction>
...
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
Protégé : sur le memu
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Propriétés, sous-propriétés, domaine, co-domaine,
inverse, transitive, fonctionnelle
<owl:ObjectProperty rdf:ID="etreMere">
<rdfs:domain rdf:resource="#Femme"/>
<rdfs:range rdf:resource="#Personne"/>
</owl:ObjectProperty>
...
<owl:ObjectProperty rdf:ID="etreMere">
<owl:inverseOf rdf:resource="#avoirMere" />
</owl:ObjectProperty>
...
<owl:ObjectProperty rdf:ID="fairePartieDe">
<rdf:type rdf:resource="&owl;TransitiveProperty" />
</owl:ObjectProperty>
...
<owl:ObjectProperty rdf:ID="avoirMere">
<rdf:type rdf:resource="&owl;FunctionalProperty" />
</owl:ObjectProperty>
...
<owl:ObjectProperty rdf:ID="avoirFille">
<rdfs:subPropertyOf rdf:resource="#avoirEnfant"/>
</owl:ObjectProperty>
Protégé : sur le memu
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Restriction universelle et existentielle
<owl:Class rdf:ID="Parent">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#avoirEnfant" />
<owl:someValuesFrom rdf:resource="#Personne" />
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
...
<owl:Class rdf:ID="Personne">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#avoirEnfant" />
<owl:allValuesFrom rdf:resource="#Personne" />
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
Protégé : (avoirEnfant some Personne),
(avoirEnfant only Personne)
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Restriction de cardinalité
<owl:Class rdf:ID="Femme">
<rdfs:subClassOf rdf:resource="#Personne" />
</owl:Class>
<owl:Class rdf:ID="PersonneOccupée">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#avoirEnfant"/>
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">
2
</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
Protégé : (avoirEnfant max 2 Personne),
(avoirEnfant min 2 Personne)
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Conjonction, disjonction
<owl:Class rdf:ID="WhiteWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Class rdf:about="#WhiteDrink" />
</owl:intersectionOf>
</owl:Class>
...
<owl:Class rdf:ID="Fruit">
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#SweetFruit" />
<owl:Class rdf:about="#NonSweetFruit" />
</owl:unionOf>
</owl:Class>
Protégé : (Personne and Sorcier), (Personne or Sorcier)
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Complément : www.w3.org
...
<owl:Class rdf:ID="ConsumableThing" />
<owl:Class rdf:ID="NonConsumableThing">
<owl:complementOf rdf:resource="#ConsumableThing" />
</owl:Class>
...
<owl:Class rdf:ID="NonSweetFruit">
<rdfs:subClassOf rdf:resource="#EdibleThing" />
<owl:disjointWith rdf:resource="#SweetFruit" />
</owl:Class>
Protégé : (not Sorcier)
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Exercices
1
“MargueritaPizza”, “AmericanaPizza”, “SpicyBeefPizza” sont des “NamedPizza”
2
“MeatyTopping” est disjoint avec “VegetableTopping”
3
“hasIngredient” et “hasTopping”, “hasBase”
4
Une “MargheritaPizza” a au moins un “MozarellaTopping” et au moins un
“TomatoTopping”
5
Une “AmericanaPizza” a au moins un “MozarellaTopping” et au moins un
“TomatoTopping et au moins un “PepperoniTopping”
6
Un “VegetarianTopping” est un “CheeseTopping” ou “VegetableTopping”
7
Une “VegetarianPizza” est une pizza dont tous les ingrédients sont végétariens
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Outil : Protégé
Buts : Création, édition d’une ontologie
Téléchargement : http://protege.stanford.edu/
Installation
Fonctionnalités : visualisation, raisonnement, ...
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Création d’une ontologie OWL à l’aide de Protégé
Sous-classes simples :
OWL
<rdfs:subClassOf> ...
Protégé : direct
Sous-propriété :
OWL
<rdfs:subPropertyOf>
...
Protégé : direct
Complement, union, intersection de classes :
OWL
<owl:complementOf>
<owl:unionOf>
...
...
<owl:intersectionOf>
...
Protégé : not, or, and
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Exemple
Restriction existentielle, universelle, de cardinalité
OWL
<owl:Restriction>
<owl:onProperty ... /> <owl:someValuesFrom ... />
<owl:Restriction>
<owl:onProperty ... /> <owl:allValuesFrom ...>
<owl:Restriction>
<owl:onProperty ... /> <owl:minCardinality ...>
<owl:Restriction>
<owl:onProperty ... /> <owl:maxCardinality ...>
Protégé : some, only, min, max
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Exemple
Axiomes d’individus
OWL :
<owl:NamedIndividual rdf:ID="Marie">
<rdf:type rdf:resource="&rdfs;Thing"/>
</owl:NamedIndividual>
Protégé : direct
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Raisonnement sur une ontologie
Algorithmes des tableaux : [Baader et Sattler 00], [Horrocks et Sattler 99, 03, 07]
Buts : vérification de la cohérence d’une ontologie,
déduction de nouvelles connaissances
Principe : construction d’une représentation finie d’un
modèle
Toute ontologie cohérente en ALC a toujours un modèle fini
Il existe une ontologie cohérente en ALC ∪ {≤, ≥, R − , R + }
qui n’a que des modèles infinis : technique ”blocking”
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Algorithme de tableaux
Transformer les implications en (in)satisfiabilité
O |= C(a) ssi O ∪ {¬C(a)} n’est pas satisfiable
O |= C v D ssi O ∪ {C u ¬D(a)} n’est pas satisfiable
Commencer par les faits explicitement déclarés dans
ABox :
Paul : ParentHeureux , Paul avoirEnfant Anne, etc
Utiliser règles d’expansion pour découler des faits
implicites :
Paul : Parent , Paul : ∀avoirEnfant.(Medecin t ∃avoirEnfant.Medecin)
Construction échouée si contradiction évidente (clash) :
Anne : Médecin , Anne :¬Médecin
Blocking : l’étiquette d’un noeud est identique à celle d’un
ancêtre.
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Règles d’Expansion pour ALC
Il y a des règles non-déterministes
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Exemple 1
Les ontologies ci-dessous sont-elles cohérentes ?
1
Abox={a : (¬A u ∃R.(C u D) u ∀R.A)} (TBox vide)
2
Abox={a : (¬A u ∃R.(C u ∀R − .A)} (TBox vide)
3
Abox={a : (¬A u ∃R.(C u D)} ; TBox={C v ¬D}
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Exemple 2
TBox : Sorcier, Moldu v Humain ; Phenix, Chouette v Animal,
Animal u Humain v ⊥ ; NonSorcier v Humain ;
domain(avoirAnimal) = Humain, range(avoirAnimal) = Animal
NonSorcier ≡ ¬Sorcier u ∀avoirAnimal.¬Phenix (*)
(Il n’y a que les sorciers qui peuvent avoir un phénix.)
ABox : Hedwig : Chouette
Question : l’ontologie est-elle cohérente ?
Intuition : Hedwig : ¬Sorcier, ∀avoirAnimal.¬Phenix, NonSorcier, Humain
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Exercice 1
TBox : Medecin v Personne, Parent v Personne u ∃avoirEnfant.Personne
ParentHeureux v Parent u ∀avoirEnfant.(Medecin t ∃avoirEnfant.Medecin)
ABox : Paul : ParentHeureux, avoirEnfant(Paul, Anne)
Question : Medecin(Anne) ?
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Exercice 1 (cont.)
TBox : Medecin v Personne, Parent v Personne u ∃avoirEnfant.Personne
ParentHeureux v Parent u ∀avoirEnfant.(Medecin t ∃avoirEnfant.Medecin)
ABox : Paul : ParentHeureux, avoirEnfant(Paul, Anne), Anne : ∀avoirEnfant.⊥
Question : Medecin(Anne) ?
Chan LE DUC
Ontologies et Réseaux d’ontologies
OWL DL
Références
1
http ://www.w3.org/TR/owl-semantics/
2
Franz Baader et al. The Description Logic Handbook :
Theory, Implementation and Applications. Cambridge
University Press, 2003.
3
Alex Borgida et Luciano Serafini. Distributed Description
Logics : Assimilating Information from Peer Sources.
Journal of Data Semantics, 2003
4
Antoine Zimmermann et Chan Le Duc. Reasoning with a
network of aligned ontologies. International Conference on
Web Reasoning and Rule, 2008.
5
Chan Le Duc. Decidability of SHI with transitive closure of
roles. European Semantic Web Conference, 2009.
Chan LE DUC
Ontologies et Réseaux d’ontologies