Voici la suite de mes articles sur le Web sémantique où j’aborde ici le modèle RDF.
RDF, le standard du Web sémantique pour la description de ressources :
RDF signifie Ressource Description Framework. On entend par « Ressource » tout ce qui peut être identifié sur le web par un URI : une voiture, une personne..
On entend par « Description » les attributs, les caractéristiques des ressources ainsi que les relations qui existent entre elles.
Enfin, « Framework » désigne le modèle RDF dans son ensemble, une sémantique.
Décrire des ressources sur le Web :
Prenons par exemple les éléments clés du langage d’une tablette de chocolat :
- rdf:about : permet d’identifier la ressource décrite.
- rdf:type : permet de typer cette ressource et d’exprimer ainsi qu’il s’agit d’une tablette de chocolat de la marque Villars. Même principe que le codebarres en somme.
- rdf:label : permet d’exprimer pour un consommateur à la recherche de chocolat qu’il s’agit bien de « chocolat noir » dans cet emballage.
Le modèle RDF permet également d’enrichir les descriptions. Pour cette tablette de chocolat, on indiquera ainsi son producteur, son poids, ses ingrédients…
Principe du modèle RDF : un modèle de triplets
Le modèle RDF est un modèle dans lequel on décrit des ressources par des triplets :
(sujet, prédicat, objet)
Prenons un exemple avec la question suivante : Comment modéliser en RDF l’énoncé que doc.html a pour auteur Stéphanie, Yannick, Juliette et Antoine et a pour thème la veille stratégique ?
On décompose ainsi les descriptions en triplets :
sujet.html a pour auteur Stéphanie
sujet.html a pour auteur Yannick
sujet.html a pour auteur Juliette
sujet.html a pour auteur Antoine
sujet.html a pour thème veille stratégique
On obtient alors 4 triplets qui ont tous pour sujet « doc.html ». 3 triplets ont la même propriété « auteur » avec des valeurs différents et le 4ème triplet à pour propriété « thème » et pour valeur « veille stratégique ».
sujet.html a pour auteur, Stéphanie
sujet.html a pour auteur Yannick
sujet.html a pour auteur Juliette
sujet.html a pour auteur Antoine
sujet.html a pour thème veille stratégique
d’où :
(sujet.html , auteur, Stéphanie)
(sujet.html , auteur , Yannick)
(sujet.html , auteur , Juliette)
(sujet.html , auteur , Antoine)
(sujet.html , thème , veille stratégique)
Principe du modèle RDF : un modèle de graphes
Un triplet RDF peut également être vu comme un arc entre deux sommets d’un graphe. Deux triplets ayant un même sujet ou objet seront ainsi connectés dans ce graphe.
Exemple ci-joint avec la Tour Eiffel :
On dit que le modèle RDF est un modèle de multi-graphe orienté et étiqueté.
Exemple ici ou « doc » a pour thème « Web sémantique » et il présente ce sujet.
Syntaxe de sérialisation :
Voici un schéma extrait de la recommandation du W3C qui montre les 7 syntaxes recommandées à ce jour pour RDF.
La syntaxe historique de RDF est XML. Différentes autres syntaxes ont ensuite proposées au fil des années. Premièrement, N-Triples qui permet une sérialisation simple ligne à ligne des triplets RDF, puis Turtle qui étend N-Triples. Enfin, TriG qui est en Turtle et aussi N-Quads qui est en N-Triples.
Voici l’exemple d’une sérialisation en XML : (cliquez sur l’image pour l’agrandir)
Premièrement, on déclare à la racine les namespaces des URI qui étiquettent les propriétés du graphe RDF à sérialiser :
Ensuite, un graphe RDF est représenté par un élément « rdf:description » avec un attribut « about » dont la valeur est le point d’entrée dans le graphe, c’est-à-dire le sujet d’un ou plusieurs triplets RDF :
Alors, la propriété d’un triplet est représentée par un élément fils de l’élément « description » dans lequel est déclaré le sujet. La valeur de la propriété (dans le cas où il s’agit d’une ressource) peut-être ainsi représentée par la valeur « rdf:ressource » sur l’exemple ci-dessous qui désigne Catherine :
Enfin, vous trouverez ci-dessous des ressources pour en savoir plus sur le modèle RDF :
RDF Primer sur le site du W3C
Spécification du modèle et la syntaxe du cadre de description des ressources (Resource Description Framework ou RDF) : http://www.la-grange.net/w3c/REC-rdf-syntax/
Une introduction aux données liées et à RDF (https://jplu.developpez.com/tutoriels/web-semantique/introduction-donnees-liees-et-rdf/#LII-A)
Nombreuses ressources sur le Web Sémantique sur le blog de l’INRA