+ All Categories
Home > Documents > M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

Date post: 08-Jan-2022
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
72
M2 DAC – LODAS 2019 – Bernd Amann M2 – DAC - LODAS - 2019 MU5IN860 Linked Open Data, Apprentisssage Symbolique Bernd Amann SU 8 octobre 2019 164 / 365
Transcript
Page 1: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – – Bernd Amann

M2 – DAC - LODAS - 2019MU5IN860 Linked Open Data, Apprentisssage Symbolique

Bernd Amann

SU

8 octobre 2019

164 / 365

Page 2: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – – Bernd Amann

Règles et OWL : Inférence

1 Inférence et Règles RDF

2 Logiques de Description

3 OWL

165 / 365

Page 3: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Bernd Amann

Outline

1 Inférence et Règles RDF

2 Logiques de Description

3 OWL

166 / 365

Page 4: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Syntaxe Bernd Amann

1 - Inférence et Règles RDF

Règles RDF : SyntaxeRègles RDF : Inférence

167 / 365

Page 5: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Syntaxe Bernd Amann

Règles RDFObjectif

Etant donné un graphe RDF (ensembles de triplets), on veut inférer desnouvelles connaissances (triplets).

Exemple

Toutes les personnes qui ont plus que 18 ans sont des adultes.

ex : p1 ex : age " 20 " ; ex : name " Susan " .ex : p4 ex : age " 15 " ; ex : name " Tim " .

Règle adultes

@prefix ex : h t t p : / / www. asws . com/ s o c i a l #[ adu l tes : (? s ex : age ?a ) ge (?a ,18 ) −> (? s r d f : type ex : Adu l t ) ]

produit un nouveau triplet :

ex : p1 r d f : type ex : Adu l t .

168 / 365

Page 6: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Syntaxe Bernd Amann

Jena : Types de règlesrègle type de règle LHS/RHS

[nom : LHS < −RHS] backward LHS : atom simple sans fonctionRHS : conjonction d’atomes avec fonctions

[nom : LHS− > RHS] forward LHS : conjonction d’atomes avec fonctionsRHS : conjonction d’atomes avec fonctions

[nom : LHS− > [nom1 : LHS1 < −RHS1]...) hybrid LHS : conjonction d’atomes avec fonctionsRHS : une ou plusieurs règles backward

Règle friendsforward

@prefix r d f : < h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#> .@prefix ex : h t t p : / / www. asws . com / s o c i a l #[ f r i ends fo rwa rd : (? s ex : f r i e n d ?a ) (?a ex : f r i e n d ?b ) (?b ex : age ?x ) ge (?x ,18 ) notEqual (?s ,? b )

−> (? s ex : f r i e n d ?b ) ]

Règle friendsbackward

@prefix r d f : < h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#> .@prefix ex : h t t p : / / www. asws . com / s o c i a l #[ f r iendsbackward : (? s ex : f r i e n d ?b )

<− (? s ex : f r i e n d ?a ) (?a ex : f r i e n d ?b ) (?b ex : age ?x ) ge (?x ,18 ) ]

Règle friendshybrid

@prefix r d f : < h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#> .@prefix ex : h t t p : / / www. asws . com / s o c i a l #[ f r i e n d s h y b r i d : (? s ex : f r i e n d ?a ) (?a ex : f r i e n d ?b ) notEqual (?s ,? b )

−> [ ( ? s ex : f r i e n d ?b ) <− (?b ex : age ?x ) ge (?x ,18 ) ] ]

169 / 365

Page 7: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Syntaxe Bernd Amann

Jena Rules : Syntaxe AbstraiteRule := bare−r u l e .

or [ bare−r u l e ]or [ ruleName : bare−r u l e ]

bare−r u l e := te rm, . . . term −> hterm, . . . hterm / / forward r u l eor te rm, . . . term <− te rm, . . . term / / backward r u l e

hterm := termor [ bare−r u l e ]

term := ( node, node, node ) / / t r i p l e pa t t e rnor ( node, node, f u n c t o r ) / / extended t r i p l e pa t t e rnor b u i l t i n ( node, . . . node ) / / p rocedura l p r i m i t i v e

f u n c t o r := functorName ( node, . . . node ) / / s t r u c t u r e d l i t e r a l

node := u r i−r e f / / e . g . h t t p : / / foo . com/ egor p r e f i x : localname / / e . g . r d f : typeor < u r i−re f > / / e . g . <myscheme : myuri >or ?varname / / v a r i a b l eor ’ a l i t e r a l ’ / / a p l a i n s t r i n g l i t e r a lor ’ lex ’ ^ ^ typeURI / / a typed l i t e r a lor number / / e . g . 42 or 25.5

170 / 365

Page 8: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Syntaxe Bernd Amann

Jena : Fonctions et prédicats

jena.apache.org/documentation/inference/#RULEbuiltins

isLiteral( ?x), notLiteral( ?x), isBNode(?x), notBNode(?x)bound(?x, ...), unbound(?x, ...)equal( ?x,?y) , notEqual( ?x,?y), lessThan(?x,?y), greaterThan(?x,?y),le(?x,?y), ge(?x,?y)sum(?a,?b,?c), difference(?a,?b,?c)strConcat(?a1, ..., ?an,?t), uriConcat(?a1, ..., ?an,?t)now(?x)noValue(?x,?p), noValue(?x?p?v)remove(n, ...), drop(n, ...)makeSkolem(?x,?v1, ..., ?vn)

171 / 365

Page 9: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Syntaxe Bernd Amann

Exemple : Fonction SkolemTurtle test

@prefix ex : < h t t p : / / www. asws . com/ s o c i a l #> .@prefix r d f : < h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#> .[ ] a r d f : Resource ; ex : name "Tom" .

Règle skolem

@prefix ex : h t t p : / / www. asws . com/ s o c i a l #

makeSkolem(?s , " Susan " ) −> (? s r d f : type r d f : Resource ) (? s ex :nom " Susan " ) .makeSkolem(?m, " Mary " ) (? t ex : name "Tom" ) −> (?m ex :nom " Mary " )

(? t ex : f r i e n d ?m) .makeSkolem(?s , " Susan " ) (? t ex : name "Tom" ) −> (? t ex : f r i e n d ?s ) .

Résultat de skolem

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix ex: <http://www.asws.com/social#> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

[ a rdf:Resource ;ex:friend [ a rdf:Resource ;

ex:nom "Susan"] ;

ex:friend [ ex:nom "Mary" ] ;ex:name "Tom"

] .

172 / 365

Page 10: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Syntaxe Bernd Amann

Exemple : Noeuds BlancsRègle blanknode

@prefix ex : h t t p : / / www. asws . com/ s o c i a l #

(? s r d f : type ex : BlankNode ) <− (? s r d f : type r d f : Resource ) isBNode (? s ) .

Résultat de blanknode

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix ex: <http://www.asws.com/social#> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

[ a rdf:Resource , ex:BlankNode ;ex:friend [ ex:nom "Mary" ] ;ex:friend [ a rdf:Resource , ex:BlankNode ;

ex:nom "Susan"] ;

ex:name "Tom"] .

173 / 365

Page 11: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Syntaxe Bernd Amann

Exemple : Suppression de tripletsRègle remove

@prefix ex : h t t p : / / www. asws . com/ s o c i a l #

(? s r d f : type r d f : Resource ) (? s ex :nom " Susan " ) −> remove ( 0 ) .

Résultat de remove

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix ex: <http://www.asws.com/social#> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

[ a rdf:Resource ;ex:friend [ ex:nom "Mary" ] ;ex:friend [ ex:nom "Susan" ] ;ex:name "Tom"

] .

Règles avec suppression :la suppression de triplets introduit une forme de négationlogique non-monotone : il existe plusieurs solutions (modèles)

174 / 365

Page 12: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Inférence Bernd Amann

1 - Inférence et Règles RDF

Règles RDF : SyntaxeRègles RDF : Inférence

175 / 365

Page 13: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Inférence Bernd Amann

Jena : Types d’InférenceInférence backward chaining

inférence Programmation Logique (PL)résolution SLD : Datalog sans négation sur une table triplet(s,p,o)tabling : matérialisation de résultats intermédiaires (memoizing)résultat virtuel : matérialisation dynamique au moment où les données sont accédées(requêtes)

Inférence forward chaining

algorithme RETE (moteur par défaut) :graphe de déductiondéclenchement de règles non-deterministe

peut aussi évaluer des règles backward (sans propriétés symétriques et reflexives)résultat matérialisé : matérialisation statique produisant l’union du graphe d’entrée et dugraphe inféré

Inférence hybride

forward chaining génère des règles backwardpermet d’équilibrer le coût de matérialisation (forward) et d’évaluation dynamique(backward)

176 / 365

Page 14: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Inférence Bernd Amann

Jena : Inférence hybride

forward engine (RETE) : génération de faits et de règles (avec desvariables) instanciéesbackward engine (LP) : évaluation des règles instanciés

177 / 365

Page 15: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Inférence Bernd Amann

Exemple : Forward et Backward ChainingRègle friendssymforward

@prefix r d f : < h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#> .@prefix ex : h t t p : / / www. asws . com/ s o c i a l #

[ fr iendssymmforward : (? s ex : f r i e n d ?a ) −> (?a ex : f r i e n d ?s ) ]

backward chaining : impossibleforward chaining : génération de graphe de déduction et calcul de point fixe.

Règle friendssymbackward

@prefix r d f : < h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#> .@prefix ex : h t t p : / / www. asws . com/ s o c i a l #

[ friendssymmbackward : (? s ex : f r i e n d ?a ) <− (?a ex : f r i e n d ?s ) ]

backward chaining : évaluation récursive (résolution SLD)forward chaining : possible, mais boucle infinie sur la relation symétrique ex:friend (propriété del’algorithme RETE)

178 / 365

Page 16: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Inférence Bernd Amann

Exemple : Graphe SocialTurtle sn

@prefix r d f s : < h t t p : / / www.w3 . org /2000/01 / rd f−schema#> .@prefix ex : < h t t p : / / www. asws . com/ s o c i a l #> .@prefix r d f : < h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#> .

ex : user3 a ex : User ;ex : age " 35 " ^^< h t t p : / / www.w3 . org /2001/XMLSchema# i n t > ;ex : f r i e n d ex : user4 ;ex : name "Tom" .

ex : user1 a ex : User ;ex : age " 20 " ^^< h t t p : / / www.w3 . org /2001/XMLSchema# i n t > ;ex : f r i e n d ex : user2 , ex : user3 ;ex : name " Susan " .

ex : user4 a ex : User ;ex : age " 15 " ^^< h t t p : / / www.w3 . org /2001/XMLSchema# i n t > ;ex : f r i e n d ex : user2 ;ex : name " Tim " .

ex : user2 a ex : User ;ex : age " 40 " ^^< h t t p : / / www.w3 . org /2001/XMLSchema# i n t > ;ex : f r i e n d ex : user1 ;ex : name " Mike " .

ex : user5 a ex : User ;ex : age " 25 " ^^< h t t p : / / www.w3 . org /2001/XMLSchema# i n t > ;ex : f r i e n d ex : user2 ;ex : name " Mary " .

179 / 365

Page 17: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Inférence Bernd Amann

Règle forwardRésultat de friendssymforward

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix ex: <http://www.asws.com/social#> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

ex:user4 a ex:User ;ex:age "15"^^<http://www.w3.org/2001/XMLSchema#int> ;ex:friend ex:user3 , ex:user2 ;ex:name "Tim" .

ex:user3 a ex:User ;ex:age "35"^^<http://www.w3.org/2001/XMLSchema#int> ;ex:friend ex:user1 , ex:user4 ;ex:name "Tom" .

ex:user2 a ex:User ;ex:age "40"^^<http://www.w3.org/2001/XMLSchema#int> ;ex:friend ex:user5 , ex:user4 , ex:user1 ;ex:name "Mike" .

ex:user1 a ex:User ;ex:age "20"^^<http://www.w3.org/2001/XMLSchema#int> ;ex:friend ex:user3 , ex:user2 ;ex:name "Susan" .

ex:user5 a ex:User ;ex:age "25"^^<http://www.w3.org/2001/XMLSchema#int> ;ex:friend ex:user2 ;ex:name "Mary" .

180 / 365

Page 18: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Inférence Bernd Amann

Exemple : Backward, Forward, HybridRègle backwardsub

@prefix r d f s : h t t p : / / www.w3 . org /2000/01 / rd f−schema#[ backwardsub : (?a ?q ?b ) <− (?p r d f s : subPropertyOf ?q )

notEqual (?p ,? q ) (?a ?p ?b ) ]

→ foward chaining (avec RETE) ne termine pas (rdfs:subProperty est reflexive)→ backward chaining est inefficace

Règle forwardsub

@prefix r d f s : h t t p : / / www.w3 . org /2000/01 / rd f−schema#[ forwardsub : (?p r d f s : subPropertyOf ?q )

notEqual (?p ,? q ) (?a ?p ?b ) −> (?a ?q ?b ) ]

→ forward chaining génère beaucoup de triplets ...

Règle hybridsub

@prefix r d f s : h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#[ hybr idsub : (?p r d f s : subPropertyOf ?q )

notEqual (?p ,? q ) −> [ (?a ?q ?b ) <− (?a ?p ?b ) ] ]

→ génère une règle backward pour chaque relation rdfs:subPropertyOf

181 / 365

Page 19: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Inférence Bernd Amann

Architecture Générale

ModelFactory : création d’associations entre un ou plusieurs moteursd’inférence (Reasoner) et des Graphes RDFReasonerRegistry : catalogue de moteurs d’inférence connusOntModel API : identification automatique d’un moteur d’inférence pour untype d’ontologie donnéeInfGraph : graphe inféré

182 / 365

Page 20: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Inférence et Règles RDF – Règles RDF : Inférence Bernd Amann

Moteurs d’inférence existantsTransitive reasoner : matérialisation des relations transitives etreflexives rdfs:subPropertyOf et rdfs:subClassOf d’un schémaRDFS (commande infer).RDF/RDFS rule reasoner: matérialisation d’un sous-ensembleconfigurable de règles RDFS (RDF/RDFS entailment rules, voirsémantique formelle).OWL, OWL Mini, OWL Micro Reasoners: matérialisation « utilemais incomplète » de OWL/Lite.Generic rule reasoner : matérialisation de règles d’utilisateurs(inférence forward chaining, tabled backward chaining et hybride)

183 / 365

Page 21: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – Bernd Amann

Outline

1 Inférence et Règles RDF

2 Logiques de Description

3 OWL

184 / 365

Page 22: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – Bernd Amann

Logiques de DescriptionUne logique de description permet

la définition de concepts par des contraintes logiques sur leurinterprétation (“ensemble d’instances”) :

relations sémantiques entre concepts (incusion, equivalence)composition logique / ensembliste de concepts (union, intersection,complément)

le raisonnement logique sur les concept :satisfiabilité des concepts : est-ce qu’il peut exister une instance(interprétation non-vide) pour un concept?cohérence de plusieurs concepts : est-ce qu’il existe une interprétationnon-vide pour un ensemble de concepts?inclusion de concepts (subsomption) : est-ce que l’ensemble des instancesd’un concept est incluse dans l’ensemble des instance d’un autre concept(pour toutes les interprétations)?

L’ensemble des instances (l’interprétation) d’un concept peut être infini(définition et raisonnement intensionnels).

185 / 365

Page 23: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – Bernd Amann

Exemples d’expressionsTous les artistes sont des personnes :

Artiste v Personne

Un sculpteur est une personne qui a créé une sculpture (définition) :

Sculpteur ≡ Personne u ∃a_cree.Sculpture

Toutes les personnes qui ont créé une peinture sont des peintres :

Personne u ∃a_cree.Peinture v Peintre

Un artefact est un objet créé par une personne (définition) :

Artefact ≡ Objet u ∃cree_par .Personne

Toutes les sculptures et peintures sont des artefacts créés par desartistes :

Sculpture t Peinture v Artefact u ∃cree_par .Artiste

186 / 365

Page 24: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – Bernd Amann

Interprétation de concepts et de rôles

Interprétation

Soit donné un ensemble de concepts C et de rôles R. Une interprétation Iest un couple (∆I , .I) où :

∆I est un domaine non-vide d’instances.I est une fonction d’interprétation qui associe à

chaque concept A ∈ C un ensemble d’instances dans ∆I :

AI ⊆ ∆I

chaque rôle r ∈ R une relation binaire entre des instances du domaine ∆I :

rI ⊆ ∆I ×∆I

187 / 365

Page 25: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – Bernd Amann

Interprétation et sémantique)

Expr. Fonction d’interprétation Commentairea aI ⊆ ∆I concept ar rI ⊆ ∆I ×∆I rôle rc u d cI ∩ dI intersection∀r .c {x ∈ ∆I | ∀y : (x , y) ∈ rI → y ∈ cI} quant. univ. qualifié∃r {x ∈ ∆I | ∃y ∈ ∆I : (x , y) ∈ rI} quant. exist. non-

qualifié¬c ∆I \ cI négation/complémentc t d cI ∪ dI union∃r .c {x ∈ ∆I | ∃y ∈ ∆I : (x , y) ∈ rI ∧ y ∈ cI} quantif. exist. quali-

fiée

188 / 365

Page 26: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – Bernd Amann

Satisfiabilité et Subsomption

Satisfiabilité

Un concept c est satisfiable, noté sat(c), si et seulement si (ssi) il existeune interprétation I telle que cI n’est pas vide :

sat(c)⇔ ∃I : cI 6= ∅

Subsomption

c subsume d , noté d v c, ssi pour toute interprétation (∆I , .I), dI est unsous-ensemble de cI :

d v c ⇔ ∀I : dI ⊆ cI

La subsomption peut être réduite à la satisfiabilité :

d v c ⇔ ¬sat(¬c u d)⇔6 ∃I : (¬c u d)I 6= ∅

189 / 365

Page 27: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – TBox et ABox Bernd Amann

2 - Logiques de Description

TBox et ABoxLa famille des Logiques de Description

190 / 365

Page 28: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – TBox et ABox Bernd Amann

TBox

TBox et terminologie

Une TBox est un ensemble de définitions de concepts nommés.L’ensemble de noms de concepts est appelé une terminologie.

Services d’inférence sur une TBox

Test de cohérence : trouver tous les concepts insatisfiablesExtraction de taxinomie : calculer l’hiérarchie de subsomption ou lataxinomie des concepts nommés.

191 / 365

Page 29: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – TBox et ABox Bernd Amann

TBox : Construction de Taxinomie

Terminologie :1 Woman ≡ Person u Female2 Parent ≡ Person u ∃has_child.Person3 Mother ≡ Parent u Female ≡ Parent u

Woman4 Mother_only_daughters ≡Woman u

Parent u ∀ has_child.Woman ≡ Mother u∀ has_child.Woman

5 Grandma ≡Woman u ∃has_child.Parent≡ Mother u ∃has_child.Parent

6 Great_grandma ≡Woman u∃has_child.∃has_child.Parent ≡ Grandmau ∃has_child.∃has_child.Parent

Taxinomie :

Woman

Person

Female

Parent

Mother

Mother_only_daughers

Grandma

Great_grandma

192 / 365

Page 30: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – TBox et ABox Bernd Amann

TBox : Construction de Taxinomie

Terminologie :1 Woman ≡ Person u Female2 Parent ≡ Person u ∃has_child.Person3 Mother ≡ Parent u Female ≡ Parent u

Woman4 Mother_only_daughters ≡Woman u

Parent u ∀ has_child.Woman ≡ Mother u∀ has_child.Woman

5 Grandma ≡Woman u ∃has_child.Parent≡ Mother u ∃has_child.Parent

6 Great_grandma ≡Woman u∃has_child.∃has_child.Parent ≡ Grandmau ∃has_child.∃has_child.Parent

Taxinomie :

Woman

Person

Female

Parent

Mother

Mother_only_daughers

Grandma

Great_grandma

192 / 365

Page 31: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – TBox et ABox Bernd Amann

TBox : Construction de Taxinomie

Terminologie :1 Woman ≡ Person u Female2 Parent ≡ Person u ∃has_child.Person3 Mother ≡ Parent u Female ≡ Parent u

Woman4 Mother_only_daughters ≡Woman u

Parent u ∀ has_child.Woman ≡ Mother u∀ has_child.Woman

5 Grandma ≡Woman u ∃has_child.Parent≡ Mother u ∃has_child.Parent

6 Great_grandma ≡Woman u∃has_child.∃has_child.Parent ≡ Grandmau ∃has_child.∃has_child.Parent

Taxinomie :

Woman

Person

Female

Parent

Mother

Mother_only_daughers

Grandma

Great_grandma

192 / 365

Page 32: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – TBox et ABox Bernd Amann

TBox : Construction de Taxinomie

Terminologie :1 Woman ≡ Person u Female2 Parent ≡ Person u ∃has_child.Person3 Mother ≡ Parent u Female ≡ Parent u

Woman4 Mother_only_daughters ≡Woman u

Parent u ∀ has_child.Woman ≡ Mother u∀ has_child.Woman

5 Grandma ≡Woman u ∃has_child.Parent≡ Mother u ∃has_child.Parent

6 Great_grandma ≡Woman u∃has_child.∃has_child.Parent ≡ Grandmau ∃has_child.∃has_child.Parent

Taxinomie :

Woman

Person

Female

Parent

Mother

Mother_only_daughers

Grandma

Great_grandma

192 / 365

Page 33: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – TBox et ABox Bernd Amann

TBox : Construction de Taxinomie

Terminologie :1 Woman ≡ Person u Female2 Parent ≡ Person u ∃has_child.Person3 Mother ≡ Parent u Female ≡ Parent u

Woman4 Mother_only_daughters ≡Woman u

Parent u ∀ has_child.Woman ≡ Mother u∀ has_child.Woman

5 Grandma ≡Woman u ∃has_child.Parent≡ Mother u ∃has_child.Parent

6 Great_grandma ≡Woman u∃has_child.∃has_child.Parent ≡ Grandmau ∃has_child.∃has_child.Parent

Taxinomie :

Woman

Person

Female

Parent

Mother

Mother_only_daughers

Grandma

Great_grandma

192 / 365

Page 34: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – TBox et ABox Bernd Amann

Individus nommés et assertions

Individus nommés

Soit donné un ensemble d’individus N :La fonction d’interprétation .I associe à chaque nom dans N uneinstance dans ∆I : a ∈ N : aI ∈ ∆I

Supposition du nom unique (unique name assumption) :a 6= b ⇒ aI 6= bI

Assertions sur les individus

Une assertion définit des contraintes sur les individus :Assertions de concepts “a : c” où a ∈ N et c ∈ C :

L’assertion a : c est satisfaite ssi aI ∈ cI ;Exemple : pierre : etudiant

Assertions de rôles “(a,b) : r ” où a,b ∈ N et r ∈ R :L’assertion (a, b) : r est satisfaite ssi (aI , bI) ∈ rI ;Exemple : (pierre, bdia) : inscrit

193 / 365

Page 35: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – TBox et ABox Bernd Amann

ABox

ABox

Une ABox est ensemble d’assertions de concepts et de rôles. Lasatisfiabilité d’assertions est définie par rapport à une ABox et une TBoxdonnées au départ.

Services d’inférence sur une ABox

Est-ce qu’une ABox A est satisfiable étant donné une TBox T : asat(A) ?Est-ce que a est une instance du concept c : instance(a, c,A) ?

Tous les services d’inférence peuvent être réduits à asat

a est une instance de c dans A : instance(a, c,A) ≡ ¬asat(A ∪ {a : ¬c})c est satisfiable : sat(c) ≡ ∃a : asat({a : c})c est subsumé par d : c v d ≡ ¬sat(¬c u d) ≡ ¬asat({a : ¬c u d})

194 / 365

Page 36: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – TBox et ABox Bernd Amann

Suppposition du monde ouvert (OWA)Exemple

C = {Homme,Femme},R = {enfant}A = {andre : Homme, charles : Homme, (charles,andre) : enfant}

CWA (Closed-World Assumption)

Il n’existe que les instances définies dansA :

andre est l’enfant de charles.il y a que deux hommes et pas defemmes (compter).andre n’a pas d’enfant (negation byfailure)

OWA (Open-World Assumption)

D’autres instances que celles définiesdans A peuvent exister :

il peut y avoir d’autres hommes,femmes et enfants

OWA→ CWA

Pour obtenir la sémantique CWA (BD) avec OWA, il faut « fermer » les concepts etles rôles pour chaque individu :

La contrainte femme v⊥ indique qu’il n’y a pas de femmes (⊥I= ∅)L’assertion andre : 6 ∃a_enfant indique qu’andre est une instance du concept desindividus qui n’ont pas d’enfants.L’assertion charles :≤ 1a_enfant indique que charles à au maximum un enfant.

195 / 365

Page 37: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – TBox et ABox Bernd Amann

Suppposition du monde ouvert (OWA)Exemple

C = {Homme,Femme},R = {enfant}A = {andre : Homme, charles : Homme, (charles,andre) : enfant}

CWA (Closed-World Assumption)

Il n’existe que les instances définies dansA :

andre est l’enfant de charles.il y a que deux hommes et pas defemmes (compter).andre n’a pas d’enfant (negation byfailure)

OWA (Open-World Assumption)

D’autres instances que celles définiesdans A peuvent exister :

il peut y avoir d’autres hommes,femmes et enfants

OWA→ CWA

Pour obtenir la sémantique CWA (BD) avec OWA, il faut « fermer » les concepts etles rôles pour chaque individu :

La contrainte femme v⊥ indique qu’il n’y a pas de femmes (⊥I= ∅)L’assertion andre : 6 ∃a_enfant indique qu’andre est une instance du concept desindividus qui n’ont pas d’enfants.L’assertion charles :≤ 1a_enfant indique que charles à au maximum un enfant.

195 / 365

Page 38: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – TBox et ABox Bernd Amann

Suppposition du monde ouvert (OWA)Exemple

C = {Homme,Femme},R = {enfant}A = {andre : Homme, charles : Homme, (charles,andre) : enfant}

CWA (Closed-World Assumption)

Il n’existe que les instances définies dansA :

andre est l’enfant de charles.il y a que deux hommes et pas defemmes (compter).andre n’a pas d’enfant (negation byfailure)

OWA (Open-World Assumption)

D’autres instances que celles définiesdans A peuvent exister :

il peut y avoir d’autres hommes,femmes et enfants

OWA→ CWA

Pour obtenir la sémantique CWA (BD) avec OWA, il faut « fermer » les concepts etles rôles pour chaque individu :

La contrainte femme v⊥ indique qu’il n’y a pas de femmes (⊥I= ∅)L’assertion andre : 6 ∃a_enfant indique qu’andre est une instance du concept desindividus qui n’ont pas d’enfants.L’assertion charles :≤ 1a_enfant indique que charles à au maximum un enfant.

195 / 365

Page 39: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – La famille des Logiques de Description Bernd Amann

2 - Logiques de Description

TBox et ABoxLa famille des Logiques de Description

196 / 365

Page 40: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – La famille des Logiques de Description Bernd Amann

FL− et ALCLes familles de logiques de description qui se distinguent par lesconstructeurs de concepts qui peuvent être utilisés :

FL−Syntaxe Sémantique Commentairea aI ⊆ ∆I concept ar rI ⊆ ∆I ×∆I rôle rc u D cI ∩ DI intersection∀r .c {x ∈ ∆I | ∀y : (x , y) ∈ rI → y ∈ cI} quant. univ. qualifié∃r {x ∈ ∆I | ∃y ∈ ∆I : (x , y) ∈ rI} quant. exist. non-qualifié

ALCALC est une extension de FL− avec :

Syntaxe Sémantique Commentaire¬c ∆I \ cI négation/complémentc t D cI ∪ DI union∃r .c {x ∈ ∆I | ∃y ∈ ∆I : (x , y) ∈ rI ∧ y ∈ cI} quantif. exist.

qualifiée

197 / 365

Page 41: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – La famille des Logiques de Description Bernd Amann

Autres constructeurs DLRestrictions numériques sur les rôles (N resp. Q)

simples : ≥ 3a_enfant , ≤ 1a_enfantqualifiés : ≥ 3a_enfant .Homme, ≤ 1a_enfant .Femme

Hiérarchies de rôles (H)

a_fils est une sous-propriété de a_enfant :a_fils v a_enfant

Rôles transitives (R+)

ancetre est transitif : ancetre ≡ ancetre.ancetre

Autres familles de DL

S = ALCR+ : intersection, union, négation, quantification existentielle,rôle transtiviesSHIQ : S plus réstriction numérique qualifié, hiérarchie de rôles, rôlesinverses

198 / 365

Page 42: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – La famille des Logiques de Description Bernd Amann

Autres constructeurs DL (2)

Rôles inverses (I)

a_enfant ≡ parent−

Cycles terminologiques

Humain v a_parent .Humain

Axioms généraux

Axioms qui n’ont pas de nom de concepts à gauche ou > à gauche :domaine d’un rôle : ∃has_child .> v Parentco-domaine d’un rôle : > v ∀has_child .Person

199 / 365

Page 43: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – La famille des Logiques de Description Bernd Amann

Compléxité et expressivité

Logique Expressivité C v D C(a)

FL− C uD, ∀R.C,∃R

P P

AL ¬A P PALE ∃R.C NP PSPACEALC ¬C PSPACE PSPACEALCO {a1, ...} PSPACE PSPACESHIQ (OWL-DL) EXPTIME EXPTIMEKL-ONE non-décidable non-décidable

200 / 365

Page 44: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – Logiques de Description – La famille des Logiques de Description Bernd Amann

Bibliographie

Transparents d’Enrico Franconi, Department of Computer Science,University of Manchester http ://www.cs.man.ac.uk/ franconiDescription Logics and Semantic Web Description Logics : A LogicalFoundation of the Semantic Web and its Applications Volker HaarslevConcordia UniversityDescription Logics : Basics, Applications, and More, IanHorrocks,Information Management Group University of Manchester, UKUlrike Sattler, Institut für Theoretische Informatik TU Dresden, Germany

201 / 365

Page 45: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Bernd Amann

Outline

1 Inférence et Règles RDF

2 Logiques de Description

3 OWL

202 / 365

Page 46: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Web Ontology Language Bernd Amann

3 - OWL

Web Ontology LanguageDéfinition de classesDéfinition de propriétésDéfinition d’individus

203 / 365

Page 47: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Web Ontology Language Bernd Amann

Rappel de RDF/RDFS

RDF/RDFS permet de créer un graphe par l’union de descriptions deressources.Une classe RDFS (un concept) est défini par un nom, un ensemble depropriétés et sa position dans une hiérarchie définie par la relationrdfs:subClassOf.L’intégration et le raisonnement sont limités à l’utilisation des types depropriétés et des relations rdfs:subClassOf et rdfs:subPropertyOf.

204 / 365

Page 48: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Web Ontology Language Bernd Amann

Web Ontology Language : OWL

Recommandation W3C qui définit une famille de langages d’ontologies quifacilitent l’intégration et l’évolution d’ontologies et de métadonnées,permettent de définir des concepts “complexes”,de vérifier la cohérence de ces définitions etd’inférer des relations sémantiques (inclusion, équivalence) entre lesconcepts.

205 / 365

Page 49: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Web Ontology Language Bernd Amann

RDF Schema et OWL

OWL et RDF Schema utilisent le modèle et la syntaxe RDF pour définirdes ontologiesRDF Schema = ontologies “simples” :

classes, ressources, litérauxsous-classes, sous-propriétés

OWL = ontologies “complexes”classes et propriétés équivalentes,identité d’objet,propriétés symétriques et transitives,contraintes de cardinalité

206 / 365

Page 50: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Web Ontology Language Bernd Amann

Full OWL, OWL-DL, OWL Lite

OWL définit une famille de langages :OWL est un langage de représentation de connaissances puissant quipermet de décrire formellement des concepts complexes à partird’autres concepts.“Full OWL” permet de manipuler des classes comme des objets etdépasse le pouvoir d’expression de la logique du premier ordre.OWL-DL est un fragment dont la sémantique peut-être formalisée sousforme d’une logique de description (OWL DL).

207 / 365

Page 51: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Web Ontology Language Bernd Amann

OWL-DLOWL-Lite correspond à la logique de description SHIQ (restrictionnumérique des rôles, hiérarchie de rôles, rôles transitifs et inverses).OWL-DL = SHIQO (SHIQ avec individus nommés)Expression DL :

Student = Person u >= 1enrolledIn

Expression OWL :

asws : minEn a owl : R e s t r i c t i o n ;owl : m inCa rd i na l i t y " 1^^xsd : i n t e g e r " ;owl : onProperty asws : e n r o l l e d I n .

asws : Student a owl : Class ;owl : i n t e r s e c t i o n O f ( asws : Person asws : minEn ) .

asws : Person a owl : Class .

208 / 365

Page 52: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de classes Bernd Amann

3 - OWL

Web Ontology LanguageDéfinition de classesDéfinition de propriétésDéfinition d’individus

209 / 365

Page 53: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de classes Bernd Amann

OWL : Définition de classes

Une classe OWL peut être anonyme ou identifiée par un nom (référenceURI).Il est possible de définir des contraintes sur l’l’extension (l’ensemble desinstances) d’une classe :

par l’énumération de ses instances,par la définition de contraintes sur les propriétés des instances (définitionintensionnelle),comme union, intersection, complément, inclusion, équivalence, exclusiondes extensions d’autres classes.

210 / 365

Page 54: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de classes Bernd Amann

Définition par énumérationDéfinition par énumération des instances :

owl:oneOf

DL (assertions) :

beline : InscritsASWS14chamakhi : InscritsASWS14

essayan : InscritsASWS14feuillerat : InscritsASWS14

OWL :

asws : inscritsASWS14a owl : Class ;owl : oneOf ( asws : be l i ne asws : chamakhi

asws : essayan asws : f e u i l l e r a t ) .

211 / 365

Page 55: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de classes Bernd Amann

Définition d’une classe par les propriétés de sesinstances

Définition d’une classe par des contraintes sur les propriétés de sesinstances :

contraintes sur les valeurs : owl:hasValue

contraintes sur les types des valeurs : owl:allValuesFrom,owl:someValuesFrom

contraintes sur la cardinalité des propriétés : owl:maxCardinality,owl:minCardinality, owl:Cardinality

212 / 365

Page 56: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de classes Bernd Amann

Définition par propriétés : ExempleExemple : La classe GroupeMixte contient tous les groupes qui contiennent aumoins un étudiant DAC et un étudiant ANDROIDE :

DL :

GroupeMixte v Groupe u ∃membre.InscritsDAC u ∃membre.InscritsANDROIDE

OWL :

asws : GroupeMixte a owl : Class ;r d f s : subClassOf asws : Groupe ;r d f s : subClassOf [ a owl : R e s t r i c t i o n ;

owl : onProperty asws : membre ;owl : someValuesFrom asws : Inscr i tsDAC

] ;r d f s : subClassOf [ a owl : R e s t r i c t i o n ;

owl : onProperty asws : membre ;owl : someValuesFrom asws : InscritsANDROIDE

] .

213 / 365

Page 57: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de classes Bernd Amann

Contraintes de cardinalité

Restrictions numériques sur les rôles :owl:minCardinality, owl:maxCardinality

DL :simples (N ) : ≥ 1a_enfantqualifiés (Q) : ≤ 3a_enfant .Homme

OWL :

[ a owl : R e s t r i c t i o n ;owl : maxQua l i f i edCard ina l i t y " 3 " ^^ xsd : i n t e g e r ;owl : m inCa rd i na l i t y " 1 " ^^ xsd : i n t e g e r ;owl : onClass asws :Homme ;owl : onProperty asws : a_enfants

] .

214 / 365

Page 58: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de classes Bernd Amann

Intersection, union, complément

Définition d’une classe comme l’intersection, l’union et le complémentd’autres classes :

owl:intersectionOf, owl:unionOf, owl:complementOf

DL : A u B, A t B, ¬AOWL :

asws : I nsc r i t s IMA a owl : Class .asws : Inscr i tsDAC a owl : Class .asws : InscritsANDROIDE a owl : Class .asws : I n s c r i t s a owl : Class ;

owl : unionOf ( asws : InscritsANDROIDEasws : Inscr i tsDACasws : I nsc r i t s IMA ) .

215 / 365

Page 59: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de classes Bernd Amann

Relations entre classes

Définition d’une classe comme l’inclusion, l’équivalence, l’exclusiond’autres classes :

rdfs :subClassOf, owl:equivalentClass, owl: disjointWith

DL : A v B, A ≡ B, A u B v ⊥OWL :

asws : Students a owl : Class ;r d f s : subClassOf asws : Person ;owl : d i s j o i n t W i t h asws : Teachers ;owl : equ iva len tC lass asws : E tud ian t .

216 / 365

Page 60: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de propriétés Bernd Amann

3 - OWL

Web Ontology LanguageDéfinition de classesDéfinition de propriétésDéfinition d’individus

217 / 365

Page 61: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de propriétés Bernd Amann

Types de propriétés I

Types de propriétés

Propriétés d’objets : owl:ObjectProperty

Propriétés de valeurs : owl:DatatypeProperty

Les deux types de propriétés sont des sous-classes de la classerdf :Property.

218 / 365

Page 62: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de propriétés Bernd Amann

Contraintes RDFS I

Hiérarchies de rôles : l’extension d’une propriété est incluse dansl’extension d’une autre propriété

rdfs :subPropertyOf

DL (H) : fils v child

RDF/OWL :

asws : f i l s a owl : Objec tProper ty ;r d f s : subPropertyOf asws : c h i l d .

219 / 365

Page 63: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de propriétés Bernd Amann

Contraintes RDFS II

Contrainte de domaine

rdfs :domain

DL : ∃enfant .> v Pere tMereOWL :

asws : enfant a owl : Objec tProper ty ;d fs : domain [ a owl : Class ;

owl : unionOf ( asws : Pereasws : Mere ) ] .

asws : Mere a owl : Class .asws : Pere a owl : Class .

Avec RDFS il faut définir une super-classe de Pere et Mere.

220 / 365

Page 64: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de propriétés Bernd Amann

Contraintes RDFS III

Contrainte de co-domaine

RDFS/OWL : rdfs :range : types des objetsDL : > v ∀enfant .(Fils t Fille)

asws : enfant a owl : Objec tProper ty ;r d f s : range [ a owl : Class ;

owl : unionOf ( asws : F i l sasws : F i l l e ) ] .

asws : F i l l e a owl : Class .asws : F i l s a owl : Class .

221 / 365

Page 65: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de propriétés Bernd Amann

Contraintes « inter-propriétés » I

Equivalence

L’extension d’une propriété est équivalente à l’extension de l’autrepropriété

owl:equivalentProperty

DL : enfant ≡ childOWL :

asws : enfant owl : equ iva len tProper t y asws : c h i l d .

Rôles inverses

L’extension d’une propriété est égal à l’inverse de l’extension de l’autreowl:inverseOf

DL (I) : enfant ≡ parent−

asws : enfant owl : inverseOf asws : parent .

222 / 365

Page 66: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de propriétés Bernd Amann

Contraintes « inter-propriétés » IIPropriété symmetrique

L’extension est une relation symmetriqueowl:SymmetricProperty

DL : sibling = sibling−

OWL :

asws : s i b l i n g a owl : Symmetr icProperty .

Rôles transitives

L’extension est une relation transitiveowl:TransitiveProperty

DL (R+) : ancetre ≡ ancetre.ancetreOWL :

asws : ancetre a owl : T r a n s i t i v e P r o p e r t y .

223 / 365

Page 67: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de propriétés Bernd Amann

Properiétés fonctionnelles I

Contraintes de cardinalité du domaine

Un seul objet par sujet (extension = fonction)owl:FunctionalProperty

DL : (= 1)a_pere

asws : a_pere a owl : Func t iona lProper ty .

Contraintes de cardinalité du co-domaine

owl:InverseFunctionalProperty : un seul sujet par objetDL : (= 1)pere_de−

OWL :

asws : pere_de a owl : Inve rseFunc t iona lProper ty .

224 / 365

Page 68: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de propriétés Bernd Amann

ExemplesLa propriété enfant est l’inverse de la propriété parent :

asws : parent a owl : Objec tProper ty ;r d f s : domain asws : personne ;r d f s : range asws : personne .

asws : enfant a owl : Objec tProper ty ;owl : inverseOf asws : parent .

Le domaine et le co-domaine de la propriété enfant peuvent être déduitsà partir de la propriété parent.La propriété époux_de est mono-valuée (fonctionnelle) etsymétrique :

asws : epoux_de a owl : Func t iona lProper ty ,owl : Symmetr icProperty ;

r d f s : domain asws : personne ;r d f s : range asws : personne .

Le domaine est égal au co-domaine.

225 / 365

Page 69: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition de propriétés Bernd Amann

Exemples

Toutes les personnes ont exactement une mère→ La propriétémère_de est mono-valuée inverse :

asws : mere_de a owl : Inve rseFunc t iona lP roper ty ;r d f s : domain asws : femme ;r d f s : range asws : personne .

Transitivité : si a est un ancêtre de b et b est un ancêtre de c, alors aest un ancêtre de c :

asws : ancetre_dea owl : T r a n s i t i v e P r o p e r t y ;r d f s : domain asws : personne ;r d f s : range asws : personne .

Le domaine est égal au co-domaine.

226 / 365

Page 70: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition d’individus Bernd Amann

3 - OWL

Web Ontology LanguageDéfinition de classesDéfinition de propriétésDéfinition d’individus

227 / 365

Page 71: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition d’individus Bernd Amann

Propriétés d’individus (faits)

Les faits sont exprimés sous forme de descriptions RDF :

asws : Tosca a asws : Opera ;asws : hasComposer asws : Giacomo_Puccini ;asws : h a s L i b r e t t i s t asws : Vic tor ien_Sardou ,

asws : Giuseppe_Giacosa ,asws : L u i g i _ I l l i c a ;

asws : numberOfActs " 3^^xsd : p o s i t i v e I n t e g e r " ;asws : premiereDate "1900−01−14^^xsd : Date " ;asws : premierePlace asws :Roma .

228 / 365

Page 72: M2 DAC - LODAS - 2019 - MU5IN860 Linked Open Data ...

M2 DAC – LODAS 2019 – OWL – Définition d’individus Bernd Amann

Contraintes sur l’identité des ressources

owl:sameAs : deux ressources (faits, classes, propriétés) sont identiques(désignent le même objet)OWL :

asws : Wi l l i am_Je f fe rson_C l in tona asws : Pres ident ;owl : sameAs asws : B i l l C l i n t o n .

owl:differentFrom : deux ressources (faits, classes, propriétés) sontdistinctes (désignent un objet différent)OWL :

asws : M e u r t r i e r a asws : Opera ;owl : d i f f e ren tF rom asws : J a r d i n i e r .

La conclusion que le jardinier est le meurtrier mène à une contradiction.

229 / 365


Recommended