IntroRDF PDF
IntroRDF PDF
Michel Gagnon
Plan
● Présentation de RDF
● Sérialisations N-Triples, RDF/XML et Turtle
● Sémantique et inférence
RDF
●
Modèle de données pour décrire des
ressources du web
●
Graphe:
●
les noeuds représentent des ressources
●
les arcs représentent des relations entre ces
ressources
●
Les ressources sont représentées par leur
URI
Michel Gagnon
local:name
local:worksAt
http://www.dgi.polymtl.ca http://www.polymtl.ca/profs#MichelGagnon
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
local: http://www.polymtl.ca/vocab#
RDF – Exemple
local:name
local:worksAt
http://www.dgi.polymtl.ca http://www.polymtl.ca/profs#MichelGagnon
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
Noeud URI
RDF – Exemple
Michel Gagnon
local:name
local:worksAt
http://www.dgi.polymtl.ca
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
local:name
local:worksAt
http://www.dgi.polymtl.ca http://www.polymtl.ca/profs#MichelGagnon
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
local:name
local:worksAt
http://www.dgi.polymtl.ca
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
local:name
local:worksAt
http://www.dgi.polymtl.ca http://www.polymtl.ca/profs#MichelGagnon
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:local="http://www.polymtl.ca/vocab#">
<rdf:Description rdf:about="http://www.polymtl.ca/profs#MichelGagnon">
<local:hasHomePage
resource="http://www.professeurs.polymtl.ca/michel.gagnon"/>
<local:worksAt resource="http://www.dgi.polymtl.ca"/>
<local:name> Michel Gagnon </local:name>
</rdf:Description>
</rdf:RDF>
Sérialisation RDF/XML
Michel Gagnon
local:name
local:worksAt
http://www.dgi.polymtl.ca
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:local="http://www.polymtl.ca/vocab#">
<rdf:Description>
<local:hasHomePage
resource="http://www.professeurs.polymtl.ca/michel.gagnon"/>
<local:worksAt resource="http://www.dgi.polymtl.ca"/>
<local:name> Michel Gagnon </local:name>
</rdf:Description>
</rdf:RDF>
Sérialisation RDF/XML
Michel Gagnon
local:JeanPaul2
local:name
local:knows
local:worksAt
http://www.dgi.polymtl.ca
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
<rdf:RDF xmlns:local="http://www.dgi.polymtl.ca/vocab#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:nodeID="n2">
<local:hasHomePage rdf:resource="http://www.professeurs.polymtl.ca/michel.gagnon" />
<local:worksAt rdf:resource="http://www.dgi.polymtl.ca" />
<local:name>Michel Gagnon</local:name>
</rdf:Description>
<rdf:Description rdf:about="http://www.dgi.polymtl.ca/vocab#JeanPaul2">
<local:connait rdf:nodeID="n2" />
</rdf:Description>
</rdf:RDF>
Sérialisation RDF/XML
Michel Gagnon
local:JeanPaul2
local:name
local:knows
local:worksAt
http://www.dgi.polymtl.ca
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
<rdf:RDF xmlns:local="http://www.dgi.polymtl.ca/vocab#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="http://www.dgi.polymtl.ca/vocab#JeanPaul2">
<local:knows>
<rdf:Description>
<local:hasHomePage rdf:resource="http://www.professeurs.polymtl.ca/michel.gagnon" />
<local:worksAt rdf:resource="http://www.dgi.polymtl.ca" />
<local:name>Michel Gagnon</local:name>
</rdf:Description>
</local:knows>
</rdf:Description>
</rdf:RDF>
Sérialisation RDF/XML
Michel Gagnon 49^^xsd:integer
local:name local:age
local:worksAt
http://www.dgi.polymtl.ca http://www.polymtl.ca/profs#MichelGagnon
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:local="http://www.polymtl.ca/vocab#">
<rdf:Description rdf:about="http://www.polymtl.ca/profs#MichelGagnon">
<local:hasHomePage
resource="http://www.professeurs.polymtl.ca/michel.gagnon"/>
<local:worksAt resource="http://www.dgi.polymtl.ca"/>
<local:age rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">49</local:age>
<local:name> Michel Gagnon </local:name>
</rdf:Description>
</rdf:RDF>
Sérialisation Turtle
● Permet de spécifier des préfixes
● Permet de combiner des descriptions d’une même ressource :
● On utilise ; pour grouper des triplets concernant un même sujet
● On utilise , pour grouper plusieurs instances d'une propriété
concernant un même sujet
● Noeud vide représenté par les crochets [ ]
● Toutes les descriptions relatives à un noeud vide peuvent être
placées à l'intérieur des crochets
Sérialisation Turtle
Michel Gagnon
local:name
local:worksAt
http://www.dgi.polymtl.ca http://www.polymtl.ca/profs#MichelGagnon
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
prof:MichelGagnon
local:hasHomePage <http://www.professeurs.polymtl.ca/michel.gagnon> .
local:name
local:worksAt
http://www.dgi.polymtl.ca http://www.polymtl.ca/profs#MichelGagnon
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
prof:MichelGagnon
local:hasHomePage <http://www.professeurs.polymtl.ca/michel.gagnon> ;
local:worksAt <http://www.dgi.polymtl.ca> ;
local:name "Michel Gagnon" .
Sérialisation Turtle
Michel Gagnon
local:name
local:worksAt
http://www.dgi.polymtl.ca http://www.polymtl.ca/profs#MichelGagnon
local:hasHomePage
http://www.wikimeta.com local:worksAt
http://www.professeurs.polymtl.ca/michel.gagnon
prof:MichelGagnon
local:hasHomePage <http://www.professeurs.polymtl.ca/michel.gagnon> ;
local:worksAt <http://www.dgi.polymtl.ca> ;
local:worksAt <http://www.wikimeta.com> ;
local:name "Michel Gagnon" .
Sérialisation Turtle
Michel Gagnon
local:name
local:worksAt
http://www.dgi.polymtl.ca http://www.polymtl.ca/profs#MichelGagnon
local:hasHomePage
http://www.wikimeta.com local:worksAt
http://www.professeurs.polymtl.ca/michel.gagnon
prof:MichelGagnon
local:hasHomePage <http://www.professeurs.polymtl.ca/michel.gagnon> ;
local:worksAt <http://www.dgi.polymtl.ca> ,
<http://www.wikimeta.com> ;
local:name "Michel Gagnon" .
Sérialisation Turtle
Michel Gagnon
local:name
local:worksAt
http://www.dgi.polymtl.ca
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
[]
local:hasHomePage <http://www.professeurs.polymtl.ca/michel.gagnon> ;
local:worksAt <http://www.dgi.polymtl.ca> ;
local:name "Michel Gagnon" .
Sérialisation Turtle
Michel Gagnon
local:name
local:worksAt
http://www.dgi.polymtl.ca
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
[
local:hasHomePage <http://www.professeurs.polymtl.ca/michel.gagnon> ;
local:worksAt <http://www.dgi.polymtl.ca> ;
local:name "Michel Gagnon" .
].
Sérialisation Turtle
Michel Gagnon
local:JeanPaul2
local:name
local:knows
local:worksAt
http://www.dgi.polymtl.ca
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
_:n1
local:hasHomePage <http://www.professeurs.polymtl.ca/michel.gagnon> ;
local:worksAt <http://www.dgi.polymtl.ca> ;
local:name "Michel Gagnon" .
local:name
local:knows
local:worksAt
http://www.dgi.polymtl.ca
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
local:JeanPaul2 local:knows
[ local:hasHomePage <http://www.professeurs.polymtl.ca/michel.gagnon> ;
local:worksAt <http://www.dgi.polymtl.ca> ;
local:name "Michel Gagnon" ] .
RDF – Déclaration de type de
ressource
● Pour identifier le type d’une ressource:
● Utiliser le prédicat rdf:type pré-défini par RDF
● Remplacer la balise rdf:Description par le type de
la ressource
● À noter qu’une ressource peut avoir plusieurs
types
● En Turtle, on peut utiliser le prédicat a
Type – Exemple
Michel Gagnon
http://www.polymtl.ca/vocab#Professor
local:name
rdf:type
http://www.dgi.polymtl.ca local:worksAt
http://www.polymtl.ca/profs#MichelGagnon
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
Type – Exemple - RDF/XML
Michel Gagnon
http://www.polymtl.ca/vocab#Professor
local:name
rdf:type
http://www.dgi.polymtl.ca local:worksAt
http://www.polymtl.ca/profs#MichelGagnon
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:local="http://www.dgi.polymtl.ca/vocab#">
<rdf:Description rdf:about="http://www.polymtl.ca/profs#MichelGagnon">
<rdf:type rdf:resource="http://www.polymtl.ca/vocab#Professor"/>
<local:hasHomePage resource="http://www.professeurs.polymtl.ca/michel.gagnon"/>
<local:worksAt resource="http://www.dgi.polymtl.ca"/>
<local:name>Michel Gagnon</local:name>
</rdf:Description>
</rdf:RDF>
Type – Exemple - RDF/XML
Michel Gagnon
http://www.polymtl.ca/vocab#Professor
local:name
rdf:type
http://www.dgi.polymtl.ca local:worksAt
http://www.polymtl.ca/profs#MichelGagnon
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:local="http://www.dgi.polymtl.ca/vocab#">
<local:Professor rdf:about="http://www.polymtl.ca/profs#MichelGagnon">
<local:hasHomePage resource="http://www.professeurs.polymtl.ca/michel.gagnon"/>
<local:worksAt resource="http://www.dgi.polymtl.ca"/>
<local:name>Michel Gagnon</local:name>
</local:Professor>
</rdf:RDF>
Type – Exemple - Turtle
Michel Gagnon
http://www.polymtl.ca/vocab#Professor
local:name
rdf:type
http://www.dgi.polymtl.ca local:worksAt
http://www.polymtl.ca/profs#MichelGagnon
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
prof:MichelGagnon
rdf:type local:Professor ;
local:hasHomePage <http://www.professeurs.polymtl.ca/michel.gagnon> ;
local:worksAt resource <http://www.dgi.polymtl.ca> ;
local:name “Michel Gagnon” .
Type – Exemple - Turtle
Michel Gagnon
http://www.polymtl.ca/vocab#Professor
local:name
rdf:type
http://www.dgi.polymtl.ca local:worksAt
http://www.polymtl.ca/profs#MichelGagnon
local:hasHomePage
http://www.professeurs.polymtl.ca/michel.gagnon
prof:MichelGagnon
a local:Professor ;
local:hasHomePage <http://www.professeurs.polymtl.ca/michel.gagnon> ;
local:worksAt resource <http://www.dgi.polymtl.ca> ;
local:name “Michel Gagnon” .
Conteneurs
● Ressource qui contient d’autres ressources
● Trois classes de conteneurs:
● rdf:Bag: pas d’ordre entre les membres
rdf:Seq: membres ordonnés
● ref:Alt: on s’attend à ce qu’un seul des
éléments soit sélectionné
● Conteneur relié à un membre par la relation rdf:_n
● Pas de contraintes sur la description de conteneurs
Conteneurs - Exemple
Conteneurs – Exemple – RDF/XML
<rdf:Bag rdf:about="http://www.polymtl.ca/Vocabulary#ProfsDepartement">
<rdf:_1 rdf:resource="http://www.polymtl.ca/Profs#MarieSteMarie"/>
<rdf:_2 rdf:resource="http://www.polymtl.ca/Profs#JeanStJean"/>
<rdf:_3 rdf:resource="http://www.polymtl.ca/Profs#MichelGagnon"/>
</rdf:Bag>
Conteneurs – Exemple – RDF/XML
<rdf:Bag rdf:about="http://www.polymtl.ca/Vocabulary#ProfsDepartement">
<rdf:li rdf:resource="http://www.polymtl.ca/Profs#MarieSteMarie"/>
<rdf:li rdf:resource="http://www.polymtl.ca/Profs#JeanStJean"/>
<rdf:li rdf:resource="http://www.polymtl.ca/Profs#MichelGagnon"/>
</rdf:Bag>
Conteneurs – Exemple – Turtle
local:ProfsDepartement
a rdf:Bag ;
rdf:_1 prof:MarieSteMarie ;
rdf:_2 prof:JeanStJean ;
rdf:_3 prof:MichelGagnon .
Collections
● Listes fermées, contrairement aux conteneurs
● Balise rdf:nil pour représenter la liste vide
● Liste construite de manière récursive, en
utilisant les prédicats rdf:first et
rdf:rest
● Il exise un forme abbrégée
● Il n’y a pas de contraintes sur l’utilisation des
balises rdf:first et rdf:rest
Collections – Exemple – RDF/XML
<rdf:RDF xmlns:local="http://www.polymtl.ca/Vocabulary#"
xmlns:prof="http://www.polymtl.ca/Profs#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="http://www.polymtl.ca/Vocabulary#DepartementGIGL">
<local:facultyStaff rdf:parseType="Collection">
<rdf:Description rdf:about="http://www.polymtl.ca/Profs#MarieSteMarie"/>
<rdf:Description rdf:about="http://www.polymtl.ca/Profs#JeanStJean"/>
<rdf:Description rdf:about="http://www.polymtl.ca/Profs#MichelGagnon"/>
</local:facultyStaff>
</rdf:Description>
</rdf:RDF>
Collections – Exemple – Turtle
local:DepartementGIGL
local:facultyStaff
[ a rdf:List ;
rdf:first prof:MarieSteMarie ;
rdf:rest [ rdf:first prof:JeanStJean ;
rdf:rest [ rdf:first prof:MichelGagnon ;
rdf:rest rdf:nil ] ] ] .
Collections – Exemple – Turtle
local:DepartementGIGL
local:facultyStaff
( prof:MarieSteMarie prof:JeanStJean prof:MichelGagnon ) .
Valeurs structurées
● Une valeur peut aussi avoir d'autres
caractéristiques, comme une unité
● Exemple :
prod:item10245 exterms:weight "2.4"^^xsd:decimal .
Michel Gagnon
local:Professor
local:name
rdf:type
http://www.polymtl.ca/profs#MichelGagnon
RDF Schema - Classes
rdfs:Class
rdf:type
Michel Gagnon
local:Professor
local:name
rdf:type
http://www.polymtl.ca/profs#MichelGagnon
RDF Schema - Classes
local:Person
rdfs:subClassOf
rdfs:Class
local:UniversityMember
rdf:type rdfs:subClassOf
Michel Gagnon
rdfs:subClassOf
local:Professor local:Student
local:name
rdf:type
http://www.polymtl.ca/profs#MichelGagnon
RDF Schema – Propriétés
● Toutes les propriétés ont pour type la classe
rdf:Property
● On peut établir des hiérarchies de propriétés, grâce
au prédicat rdfs:subPropertyOf
● On peut définir le domaine et l’image d’une
propriété, en utilisant les prédicats rdfs:domain
et rdfs:range, respectivement
● Les propriétés sont globales (on peut donc y
ajouter des informations n’importe où)
RDF Schema – Propriétés
local:worksAt
local:dgi Prof:MichelGagnon
local:worksAt
rdfs:domain rdfs:range
local:Person local:Organization
RDF Schema – Propriétés
local:worksAt
local:dgi Prof:MichelGagnon
local:worksAt
rdfs:domain rdfs:range
local:Person local:Organization
rdf:type rdf:type
rdfs:Class
RDF Schema – Propriétés
local:worksAt
local:dgi Prof:MichelGagnon
local:hasActivity
rdfs:subPropertyOf
local:worksAt
rdfs:domain rdfs:range
local:Person local:Organization
rdf:type rdf:type
rdfs:Class
RDF Schema – Propriétés
● En RDF tout est une ressource, même les
propriétés
● Ceci signifie qu’on peut ajouter des descriptions
aux propriétés:
http://www.dgi.polymtl.ca local:worksAt
http://www.dgi.polymtl.ca/profs#MichelGagnon
local:inverseOf
local:worksAt local:isEmployerOf
Exercice – Dessinez le graphe :
<rdf:RDF
xmlns="http://www.polymtl.ca#"
xml:base="http://www.polymtl.ca#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
<A rdf:ID="x1">
<p rdf:resource= "http://www.polymtl.ca"/>
</A>
</rdf:RDF>
Exercice – Dessinez le graphe :
<rdf:RDF
xmlns="http://www.polymtl.ca#"
xml:base="http://www.polymtl.ca#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
<A rdf:ID="x1">
<p>
<rdf:Description>
<q rdf:resource= "http://www.polymtl.ca"/>
</rdf:Description>
</p>
</A>
</rdf:RDF>
Exercice – Dessinez le graphe :
<?xml version="1.0"?>
<rdf:RDF
xmlns="http://www.polymtl.ca#"
xml:base="http://www.polymtl.ca#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
<A rdf:ID="x1">
<p rdf:parseType="Collection">
<rdf:Description rdf:ID="x2"/>
<rdf:Description>
<q rdf:resource="x3"/>
</rdf:Description>
</p>
</A>
</rdf:RDF>
Exercice – Représenter en RDF :
Le président des États-Unis a rencontré le
premier ministre du Canada à Toronto le 22 mai
2011.
Exercice – Représenter en RDF :
Le président des États-Unis a rencontré le
premier ministre du Canada à Toronto le 22 mai
2011.
"2011-05-22"¨¨xsd:date
ex:date
ex:participant ex:participant
ex:rencontre
+
_:n1 ex:prop3 ex:c .
ex:a ex:prop3 _:n1 .
Fusion - Exemple
ex:a ex:prop1 _:n3 .
ex:a ex:prop2 _:n2 .
+
_:n1 ex:prop3 ex:c .
ex:a ex:prop3 _:n1 .
Fusion - Exemple
ex:a ex:prop1 _:n3 .
ex:a ex:prop2 _:n2 .
Michel Gagnon
rdf:name
local:worksAt
local:dgi prof:MichelGagnon
rdf:type
local:Person
Sémantique - Exemple
IR
Michel Gagnon IP
N Michel Gagnon
W
rdf:name
T L
local:worksAt
local:dgi prof:MichelGagnon
MG DGI
JJ
rdf:type
local:Person PERSON
IC
Sémantique - Exemple
À chaque URI et littéral, on associe une entité de l'univers de discours
IR
Michel Gagnon IP
N Michel Gagnon
W
rdf:name
T L
local:worksAt
local:dgi prof:MichelGagnon
MG DGI
JJ
rdf:type
local:Person PERSON
IC
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), ...
IR
Michel Gagnon IP
N Michel Gagnon
W
rdf:name
T L
local:worksAt
local:dgi prof:MichelGagnon
MG DGI
JJ
rdf:type
local:Person PERSON
IC
On peut inférer
_:n1 p bbb .
On peut inférer
aaa p _:n1 .
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 .
local:worksAt
local:worksAt
Inférence - Exemple
local:MichelGagnon local:worksAt
local :dgi
local:JeanStJean local:worksAt
local:MichelGagnon local:worksAt
local:JeanStJean local:worksAt
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 .
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:Paul rdf: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?
prof:MichelGagnon
Exercice – Graphe RDF valide?
prof:MichelGagnon
NON!
Exercice – Graphe RDF valide?
foaf:know
s
prof:MichelGagnon prof:JeanStJean
foaf:know
s
Exercice – Graphe RDF valide?
foaf:know
s
prof:MichelGagnon prof:JeanStJean
foaf:know
s
OUI!
Exercice – Graphe RDF valide?
foaf:knows
prof:MichelGagnon prof:JeanStJean
foaf:knows
Ces deux graphes
sont équivalents
foaf:knows
prof:MichelGagnon prof:JeanStJean
Exercice – Graphes équivalents?
ex:a local:prop
local:prop
ex:a
local:prop
Exercice – Graphes équivalents?
ex:a local:prop
local:prop
ex:a
local:prop
OUI!
Exercice – Graphes équivalents?
local:prop
local:prop local:prop
ex:a ex:a
Exercice – Graphes équivalents?
local:prop
local:prop local:prop
ex:a ex:a
NON!
Exercice – Graphes équivalents?
local:p1
ex:a ex:a
local:p1
local:p2
ex:b local:p2 ex:b
Exercice – Graphes équivalents?
local:p1
ex:a ex:a
local:p1
local:p2
ex:b local:p2 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)
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?
ex:toto
ex:toto
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?
ex:toto ex:toto
ex:toto ex:toto
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
ex:toto ex:toto
local:p2
local:p1 ex:a
ex:toto
local:p2 ex:b
local:p1