Ontologies et Logiques de description§

author:Pierre-Antoine Champin

Contrat Creative Commons

1

Historique§

2

Logique§

3

Règles§

4

Logiques « intuitives »§

_images/reseau_semantique.jpg
5

Logiques « intuitives » (suite)§

6

Remise en ordre§

7

Logiques de description§

8

Ontologies§

9

OWL§

_images/owl.png

OWL logo

10

Syntaxe et sémantique§

11

Syntaxe§

On utilise ici la syntaxe Manchester de OWL2.

Il existe d'autres syntaxes (XML, RDF), mais elles portent la même sémantique.

12

Éléments de base§

L'univers du discours est constitué d'individus, appartenant à des classes (ou concepts), et reliés entre eux par des propriétés (ou rôles).

OWL LPO
Individu Constante
Classe Prédicat 1-aire
Propriété Prédicat 2-aire
13

Exemples§

Classes Propriétés Individus
Personne connait john
Voiture (a pour) père jane
Rouge mère ab-123-cd
Menteur enfant  
Ferrari conduit  
14

Axiomes§

Syntaxe Appellation Sémantique
C SubClassOf D subsomption ∀ x, C(x) → D(x)
p SubPropertyOf q subsomption ∀ x, y, p(x, y) → q(x, y)

Exemples

15

Classes pré-définines§

Syntaxe Appellation Sémantique
Thing Classe universel (top) Δ
Nothing Classe absurde (bottom)
16

Classes complexes : op. ensemblistes§

Syntaxe Appellation Sémantique
not C complément { x | ¬C(x) }
C or D union { x | C(x) } ∪ { x | D(x) }
C and D intersection { x | C(x) } ∩ { x | D(x) }
{a} extension {a}

Exemples

17

Classes complexes : restrictions (1)§

Syntaxe Appellation Sémantique
p some C qualificateur existentiel { x | ∃ y, p(x, y) ∧ C(y) }
p only C qualificateur universel { x | ∀ y, p(x, y) → C(y) }
    = { x | ∀ y, C(y) ∨ ¬p(x, y) }

Exemples

Note

∀ p, C,  (p some C) = not (p only (not C))

ce qui est une autre façon d'expliquer le "paradoxe" de "conduit only Ferrari"

18

Classes complexes : restrictions (2)§

Syntaxe Appellation Sémantique
p exactly n C quantificateur (=) { x | #{y | p(x, y) ∧ C(y)} = n }
p max n C quantificateur (≤) { x | #{y | p(x, y) ∧ C(y)} ≤ n }
p min n C quantificateur (≥) { x | #{y | p(x, y) ∧ C(y)} ≥ n }

NB : on omet généralement C lorsqu'il s'agit de Thing

Exemples

19

Classes complexes et axiomes : exemples§

  SubClassOf
conduit some Voiture Adulte
inverse conduit some Thing Véhicule
Personne Adulte or Enfant
Personne père exactly 1 Homme and mère exactly 1 Femme
Personne not Voiture
20

Propriétés complexes§

Syntaxe Appellation Sémantique
inverse p propriété inverse { (x, y) | p(y, x) }
p ∘ q ⁽¹⁾ propriété composée { (x, y) | ∃ z, p(x, z) ∧ q(z, y) }
¬p ⁽¹⁾ complément { (x, y) | ¬p(x, y) }

Exemples :

⁽¹⁾ pas exprimable directement en syntaxe Manchester (cf. SubPropertyChain, DisjointWith)

21

Autres types d'axiomes§

OWL offre des axiomes « de haut niveau » qui visent à

22

Sur les classes§

Axiome équivalent à
C EquivalentTo D C SubClassOf D et D SubClassOf C
C DisjointWith D C SubClassOf not D
C DisjointWith D, E, F... C, D, E, F... disjointes deux à deux
C DisjointUnionOf D, E, F... C EquivalentTo (D or E or F...) et D, E, F... disjointes deux à deux
23

Sur les propriétés§

Axiome équivalent à
p EquivalentTo q p SubPropertyOf q et q SubPropertyOf p
p DisjointWith q p SubPropertyOf ¬q ⁽¹⁾
p SubPropertyChain q o r o s p SubPropertyOf q ∘ r ∘ s ⁽¹⁾
p InverseOf q p EquivalentTo inverse q

⁽¹⁾ cet énnoncé n'est pas conforme à la syntaxe Manchester

24

Sur les propriétés (suite)§

Axiome équivalent à
p Transitive p SubPropertyChain p o p
p Symmetric p SubPropertyOf inverse p
p Asymmetric p DisjointWith inverse p
p Functional Thing SubClassOf p max 1
p InverseFunctional Thing SubClassOf (inverse p max 1)
p Reflexive Thing SubClassOf p Self
p Irreflexive Thing DisjointWith p Self
25

Sur les propriétés (suite)§

Axiome équivalent à
p Domain C p some Thing SubClassOf C
p Range C inverse p some Thing SubClassOf C

Example

26

Deux sortes de propriétés§

OWL définit en fait deux sortes différentes de propriétés :

27

Profils OWL 2§

Full aucune contrainte, indécidable
DL minimum de contraintes, décidable mais très complexe
EL quantifications existentielles (EL++), expressivité adaptée à certains domaines (biologie)
QL peut s'implémenter au dessus d'un langage de requêtes (SQL)
RL peut s'implémenter au dessus d'un langage à base de règles (Datalog)

digraph owl_profiles { margin=0; rankdir=BT; bgcolor="#FFFFFF00"; size=3; node [ style=filled,color=black,fillcolor=white,shape=box]; full [ label="OWL2 Full" ] dl [ label="OWL2 DL" ] el [ label="OWL2 EL" ] ql [ label="OWL2 QL" ] rl [ label="OWL2 RL" ] el -> dl -> full ql -> dl rl -> dl }

28

Raisonnement§

29

Rappels§

30

Méthode des tableaux§

31

Exemple§

_images/Frame00.png _images/Frame01a.png _images/Frame01b.png _images/Frame02a.png _images/Frame02b.png _images/Frame03a.png _images/Frame03b.png _images/Frame04a.png _images/Frame04b.png _images/Frame05a.png _images/Frame05b.png _images/Frame06a.png _images/Frame06b.png _images/Frame07a.png _images/Frame07b.png _images/Frame08a.png _images/Frame08b.png _images/Frame09a.png _images/Frame09b.png _images/Frame09c.png
32

Enjeux§

33

Implémentations§

Hermit
http://hermit-reasoner.com/
Pellet
http://clarkparsia.com/pellet
Racer
http://www.racer-systems.com/
FaCT
http://www.cs.man.ac.uk/~horrocks/FaCT/
34

Méta-modélisation§

35

Annexe : Protégé§

36

Installation§

Téléchargement de Protégé (version ≥ 5) :

Prise en main :

37