Académique Documents
Professionnel Documents
Culture Documents
1
SEMAINE 02 : le modèle de données RDF
2
proposition de départ
3
schéma
4
toile de ressources
5
différents liens
6
décrire des ressources
communica2on
HTTP
WEB
référence
adresse
URI
7
RDF: modèle de base
RDF communica2on
web de
HTTP
données
référence
adresse
RDF communica2on
web de
HTTP
données
référence
adresse
rdf:label
ex:ingredient
rdf:about
ex:weight
rdf:type
SEMAINE 02 : le modèle de données RDF
16
RDFsignifie
Resource
Description
Framework
17
RDFsignifie
Resource: pages, chaises, personnes, idées...
tout ce qui peut avoir un URI
Description
Framework
18
RDFsignifie
Resource: pages, chaises, personnes, idées...
tout ce qui peut avoir une URI
Description: attributs, caractéristiques,
et relations entre ressources
Framework
19
RDFsignifie
Resource : pages, chaises, idées...
tout ce qui peut avoir une URI
Description : attributs, caractéristiques,
et relations entre ressources
Framework : modèle, langage et
syntaxes pour ces descriptions
20
RDFdécompose les descriptions en triplets
( sujet , prédicat , objet )
21
RDFdécompose les descriptions en triplets
( sujet , prédicat , objet )
22
RDFdécompose les descriptions en triplets
( sujet , prédicat , objet )
23
RDFdécompose les descriptions en triplets
( sujet , prédicat , objet )
24
RDF: le triplet est l’atome de connaissance
Prédicat
Objet
Sujet
25
SEMAINE 02 : le modèle de données RDF
26
RDF: les triplets forment les arcs d’un graphe
( sujet , prédicat , objet )
→
(sommet , arc , sommet)
27
RDFest un modèle de graphes
Catherine
( doc.html , auteur , Catherine )
( doc.html , thème , Web sémantique)
auteur
doc.html
thème
Web
28
sémantique
RDFest un modèle de multi-graphe orienté et étiqueté
Catherine
auteur
doc.html
thème
Web
29
sémantique
RDFest un modèle de multi-graphe orienté et étiqueté
Catherine
plusieurs arcs entre mêmes sommets
auteur
doc.html
présente thème
Web
30
sémantique
RDFest un modèle de multi-graphe orienté et étiqueté
Catherine
les arcs ont un sens :
un sommet de départ (sujet)
auteur un sommet d’arrivée (objet)
doc.html
thème
Web
31
sémantique
RDFest un modèle de multi-graphe orienté et étiqueté
Catherine
les arcs et sommets
portent des étiquettes
auteur
doc.html
thème
Web
32
sémantique
RDFgraphes étiquetés par des URI et des littéraux
http://ns.inria.fr/catherine.faron#me
http://inria.fr/schema#author
http://inria.fr/rr/doc.html
http://inria.fr/schema#theme
Web sémantique
33
RDFgraphes étiquetés par des URI et des littéraux
http://ns.inria.fr/catherine.faron#me
http://inria.fr/schema#author
http://inria.fr/rr/doc.html
http://inria.fr/schema#theme
"Web sémantique"
34
modèle ouvert
• vocabulaire extensible basé sur les URI
• autorise quiconque à faire des déclarations
sur n’importe quelle ressource
h#p://mon_site.org/mon_type
35
RDFgraphes étiquetés par URI et littéraux
http://ns.inria.fr/catherine.faron#me
http://inria.fr/schema#author
http://inria.fr/rr/doc.html
http://inria.fr/rr/doc.html
http://inria.fr/schema#theme
"Web sémantique"
36
graphe mondial (GGG)
ouvrir et relier des données à l’échelle du Web
37
plusieurs vues sur un graphe
il y a énormément de façons de traiter les
données RDF
S O
r b
r
1 a b
a
2 a c r
3 a a r
c
38
SEMAINE 02 : le modèle de données RDF
39
RDF a une syntaxe historique en XML et d’autres
syntaxes : Turtle, TriG, JSON-LD, N-Triples, N-Quads
W3C ©
40
< RDF /> : des graphes dans des arbres XML
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-
syntax-ns#" xmlns:inria="http://inria.fr/schema#" >
<rdf:Description
rdf:about="http://inria.fr/rr/doc.html"> http://inria.fr/rr/doc.html
http://inria.fr/schema#author
<inria:author rdf:resource=
"http://ns.inria.fr/catherine.faron#me"/>
<inria:theme>Web</inria:theme> http://ns.inria.fr/catherine.faron#me
http://inria.fr/schema#theme
</rdf:Description> "Web"
</rdf:RDF>
41
< RDF /> : une racine
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-
syntax-ns#" xmlns:inria="http://inria.fr/schema#" >
<rdf:Description
rdf:about="http://inria.fr/rr/doc.html"> http://inria.fr/rr/doc.html
http://inria.fr/schema#author
<inria:author rdf:resource=
"http://ns.inria.fr/catherine.faron#me"/>
<inria:theme>Web</inria:theme> http://ns.inria.fr/catherine.faron#me
http://inria.fr/schema#theme
</rdf:Description>
"Web"
</rdf:RDF>
42
< RDF /> : descriptions de ressources
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-
syntax-ns#" xmlns:inria="http://inria.fr/schema#" >
<rdf:Description
rdf:about="http://inria.fr/rr/doc.html"> http://inria.fr/rr/doc.html
http://inria.fr/schema#author
<inria:author rdf:resource=
"http://ns.inria.fr/catherine.faron#me"/>
<inria:theme>Web</inria:theme> http://ns.inria.fr/catherine.faron#me
http://inria.fr/schema#theme
</rdf:Description>
"Web"
</rdf:RDF>
43
< RDF /> : liens entre ressources
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-
syntax-ns#" xmlns:inria="http://inria.fr/schema#" >
<rdf:Description
rdf:about="http://inria.fr/rr/doc.html"> http://inria.fr/rr/doc.html
http://inria.fr/schema#author
<inria:author rdf:resource=
"http://ns.inria.fr/catherine.faron#me"/>
<inria:theme>Web</inria:theme> http://ns.inria.fr/catherine.faron#me
http://inria.fr/schema#theme
</rdf:Description>
"Musique"
</rdf:RDF>
44
< RDF /> : valeurs littérales
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-
syntax-ns#" xmlns:inria="http://inria.fr/schema#" >
<rdf:Description
rdf:about="http://inria.fr/rr/doc.html"> http://inria.fr/rr/doc.html
http://inria.fr/schema#author
<inria:author rdf:resource=
"http://ns.inria.fr/catherine.faron#me"/>
<inria:theme>Web</inria:theme> http://ns.inria.fr/catherine#me
http://inria.fr/schema#theme
</rdf:Description>
"Web"
</rdf:RDF>
45
RDF/XML : beaucoup de variations syntaxiques
<rdf:RDF (…) >
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:author rdf:resource=
"http://ns.inria.fr/catherine.faron#me"/>
</rdf:Description>
</rdf:RDF>
47
RDF/XML : beaucoup de variations syntaxiques
<rdf:RDF (…) >
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:author>
<rdf:Description
rdf:about="http://ns.inria.fr/catherine.faron#me">
<inria:firstName>Catherine</firstName>
</rdf:Description>
</inria:author>
</rdf:Description>
</rdf:RDF>
48
RDF a une syntaxe minimaliste (N-Triples)
W3C ©
49
RDF N-Triples : liste de triplets simple à charger (parser)
- URI entre chevrons
- valeurs littérales entre " "
- triplets séparés par des .
<http://inria.fr/rr/doc.html>
<http://inria.fr/schema#author>
<http://ns.inria.fr/catherine.faron#me> .
<http://inria.fr/rr/doc.html>
<http://inria.fr/schema#theme> "Web" .
50
RDF a une syntaxe très populaire (Turtle)
W3C ©
51
RDF est très concis en Turtle
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix inria: <http://inria.fr/schema#> .
<http://inria.fr/rr/doc.html>
inria:author <http://ns.inria.fr/catherine.faron#me> ;
inria:theme "Web" .
52
RDF déclaration des préfixes
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix inria: <http://inria.fr/schema#> .
<http://inria.fr/rr/doc.html>
inria:author <http://ns.inria.fr/catherine.faron#me> ;
inria:theme "Web" .
53
RDF URI entre chevrons ou nom qualifié
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix inria: <http://inria.fr/schema#> .
<http://inria.fr/rr/doc.html>
inria:author <http://ns.inria.fr/catherine.faron#me> ;
inria:theme "Web" .
54
RDF une (.) ou plusieurs propriétés (;) ou valeurs (,)
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix inria: <http://inria.fr/schema#> .
<http://inria.fr/rr/doc.html>
inria:author <http://ns.inria.fr/catherine.faron#me> ;
inria:theme "Web", "Web sémantique" .
55
SEMAINE 02 : le modèle de données RDF
56
règles de composition d’un triplet RDF
( sujet , , )
57
règles de composition d’un triplet RDF
( sujet , prédicat, )
58
règles de composition d’un triplet RDF
_:a
http://inria.fr/schema#author
http://ns.inria.fr/catherine.faron#me
http://inria.fr/schema#theme
"Web sémantique"
60
nœuds anonymes (blank nodes)
quantification existentielle: il existe une ressource telle que… { ∃ r ; …}
<rdf:RDF (…)> RDF/XML
<rdf:Description> _:a
"Web sémantique"
61
nœuds anonymes (blank nodes)
quantification existentielle: il existe une ressource telle que… { ∃ r ; …}
<rdf:RDF (…)> RDF/XML
<rdf:Description> _:a
"Web sémantique"
@prefix (…) Turtle
[inria:author <http://ns.inria.fr/catherine.faron#me> ;
inria:theme "Web sémantique" .]
62
« XML schema datatypes » pour typer les littéraux
les littéraux standards sont des chaînes de caractères,
de type xsd:string
http://inria.fr/rr/doc.html
http://inria.fr/schema#date
"1995-09-18"^^xsd:date
63
« XML schema datatypes » pour typer les littéraux
les littéraux standards sont des chaînes de caractères xsd:string
<rdf:RDF (…)> RDF/XML
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:date rdf:datatype="http://www.w3.org/2001/XMLSchema#date">
1995-09-18</inria:date>
</rdf:Description>
http://inria.fr/rr/doc.html
</rdf:RDF>
http://inria.fr/schema#date
"1995-09-18"^^xsd:date
64
« XML schema datatypes » pour typer les littéraux
les littéraux standards sont des chaînes de caractères xsd:string
<rdf:RDF (…)> RDF/XML
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:date rdf:datatype="http://www.w3.org/2001/XMLSchema#date">
1995-09-18</inria:date>
</rdf:Description>
http://inria.fr/rr/doc.html
</rdf:RDF>
http://inria.fr/schema#date
"1995-09-18"^^xsd:date
@prefix (…) Turtle
<http://inria.fr/rr/doc.html>
inria:date "1995-09-18"^^xsd:date .
65
tous les types de données des schémas
W3C © http://www.w3.org/TR/xmlschema-2/
66
indiquer la langue d’une valeur textuelle
les littéraux peuvent être associés à une langue
http://inria.fr/rr/doc.html
http://inria.fr/schema#theme
67
indiquer la langue d’une valeur textuelle
les littéraux peuvent être associés à une langue
<rdf:RDF (…)> RDF/XML
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:theme xml:lang='en'>Semantic Web</inria:theme>
<inria:theme xml:lang='fr'>Web sémantique</inria:theme>
</rdf:Description>
</rdf:RDF> http://inria.fr/rr/doc.html
http://inria.fr/schema#theme
68
indiquer la langue d’une valeur textuelle
les littéraux peuvent être associés à une langue
<rdf:RDF (…)> RDF/XML
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:theme xml:lang='en'>Semantic Web</inria:theme>
<inria:theme xml:lang='fr'>Web sémantique</inria:theme>
</rdf:Description>
</rdf:RDF> http://inria.fr/rr/doc.html
http://inria.fr/schema#theme
http://ns.inria.fr/fabien.gandon#me
rdf:type
http://inria.fr/schema#Man
http://inria.fr/schema#Researcher
70
typer les ressources
la propriété rdf:type relie les URI des ressources et de leurs classes
<rdf:RDF (…)> RDF/XML
<inria:Researcher rdf:about="http://ns.inria.fr/fabien.gandon#me">
<rdf:type rdf:resource="http://www.inria.fr/schema#Man" />
</inria:Researcher>
</rdf:RDF> http://ns.inria.fr/fabien.gandon#me
rdf:type
http://inria.fr/schema#Man
http://inria.fr/schema#Researcher
71
typer les ressources
la propriété rdf:type relie les URI des ressources et de leurs classes
<rdf:RDF (…)> RDF/XML
<inria:Researcher rdf:about="http://ns.inria.fr/fabien.gandon#me">
<rdf:type rdf:resource="http://www.inria.fr/schema#Man" />
</inria:Researcher>
</rdf:RDF> http://ns.inria.fr/fabien.gandon#me
rdf:type
http://inria.fr/schema#Man
http://inria.fr/schema#Researcher
@prefix (…) Turtle
<http://inria.fr/rr/doc.html">
a inria:Man, inria:Researcher .
72
SEMAINE 02 : le modèle de données RDF
73
les sacs (rdf:Bag) de ressources ou littéraux
groupes simples sans ordre ni sens
inria:author
http://inria.fr/rr/doc.html
rdf:type
rdf:Bag
rdf:_1
_:a
"Fabien"
rdf:_2
"Catherine"
rdf:_3
"Olivier"
74
les sacs (rdf:Bag) de ressources ou littéraux
groupes simples sans ordre ni sens
<rdf:RDF (…)> RDF/XML
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:author>
<rdf:Bag>
<rdf:li>Fabien</rdf:li> <rdf:li>Catherine</rdf:li>
<rdf:li>Olivier</rdf:li>
</rdf:Bag>
</inria:author>
</rdf:Description>
</rdf:RDF>
75
les sacs (rdf:Bag) de ressources ou littéraux
groupes simples sans ordre ni sens
<rdf:RDF (…)> RDF/XML
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:author>
<rdf:Bag>
<rdf:li>Fabien</rdf:li> <rdf:li>Catherine</rdf:li>
<rdf:li>Olivier</rdf:li>
</rdf:Bag>
</inria:author>
</rdf:Description>
</rdf:RDF>
http://inria.fr/rr/doc.html
inria:author rdf:first
_:a
#Fabien
rdf:type rdf:rest
rdf:first
rdf:List
_:b
#Catherine
rdf:type
rdf:rest
rdf:type
rdf:first
_:c
#Olivier
rdf:rest
rdf:nil
79
les collections
des listes exhaustives et ordonnées
<rdf:RDF (…)> RDF/XML
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:author rdf:parseType="Collection">
<rdf:Description rdf:about="#Fabien"/>
<rdf:Description rdf:about="#Catherine"/>
<rdf:Description rdf:about="#Olivier"/>
</inria:author>
</rdf:Description>
</rdf:RDF>
81
les graphes nommés
grouper des triplets dans des sous-graphes identifiés par des URI
http://inria.fr/people
http://ns.inria.fr/catherine.faron#me
http://inria.fr/schema#author
http://inria.fr/rr/doc.html
http://inria.fr/topics
http://inria.fr/rr/doc.html
http://inria.fr/schema#theme
"Web sémantique"
82
RDF a une syntaxe TriG et une syntaxe N-Quads
permettant d’exprimer des contextes
W3C ©
83
graphes nommés en TriG
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix inria: <http://inria.fr/schema#> .
GRAPH <http://inria.fr/people>
{ <http://inria.fr/rr/doc.html>
inria:author
<http://ns.inria.fr/catherine.faron#me> .
}
GRAPH <http://inria.fr/topics>
{ <http://inria.fr/rr/doc.html>
inria:theme "Web sémantique" .
}
84
graphes nommés en N-Quads
<http://inria.fr/rr/doc.html>
<http://inria.fr/schema#author>
<http://ns.inria.fr/catherine.faron#me>
<http://inria.fr/people> .
<http://inria.fr/rr/doc.html>
<http://inria.fr/schema#theme> "Web sémantique"
<http://inria.fr/topics> .
85
pile de standardisation