4 GI 2018/2019
Pr. Ali CHOUKRI
Chapitre 3
RDF & Syntaxes RDF
Web sémantique
Approche en couches
Chapitre 3 RDF & Syntaxes de RDF
2 4 GI - 2018/2019
Plan
Chapitre 3
RDF & Syntaxes RDF
I – Introduction
II – Modèle de Données RDF
III – Sérialisation des graphes RDF
Syntaxe – RDF/XML
Syntaxe – Turtle
Chapitre 3 RDF & Syntaxes de RDF
3 4 GI - 2018/2019
I - Introduction
Introduction
 RDF (Resource Description Framework) est un Modèle de donnée
pour décrire les ressources.
 RDF est destiné aux situations dans lesquelles les informations sur le Web
doivent être traitées par les applications, plutôt que d'être affichées à des
personnes.
 RDF fournit un Framework, (Standard) commun pour exprimer des
informations afin qu'elles puissent être échangées entre applications
sans perte de sens.
Chapitre 3 RDF & Syntaxes de RDF
4 4 GI - 2018/2019
I - Introduction
Utilité de RDF:
 Ajouter des informations lisibles par machine (ou applications) aux pages
Web leur permettant ainsi d'être affichées dans un format amélioré par les
moteurs de recherche ou d'être traitées automatiquement par des
applications tierces.
 Enrichir un ensemble de données (DataSet) en le liant à d’autres ensembles
de données tiers.
 Par exemple, des données sur les tableaux pourrait être enrichi en les
reliant aux artistes correspondants, donnant ainsi accès à un large éventail
d'informations les concernant et aux ressources associées.
 Interconnecter les flux d'API, en s'assurant que les clients peuvent
facilement découvrir comment accéder à plus d'informations.
Chapitre 3 RDF & Syntaxes de RDF
5 4 GI - 2018/2019
I - Introduction
 Utilisation des ensemble de données actuellement publiés en tant que
données liées (Linked Data ) pour construire des agrégations de données
autour d’un sujet spécifique.
 Construire des réseaux sociaux distribués en reliant des descriptions RDF
de personnes sur plusieurs sites Web.
 Fournir un standard pour l'échange de données entre bases de données.
 Interconnecter divers ensembles de données au sein d'une organisation,
permettant ainsi d'effectuer des requêtes.
Chapitre 3 RDF & Syntaxes de RDF
6 4 GI - 2018/2019
Plan
Chapitre 3
RDF & Syntaxes RDF
I – Introduction
II – Modèle de Données RDF
III – Sérialisation des graphes RDF
Syntaxe – RDF/XML
Syntaxe – Turtle
Chapitre 3 RDF & Syntaxes de RDF
7 4 GI - 2018/2019
II - Modèle de Données RDF
 Les concepts de base du Modèle RDF sont :
 Ressources (Resources),
 Propriétés (Properties),
 Déclarations (Statements).
 Graphes (Graph)
Chapitre 3 RDF & Syntaxes de RDF
8 4 GI - 2018/2019
II - Modèle de Données RDF
Ressources
Ressources
 Une ressource est considérée comme un objet (une «chose») dont nous
voulons parler
 Tout peut être une ressource, y compris des objets physiques, des
documents, des concepts abstraits, des nombres et des chaînes, …
 Les ressources peuvent être aussi des personnes, des auteurs, des
appartements, des joueurs, des lieux, des requêtes de recherche, …
 Chaque ressource a un IRI ( Internationalized Resource Identifiers).
Chapitre 3 RDF & Syntaxes de RDF
9 4 GI - 2018/2019
II - Modèle de Données RDF
Propriétés
Propriétés
 Les propriétés sont eux même un type particulier de ressource.
 Ils peuvent être une caractéristique, un attribut, ou une relation, …
 Ils décrivent les relations entre d'autres ressources.
par exemple: «ami de», «écrit par» et «situé dans».
 Comme toutes les ressources, les propriétés sont identifiées par des IRI.
Chapitre 3 RDF & Syntaxes de RDF
10 4 GI - 2018/2019
II - Modèle de Données RDF
Déclarations
Déclarations
 RDF nous permet de faire des déclarations sur les ressources.
 Une déclaration RDF (RDF Statement) exprime une relation entre
deux ressources.
 Une déclaration RDF est constituée de trois éléments et forme un
triples qui à la structure suivante:
(Sujet, Prédicat, Objet)
<Sujet> <Prédicat> <Objet>
 Sujet (Subject): une ressource
 Prédicat (Predicate) : une propriété
 Objet (Object): un littéral ou une ressource
Chapitre 3 RDF & Syntaxes de RDF
11 4 GI - 2018/2019
II - Modèle de Données RDF
Déclarations
Exemple : Triplets RDF exprimés de manière informelle:
(Bob, is a, person)
(Bob, is a friend of, Alice)
(Bob, is born on, the 4th of July 1990)
(Bob, is interested in, the Mona Lisa)
(the Mona Lisa, was created by, Leonardo daVinci)
(the video “La Joconde à Washington”, is about, the Mona Lisa)
Chapitre 3 RDF & Syntaxes de RDF
12 4 GI - 2018/2019
II - Modèle de Données RDF
Déclarations
Exemple : Triplets RDF exprimés de manière informelle:
<Bob> <is a> <person>.
<Bob> <is a friend of> <Alice>.
<Bob> <is born on> <the 4th of July 1990>.
<Bob> <is interested in> <the Mona Lisa>.
<the Mona Lisa> <was created by> <Leonardo daVinci>.
<the video “La Joconde àWashington”> <is about> <the Mona Lisa>.
Chapitre 3 RDF & Syntaxes de RDF
13 4 GI - 2018/2019
II - Modèle de Données RDF
Graphes
(Sujet, Prédicat, Objet)
Graphes
 Une déclaration peut être représentée graphiquement.
 La structure de Triplet créée par ce modèle est un graphe orienté dont :
 les sujets et les objets sont les nœuds (Ellipse ou Rectangle )
 les prédicats sont les arêtes orientées.
 L’étiquette sur l’arc correspond à la propriété de la déclaration.
 Les étiquettes sur les nœuds sont les identifiants du sujet et de l'objet.
Chapitre 3 RDF & Syntaxes de RDF
14 4 GI - 2018/2019
Sujet Objet
prédicats
II - Modèle de Données RDF
Graphes
Exemple : Triplets sous forme de graphe
Chapitre 3 RDF & Syntaxes de RDF
15 4 GI - 2018/2019
Bob Person
Is a
Bob Alice
Is a friend of
the Mona
Lisa
Leonardo
da Vinci
was created by
(Bob, is a, person)
(Bob, is a friend of, Alice)
(the Mona Lisa, was created by, Leonardo daVinci)
II - Modèle de Données RDF
Graphes
 Plusieurs triplets peuvent partager la même ressource.
 le sujet d'une déclaration peut être le sujet d'une autre déclaration.
 l’objet (Qui n’est pas un littéral) d’une déclaration peut faire le sujet
d’une autre déclaration
 L'objet d'une déclaration peut faire l'objet d'une autre déclaration.
 Ces possibilités permettent de mettre en œuvre des connexions entre des
triples et constituant ainsi Graphe RDF
 Dans ce graphe:
 les nœuds sous forme d’ovales représentent les ressources.
 Les arcs représentent les propriétés déclarées.
 Les nœuds sous forme de rectangles représentent des littérales.
Chapitre 3 RDF & Syntaxes de RDF
16 4 GI - 2018/2019
II - Modèle de Données RDF
Graphes
 EXEMPLE: graphe RDF
(Bob, is a, person)
(Bob, is a friend of, Alice)
(Bob, is born on, the 4th of July 1990)
(Bob, is interested in, the Mona Lisa)
(the Mona Lisa, was created by, Leonardo daVinci)
(the video “La Joconde àWashington”, is about, the Mona Lisa)
Chapitre 3 RDF & Syntaxes de RDF
17 4 GI - 2018/2019
II - Modèle de Données RDF
Graphes
 EXEMPLE: graphe RDF
Chapitre 3 RDF & Syntaxes de RDF
18 4 GI - 2018/2019
the video 'La
Joconde à
Washington
Person
Alice
Bob
the Mona
Lisa
is interested in
14 july 1990
Leonardo
da Vinci
II - Modèle de Données RDF
Graphes
 Le modèle de données RDF précédent est représenté sous la forme d'une
"syntaxe abstraite (Abstract Syntax)",
 C’est un modèle de données indépendant de toute syntaxe concrète
(Concrete Syntax) particulière
 La syntaxe concrète est la syntaxe utilisée pour représenter les triplets
et les stockés dans des fichiers texte.
 Différentes syntaxes concrètes existent. Elles produisent exactement le
même graphe du point de vue de la syntaxe abstraite.
 Pour ces syntaxes , les trois types de données qui apparaissent dans un
triple sont :
 les IRI/URI
 les Littéraux
 les Nœuds vides
Chapitre 3 RDF & Syntaxes de RDF
19 4 GI - 2018/2019
II - Modèle de Données RDF
Graphes – IRI / URI
Les IRI/URI
 Les IRI peuvent apparaître dans les trois positions du triple.
 Les IRI fournissent un mécanisme pour identifier sans ambiguïté les ressource.
 Un IRI peut être une URI (Uniform Resource Identifiers) ou une URL (Uniform
Resource Locator) ou un autre type d’identificateur unique
 Les IRI étant des identificateurs globaux, d'autres personnes peuvent les
réutiliser pour identifier la même chose.
Exemple:
l'IRI pour Leonardo da Vinci dans DBpedia est:
http://dbpedia.org/resource/Leonardo_da_Vinci
l'IRI suivant est utilisé par de nombreuses personnes comme propriété RDF pour
indiquer une relation de connaissance entre personnes:
http://xmlns.com/foaf/0.1/knows
Chapitre 3 RDF & Syntaxes de RDF
20 4 GI - 2018/2019
II - Modèle de Données RDF
Graphes - Littéraux
Les Littéraux (Literals)
 Les littéraux sont des valeurs de base et qui ne sont pas des IRI.
 Les littéraux incluent :
 des chaînes telles que "La Joconde",
 des dates telles que "le 4 juillet 1990" et
 des nombres tels que "3.14159".
 …
 Les littéraux sont associés à un type de données permettant d'analyser et
d'interpréter correctement leurs valeurs.
 Les littéraux ne peuvent apparaître que dans la position sujet d'un triple
Chapitre 3 RDF & Syntaxes de RDF
21 4 GI - 2018/2019
II - Modèle de Données RDF
Graphes - Littéraux
 Un graphe RDF peut contenir deux types de littéral :
 Un littéral simple : constitué d'une chaîne de caractères, appelée
forme lexicale, et d'un attribut facultative indiquant la langue.
 Un littéral typé : formé d'une chaîne de caractères (qui constitue la
forme lexicale) et d'une URI indiquant un type qui sera utilisé pour décoder
cette chaîne.
Exemple :
 la chaîne typée "10"^^xsd:integer indique que la chaîne "10"
doit être interprétée comme un entier, selon le type xsd:integer
défini dans le Schéma XML
Chapitre 3 RDF & Syntaxes de RDF
22 4 GI - 2018/2019
II - Modèle de Données RDF
Graphes
 Exeecice1:
Représenter cette phrase sous forme de Triplet RDF et ensuite Graphe RDF :
SahraouiBrik est le créateur de la ressource https://sites.google.com/site/inforanbdd/
 Cette phrase est composée des parties suivantes :
 Sujet (ressource) https://sites.google.com/site/inforanbdd/
 Prédicat (propriété) Créateur
 Objet (littéral) "SahraouiBrik"
 Tripler RDF:
(https://sites.google.com/site/inforanbdd/, est Créé par , SahraouiBrik)
 Graphe RDF:
Chapitre 3 RDF & Syntaxes de RDF
23 4 GI - 2018/2019
https://sites.google.c
om/site/inforanbdd/
SahraouiBrik
Est Créé par
II - Modèle de Données RDF
Graphes - Exercices
 Exercice 2:
La personne référencée par l‘IRI http://www.w3.org/stafID/85740
est appelée Ora Lassila et a pour adresse Email lassila@w3.org.
La ressource http://www.w3.org/Home/Lassila a été créée par
cette personne.
 LesTriplets RDF
(http://www.w3.org/stafID/85740 , à pour Nom , Ora Lassila)
(http://www.w3.org/stafID/85740 , à pour Email , lassila@w3.org)
(http://www.w3.org/Home/Lassila , est le Créateur de , http://www.w3.org/stafID/85740)
 Le Graphe RDF :
Chapitre 3 RDF & Syntaxes de RDF
24 4 GI - 2018/2019
II - Modèle de Données RDF
Graphes - Exercices
 LesTriplets RDF
(http://www.w3.org/stafID/85740 , à pour Nom , Ora Lassila)
(http://www.w3.org/stafID/85740 , à pour Email , lassila@w3.org)
(http://www.w3.org/Home/Lassila , est le Créateur de, http://www.w3.org/stafID/85740)
 Le Graphe RDF :
Chapitre 3 RDF & Syntaxes de RDF
25 4 GI - 2018/2019
http://www.w3.org/stafID/85740
lassila@w3.org
est le Créateur de
Ora Lassila
http://www.w3.org/Home/Lassila
à pour Email
à pour Nom
II - Modèle de Données RDF
Graphes - Nœuds vide
Les Nœuds vide (Blank nodes)
 Il est parfois pratique de pouvoir parler de ressources sans avoir besoin
d’utiliser un identificateur global.
 Une ressource sans identificateur global peut être représenté en RDF par
un nœud vide. En d’autre termes, les nœuds vides peuvent être utilisés
pour dénoter des ressources sans les nommer explicitement avec un IRI.
 Les nœuds vides peuvent apparaître en position de sujet et d’objet d’un
triplet.
 Les nœuds vides peuvent recevoir un identifiant local au document appelé
identifiant de nœud vide.
 Elle sont nécessaire pour :
 – Définir des relations N-aires
 – Définir des structures de données
Chapitre 3 RDF & Syntaxes de RDF
26 4 GI - 2018/2019
II - Modèle de Données RDF
Graphes - Nœuds vide
Exemple :
nous pourrions vouloir exprimer que le tableau de la Joconde contient à
l’arrière-plan un arbre non identifié que peut être un cyprès
Chapitre 3 RDF & Syntaxes de RDF
27 4 GI - 2018/2019
the Mona
Lisa
Background
includes
Cypress
tree
Is a
II - Modèle de Données RDF
Graphes - Graphes multiples
Graphes multiples (Multiple graphs)
 RDF fournit un mécanisme pour grouper des déclarations RDF dans un
graphe multiple et associer un tel graphe à un IRI.
 Les graphiques multiples constituent une extension récente du modèle
de données RDF.
 L'IRI associé au graphe constitue le nom du ce graphe (graph name).
 Un graphique Multiple dans un document RDF constituent ce qu’on
appelle un "ensemble de données RDF " (RDF Dataset). Un "RDF
Dataset" peut avoir plusieurs graphes nommés et au plus un graphe sans
nom ("par défaut").
Chapitre 3 RDF & Syntaxes de RDF
28 4 GI - 2018/2019
II - Modèle de Données RDF
Graphes - Graphes multiples
Graphes multiples (Multiple graphs)
 Par exemple, Un premier graphique identifié par http://example.org/bob
<Bob> <is a> <person>.
<Bob> <is a friend of> <Alice>.
<Bob> <is born on> <the 4th of July 1990>.
<Bob> <is interested in> <the Mona Lisa>.
 Un deuxième graphique identifié par
https://www.wikidata.org/wiki/Special:EntityData/Q12418
<Leonardo daVinci> <is the creator of> <the Mona Lisa>.
<The video 'La Joconde àWashington'> <is about> <the Mona Lisa>
 Ci-dessous un exemple de graphe sans nom. Il contient deux triplets dont le sujet
est le nom de graphe <http://example.org/bob>.
<http://example.org/bob> <is published by> <http://example.org>.
<http://example.org/bob> <has license> <http://creativecommons.org/licenses/by/3.0/>.
Chapitre 3 RDF & Syntaxes de RDF
29 4 GI - 2018/2019
II - Modèle de Données RDF
Graphes - Graphes multiples
Chapitre 3 RDF & Syntaxes de RDF
30 4 GI - 2018/2019
II - Modèle de Données RDF
Exercices
4 GI - 2018/2019
Chapitre 3 RDF & Syntaxes de RDF
31
Exercice 4
 Soit la phrase en langage naturel suivante:
"la Faculté des Sciences de rabat est située à un emplacement qui a comme
numéro 4 est comme avenue Ibn Battouta et comme code postale 10000 avec
comme ville Rabat et comme pays Maroc"
1. Exprimer ces phrases sous de triples RDF avec au moins un nœud vide.
2. Tracer ensuite le graphe RDF Correspondant
Remarque :
 Identifier le nœud vide par _:X1
 Utiliser ex comme préfixe pour chaque propriété (exemple ex:situé_à)
 la Faculté des Sciences de rabat est identifié par
"loca:faculté-des-sciences-de-rabat "
II - Modèle de Données RDF
Exercices
4 GI - 2018/2019
Chapitre 3 RDF & Syntaxes de RDF
32
Exercice 4
Soit la phrase en langage naturel suivante:
"la Faculté des Sciences de rabat est situé à un emplacement qui a a comme
numéro 4 est comme avenue Ibn Battouta et comme code postal 10000 avec comme
ville Rabat et comme pays Maroc"
1. Exprimer cette phrases sous de triples RDF avec au moins un nœud vide.
( loca:faculté-des-sciences-de-rabat ,ex:Située-à, _:x1)
( _:x1, ex:à-comme-avenue, "Ibn Battouta")
( _:x1, ex:à-comme-code-postal, "10000")
( _:x1, ex: à-comme-vile , "Rabat")
( _:x1, ex: à-comme-pays , "Maroc")
II - Modèle de Données RDF
Exercices
4 GI - 2018/2019
Chapitre 3 RDF & Syntaxes de RDF
33
Exercice 4
2. Tracer ensuite le graphe RDF Correspondant
loca:faculté-des-
sciences-de-rabat
Maroc
ex: à-comme-pays
Rabat
10000
Ibn Battouta
4 GI - 2018/2019
Chapitre 3 RDF & Syntaxes de RDF
34
RDF/XML (XML syntaxes pour RDF).
III - Sérialisation des graphes RDF
 Les déclarations RDF
 reposent sur un modèle de multi‐graphe orienté étiqueté,
 Il a l’avantage d’avoir la flexibilité et l’extensibilité nécessaires pour un
monde de données ouvert
 Il est visuellement très compréhensible et intuitif.
 Le modèle des graphes RDF est un modèle abstrait qu’il faut doter d’une
syntaxe concrète afin qu’il puisse être représenter sur machine.
 Un certain nombre de langages (formats de sérialisation) différents existent et
permettent l’écrire les graphes RDF.
 ces différents langage qui décrivent le même graphique , mènent exactement
aux mêmes triples. Elles sont donc logiquement équivalentes.
Chapitre 3 RDF & Syntaxes de RDF
35 4 GI - 2018/2019
III - Sérialisation des graphes RDF
 Parmi les langages d’écriture d’un graphe RDF on trouve :
 RDF/XML (XML syntaxes pour RDF).
 Turtle (et sa famille N-Triples, TriG and N-Quads);
 RDFa (for HTML and XML embedding);
 JSON-LD (JSON-based RDF syntax);
 Dans ce qui suit, on s’intéressera plus particulièrement RDF/XML etTurtle
Chapitre 3 RDF & Syntaxes de RDF
36 4 GI - 2018/2019
Plan
Chapitre 3
RDF & Syntaxes RDF
I – Introduction
II – Modèle de Données RDF
III – Sérialisation des graphes RDF
Syntaxe – RDF/XML
Syntaxe – Turtle
Chapitre 3 RDF & Syntaxes de RDF
37 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
 Le graphe RDF comporte des nœuds et des arcs orientés et
étiquetés qui relient des paires de nœuds.
 Chaque paire de nœuds reliés par un arc représente un triples RDF.
 Chaque triplet contenant un nœud sujet, un prédicat et un nœud objet.
 Les nœuds sont des IRI, des littéraux ou des nœuds vides.
 Les nœuds vides peuvent recevoir un identifiant local au document appelé
identifiant de nœud vide.
 Les prédicats sont des IRI et peuvent être interprétés comme une
relation entre les deux nœuds ou comme définissant une valeur
d'attribut (nœud objet) pour un nœud sujet
 Le nœud objet, qui représente la valeur de la propriété lorsque elle est
appliquée au sujet, peut être une URI, un nœud vide ou un littéral.
Syntaxe RDF/XML
Chapitre 3 RDF & Syntaxes de RDF
38 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
Syntaxe RDF / XML
 Pour coder le graphe en XML, les nœuds et les prédicats doivent être
représentés en termes XML (noms d'élément, noms d'attribut, contenu de
l'élément et valeurs d'attribut).
 RDF/XML utilise des noms qualifiés XML (XML QNames) définis dans des
espaces de noms XML pour représenter les IRI.
 Tous les QNames ont un nom d'espace de nom qui est un IRI et un nom local
court.
 Les QNames peuvent avoir un préfixe court ou être liée à l’espace de nom par
défaut et n'en avoir aucun préfixe (mais ont toujours un nom d'espace de nom)
 L'identité IRI représentée par le QName est déterminée en ajoutant la partie
nom local du QName après la partie du nom d'espace nom
Chapitre 3 RDF & Syntaxes de RDF
39 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
 Un graphe peut être considéré comme une collection de chemins :
nœud, arc prédicat, nœud, arc prédicat, nœud, arc
prédicat, ... ,nœud
qui recouvre la totalité du graphe.
 Un graphe RDF/XML se transforment en séquences d'éléments à
l'intérieur d'éléments en alternant entre des éléments pour des nœuds
et d’autre élément pour des arcs de prédicats.
 Le nœud au début de la séquence devient l'élément le plus à l'extérieur,
l'arc de prédicat suivant se transforme en un élément enfant, etc.
 un document RDF / XML commencent toujours par des nœuds.
Chapitre 3 RDF & Syntaxes de RDF
40 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
 Un graphe peut être considéré comme une collection de chemins :
nœud, arc prédicat, nœud, arc prédicat, ... ,nœud
Chapitre 3 RDF & Syntaxes de RDF
41 4 GI - 2018/2019
 Nœud identifier par l’IRI :
http://www.w3.org/TR/rdf-syntax-grammar
 Arc Prédicat identifié par l’IRI :
http://example.org/terms/editor
 Nœud sans IRI
 Arc Prédicat identifié par l’IRI :
http://example.org/terms/homePage
 Nœud identifier par l’IRI :
http://purl.org/net/dajobe/
Le graphe RDF suivant est constitué de :
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
 En RDF/XML, un graphe RDF/XML se transforment en séquences
d'éléments à l'intérieur d'éléments en alternant entre des éléments
pour des nœuds et élément pour des arcs de prédicats.
 L’élément <rdf:Description>
Chapitre 3 RDF & Syntaxes de RDF
42 4 GI - 2018/2019
 la séquence de nœuds et arcs de prédicats correspond à
l'utilisation d’éléments XML de deux types :
 Éléments nœud (node elements) représenté par l’élément
rdf:Description
 Éléments propriété (property elements) qui sont le
contenue des éléments nœuds
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
Chapitre 3 RDF & Syntaxes de RDF
43 4 GI - 2018/2019
<rdf:Description>
<ex:editor>
<rdf:Description>
<ex:homePage>
<rdf:Description>
</rdf:Description>
</ex:homePage>
</rdf:Description>
</ex:editor>
</rdf:Description>
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
L ’attribut rdf:about
 Lorsque les éléments nœud sont des IRI, on utilise l’attribut rdf:about de
l’éléments rdf:Description pour associer cette IRI à l’élément en question
 Mais Lorsque il s’agit d’un nœud vide, les éléments rdf:Description reste
vide (sans aucun attribut rdf:about)
Chapitre 3 RDF & Syntaxes de RDF
44 4 GI - 2018/2019
...
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar" >
<ex:editor>
<rdf:Description >
<ex:homePage>
<rdf:Description rdf:about="http://purl.org/net/dajobe/" >
...
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
Chapitre 3 RDF & Syntaxes de RDF
45 4 GI - 2018/2019
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar" >
<ex:editor>
<rdf:Description >
<ex:homePage>
<rdf:Description rdf:about="http://purl.org/net/dajobe/" >
</rdf:Description>
</ex:homePage>
</rdf:Description>
</ex:editor>
</rdf:Description>
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
 Lorsque l’élément nœud (L’objet) est un littéral, il constitue le contenue
de l’éléments propriété
Chapitre 3 RDF & Syntaxes de RDF
46 4 GI - 2018/2019
...
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
<dc:title>RDF 1.1 XML Syntax</dc:title>
</rdf:Description>
...
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
Pour le graphe RDF suivant :
Chapitre 3 RDF & Syntaxes de RDF
47 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
On a le code suivant :
Chapitre 3 RDF & Syntaxes de RDF
48 4 GI - 2018/2019
...
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
<ex:editor>
<rdf:Description>
<ex:homePage>
<rdf:Description rdf:about="http://purl.org/net/dajobe/">
</rdf:Description>
</ex:homePage>
</rdf:Description>
</ex:editor>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
<ex:editor>
<rdf:Description>
<ex:fullName>Dave Beckett</ex:fullName>
</rdf:Description>
</ex:editor>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
<dc:title>RDF 1.1 XML Syntax</dc:title>
</rdf:Description>
...
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
 Plusieurs abréviations peuvent être utilisées pour réduire le code
RDF/XLM représentant un graphe RDF
 Plusieurs éléments propriété (Multiple Property Elements)
lorsqu'un élément nœud a plusieurs éléments propriété, le code RDF/XML peut
être abrégé en utilisant plusieurs éléments propriétés enfants à l'intérieur
de l'élément nœud décrivant le nœud sujet.
Chapitre 3 RDF & Syntaxes de RDF
49 4 GI - 2018/2019
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
...
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
...
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
...
</rdf:Description>
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
On a le code suivant :
Chapitre 3 RDF & Syntaxes de RDF
50 4 GI - 2018/2019
...
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
<ex:editor>
<rdf:Description>
<ex:homePage>
<rdf:Description rdf:about="http://purl.org/net/dajobe/">
</rdf:Description>
</ex:homePage>
</rdf:Description>
</ex:editor>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
<ex:editor>
<rdf:Description>
<ex:fullName>Dave Beckett</ex:fullName>
</rdf:Description>
</ex:editor>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
<dc:title>RDF 1.1 XML Syntax</dc:title>
</rdf:Description>
...
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
 le code RDF/XLM du graphe RDF précédent peut écrit sous forme
Chapitre 3 RDF & Syntaxes de RDF
51 4 GI - 2018/2019
...
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
<ex:editor>
<rdf:Description>
<ex:homePage>
<rdf:Description rdf:about="http://purl.org/net/dajobe/">
</rdf:Description>
</ex:homePage>
<ex:fullName>Dave Beckett</ex:fullName>
</rdf:Description>
</ex:editor>
<dc:title>RDF 1.1 XML Syntax</dc:title>
</rdf:Description>
...
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
 Plusieurs éléments propriété (Multiple Property Elements)
 Eléments propriété vide (Empty Property Elements)
Lorsqu'un arc de prédicat dans un graphe RDF pointe vers un nœud objet qui n'a
plus d'arc de prédicat (élément nœud vide <rdf:Description rdf:about =
"..."> </ rdf:Description >), on utilise l'IRI du nœud objet en tant que
valeur d'un attribut XML rdf:resource sur l'élément de propriété.
Chapitre 3 RDF & Syntaxes de RDF
52 4 GI - 2018/2019
...
<ex:homePage>
<rdf:Description rdf:about="http://purl.org/net/dajobe/">
</rdf:Description>
</ex:homePage>
...
...
<ex:homePage rdf:resource="http://purl.org/net/dajobe">
</ex:homePage>
...
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
 le code RDF/XLM du graphe RDF précédent peut écrit sous forme
Chapitre 3 RDF & Syntaxes de RDF
53 4 GI - 2018/2019
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
<ex:editor>
<rdf:Description>
<ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
<ex:fullName>Dave Beckett</ex:fullName>
</rdf:Description>
</ex:editor>
<dc:title>RDF 1.1 XML Syntax</dc:title>
</rdf:Description>
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
 Plusieurs éléments propriété (Multiple Property Elements)
 Eléments propriété vide (Empty Property Elements)
 Attributs propriété (Property Attributes)
Lorsque le contenu d'un élément propriété est un littéral de type chaine de
caractère, il est possible de l'utiliser comme attribut XML sur l'élément nœud
le contenant.
Chapitre 3 RDF & Syntaxes de RDF
54 4 GI - 2018/2019
...
<rdf:Description>
<ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
<ex:fullName>Dave Beckett</ex:fullName>
</rdf:Description>
...
...
<rdf:Description ex:fullName="Dave Beckett">
<ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
</rdf:Description>
...
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
 le code RDF/XLM du graphe RDF précédent peut écrit sous forme
Chapitre 3 RDF & Syntaxes de RDF
55 4 GI - 2018/2019
...
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
<ex:editor>
<rdf:Description ex:fullName="Dave Beckett" >
<ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
</rdf:Description>
</ex:editor>
<dc:title>RDF 1.1 XML Syntax</dc:title>
</rdf:Description>
...
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
 le code complet RDF/XLM du graphe RDF :
 Pour créer un document RDF/XML complet, la sérialisation du graphe RDF
en RDF/XML est généralement contenue dans un élément rdf:RDF qui
l'élément racine de document XML.
 L'élément rdf:RDF est également utilisé pour déclarer les espaces de
noms XML utilisés, bien que cela ne soit pas obligatoire.
 Lorsque rdf:RDF ne contient qu'un seul élément nœud de niveau
supérieur, la balise rdf:RDF peut être omis bien que tout espace de nom
XML doive toujours être déclaré.
 La spécification XML permet également une déclaration du prologue XML
en haut du document spécifiant la version XML et éventuellement le codage
du contenu XML.
Chapitre 3 RDF & Syntaxes de RDF
56 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
 le code complet RDF/XLM du graphe RDF :
Chapitre 3 RDF & Syntaxes de RDF
57 4 GI - 2018/2019
<?xml version="1.0"? encoding="utf-8" >
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:ex="http://example.org/stuff/1.0/">
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
dc:title="RDF1.1 XML Syntax">
<ex:editor>
<rdf:Description ex:fullName="Dave Beckett">
<ex:homePage rdf:resource="http://purl.org/net/dajobe/" />
</rdf:Description>
</ex:editor>
</rdf:Description>
</rdf:RDF>
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML - Validation
Chapitre 3 RDF & Syntaxes de RDF
58 4 GI - 2018/2019
https://www.w3.org/RDF/Validator/
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML - Validation
Chapitre 3 RDF & Syntaxes de RDF
59 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
4 GI - 2018/2019
Chapitre 3 RDF & Syntaxes de RDF
60
Exercice 3:
 Donner La sérialisation RDF/XML du graphe suivant
Exercice 1
4 GI - 2018/2019
Chapitre 3 RDF & Syntaxes de RDF
61
<?xml version="1.0" encoding="UTF-8"?>
<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/Profs#MichelGagnon">
<local:worksAt rdf:resource="http://www.polymtl.ca/Vocabulary#dgi"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.polymtl.ca/Profs#MichelGagnon">
<local:hasName>Michel Gagnon</local:hasName>
</rdf:Description>
<rdf:Description rdf:about="http://www.polymtl.ca/Profs#MichelGagnon">
<local:hasHomePage rdf:resource="http://www.professeurs.polymtl.ca/michel.gagnon"/>
</rdf:Description>
</rdf:RDF>
Exercice 1
4 GI - 2018/2019
Chapitre 3 RDF & Syntaxes de RDF
62
 <?xml version="1.0" encoding="UTF-8"?>
<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="prof:MichelGagnon">
<local:worksAt rdf:resource="local:dgi"/>
</rdf:Description>
<rdf:Description rdf:about="prof:MichelGagnon">
<local:hasName>Michel Gagnon</local:hasName>
</rdf:Description>
<rdf:Description rdf:about="prof:MichelGagnon">
<local:hasHomePage rdf:resource="http://www.professeurs.polymtl.ca/michel.gagnon"/>
</rdf:Description>
</rdf:RDF>
Exercice 1
4 GI - 2018/2019
Chapitre 3 RDF & Syntaxes de RDF
63
 <?xml version="1.0" encoding="UTF-8"?>
<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="prof:MichelGagnon">
<local:worksAt rdf:resource="local:dgi"/>
<local:hasName>Michel Gagnon</local:hasName>
<local:hasHomePage rdf:resource="http://www.professeurs.polymtl.ca/michel.gagnon"/>
</rdf:Description>
</rdf:RDF>
Exercice 1
4 GI - 2018/2019
Chapitre 3 RDF & Syntaxes de RDF
64
 <?xml version="1.0" encoding="UTF-8"?>
<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="prof:MichelGagnon" local:hasName="Michel Gagnon">
<local:worksAt rdf:resource="local:dgi"/>
<local:hasHomePage rdf:resource="http://www.professeurs.polymtl.ca/michel.gagnon"/>
</rdf:Description>
</rdf:RDF>
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML – Langues
Chapitre 3 RDF & Syntaxes de RDF
65 4 GI - 2018/2019
Langues: xml:lang
 RDF/XML permet l’utilisation de l’attribut xml:lang qui permet
l’identification de la langue du contenu.
 L'attribut xml:lang peut être utilisé sur tout élément nœud ou élément
propriété pour indiquer que le contenu inclus est dans la langue donnée.
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
<dc:title>RDF 1.1 XML Syntax</dc:title>
<dc:title xml:lang="en">RDF 1.1 XML Syntax</dc:title>
<dc:title xml:lang="en-US">RDF 1.1 XML Syntax</dc:title>
</rdf:Description>
</rdf:RDF>
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML – littéraux XML
Chapitre 3 RDF & Syntaxes de RDF
66 4 GI - 2018/2019
littéraux XML : rdf:parseType="Literal"
 RDF permet aux littéraux XML d’être définie en tant que nœud objet d'un
prédicat.
 Ils sont écrites en tant que contenu d'un élément propriété (pas d'un attribut de
propriété) à l'aide de l'attribut rdf:parseType="Literal" de l'élément de
propriété contenant.
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ex="http://example.org/stuff/1.0/">
<rdf:Description rdf:about="chap3">
<ex:code rdf:parseType="Literal">
<p>Blablabla <b>coucou</b> blablabla</p>
</ex:code>
</rdf:Description>
</rdf:RDF>
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML – Littéraux typés
Chapitre 3 RDF & Syntaxes de RDF
67 4 GI - 2018/2019
Littéraux typés : rdf:datatype
 RDF permet aux littéraux typés d’être donnés en tant que nœud objet d'un
prédicat.
 Ils sont écrites en tant que contenu d'un élément propriété (pas d'attribut de
propriété) à l'aide de l'attribut supplémentaire
rdf:datatype="datatypeURI" de l'élément de propriété.
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ex="http://example.org/stuff/1.0/">
<rdf:Description rdf:about="http://example.org/item01">
<ex:size rdf:datatype="http://www.w3.org/2001/XMLSchema#int">
123
</ex:size>
</rdf:Description>
</rdf:RDF>
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML – NœudsVides
Chapitre 3 RDF & Syntaxes de RDF
68 4 GI - 2018/2019
Identification des nœuds vides: rdf:nodeID
 Un identifiant peut être attribuer au nœud vide pour l'identifier dans un document
RDF/XML
 Un identificateur de nœud vide est utilisé sur un élément nœud pour remplacer
rdf:about="IRI" avec rdf:nodeID="identificateur de nœud vide".
Exemple: ex:Titi
ex:voit
ex:cache
Gris
Nounours
ex:type Ex:couleur
ex:Table
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML – NœudsVides
Chapitre 3 RDF & Syntaxes de RDF
69 4 GI - 2018/2019
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ex="http://ex.com/#">
<rdf:Description rdf:about="ex:Titi">
<ex:voit>
<rdf:Description rdf:nodeID="n123">
<rdf:type rdf:resource=" Nounours"/>
</rdf:Description>
</ex:voit>
</rdf:Description>
<rdf:Description rdf:nodeID="n421">
<ex:couleur>Gris</ex:couleur>
</rdf:Description>
<rdf:Description rdf:about="ex:Table">
<ex:cache rdf:nodeID="n123"/>
</rdf:Description>
</rdf:RDF>
ex:Titi
ex:voit
ex:cache
Gris
Nounours
ex:type Ex:couleur
ex:Table
III - Sérialisation des graphes RDF
Conteneurs
&
Collections
Chapitre 3 RDF & Syntaxes de RDF
70 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
Conteneurs
 Un conteneur est une sort de ressource qui contient d’autres ressources
 Avec RDF on peut spécifier qu’une ressource est un conteneur et indiquer
les relations entre cette ressource et les entités qu’elle contient.
 RDF propose trois classes de conteneur :
rdf:Bag, rdf:Seq et rdf:Alt.
 rdf:Bag: les membres n’ont aucun ordre entre eux.
 rdf:Seq: suppose l’existence d’un ordre entre les membres.
 rdf:Alt: présente des alternatives parmi lesquelles on s’attend
à ce qu’une seule soit sélectionnée.
Chapitre 3 RDF & Syntaxes de RDF
71 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
 Le conteneur est relié à chacun des ses membres par une relation
rdf:_n, où n est un entier.
 RDF n’interdit pas d’avoir deux membres avec la même valeur n, même
avec le conteneur rdf:Seq
 RDF n’interdit pas qu’il y ait des sauts dans la numérotation.
on peut décrire un conteneur avec les relations rdf:_1, rdf:_2 et
rdf:_4.
 RDF fournit une abréviation en utilisant la relation rdf:li pour chaque
membre, au lieu de la relation spécifique rdf:_n.
Chapitre 3 RDF & Syntaxes de RDF
72 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
Exemple :
Supposons que les trois professeur Java-Prof, CPP-Prof et WS-prof
sont parmi les membres de département d’informatique.
Chapitre 3 RDF & Syntaxes de RDF
73 4 GI - 2018/2019
<?xml version="1.0"?>
<rdf:RDF xmlns:exp="http://example.org/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Seq rdf:about="exp:Computer-Science-department">
<rdf:_1 rdf:resource="exp:Java-prof"/>
<rdf:_5 rdf:resource="exp:IA-prof"/>
<rdf:_3 rdf:resource="exp:WS-prof"/>
</rdf:Seq>
</rdf:RDF>
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
Chapitre 3 RDF & Syntaxes de RDF
74 4 GI - 2018/2019
<?xml version="1.0"?>
<rdf:RDF xmlns:exp="http://example.org/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Seq rdf:about="exp:Computer-Science-department">
<rdf:_1 rdf:resource="exp:Java-prof"/>
<rdf:_5 rdf:resource="exp:IA-prof"/>
<rdf:_3 rdf:resource="exp:WS-prof"/>
</rdf:Seq>
</rdf:RDF>
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
Chapitre 3 RDF & Syntaxes de RDF
75 4 GI - 2018/2019
<?xml version="1.0"?>
<rdf:RDF xmlns:exp="http://example.org/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Seq rdf:about="exp:Computer-Science-department">
<rdf:li rdf:resource="exp:Java-prof"/>
<rdf:li rdf:resource="exp:IA-prof"/>
<rdf:li rdf:resource="exp:WS-prof"/>
</rdf:Seq>
</rdf:RDF>
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
 Un des désavantages avec les conteneurs est qu’il n’est pas possible de les
considérer comme des ensembles fermés.
 Ainsi, si dans une description on spécifie l’existence de trois éléments dans
un conteneur, on n’a jamais de garantie qu’il ne contient que ces trois
éléments.
 Rien n’empêche de spécifier d’autres éléments de ce conteneur dans une
autre description.
 Pour pallier cette lacune, RDF permet de définir des collections, qui sont
en quelque sorte des listes.
Chapitre 3 RDF & Syntaxes de RDF
76 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
Collections
 La liste vide est représentée par une ressource spéciale prédéfinie dont
l’URI est rdf:nil.
 On construit une liste de manière récursive en utilisant le prédicat
rdf:first pour indiquer le premier élément de la liste, et le prédicat
rdf:rest pour indiquer le reste de la liste, qui est lui-même une liste.
Exemple
 Si, par exemple, on sait que les trois professeurs cités dans le modèle
précédent sont les seuls du département , on peut utiliser une liste au lieu
d’un conteneur :
Chapitre 3 RDF & Syntaxes de RDF
77 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
Chapitre 3 RDF & Syntaxes de RDF
78 4 GI - 2018/2019
<?xml version="1.0"?>
<rdf:RDF xmlns:exp="http://example.org/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:List rdf:about="exp:Computer-Science-department">
<rdf:first rdf:resource="exp:Java-prof"/>
<rdf:rest>
<rdf:List>
<rdf:first rdf:resource="exp:IA-prof"/>
<rdf:rest>
<rdf:List>
<rdf:first rdf:resource="exp:WS-prof"/>
<rdf:rest rdf:resource="rdf:nil"/>
</rdf:List>
</rdf:rest>
</rdf:List>
</rdf:rest>
</rdf:List>
</rdf:RDF>
III - Sérialisation des graphes RDF
Syntaxe - RDF/XML
Collections
 Comme cette syntaxe est très lourde, il existe donc une abréviation, mais
qui ne pourra être utilisée que si la liste est l’objet d’un triplet,
Chapitre 3 RDF & Syntaxes de RDF
79 4 GI - 2018/2019
<?xml version="1.0"?>
<rdf:RDF xmlns:exp="http://example.org/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="http://example.org/basket">
<exp:Computer-Science-department rdf:parseType="Collection">
<rdf:Description rdf:about="Java-prof"/>
<rdf:Description rdf:about="exp:IA-prof"/>
<rdf:Description rdf:about="exp:WS-prof"/>
</exp:Computer-Science-department>
</rdf:Description>
</rdf:RDF>
Plan
Chapitre 3
RDF & Syntaxes RDF
I – Introduction
II – Modèle de Données RDF
III – Sérialisation des graphes RDF
Syntaxe – RDF/XML
Syntaxe –Turtle
Chapitre 3 RDF & Syntaxes de RDF
80 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - TURTLE
Turtle
 Un document Turtle permet d’écrire un graphe RDF sous une forme
textuelle compacte.
 Un graphe RDF est composé de triples
 Chaque triplet est composés d'un sujet, d'un prédicat et d'un objet.
Triplet Simple
 EnTurtle, un triple est représenté par une séquence de termes (sujet,
prédicat, objet), séparés par des espaces et terminés par '.'
Chapitre 3 RDF & Syntaxes de RDF
81 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - TURTLE
Listes de prédicats
 Dans le cas ou le même sujet sera référencé par un certain nombre
de prédicats, les couples prédicats-objet de la liste de prédicats et
d'objets liée à ce sujet sont séparés par le symbole ';'
Chapitre 3 RDF & Syntaxes de RDF
82 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - TURTLE
Listes d’Objets
 Dans le cas ou le même couple sujet et prédicat est partagé par
plusieurs objets, la liste des objets liée à ce couple (sujet, prédicat) sont
séparer par le symbole ','
Chapitre 3 RDF & Syntaxes de RDF
83 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - TURTLE
IRIs
 IRI peut être : relative ou Absolue ou Préfixée par un nom.
 Les IRI relatives et absolues sont délimitées par '<' et '>'
IRI relatifs
 Les IRI relatifs tels que <#green-goblin> sont résolus par rapport à
l'IRI de base actuel. Une nouvelle IRI de base peut être définie à l'aide de
la directive "@base" ou "BASE".
Chapitre 3 RDF & Syntaxes de RDF
84 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - TURTLE
IRI préfixé
 Un nom préfixé est composé d’une étiquette (label) et une partie
locale, séparées par la caractère ':'.
 Un nom préfixé est transformé en un IRI en concaténant l'IRI associé au
préfixe et à la partie locale.
 La directive '@prefix' ou 'PREFIX' associe une étiquette à une IRI.
Chapitre 3 RDF & Syntaxes de RDF
85 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - TURTLE
IRI préfixé vide et Etendu
 PréfixeVide
 Préfixe étendu (Stand)
Chapitre 3 RDF & Syntaxes de RDF
86 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - TURTLE
L’IRI http://www.w3.org/1999/02/22-rdf-syntax-ns#type
 Le jeton 'a' dans la position de prédicat d'un triplet remplace l'IRI
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
Chapitre 3 RDF & Syntaxes de RDF
87 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - TURTLE
NœudVide
 Les nœuds vide dans Turtle sont exprimés par deux caractères _: suivi
par une étiquette qui est une série de caractères.
 Un nœud vide peut aussi être représenté par les crochets []
Chapitre 3 RDF & Syntaxes de RDF
88 4 GI - 2018/2019
III - Sérialisation des graphes RDF
Syntaxe - TURTLE
NœudVide
Chapitre 3 RDF & Syntaxes de RDF
89 4 GI - 2018/2019
II - Modèle de Données RDF
Exercices
4 GI - 2018/2019
Chapitre 3 RDF & Syntaxes de RDF
90
 Exercice 5
1. Sérialiser les triplets suivant en utilisant Turtle
urn:TELECOMSudParis ex:located-at urn:locationOfTelecomSudParis
urn:locationOfTelecomSudParis ex:has-street "rue Charles Fourier"
urn:locationOfTelecomSudParis ex:has-postal-code "9100"
urn:locationOfTelecomSudParis ex:has-city "Evry"
urn:locationOfTelecomSudParis ex:has-country "France“
<http://www.w3.org/> rdf:type ex:website
<http://www.w3.org/> ex:hosts urn:sw-activity-homepage
urn:sw-activity-homepage rdf:type urn:homepage
urn:sw-activity ex:has-homepage urn:sw-activity-homepage
II - Modèle de Données RDF
Exercices
4 GI - 2018/2019
Chapitre 3 RDF & Syntaxes de RDF
91
 Exercice 5
2. Sérialiser les triplets suivant en utilisant Turtle
urn:TELECOMSudParis ex:located-at _:x
_:x ex:has-street "rue Charles Fourier "
_:x ex:has-postal-code "9100"
_:x ex:has-city "Evry"
_:x ex:has-country "France"
<http://www.w3.org/> ex:hosts _:Y
_:Y rdf:type ex:homepage
4 GI - 2018/2019
Chapitre 3 RDF & Syntaxes de RDF
92
RDF
Bibliographie
4 GI - 2018/2019
Chapitre 3 RDF & Syntaxes de RDF
93
 https://www.w3.org/TR/2014/NOTE-rdf11-primer-20140624/
 https://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
 https://www.w3.org/TR/rdf-syntax-grammar/#section-Introduction
 https://www.w3.org/TR/2014/REC-turtle-20140225/

___WS_Chap-3__RDF.pdf

  • 1.
    4 GI 2018/2019 Pr.Ali CHOUKRI Chapitre 3 RDF & Syntaxes RDF
  • 2.
    Web sémantique Approche encouches Chapitre 3 RDF & Syntaxes de RDF 2 4 GI - 2018/2019
  • 3.
    Plan Chapitre 3 RDF &Syntaxes RDF I – Introduction II – Modèle de Données RDF III – Sérialisation des graphes RDF Syntaxe – RDF/XML Syntaxe – Turtle Chapitre 3 RDF & Syntaxes de RDF 3 4 GI - 2018/2019
  • 4.
    I - Introduction Introduction RDF (Resource Description Framework) est un Modèle de donnée pour décrire les ressources.  RDF est destiné aux situations dans lesquelles les informations sur le Web doivent être traitées par les applications, plutôt que d'être affichées à des personnes.  RDF fournit un Framework, (Standard) commun pour exprimer des informations afin qu'elles puissent être échangées entre applications sans perte de sens. Chapitre 3 RDF & Syntaxes de RDF 4 4 GI - 2018/2019
  • 5.
    I - Introduction Utilitéde RDF:  Ajouter des informations lisibles par machine (ou applications) aux pages Web leur permettant ainsi d'être affichées dans un format amélioré par les moteurs de recherche ou d'être traitées automatiquement par des applications tierces.  Enrichir un ensemble de données (DataSet) en le liant à d’autres ensembles de données tiers.  Par exemple, des données sur les tableaux pourrait être enrichi en les reliant aux artistes correspondants, donnant ainsi accès à un large éventail d'informations les concernant et aux ressources associées.  Interconnecter les flux d'API, en s'assurant que les clients peuvent facilement découvrir comment accéder à plus d'informations. Chapitre 3 RDF & Syntaxes de RDF 5 4 GI - 2018/2019
  • 6.
    I - Introduction Utilisation des ensemble de données actuellement publiés en tant que données liées (Linked Data ) pour construire des agrégations de données autour d’un sujet spécifique.  Construire des réseaux sociaux distribués en reliant des descriptions RDF de personnes sur plusieurs sites Web.  Fournir un standard pour l'échange de données entre bases de données.  Interconnecter divers ensembles de données au sein d'une organisation, permettant ainsi d'effectuer des requêtes. Chapitre 3 RDF & Syntaxes de RDF 6 4 GI - 2018/2019
  • 7.
    Plan Chapitre 3 RDF &Syntaxes RDF I – Introduction II – Modèle de Données RDF III – Sérialisation des graphes RDF Syntaxe – RDF/XML Syntaxe – Turtle Chapitre 3 RDF & Syntaxes de RDF 7 4 GI - 2018/2019
  • 8.
    II - Modèlede Données RDF  Les concepts de base du Modèle RDF sont :  Ressources (Resources),  Propriétés (Properties),  Déclarations (Statements).  Graphes (Graph) Chapitre 3 RDF & Syntaxes de RDF 8 4 GI - 2018/2019
  • 9.
    II - Modèlede Données RDF Ressources Ressources  Une ressource est considérée comme un objet (une «chose») dont nous voulons parler  Tout peut être une ressource, y compris des objets physiques, des documents, des concepts abstraits, des nombres et des chaînes, …  Les ressources peuvent être aussi des personnes, des auteurs, des appartements, des joueurs, des lieux, des requêtes de recherche, …  Chaque ressource a un IRI ( Internationalized Resource Identifiers). Chapitre 3 RDF & Syntaxes de RDF 9 4 GI - 2018/2019
  • 10.
    II - Modèlede Données RDF Propriétés Propriétés  Les propriétés sont eux même un type particulier de ressource.  Ils peuvent être une caractéristique, un attribut, ou une relation, …  Ils décrivent les relations entre d'autres ressources. par exemple: «ami de», «écrit par» et «situé dans».  Comme toutes les ressources, les propriétés sont identifiées par des IRI. Chapitre 3 RDF & Syntaxes de RDF 10 4 GI - 2018/2019
  • 11.
    II - Modèlede Données RDF Déclarations Déclarations  RDF nous permet de faire des déclarations sur les ressources.  Une déclaration RDF (RDF Statement) exprime une relation entre deux ressources.  Une déclaration RDF est constituée de trois éléments et forme un triples qui à la structure suivante: (Sujet, Prédicat, Objet) <Sujet> <Prédicat> <Objet>  Sujet (Subject): une ressource  Prédicat (Predicate) : une propriété  Objet (Object): un littéral ou une ressource Chapitre 3 RDF & Syntaxes de RDF 11 4 GI - 2018/2019
  • 12.
    II - Modèlede Données RDF Déclarations Exemple : Triplets RDF exprimés de manière informelle: (Bob, is a, person) (Bob, is a friend of, Alice) (Bob, is born on, the 4th of July 1990) (Bob, is interested in, the Mona Lisa) (the Mona Lisa, was created by, Leonardo daVinci) (the video “La Joconde à Washington”, is about, the Mona Lisa) Chapitre 3 RDF & Syntaxes de RDF 12 4 GI - 2018/2019
  • 13.
    II - Modèlede Données RDF Déclarations Exemple : Triplets RDF exprimés de manière informelle: <Bob> <is a> <person>. <Bob> <is a friend of> <Alice>. <Bob> <is born on> <the 4th of July 1990>. <Bob> <is interested in> <the Mona Lisa>. <the Mona Lisa> <was created by> <Leonardo daVinci>. <the video “La Joconde àWashington”> <is about> <the Mona Lisa>. Chapitre 3 RDF & Syntaxes de RDF 13 4 GI - 2018/2019
  • 14.
    II - Modèlede Données RDF Graphes (Sujet, Prédicat, Objet) Graphes  Une déclaration peut être représentée graphiquement.  La structure de Triplet créée par ce modèle est un graphe orienté dont :  les sujets et les objets sont les nœuds (Ellipse ou Rectangle )  les prédicats sont les arêtes orientées.  L’étiquette sur l’arc correspond à la propriété de la déclaration.  Les étiquettes sur les nœuds sont les identifiants du sujet et de l'objet. Chapitre 3 RDF & Syntaxes de RDF 14 4 GI - 2018/2019 Sujet Objet prédicats
  • 15.
    II - Modèlede Données RDF Graphes Exemple : Triplets sous forme de graphe Chapitre 3 RDF & Syntaxes de RDF 15 4 GI - 2018/2019 Bob Person Is a Bob Alice Is a friend of the Mona Lisa Leonardo da Vinci was created by (Bob, is a, person) (Bob, is a friend of, Alice) (the Mona Lisa, was created by, Leonardo daVinci)
  • 16.
    II - Modèlede Données RDF Graphes  Plusieurs triplets peuvent partager la même ressource.  le sujet d'une déclaration peut être le sujet d'une autre déclaration.  l’objet (Qui n’est pas un littéral) d’une déclaration peut faire le sujet d’une autre déclaration  L'objet d'une déclaration peut faire l'objet d'une autre déclaration.  Ces possibilités permettent de mettre en œuvre des connexions entre des triples et constituant ainsi Graphe RDF  Dans ce graphe:  les nœuds sous forme d’ovales représentent les ressources.  Les arcs représentent les propriétés déclarées.  Les nœuds sous forme de rectangles représentent des littérales. Chapitre 3 RDF & Syntaxes de RDF 16 4 GI - 2018/2019
  • 17.
    II - Modèlede Données RDF Graphes  EXEMPLE: graphe RDF (Bob, is a, person) (Bob, is a friend of, Alice) (Bob, is born on, the 4th of July 1990) (Bob, is interested in, the Mona Lisa) (the Mona Lisa, was created by, Leonardo daVinci) (the video “La Joconde àWashington”, is about, the Mona Lisa) Chapitre 3 RDF & Syntaxes de RDF 17 4 GI - 2018/2019
  • 18.
    II - Modèlede Données RDF Graphes  EXEMPLE: graphe RDF Chapitre 3 RDF & Syntaxes de RDF 18 4 GI - 2018/2019 the video 'La Joconde à Washington Person Alice Bob the Mona Lisa is interested in 14 july 1990 Leonardo da Vinci
  • 19.
    II - Modèlede Données RDF Graphes  Le modèle de données RDF précédent est représenté sous la forme d'une "syntaxe abstraite (Abstract Syntax)",  C’est un modèle de données indépendant de toute syntaxe concrète (Concrete Syntax) particulière  La syntaxe concrète est la syntaxe utilisée pour représenter les triplets et les stockés dans des fichiers texte.  Différentes syntaxes concrètes existent. Elles produisent exactement le même graphe du point de vue de la syntaxe abstraite.  Pour ces syntaxes , les trois types de données qui apparaissent dans un triple sont :  les IRI/URI  les Littéraux  les Nœuds vides Chapitre 3 RDF & Syntaxes de RDF 19 4 GI - 2018/2019
  • 20.
    II - Modèlede Données RDF Graphes – IRI / URI Les IRI/URI  Les IRI peuvent apparaître dans les trois positions du triple.  Les IRI fournissent un mécanisme pour identifier sans ambiguïté les ressource.  Un IRI peut être une URI (Uniform Resource Identifiers) ou une URL (Uniform Resource Locator) ou un autre type d’identificateur unique  Les IRI étant des identificateurs globaux, d'autres personnes peuvent les réutiliser pour identifier la même chose. Exemple: l'IRI pour Leonardo da Vinci dans DBpedia est: http://dbpedia.org/resource/Leonardo_da_Vinci l'IRI suivant est utilisé par de nombreuses personnes comme propriété RDF pour indiquer une relation de connaissance entre personnes: http://xmlns.com/foaf/0.1/knows Chapitre 3 RDF & Syntaxes de RDF 20 4 GI - 2018/2019
  • 21.
    II - Modèlede Données RDF Graphes - Littéraux Les Littéraux (Literals)  Les littéraux sont des valeurs de base et qui ne sont pas des IRI.  Les littéraux incluent :  des chaînes telles que "La Joconde",  des dates telles que "le 4 juillet 1990" et  des nombres tels que "3.14159".  …  Les littéraux sont associés à un type de données permettant d'analyser et d'interpréter correctement leurs valeurs.  Les littéraux ne peuvent apparaître que dans la position sujet d'un triple Chapitre 3 RDF & Syntaxes de RDF 21 4 GI - 2018/2019
  • 22.
    II - Modèlede Données RDF Graphes - Littéraux  Un graphe RDF peut contenir deux types de littéral :  Un littéral simple : constitué d'une chaîne de caractères, appelée forme lexicale, et d'un attribut facultative indiquant la langue.  Un littéral typé : formé d'une chaîne de caractères (qui constitue la forme lexicale) et d'une URI indiquant un type qui sera utilisé pour décoder cette chaîne. Exemple :  la chaîne typée "10"^^xsd:integer indique que la chaîne "10" doit être interprétée comme un entier, selon le type xsd:integer défini dans le Schéma XML Chapitre 3 RDF & Syntaxes de RDF 22 4 GI - 2018/2019
  • 23.
    II - Modèlede Données RDF Graphes  Exeecice1: Représenter cette phrase sous forme de Triplet RDF et ensuite Graphe RDF : SahraouiBrik est le créateur de la ressource https://sites.google.com/site/inforanbdd/  Cette phrase est composée des parties suivantes :  Sujet (ressource) https://sites.google.com/site/inforanbdd/  Prédicat (propriété) Créateur  Objet (littéral) "SahraouiBrik"  Tripler RDF: (https://sites.google.com/site/inforanbdd/, est Créé par , SahraouiBrik)  Graphe RDF: Chapitre 3 RDF & Syntaxes de RDF 23 4 GI - 2018/2019 https://sites.google.c om/site/inforanbdd/ SahraouiBrik Est Créé par
  • 24.
    II - Modèlede Données RDF Graphes - Exercices  Exercice 2: La personne référencée par l‘IRI http://www.w3.org/stafID/85740 est appelée Ora Lassila et a pour adresse Email lassila@w3.org. La ressource http://www.w3.org/Home/Lassila a été créée par cette personne.  LesTriplets RDF (http://www.w3.org/stafID/85740 , à pour Nom , Ora Lassila) (http://www.w3.org/stafID/85740 , à pour Email , lassila@w3.org) (http://www.w3.org/Home/Lassila , est le Créateur de , http://www.w3.org/stafID/85740)  Le Graphe RDF : Chapitre 3 RDF & Syntaxes de RDF 24 4 GI - 2018/2019
  • 25.
    II - Modèlede Données RDF Graphes - Exercices  LesTriplets RDF (http://www.w3.org/stafID/85740 , à pour Nom , Ora Lassila) (http://www.w3.org/stafID/85740 , à pour Email , lassila@w3.org) (http://www.w3.org/Home/Lassila , est le Créateur de, http://www.w3.org/stafID/85740)  Le Graphe RDF : Chapitre 3 RDF & Syntaxes de RDF 25 4 GI - 2018/2019 http://www.w3.org/stafID/85740 lassila@w3.org est le Créateur de Ora Lassila http://www.w3.org/Home/Lassila à pour Email à pour Nom
  • 26.
    II - Modèlede Données RDF Graphes - Nœuds vide Les Nœuds vide (Blank nodes)  Il est parfois pratique de pouvoir parler de ressources sans avoir besoin d’utiliser un identificateur global.  Une ressource sans identificateur global peut être représenté en RDF par un nœud vide. En d’autre termes, les nœuds vides peuvent être utilisés pour dénoter des ressources sans les nommer explicitement avec un IRI.  Les nœuds vides peuvent apparaître en position de sujet et d’objet d’un triplet.  Les nœuds vides peuvent recevoir un identifiant local au document appelé identifiant de nœud vide.  Elle sont nécessaire pour :  – Définir des relations N-aires  – Définir des structures de données Chapitre 3 RDF & Syntaxes de RDF 26 4 GI - 2018/2019
  • 27.
    II - Modèlede Données RDF Graphes - Nœuds vide Exemple : nous pourrions vouloir exprimer que le tableau de la Joconde contient à l’arrière-plan un arbre non identifié que peut être un cyprès Chapitre 3 RDF & Syntaxes de RDF 27 4 GI - 2018/2019 the Mona Lisa Background includes Cypress tree Is a
  • 28.
    II - Modèlede Données RDF Graphes - Graphes multiples Graphes multiples (Multiple graphs)  RDF fournit un mécanisme pour grouper des déclarations RDF dans un graphe multiple et associer un tel graphe à un IRI.  Les graphiques multiples constituent une extension récente du modèle de données RDF.  L'IRI associé au graphe constitue le nom du ce graphe (graph name).  Un graphique Multiple dans un document RDF constituent ce qu’on appelle un "ensemble de données RDF " (RDF Dataset). Un "RDF Dataset" peut avoir plusieurs graphes nommés et au plus un graphe sans nom ("par défaut"). Chapitre 3 RDF & Syntaxes de RDF 28 4 GI - 2018/2019
  • 29.
    II - Modèlede Données RDF Graphes - Graphes multiples Graphes multiples (Multiple graphs)  Par exemple, Un premier graphique identifié par http://example.org/bob <Bob> <is a> <person>. <Bob> <is a friend of> <Alice>. <Bob> <is born on> <the 4th of July 1990>. <Bob> <is interested in> <the Mona Lisa>.  Un deuxième graphique identifié par https://www.wikidata.org/wiki/Special:EntityData/Q12418 <Leonardo daVinci> <is the creator of> <the Mona Lisa>. <The video 'La Joconde àWashington'> <is about> <the Mona Lisa>  Ci-dessous un exemple de graphe sans nom. Il contient deux triplets dont le sujet est le nom de graphe <http://example.org/bob>. <http://example.org/bob> <is published by> <http://example.org>. <http://example.org/bob> <has license> <http://creativecommons.org/licenses/by/3.0/>. Chapitre 3 RDF & Syntaxes de RDF 29 4 GI - 2018/2019
  • 30.
    II - Modèlede Données RDF Graphes - Graphes multiples Chapitre 3 RDF & Syntaxes de RDF 30 4 GI - 2018/2019
  • 31.
    II - Modèlede Données RDF Exercices 4 GI - 2018/2019 Chapitre 3 RDF & Syntaxes de RDF 31 Exercice 4  Soit la phrase en langage naturel suivante: "la Faculté des Sciences de rabat est située à un emplacement qui a comme numéro 4 est comme avenue Ibn Battouta et comme code postale 10000 avec comme ville Rabat et comme pays Maroc" 1. Exprimer ces phrases sous de triples RDF avec au moins un nœud vide. 2. Tracer ensuite le graphe RDF Correspondant Remarque :  Identifier le nœud vide par _:X1  Utiliser ex comme préfixe pour chaque propriété (exemple ex:situé_à)  la Faculté des Sciences de rabat est identifié par "loca:faculté-des-sciences-de-rabat "
  • 32.
    II - Modèlede Données RDF Exercices 4 GI - 2018/2019 Chapitre 3 RDF & Syntaxes de RDF 32 Exercice 4 Soit la phrase en langage naturel suivante: "la Faculté des Sciences de rabat est situé à un emplacement qui a a comme numéro 4 est comme avenue Ibn Battouta et comme code postal 10000 avec comme ville Rabat et comme pays Maroc" 1. Exprimer cette phrases sous de triples RDF avec au moins un nœud vide. ( loca:faculté-des-sciences-de-rabat ,ex:Située-à, _:x1) ( _:x1, ex:à-comme-avenue, "Ibn Battouta") ( _:x1, ex:à-comme-code-postal, "10000") ( _:x1, ex: à-comme-vile , "Rabat") ( _:x1, ex: à-comme-pays , "Maroc")
  • 33.
    II - Modèlede Données RDF Exercices 4 GI - 2018/2019 Chapitre 3 RDF & Syntaxes de RDF 33 Exercice 4 2. Tracer ensuite le graphe RDF Correspondant loca:faculté-des- sciences-de-rabat Maroc ex: à-comme-pays Rabat 10000 Ibn Battouta
  • 34.
    4 GI -2018/2019 Chapitre 3 RDF & Syntaxes de RDF 34 RDF/XML (XML syntaxes pour RDF).
  • 35.
    III - Sérialisationdes graphes RDF  Les déclarations RDF  reposent sur un modèle de multi‐graphe orienté étiqueté,  Il a l’avantage d’avoir la flexibilité et l’extensibilité nécessaires pour un monde de données ouvert  Il est visuellement très compréhensible et intuitif.  Le modèle des graphes RDF est un modèle abstrait qu’il faut doter d’une syntaxe concrète afin qu’il puisse être représenter sur machine.  Un certain nombre de langages (formats de sérialisation) différents existent et permettent l’écrire les graphes RDF.  ces différents langage qui décrivent le même graphique , mènent exactement aux mêmes triples. Elles sont donc logiquement équivalentes. Chapitre 3 RDF & Syntaxes de RDF 35 4 GI - 2018/2019
  • 36.
    III - Sérialisationdes graphes RDF  Parmi les langages d’écriture d’un graphe RDF on trouve :  RDF/XML (XML syntaxes pour RDF).  Turtle (et sa famille N-Triples, TriG and N-Quads);  RDFa (for HTML and XML embedding);  JSON-LD (JSON-based RDF syntax);  Dans ce qui suit, on s’intéressera plus particulièrement RDF/XML etTurtle Chapitre 3 RDF & Syntaxes de RDF 36 4 GI - 2018/2019
  • 37.
    Plan Chapitre 3 RDF &Syntaxes RDF I – Introduction II – Modèle de Données RDF III – Sérialisation des graphes RDF Syntaxe – RDF/XML Syntaxe – Turtle Chapitre 3 RDF & Syntaxes de RDF 37 4 GI - 2018/2019
  • 38.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML  Le graphe RDF comporte des nœuds et des arcs orientés et étiquetés qui relient des paires de nœuds.  Chaque paire de nœuds reliés par un arc représente un triples RDF.  Chaque triplet contenant un nœud sujet, un prédicat et un nœud objet.  Les nœuds sont des IRI, des littéraux ou des nœuds vides.  Les nœuds vides peuvent recevoir un identifiant local au document appelé identifiant de nœud vide.  Les prédicats sont des IRI et peuvent être interprétés comme une relation entre les deux nœuds ou comme définissant une valeur d'attribut (nœud objet) pour un nœud sujet  Le nœud objet, qui représente la valeur de la propriété lorsque elle est appliquée au sujet, peut être une URI, un nœud vide ou un littéral. Syntaxe RDF/XML Chapitre 3 RDF & Syntaxes de RDF 38 4 GI - 2018/2019
  • 39.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML Syntaxe RDF / XML  Pour coder le graphe en XML, les nœuds et les prédicats doivent être représentés en termes XML (noms d'élément, noms d'attribut, contenu de l'élément et valeurs d'attribut).  RDF/XML utilise des noms qualifiés XML (XML QNames) définis dans des espaces de noms XML pour représenter les IRI.  Tous les QNames ont un nom d'espace de nom qui est un IRI et un nom local court.  Les QNames peuvent avoir un préfixe court ou être liée à l’espace de nom par défaut et n'en avoir aucun préfixe (mais ont toujours un nom d'espace de nom)  L'identité IRI représentée par le QName est déterminée en ajoutant la partie nom local du QName après la partie du nom d'espace nom Chapitre 3 RDF & Syntaxes de RDF 39 4 GI - 2018/2019
  • 40.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML  Un graphe peut être considéré comme une collection de chemins : nœud, arc prédicat, nœud, arc prédicat, nœud, arc prédicat, ... ,nœud qui recouvre la totalité du graphe.  Un graphe RDF/XML se transforment en séquences d'éléments à l'intérieur d'éléments en alternant entre des éléments pour des nœuds et d’autre élément pour des arcs de prédicats.  Le nœud au début de la séquence devient l'élément le plus à l'extérieur, l'arc de prédicat suivant se transforme en un élément enfant, etc.  un document RDF / XML commencent toujours par des nœuds. Chapitre 3 RDF & Syntaxes de RDF 40 4 GI - 2018/2019
  • 41.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML  Un graphe peut être considéré comme une collection de chemins : nœud, arc prédicat, nœud, arc prédicat, ... ,nœud Chapitre 3 RDF & Syntaxes de RDF 41 4 GI - 2018/2019  Nœud identifier par l’IRI : http://www.w3.org/TR/rdf-syntax-grammar  Arc Prédicat identifié par l’IRI : http://example.org/terms/editor  Nœud sans IRI  Arc Prédicat identifié par l’IRI : http://example.org/terms/homePage  Nœud identifier par l’IRI : http://purl.org/net/dajobe/ Le graphe RDF suivant est constitué de :
  • 42.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML  En RDF/XML, un graphe RDF/XML se transforment en séquences d'éléments à l'intérieur d'éléments en alternant entre des éléments pour des nœuds et élément pour des arcs de prédicats.  L’élément <rdf:Description> Chapitre 3 RDF & Syntaxes de RDF 42 4 GI - 2018/2019  la séquence de nœuds et arcs de prédicats correspond à l'utilisation d’éléments XML de deux types :  Éléments nœud (node elements) représenté par l’élément rdf:Description  Éléments propriété (property elements) qui sont le contenue des éléments nœuds
  • 43.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML Chapitre 3 RDF & Syntaxes de RDF 43 4 GI - 2018/2019 <rdf:Description> <ex:editor> <rdf:Description> <ex:homePage> <rdf:Description> </rdf:Description> </ex:homePage> </rdf:Description> </ex:editor> </rdf:Description>
  • 44.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML L ’attribut rdf:about  Lorsque les éléments nœud sont des IRI, on utilise l’attribut rdf:about de l’éléments rdf:Description pour associer cette IRI à l’élément en question  Mais Lorsque il s’agit d’un nœud vide, les éléments rdf:Description reste vide (sans aucun attribut rdf:about) Chapitre 3 RDF & Syntaxes de RDF 44 4 GI - 2018/2019 ... <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar" > <ex:editor> <rdf:Description > <ex:homePage> <rdf:Description rdf:about="http://purl.org/net/dajobe/" > ...
  • 45.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML Chapitre 3 RDF & Syntaxes de RDF 45 4 GI - 2018/2019 <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar" > <ex:editor> <rdf:Description > <ex:homePage> <rdf:Description rdf:about="http://purl.org/net/dajobe/" > </rdf:Description> </ex:homePage> </rdf:Description> </ex:editor> </rdf:Description>
  • 46.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML  Lorsque l’élément nœud (L’objet) est un littéral, il constitue le contenue de l’éléments propriété Chapitre 3 RDF & Syntaxes de RDF 46 4 GI - 2018/2019 ... <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <dc:title>RDF 1.1 XML Syntax</dc:title> </rdf:Description> ...
  • 47.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML Pour le graphe RDF suivant : Chapitre 3 RDF & Syntaxes de RDF 47 4 GI - 2018/2019
  • 48.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML On a le code suivant : Chapitre 3 RDF & Syntaxes de RDF 48 4 GI - 2018/2019 ... <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <ex:editor> <rdf:Description> <ex:homePage> <rdf:Description rdf:about="http://purl.org/net/dajobe/"> </rdf:Description> </ex:homePage> </rdf:Description> </ex:editor> </rdf:Description> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <ex:editor> <rdf:Description> <ex:fullName>Dave Beckett</ex:fullName> </rdf:Description> </ex:editor> </rdf:Description> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <dc:title>RDF 1.1 XML Syntax</dc:title> </rdf:Description> ...
  • 49.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML  Plusieurs abréviations peuvent être utilisées pour réduire le code RDF/XLM représentant un graphe RDF  Plusieurs éléments propriété (Multiple Property Elements) lorsqu'un élément nœud a plusieurs éléments propriété, le code RDF/XML peut être abrégé en utilisant plusieurs éléments propriétés enfants à l'intérieur de l'élément nœud décrivant le nœud sujet. Chapitre 3 RDF & Syntaxes de RDF 49 4 GI - 2018/2019 <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> ... </rdf:Description> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> ... </rdf:Description> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> ... </rdf:Description>
  • 50.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML On a le code suivant : Chapitre 3 RDF & Syntaxes de RDF 50 4 GI - 2018/2019 ... <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <ex:editor> <rdf:Description> <ex:homePage> <rdf:Description rdf:about="http://purl.org/net/dajobe/"> </rdf:Description> </ex:homePage> </rdf:Description> </ex:editor> </rdf:Description> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <ex:editor> <rdf:Description> <ex:fullName>Dave Beckett</ex:fullName> </rdf:Description> </ex:editor> </rdf:Description> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <dc:title>RDF 1.1 XML Syntax</dc:title> </rdf:Description> ...
  • 51.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML  le code RDF/XLM du graphe RDF précédent peut écrit sous forme Chapitre 3 RDF & Syntaxes de RDF 51 4 GI - 2018/2019 ... <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <ex:editor> <rdf:Description> <ex:homePage> <rdf:Description rdf:about="http://purl.org/net/dajobe/"> </rdf:Description> </ex:homePage> <ex:fullName>Dave Beckett</ex:fullName> </rdf:Description> </ex:editor> <dc:title>RDF 1.1 XML Syntax</dc:title> </rdf:Description> ...
  • 52.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML  Plusieurs éléments propriété (Multiple Property Elements)  Eléments propriété vide (Empty Property Elements) Lorsqu'un arc de prédicat dans un graphe RDF pointe vers un nœud objet qui n'a plus d'arc de prédicat (élément nœud vide <rdf:Description rdf:about = "..."> </ rdf:Description >), on utilise l'IRI du nœud objet en tant que valeur d'un attribut XML rdf:resource sur l'élément de propriété. Chapitre 3 RDF & Syntaxes de RDF 52 4 GI - 2018/2019 ... <ex:homePage> <rdf:Description rdf:about="http://purl.org/net/dajobe/"> </rdf:Description> </ex:homePage> ... ... <ex:homePage rdf:resource="http://purl.org/net/dajobe"> </ex:homePage> ...
  • 53.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML  le code RDF/XLM du graphe RDF précédent peut écrit sous forme Chapitre 3 RDF & Syntaxes de RDF 53 4 GI - 2018/2019 <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <ex:editor> <rdf:Description> <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/> <ex:fullName>Dave Beckett</ex:fullName> </rdf:Description> </ex:editor> <dc:title>RDF 1.1 XML Syntax</dc:title> </rdf:Description>
  • 54.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML  Plusieurs éléments propriété (Multiple Property Elements)  Eléments propriété vide (Empty Property Elements)  Attributs propriété (Property Attributes) Lorsque le contenu d'un élément propriété est un littéral de type chaine de caractère, il est possible de l'utiliser comme attribut XML sur l'élément nœud le contenant. Chapitre 3 RDF & Syntaxes de RDF 54 4 GI - 2018/2019 ... <rdf:Description> <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/> <ex:fullName>Dave Beckett</ex:fullName> </rdf:Description> ... ... <rdf:Description ex:fullName="Dave Beckett"> <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/> </rdf:Description> ...
  • 55.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML  le code RDF/XLM du graphe RDF précédent peut écrit sous forme Chapitre 3 RDF & Syntaxes de RDF 55 4 GI - 2018/2019 ... <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <ex:editor> <rdf:Description ex:fullName="Dave Beckett" > <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/> </rdf:Description> </ex:editor> <dc:title>RDF 1.1 XML Syntax</dc:title> </rdf:Description> ...
  • 56.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML  le code complet RDF/XLM du graphe RDF :  Pour créer un document RDF/XML complet, la sérialisation du graphe RDF en RDF/XML est généralement contenue dans un élément rdf:RDF qui l'élément racine de document XML.  L'élément rdf:RDF est également utilisé pour déclarer les espaces de noms XML utilisés, bien que cela ne soit pas obligatoire.  Lorsque rdf:RDF ne contient qu'un seul élément nœud de niveau supérieur, la balise rdf:RDF peut être omis bien que tout espace de nom XML doive toujours être déclaré.  La spécification XML permet également une déclaration du prologue XML en haut du document spécifiant la version XML et éventuellement le codage du contenu XML. Chapitre 3 RDF & Syntaxes de RDF 56 4 GI - 2018/2019
  • 57.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML  le code complet RDF/XLM du graphe RDF : Chapitre 3 RDF & Syntaxes de RDF 57 4 GI - 2018/2019 <?xml version="1.0"? encoding="utf-8" > <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ex="http://example.org/stuff/1.0/"> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar" dc:title="RDF1.1 XML Syntax"> <ex:editor> <rdf:Description ex:fullName="Dave Beckett"> <ex:homePage rdf:resource="http://purl.org/net/dajobe/" /> </rdf:Description> </ex:editor> </rdf:Description> </rdf:RDF>
  • 58.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML - Validation Chapitre 3 RDF & Syntaxes de RDF 58 4 GI - 2018/2019 https://www.w3.org/RDF/Validator/
  • 59.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML - Validation Chapitre 3 RDF & Syntaxes de RDF 59 4 GI - 2018/2019
  • 60.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML 4 GI - 2018/2019 Chapitre 3 RDF & Syntaxes de RDF 60 Exercice 3:  Donner La sérialisation RDF/XML du graphe suivant
  • 61.
    Exercice 1 4 GI- 2018/2019 Chapitre 3 RDF & Syntaxes de RDF 61 <?xml version="1.0" encoding="UTF-8"?> <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/Profs#MichelGagnon"> <local:worksAt rdf:resource="http://www.polymtl.ca/Vocabulary#dgi"/> </rdf:Description> <rdf:Description rdf:about="http://www.polymtl.ca/Profs#MichelGagnon"> <local:hasName>Michel Gagnon</local:hasName> </rdf:Description> <rdf:Description rdf:about="http://www.polymtl.ca/Profs#MichelGagnon"> <local:hasHomePage rdf:resource="http://www.professeurs.polymtl.ca/michel.gagnon"/> </rdf:Description> </rdf:RDF>
  • 62.
    Exercice 1 4 GI- 2018/2019 Chapitre 3 RDF & Syntaxes de RDF 62  <?xml version="1.0" encoding="UTF-8"?> <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="prof:MichelGagnon"> <local:worksAt rdf:resource="local:dgi"/> </rdf:Description> <rdf:Description rdf:about="prof:MichelGagnon"> <local:hasName>Michel Gagnon</local:hasName> </rdf:Description> <rdf:Description rdf:about="prof:MichelGagnon"> <local:hasHomePage rdf:resource="http://www.professeurs.polymtl.ca/michel.gagnon"/> </rdf:Description> </rdf:RDF>
  • 63.
    Exercice 1 4 GI- 2018/2019 Chapitre 3 RDF & Syntaxes de RDF 63  <?xml version="1.0" encoding="UTF-8"?> <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="prof:MichelGagnon"> <local:worksAt rdf:resource="local:dgi"/> <local:hasName>Michel Gagnon</local:hasName> <local:hasHomePage rdf:resource="http://www.professeurs.polymtl.ca/michel.gagnon"/> </rdf:Description> </rdf:RDF>
  • 64.
    Exercice 1 4 GI- 2018/2019 Chapitre 3 RDF & Syntaxes de RDF 64  <?xml version="1.0" encoding="UTF-8"?> <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="prof:MichelGagnon" local:hasName="Michel Gagnon"> <local:worksAt rdf:resource="local:dgi"/> <local:hasHomePage rdf:resource="http://www.professeurs.polymtl.ca/michel.gagnon"/> </rdf:Description> </rdf:RDF>
  • 65.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML – Langues Chapitre 3 RDF & Syntaxes de RDF 65 4 GI - 2018/2019 Langues: xml:lang  RDF/XML permet l’utilisation de l’attribut xml:lang qui permet l’identification de la langue du contenu.  L'attribut xml:lang peut être utilisé sur tout élément nœud ou élément propriété pour indiquer que le contenu inclus est dans la langue donnée. <?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <dc:title>RDF 1.1 XML Syntax</dc:title> <dc:title xml:lang="en">RDF 1.1 XML Syntax</dc:title> <dc:title xml:lang="en-US">RDF 1.1 XML Syntax</dc:title> </rdf:Description> </rdf:RDF>
  • 66.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML – littéraux XML Chapitre 3 RDF & Syntaxes de RDF 66 4 GI - 2018/2019 littéraux XML : rdf:parseType="Literal"  RDF permet aux littéraux XML d’être définie en tant que nœud objet d'un prédicat.  Ils sont écrites en tant que contenu d'un élément propriété (pas d'un attribut de propriété) à l'aide de l'attribut rdf:parseType="Literal" de l'élément de propriété contenant. <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://example.org/stuff/1.0/"> <rdf:Description rdf:about="chap3"> <ex:code rdf:parseType="Literal"> <p>Blablabla <b>coucou</b> blablabla</p> </ex:code> </rdf:Description> </rdf:RDF>
  • 67.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML – Littéraux typés Chapitre 3 RDF & Syntaxes de RDF 67 4 GI - 2018/2019 Littéraux typés : rdf:datatype  RDF permet aux littéraux typés d’être donnés en tant que nœud objet d'un prédicat.  Ils sont écrites en tant que contenu d'un élément propriété (pas d'attribut de propriété) à l'aide de l'attribut supplémentaire rdf:datatype="datatypeURI" de l'élément de propriété. <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://example.org/stuff/1.0/"> <rdf:Description rdf:about="http://example.org/item01"> <ex:size rdf:datatype="http://www.w3.org/2001/XMLSchema#int"> 123 </ex:size> </rdf:Description> </rdf:RDF>
  • 68.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML – NœudsVides Chapitre 3 RDF & Syntaxes de RDF 68 4 GI - 2018/2019 Identification des nœuds vides: rdf:nodeID  Un identifiant peut être attribuer au nœud vide pour l'identifier dans un document RDF/XML  Un identificateur de nœud vide est utilisé sur un élément nœud pour remplacer rdf:about="IRI" avec rdf:nodeID="identificateur de nœud vide". Exemple: ex:Titi ex:voit ex:cache Gris Nounours ex:type Ex:couleur ex:Table
  • 69.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML – NœudsVides Chapitre 3 RDF & Syntaxes de RDF 69 4 GI - 2018/2019 <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://ex.com/#"> <rdf:Description rdf:about="ex:Titi"> <ex:voit> <rdf:Description rdf:nodeID="n123"> <rdf:type rdf:resource=" Nounours"/> </rdf:Description> </ex:voit> </rdf:Description> <rdf:Description rdf:nodeID="n421"> <ex:couleur>Gris</ex:couleur> </rdf:Description> <rdf:Description rdf:about="ex:Table"> <ex:cache rdf:nodeID="n123"/> </rdf:Description> </rdf:RDF> ex:Titi ex:voit ex:cache Gris Nounours ex:type Ex:couleur ex:Table
  • 70.
    III - Sérialisationdes graphes RDF Conteneurs & Collections Chapitre 3 RDF & Syntaxes de RDF 70 4 GI - 2018/2019
  • 71.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML Conteneurs  Un conteneur est une sort de ressource qui contient d’autres ressources  Avec RDF on peut spécifier qu’une ressource est un conteneur et indiquer les relations entre cette ressource et les entités qu’elle contient.  RDF propose trois classes de conteneur : rdf:Bag, rdf:Seq et rdf:Alt.  rdf:Bag: les membres n’ont aucun ordre entre eux.  rdf:Seq: suppose l’existence d’un ordre entre les membres.  rdf:Alt: présente des alternatives parmi lesquelles on s’attend à ce qu’une seule soit sélectionnée. Chapitre 3 RDF & Syntaxes de RDF 71 4 GI - 2018/2019
  • 72.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML  Le conteneur est relié à chacun des ses membres par une relation rdf:_n, où n est un entier.  RDF n’interdit pas d’avoir deux membres avec la même valeur n, même avec le conteneur rdf:Seq  RDF n’interdit pas qu’il y ait des sauts dans la numérotation. on peut décrire un conteneur avec les relations rdf:_1, rdf:_2 et rdf:_4.  RDF fournit une abréviation en utilisant la relation rdf:li pour chaque membre, au lieu de la relation spécifique rdf:_n. Chapitre 3 RDF & Syntaxes de RDF 72 4 GI - 2018/2019
  • 73.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML Exemple : Supposons que les trois professeur Java-Prof, CPP-Prof et WS-prof sont parmi les membres de département d’informatique. Chapitre 3 RDF & Syntaxes de RDF 73 4 GI - 2018/2019 <?xml version="1.0"?> <rdf:RDF xmlns:exp="http://example.org/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Seq rdf:about="exp:Computer-Science-department"> <rdf:_1 rdf:resource="exp:Java-prof"/> <rdf:_5 rdf:resource="exp:IA-prof"/> <rdf:_3 rdf:resource="exp:WS-prof"/> </rdf:Seq> </rdf:RDF>
  • 74.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML Chapitre 3 RDF & Syntaxes de RDF 74 4 GI - 2018/2019 <?xml version="1.0"?> <rdf:RDF xmlns:exp="http://example.org/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Seq rdf:about="exp:Computer-Science-department"> <rdf:_1 rdf:resource="exp:Java-prof"/> <rdf:_5 rdf:resource="exp:IA-prof"/> <rdf:_3 rdf:resource="exp:WS-prof"/> </rdf:Seq> </rdf:RDF>
  • 75.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML Chapitre 3 RDF & Syntaxes de RDF 75 4 GI - 2018/2019 <?xml version="1.0"?> <rdf:RDF xmlns:exp="http://example.org/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Seq rdf:about="exp:Computer-Science-department"> <rdf:li rdf:resource="exp:Java-prof"/> <rdf:li rdf:resource="exp:IA-prof"/> <rdf:li rdf:resource="exp:WS-prof"/> </rdf:Seq> </rdf:RDF>
  • 76.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML  Un des désavantages avec les conteneurs est qu’il n’est pas possible de les considérer comme des ensembles fermés.  Ainsi, si dans une description on spécifie l’existence de trois éléments dans un conteneur, on n’a jamais de garantie qu’il ne contient que ces trois éléments.  Rien n’empêche de spécifier d’autres éléments de ce conteneur dans une autre description.  Pour pallier cette lacune, RDF permet de définir des collections, qui sont en quelque sorte des listes. Chapitre 3 RDF & Syntaxes de RDF 76 4 GI - 2018/2019
  • 77.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML Collections  La liste vide est représentée par une ressource spéciale prédéfinie dont l’URI est rdf:nil.  On construit une liste de manière récursive en utilisant le prédicat rdf:first pour indiquer le premier élément de la liste, et le prédicat rdf:rest pour indiquer le reste de la liste, qui est lui-même une liste. Exemple  Si, par exemple, on sait que les trois professeurs cités dans le modèle précédent sont les seuls du département , on peut utiliser une liste au lieu d’un conteneur : Chapitre 3 RDF & Syntaxes de RDF 77 4 GI - 2018/2019
  • 78.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML Chapitre 3 RDF & Syntaxes de RDF 78 4 GI - 2018/2019 <?xml version="1.0"?> <rdf:RDF xmlns:exp="http://example.org/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:List rdf:about="exp:Computer-Science-department"> <rdf:first rdf:resource="exp:Java-prof"/> <rdf:rest> <rdf:List> <rdf:first rdf:resource="exp:IA-prof"/> <rdf:rest> <rdf:List> <rdf:first rdf:resource="exp:WS-prof"/> <rdf:rest rdf:resource="rdf:nil"/> </rdf:List> </rdf:rest> </rdf:List> </rdf:rest> </rdf:List> </rdf:RDF>
  • 79.
    III - Sérialisationdes graphes RDF Syntaxe - RDF/XML Collections  Comme cette syntaxe est très lourde, il existe donc une abréviation, mais qui ne pourra être utilisée que si la liste est l’objet d’un triplet, Chapitre 3 RDF & Syntaxes de RDF 79 4 GI - 2018/2019 <?xml version="1.0"?> <rdf:RDF xmlns:exp="http://example.org/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="http://example.org/basket"> <exp:Computer-Science-department rdf:parseType="Collection"> <rdf:Description rdf:about="Java-prof"/> <rdf:Description rdf:about="exp:IA-prof"/> <rdf:Description rdf:about="exp:WS-prof"/> </exp:Computer-Science-department> </rdf:Description> </rdf:RDF>
  • 80.
    Plan Chapitre 3 RDF &Syntaxes RDF I – Introduction II – Modèle de Données RDF III – Sérialisation des graphes RDF Syntaxe – RDF/XML Syntaxe –Turtle Chapitre 3 RDF & Syntaxes de RDF 80 4 GI - 2018/2019
  • 81.
    III - Sérialisationdes graphes RDF Syntaxe - TURTLE Turtle  Un document Turtle permet d’écrire un graphe RDF sous une forme textuelle compacte.  Un graphe RDF est composé de triples  Chaque triplet est composés d'un sujet, d'un prédicat et d'un objet. Triplet Simple  EnTurtle, un triple est représenté par une séquence de termes (sujet, prédicat, objet), séparés par des espaces et terminés par '.' Chapitre 3 RDF & Syntaxes de RDF 81 4 GI - 2018/2019
  • 82.
    III - Sérialisationdes graphes RDF Syntaxe - TURTLE Listes de prédicats  Dans le cas ou le même sujet sera référencé par un certain nombre de prédicats, les couples prédicats-objet de la liste de prédicats et d'objets liée à ce sujet sont séparés par le symbole ';' Chapitre 3 RDF & Syntaxes de RDF 82 4 GI - 2018/2019
  • 83.
    III - Sérialisationdes graphes RDF Syntaxe - TURTLE Listes d’Objets  Dans le cas ou le même couple sujet et prédicat est partagé par plusieurs objets, la liste des objets liée à ce couple (sujet, prédicat) sont séparer par le symbole ',' Chapitre 3 RDF & Syntaxes de RDF 83 4 GI - 2018/2019
  • 84.
    III - Sérialisationdes graphes RDF Syntaxe - TURTLE IRIs  IRI peut être : relative ou Absolue ou Préfixée par un nom.  Les IRI relatives et absolues sont délimitées par '<' et '>' IRI relatifs  Les IRI relatifs tels que <#green-goblin> sont résolus par rapport à l'IRI de base actuel. Une nouvelle IRI de base peut être définie à l'aide de la directive "@base" ou "BASE". Chapitre 3 RDF & Syntaxes de RDF 84 4 GI - 2018/2019
  • 85.
    III - Sérialisationdes graphes RDF Syntaxe - TURTLE IRI préfixé  Un nom préfixé est composé d’une étiquette (label) et une partie locale, séparées par la caractère ':'.  Un nom préfixé est transformé en un IRI en concaténant l'IRI associé au préfixe et à la partie locale.  La directive '@prefix' ou 'PREFIX' associe une étiquette à une IRI. Chapitre 3 RDF & Syntaxes de RDF 85 4 GI - 2018/2019
  • 86.
    III - Sérialisationdes graphes RDF Syntaxe - TURTLE IRI préfixé vide et Etendu  PréfixeVide  Préfixe étendu (Stand) Chapitre 3 RDF & Syntaxes de RDF 86 4 GI - 2018/2019
  • 87.
    III - Sérialisationdes graphes RDF Syntaxe - TURTLE L’IRI http://www.w3.org/1999/02/22-rdf-syntax-ns#type  Le jeton 'a' dans la position de prédicat d'un triplet remplace l'IRI http://www.w3.org/1999/02/22-rdf-syntax-ns#type Chapitre 3 RDF & Syntaxes de RDF 87 4 GI - 2018/2019
  • 88.
    III - Sérialisationdes graphes RDF Syntaxe - TURTLE NœudVide  Les nœuds vide dans Turtle sont exprimés par deux caractères _: suivi par une étiquette qui est une série de caractères.  Un nœud vide peut aussi être représenté par les crochets [] Chapitre 3 RDF & Syntaxes de RDF 88 4 GI - 2018/2019
  • 89.
    III - Sérialisationdes graphes RDF Syntaxe - TURTLE NœudVide Chapitre 3 RDF & Syntaxes de RDF 89 4 GI - 2018/2019
  • 90.
    II - Modèlede Données RDF Exercices 4 GI - 2018/2019 Chapitre 3 RDF & Syntaxes de RDF 90  Exercice 5 1. Sérialiser les triplets suivant en utilisant Turtle urn:TELECOMSudParis ex:located-at urn:locationOfTelecomSudParis urn:locationOfTelecomSudParis ex:has-street "rue Charles Fourier" urn:locationOfTelecomSudParis ex:has-postal-code "9100" urn:locationOfTelecomSudParis ex:has-city "Evry" urn:locationOfTelecomSudParis ex:has-country "France“ <http://www.w3.org/> rdf:type ex:website <http://www.w3.org/> ex:hosts urn:sw-activity-homepage urn:sw-activity-homepage rdf:type urn:homepage urn:sw-activity ex:has-homepage urn:sw-activity-homepage
  • 91.
    II - Modèlede Données RDF Exercices 4 GI - 2018/2019 Chapitre 3 RDF & Syntaxes de RDF 91  Exercice 5 2. Sérialiser les triplets suivant en utilisant Turtle urn:TELECOMSudParis ex:located-at _:x _:x ex:has-street "rue Charles Fourier " _:x ex:has-postal-code "9100" _:x ex:has-city "Evry" _:x ex:has-country "France" <http://www.w3.org/> ex:hosts _:Y _:Y rdf:type ex:homepage
  • 92.
    4 GI -2018/2019 Chapitre 3 RDF & Syntaxes de RDF 92 RDF
  • 93.
    Bibliographie 4 GI -2018/2019 Chapitre 3 RDF & Syntaxes de RDF 93  https://www.w3.org/TR/2014/NOTE-rdf11-primer-20140624/  https://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model  https://www.w3.org/TR/rdf-syntax-grammar/#section-Introduction  https://www.w3.org/TR/2014/REC-turtle-20140225/