Vous êtes sur la page 1sur 86

SEMAINE 02 : le modèle de données RDF

1. Décrire des ressources


2. Modèle de triplets et de graphe
3. Syntaxes de sérialisation
4. Valeurs, types et langues
5. Groupes
6. Nommer des graphes

1
SEMAINE 02 : le modèle de données RDF

1. Décrire des ressources


2. Modèle de triplets et de graphe
3. Syntaxes de sérialisation
4. Valeurs, types et langues
5. Groupes
6. Nommer des graphes

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  

URI   Pile des standards du Web de données W3C®


8
pile de standardisation

Pile des standards du Web de données W3C®


9
pile de standardisation

Pile des standards du Web de données W3C®


10
pile de standardisation

Pile des standards du Web de données W3C®


11
pile de standardisation

Pile des standards du Web de données W3C®


12
pile de standardisation

Pile des standards du Web de données W3C®


13
pile de standardisation

RDF   communica2on  

web  de  
HTTP  
données
référence   adresse  

URI   Pile des standards du Web de données W3C®


14
dc:creator

rdf:label
ex:ingredient

rdf:about
ex:weight
rdf:type
SEMAINE 02 : le modèle de données RDF

1. Décrire des ressources


2. Modèle de triplets et de graphe
3. Syntaxes de sérialisation
4. Valeurs, types et langues
5. Groupes
6. Nommer des graphes

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 )

ex. « doc.html a pour auteurs Fabien,


Catherine et Olivier et a pour thème
le Web sémantique »

22
RDFdécompose les descriptions en triplets
( sujet , prédicat , objet )

ex. doc.html a pour auteur Fabien


doc.html a pour auteur Catherine
doc.html a pour auteur Olivier
doc.html a pour thème Web sémantique

23
RDFdécompose les descriptions en triplets
( sujet , prédicat , objet )

( doc.html , auteur , Fabien )


( doc.html , auteur , Catherine )
( doc.html , auteur , Olivier )
( doc.html , thème , Web sémantique )

24
RDF: le triplet est l’atome de connaissance
Prédicat

Objet

Sujet
25
SEMAINE 02 : le modèle de données RDF

1. Décrire des ressources


2. Modèle de triplets et de graphe
3. Syntaxes de sérialisation
4. Valeurs, types et langues
5. Groupes
6. Nommer des graphes

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

1. Décrire des ressources


2. Modèle de triplets et de graphe
3. Syntaxes de sérialisation
4. Valeurs, types et langues
5. Groupes
6. Nommer des graphes

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>

<rdf:RDF (…) >


<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:theme>Web</inria:theme>
</rdf:Description>
</rdf:RDF>
46
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:author>
</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

1. Décrire des ressources


2. Modèle de triplets et graphes
3. Syntaxes de sérialisation
4. Valeurs, types et langues
5. Groupes
6. Nommer des graphes

56
règles de composition d’un triplet RDF

1. le sujet est toujours une ressource


(pas un littéral)

( sujet , , )
57
règles de composition d’un triplet RDF

1. le sujet est toujours une ressource


(pas un littéral)
2. la propriété binaire est d'un type
identifié par un URI

( sujet , prédicat, )
58
règles de composition d’un triplet RDF

1. le sujet est toujours une ressource


(pas un littéral)
2. la propriété binaire est d'un type
identifié par un URI
3. la valeur est une ressource ou un
littéral

( sujet , prédicat, objet )


59
nœuds anonymes (blank nodes)
quantification existentielle: il existe une ressource telle que… { ∃ r ; …}

_: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  

<inria:author rdf:resource= http://inria.fr/schema#author


"http://ns.inria.fr/catherine.faron#me"/>
<inria:theme>Web sémantique</inria:theme>
</rdf:Description> http://ns.inria.fr/catherine.faron#me  
</rdf:RDF> http://inria.fr/schema#theme

"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  

<inria:author rdf:resource= http://inria.fr/schema#author


"http://ns.inria.fr/catherine.faron#me"/>
<inria:theme>Web sémantique</inria:theme>
</rdf:Description> http://ns.inria.fr/catherine.faron#me  
</rdf:RDF> http://inria.fr/schema#theme

"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

"Semantic Web"@en "Web sémantique"@fr

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

"Semantic Web"@en "Web sémantique"@fr

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

"Semantic Web"@en "Web sémantique"@fr


@prefix (…) Turtle
<http://inria.fr/rr/doc.html">
inria:theme "Semantic Web"@en ;
inria:theme "Web sémantique"@fr .
69
typer les ressources
la propriété rdf:type relie les URI des ressources et de leurs classes

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

1. Décrire des ressources


2. Modèle de triplets et graphes
3. Syntaxes de sérialisation
4. Valeurs, types et langues
5. Groupes
6. Nommer des graphes

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>

@prefix (…) Turtle


<http://inria.fr/rr/doc.html> inria:author [ a rdf:Bag ;
rdf:li "Fabien" ; rdf:li "Catherine" ; rdf:li "Olivier" . ] .  
76
les séquences (rdf:Seq)
groupes ordonnés de ressources ou littéraux
<rdf:RDF (…)> RDF/XML
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:author>
<rdf:Seq>
<rdf:li>Fabien</rdf:li> <rdf:li>Catherine</rdf:li>
<rdf:li>Olivier</rdf:li>
</rdf:Bag>
</inria:author>
</rdf:Description>
</rdf:RDF>

@prefix (…) Turtle


<http://inria.fr/rr/doc.html> inria:author [ a rdf:Seq ;
rdf:li "Fabien" ; rdf:li "Catherine" ; rdf:li "Olivier" . ] .  
77
les alternatives (rdf:Alt)
ex. une même valeur mais dans différentes langues
<rdf:RDF (…)> RDF/XML
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:theme>
<rdf:Alt>
<rdf:li xml:lang='en'>Semantic Web</rdf:li>
<rdf:li xml:lang='fr'>Web sémantique</rdf:li>
</rdf:Bag>
</inria:theme>
</rdf:Description>
</rdf:RDF>

@prefix (…) Turtle


<http://inria.fr/rr/doc.html> inria:theme [ a rdf:Alt ;
rdf:li "Semantic Web"@en ; rdf:li "Web sémantique"@fr . ] .
78
les collections
des listes exhaustives et ordonnées

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>

@prefix (…) Turtle


<http://inria.fr/rr/doc.html> inria:author
( <#Fabien> <#Catherine> <#Olivier> ).  
80
SEMAINE 02 : le modèle de données RDF

1. Décrire des ressources


2. Modèle de triplets et graphes
3. Syntaxes de sérialisation
4. Valeurs, types et langues
5. Groupes
6. Nommer des graphes

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

Pile des standards du Web de données W3C®


86

Vous aimerez peut-être aussi