Sémantique - Partie 3 PDF
Document Details
Uploaded by SociableScholarship7244
Séminaire WEST
Tags
Summary
Ce document présente les concepts de base de la sémantique, axé sur l'interprétation simple, l'interprétation RDF et RDFS. Il détaille les axiomes et les exemples pertinents. Des exercices sont également inclus dans le document pour tester la compréhension des sujets abordés. Le document est un document de cours sur la sémantique, destiné aux étudiants en informatique.
Full Transcript
## Sémantique - Interprétation simple: ne tient aucunement compte du vocabulaire utilisé - Rdf-interprétation: tient compte du vocabulaire RDF (rdf:type, rdf:Property, rdf:Bag, etc.) - Rdfs-interprétation: tient compte du vocabulaire RDFS (rdfs:Class, rdfs:subClassOf, etc.) ## Interprétation simpl...
## Sémantique - Interprétation simple: ne tient aucunement compte du vocabulaire utilisé - Rdf-interprétation: tient compte du vocabulaire RDF (rdf:type, rdf:Property, rdf:Bag, etc.) - Rdfs-interprétation: tient compte du vocabulaire RDFS (rdfs:Class, rdfs:subClassOf, etc.) ## Interprétation simple - I<sub>EXT</sub>: IP → IR × IR - IS: URI → IR U IP - IL: L → IR * Diagramme de Venn des ensembles IR, IP, LV et la relation entre eux. ## Interprétation d'un graphe I(E) - Si E ne contient aucun nœud vide: - I(E) = faux si I(E') est faux pour au moins un triplet E' contenu dans E. Sinon E(I) = vrai - Pour un triplet E = s p o, on a I(E) = vrai si I(p) ∈ IP et (s, o) ∈ I<sub>EXT</sub>(I(p)), Sinon I(E) = faux - Si E est une URI, alors I(E) = IS(E) - Si E est un littéral simple "aaa" alors I(E) = aaa - Si E est un littéral simple "aaa"@ll, où ll spécifie la langue, alors I(E) = (aaa, ll) - Si E est un littéral typé, alors I(E) = IL(E) ## Interprétation - Nœuds vides - On utilise une fonction A qui associe chaque nœud vide à une ressource de l'ensemble IR - Avant d'interpréter un graphe E, on va appliquer la fonction A à tous les nœuds vides qu'il contient. Appelons E' ce nouveau graphe - Une fois ceci fait, on détermine I(E') - I(E) est vrai s'il existe au moins une fonction A qui rendra I(E') = vrai ## Rdf-interprétation - Soit rdfV le vocabulaire RDF - Une rdf-interprétation d'un vocabulaire V est une interprétation simple de V U rdfV, qui respecte les conditions suivantes: - Deux conditions sur le terme rdf:XMLLiteral - Soit une entité x de l'univers. x ∈ IP si et seulement si (x, l(rdf:Property))∈ l<sub>EXT</sub>( I(rdf:type)) ## Rdf-interprétation (suite) - Axiomes : - rdf:type rdf:type rdf:Property - rdf:subject rdf:type rdf:Property - rdf:predicate rdf:type rdf:Property - rdf:objet rdf:type rdf:Property - rdf:first rdf:type rdf:Property - rdf:rest rdf:type rdf:Property - rdf:value rdf:type rdf:Property - rdf:_1 rdf:type rdf:Property - rdf:2 rdf:type rdf:Property - ... - rdf:nil rf:type rdf:List * Diagramme de Venn des ensembles IR, IP, LV et la relation entre eux. ## Rdfs-interprétation - Une rdf-interprétation qui satisfait les conditions suivantes: - x ∈ IC<sub>EXT</sub>(y) si et seulement si (x,y) ∈ l<sub>EXT</sub>(I(rdf:type)) - IC = IC<sub>EXT</sub>(I(rdf:Class)) - IR = IC<sub>EXT</sub>(I(rdf:Resource)) - LV = IC<sub>EXT</sub>(I(rdf:Literal)) - Autres conditions sur le vocabulaire RDFS ## Rdfs-interprétation (suite) - La définition de rdfs-interprétation implique les énoncés suivants: - rdfs:Resource rdf:type rdfs:Class - rdfs:Class rdf:type rdfs:Class - rdfs:Literal rdf:type rdfs:Class - rdfs:domain rdf:type rdfs:Property * Diagramme de Venn des ensembles IR, IC, IP, LV et la relation entre eux. ## Sémantique - Exemple - Diagramme de deux nœuds "local:dgi" and "prof:MichelGagnon " avec les liens "local:worksAt" et "rdf:type" vers "local:Person" and "Michel Gagnon" with the link "rdf:name". - Diagramme de Venn des ensembles IR, IC, IP, LV avec la relation entre eux. Le nœud "prof:MichelGagnon" est illustré dans chaque ensemble. ## Sémantique - Exemple - "À chaque URI et littéral, on associe une entité de l'univers de discours" - Diagramme de Venn des ensembles IR, IC, IP, LV avec la relation entre eux. Le nœud "prof:MichelGagnon" est illustré dans chaque ensemble. ## Sémantique - Exemple - "Pour chaque propriété, on a la liste des paires d'entités qui sont reliées par cette propriété (MG, DGI), (JJ, DGI), ..." - Diagramme de Venn des ensembles IR, IC, IP, LV avec la relation entre eux. Le nœud "prof:MichelGagnon" est illustré dans chaque ensemble. - "Pour chaque classe, on a la liste des entités qui en font partie" ## Inférence - "Si on a aaa p bbb." - "On peut inférer :n1 p bbb." - "Si aaa a déjà été remplacé par :n1 auparavant. Sinon, il faut créer un nouveau nœud vide." ## Inférence - "Si on a aaa p bbb." - "On peut inférer aaa p :n1." - "Si bbb a déjà été remplacé par :n1 auparavant. Sinon, il faut créer un nouveau nœud vide." ## Inférence - Exemple - "Soit local:MichelGagnon local:worksAt local:dgi. local:JeanStJean local:worksAt local:dgi." - "On peut inférer local:MichelGagnon local:worksAt :n1." ## Inférence - Exemple - "Soit local:MichelGagnon local:worksAt local:dgi. local:JeanStJean local:worksAt local:dgi." - "On peut inférer local:MichelGagnon local:worksAt :n1. local:JeanStJean local:worksAt :n1" ## Inférence - Exemple - "Soit local:MichelGagnon local:worksAt local:dgi. local:JeanStJean local:worksAt local:dgi." - "On peut inférer local:MichelGagnon local:worksAt :n1. local:JeanStJean local:worksAt :n1. :n2 local:worksAt :n1." ## Inférence - Exemple - "Soit local:MichelGagnon local:worksAt local:dgi. local:JeanStJean local:worksAt local:dgi." - "On peut inférer local:MichelGagnon local:worksAt :n1. local:JeanStJean local:worksAt :n1. :n2 local:worksAt :n1. :n3 local:worksAt :n1." ## Inférence - Exemple - "Ce graphe :n2 local:worksAt :n1. :n3 local:worksAt :n1. est équivalent à celui-ci [] local:worksAt :n1. [] local:worksAt :n1." - Diagramme illustrant les deux graphes équivalents ## Inférence - Exemple - Diagramme illustrant deux graphes, le premier contenant les liens "local:MichelGagnon local:worksAt local:dgi" and "local:JeanStJean local:worksAt local:dgi", le second contenant les liens "local:MichelGagnon local:worksAt local:worksAt" and "local:JeanStJean local:worksAt local:worksAt". ## Inférence - "Si on a aaa p bbb." - "On peut inférer p rdf:type rdf:Property." ## Inférence - "Si on a aaa p bbb." - "On peut inférer aaa rdf:type rdfs:Resource." - "et bbb rdf:type rdfs:Resource." ## Inférence - "Si on a p rdfs:domain d. aaa p bbb." - "On peut inférer aaa rdf:type d." ## Inférence - "Si on a p rdfs:range d. aaa p bbb." - "On peut inférer bbb rdf:type d." ## Inférence - Exemple - "Soit local:marieAvec rdfs:domain local:Homme. local:marieAvec rdfs:domain local:Femme. local:Paul local:marieAvec local:Marie." - "On peut inférer local:Paul rdf:type local:Homme. local:Paul rdf:type local:Femme." - "Donc Paul est à la fois un homme et une femme" ## Inférence - "Si on a c1 rdfs:subClassOf c2. aaa rdf:type c1." - "On peut inférer aaa rdf:type c2." ## Inférence - Exemple - "Soit local:Professeur rdfs:subClassOf local:Person. local:Michel rdf:type local:Professeur." - "On peut inférer local:Michel rdf:type local:Person." ## Inférence - "Si on a c1 rdfs:subClassOf c2. c2 rdfs:subclassOf c3." - "On peut inférer c1 rdf:subClassOf c3." ## Inférence - "Si on a p1 rdfs:subPropertyOf p2. aaa p1 bbb." - "On peut inférer aaa p2 bbb." ## Inférence - Exemple - "Soit local:aime rdfs:subPropertyOf local:eprouveSentimentEnvers. local:Paul rdf:aime local:Marie." - "On peut inférer local:Paulrdf:eprouveSentimentEnvers local:Marie." ## Inférence - "Si on a p1 rdfs:subPropertyOf p2. p2 rdfs:subPropertyOf p3." - "On peut inférer p1 rdf:subPropertyOf p3." ## Exercice - Graphe RDF valide? - Diagramme d'un seul nœud "prof:MichelGagnon" ## Exercice - Graphe RDF valide? - Diagramme d'un seul nœud "prof:MichelGagnon" - "NON!" ## Exercice - Graphe RDF valide? - Diagramme de deux nœuds "prof:MichelGagnon" and "prof:JeanStJean" connectés par une flèche dans chaque direction et indiquant "foaf:know S" ## Exercice - Graphe RDF valide? - Diagramme de deux nœuds "prof:MichelGagnon" and "prof:JeanStJean" connectés par une flèche dans chaque direction et indiquant "foaf:know S" - "OUI!" ## Exercice - Graphe RDF valide? - Diagramme de deux nœuds "prof:MichelGagnon" and "prof:JeanStJean" connectés par une flèche dans chaque direction et indiquant "foaf:knows" - Diagramme de deux nœuds "prof:MichelGagnon" and "prof:JeanStJean" connectés par une flèche dans chaque direction et indiquant "foaf:knows". Une autre flèche part de "prof:MichelGagnon" et revient vers lui indiquant aussi "foaf:knows". - "Ces deux graphes sont équivalents" ## Exercice - Graphes équivalents? - Diagramme de deux graphes, le premier contenant un nœud "ex:a" relié à un autre nœud par deux flèches indiquant "local:prop" et le second contenant un nœud "ex:a" relié à un autre nœud par une flèche indiquant "local:prop". ## Exercice - Graphes équivalents? - Diagramme de deux graphes, le premier contenant un nœud "ex:a" relié à un autre nœud par deux flèches indiquant "local:prop" et le second contenant un nœud "ex:a" relié à un autre nœud par une flèche indiquant "local:prop". - "OUI!" ## Exercice - Graphes équivalents? - Diagramme de deux graphes, le premier contenant un nœud "ex:a" relié à un autre nœud par une flèche indiquant "local:prop". Le second nœud a une flèche qui revient vers lui indiquant "local:prop". Le second graphe contenant un nœud "ex:a" relié à un autre nœud par une flèche indiquant "local:prop". ## Exercice - Graphes équivalents? - Diagramme de deux graphes, le premier contenant un nœud "ex:a" relié à un autre nœud par une flèche indiquant "local:prop". Le second nœud a une flèche qui revient vers lui indiquant "local:prop". Le second graphe contenant un nœud "ex:a" relié à un autre nœud par une flèche indiquant "local:prop". - "NON!" ## Exercice - Graphes équivalents? - Diagramme de deux graphes, le premier contenant deux nœuds avec liens "local:p1" and "local:p2" vers "ex:a" and "ex:b". Le second graphe contenant un nœud avec liens "local:p1" and "local:p2" vers "ex:a" and "ex:b". ## Exercice - Graphes équivalents? - Diagramme de deux graphes, le premier contenant deux nœuds avec liens "local:p1" and "local:p2" vers "ex:a" and "ex:b". Le second graphe contenant un nœud avec liens "local:p1" and "local:p2" vers "ex:a" and "ex:b". - "NON!" ## Montrer qu'un animal a un sentiment envers un autre animal - ex:detester rdfs:subPropertyOf ex:avoirSentimentEnvers. - ex:Chat rdfs:subClassOf ex:Animal. - ex:Tom rdf:type ex:Chat. - ex:Jerry rdf:type ex:Animal. - ex:Tom ex:detester ex:Jerry. ## Monter qu'un animal a un sentiment envers un autre animal - (1) ex:detester rdfs:subPropertyOf ex:avoirSentimentEnvers. - (2) ex:Chat rdfs:subClassOf ex:Animal. - (3) ex:Tom rdf:type ex:Chat. - (4) ex:Jerry rdf:type ex:Animal. - (5) ex:Tom ex:detester ex:Jerry - (6) ex:Tom ex:avoirSentimentEnvers ex:Jerry. (1, 5) - (7) ex:Tom rdf:type ex:Animal. (2, 3) - (8) :n1 ex:avoirSentimentEnvers ex:Jerry. (6) - (9) :n1 ex:avoirSentimentEnvers :n2. (8) - (10) :n1 rdf:type ex:Animal. (7) - (11) :n2 rdf:type ex:Animal. (4) - "[ a ex:Animal; ex:avoirSentimentEnvers [ a ex:Animal ]]." ## Peut-on avoir une même interprétation pour ces graphes? - Diagramme de deux graphes, le premier contenant un nœud "ex:toto" avec liens "local:p1" and "local:p2" vers "ex:a" and "ex:b". Le second graphe contenant un nœud "ex:toto" avec liens "local:p1" and "local:p2" vers "ex:a" and "ex:c". ## Peut-on avoir une même interprétation pour ces graphes? - Diagramme de deux graphes, le premier contenant un nœud "ex:toto" avec liens "local:p1" and "local:p2" vers "ex:a" and "ex:b". Le second graphe contenant un nœud "ex:toto" avec liens "local:p1" and "local:p2" vers "ex:a" and "ex:c". - "OUI! Il suffit que ex:b et ex:c désignent la même entité." ## Peut-on avoir une même interprétation pour ces graphes? - Diagramme de deux graphes, le premier contenant un nœud "ex:toto" avec liens "local:p1" and "local:p2" vers "ex:a" and "ex:b". Le second graphe contenant un nœud "ex:toto" avec liens "local:p2" and "local:p1" vers "ex:a" and "ex:b". ## Peut-on avoir une même interprétation pour ces graphes? - Diagramme de deux graphes, le premier contenant un nœud "ex:toto" avec liens "local:p1" and "local:p2" vers "ex:a" and "ex:b". Le second graphe contenant un nœud "ex:toto" avec liens "local:p2" and "local:p1" vers "ex:a" and "ex:b". - "OUI! Soient T, A et B les entités désignées par ex:toto, ex:a et ex:b, respectivement. Il suffit que les propriétés associées à local:p1 et local:p2 contiennent toutes les deux les paires (T,A) et (T,B)." ## Une interprétation valide pour ces 2 gaphes - Diagramme de deux graphes, le premier contenant un nœud "ex:toto" avec liens "local:p1" and "local:p2" vers "ex:a" and "ex:b". Le second graphe contenant un nœud "ex:toto" avec liens "local:p2" and "local:p1" vers "ex:a" and "ex:b". - "sera aussi valide pour ce graphe :" - Diagramme d'un seul nœud "ex:toto" avec liens "local:p1" and "local:p2" vers "ex:a". Le nœud "ex:a" a des flèches arrivant vers lui depuis les deux liens indiquant "local:p1" and "local:p2". Le lien "local:p2" revient vers le premier lien, créant une boucle.