Nouveautés de RDF 1.1

Julien Plu

La nouvelle version de RDF présentera certes un très petit nombre de nouveautés, mais celles-ci sont très avantageuses et importantes. Commentez ici cet article Commentez

- Titre : Nouveautés de RDF 1.1

- Auteur : Julien Plu

- Parution : 20 février 2012

- Mise à jour : 10 janvier 2016

- Public visé :

- Licence : Copyright ® 2012-2016 Julien Plu. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Support pour les graphes multiples et magasins de graphes

- II. Syntaxe

- III. Changements/modifications des concepts, du modèle ou de la sémantique de RDF

- IV. Divers

- V. Référence

- VI. Remerciements

I - Support pour les graphes multiples et magasins de graphes

La communauté RDF utilise le terme « graphes nommés » depuis plusieurs années dans divers milieux, mais ce terme reste ambigu et fait souvent référence à ce qui est plutôt des graphes cités, des graphes littéraux, des URI pour les graphes, des bases de connaissances, des magasins de graphes... Le terme « support pour les graphes multiples et magasins de graphes » est utilisé comme un terme neutre qui n'est pas et ne doit pas être considéré comme définitif. Le groupe de travail de RDF définira le(s) terme(s) exact(s) et s'occupera de standardiser cela.

Ces deux termes entreront dans la notion de jeu de données RDF, provenant à l'origine du standard SPARQL et qui fera partie des concepts de RDF.

II - Syntaxe

La plus importante nouveauté est très certainement la normalisation de la syntaxe RDF Turtle qui est actuellement en Last Call. Turtle ne permettra pas de décrire plusieurs graphes RDF dans le même document.

La seconde est qu'il y aura une syntaxe JSON pour RDF, appelée JSON-LD. Elle permet également de sérialiser des jeux de données, mais est aussi un peu plus souple que les autres syntaxes, puisqu'elle permet d'écrire des choses qui ne correspondent pas à des graphes RDF valides. Elle sera accompagnée d'une API nommée API JSON-LD qui devrait être standardisée en même temps dans une recommandation W3C.

Il y aura également une syntaxe de type N-triples. Celle-ci sera une recommandation. Tout document N-triples sera néanmoins également un document Turtle. La même recommandation servira à décrire N-Quads. Le but de ces syntaxes est d'offrir un mode de sérialisation ultra-facile à parser (un triplet/quad par ligne).

Pour finir, il y aura aussi une syntaxe concrète pour écrire des jeux de données RDF, qui ressemblera fort à TriG. Le W3C ne recommandera aucune sémantique formelle pour la structure d'un jeu de données RDF.

RDF/XML ne changera presque pas. En fait, la syntaxe sera la même, mais il faudra modifier le mapping de RDF/XML vers des triplets RDF. En pratique, ça ne change presque rien pour les applications.

III - Changements/modifications des concepts, du modèle ou de la sémantique de RDF

La plus attendue est la clarification de l'usage des IRI (International Resource Identifier) comme référence pour les ressources RDF. Une autre encore est de compléter les règles d'inférence, et de mettre à jour le lemme d'implication.

Le type rdf:HTML est introduit, permettant d'inclure du HTML 5 dans un graphe RDF. rdf:XMLLiteral est légèrement mis à jour pour être moins strict. On ne sera plus obligé d'embarquer un parser XML complet pour le moindre traitement de RDF.

Aussi, un des objectifs est de simplifier par exemple les requêtes SPARQL, qui pour le moment doivent être écrites de trois manières différentes pour obtenir le même résultat. En effet, le problème avec les littéraux de chaîne est que RDF propose actuellement trois façons différentes de faire quelque chose d'aussi simple que d'écrire une chaîne :

"foo" ;
"foo"^^xsd:string ;
"foo@"^^rdf:PlainLiteral. (qui est la façon la plus bizarre)

C'est pour cette raison qu'il n'y aura plus de notion de « plain literals ». Si la syntaxe concrète permet d'écrire des littéraux sans préciser de type, cela signifiera en réalité que le littéral a le type xsd:string. Les littéraux ayant un « language tag » auront implicitement le type rdf:langString, même si ce type n'apparaîtra pas dans le littéral. rdf:langString et xsd:string remplacent effectivement rdf:PlainLiteral, qui ne sera plus nécessaire.

Néanmoins, malgré ces quelques petits changements, la sémantique ne changera pas en profondeur a priori. Il ne devrait y avoir qu'une mise à jour pour se conformer aux nouvelles notions des concepts (rdf:HTML, rdf:langString, etc.). En revanche, la présentation du document devrait changer significativement. Les règles de la section informative seront mises hors du document et corrigées (elles sont incomplètes dans RDF Semantics 2004). Le nouveau document n'a pas encore été entamé. Il n'y aura pas de sémantique des datasets.

Enfin, il n'y aura pas, a priori, de dépréciation de termes RDF (quoique possiblement pour la réification).

IV - Divers

Mettre à jour et étendre le Primer RDF. Les nouvelles fonctionnalités peuvent inclure plusieurs exemples de syntaxe, qui ne sont plus à jour en termes de vocabulaire utilisé, pouvant traiter de questions autour des données liées comme l'utilisation de « owl:sameAs », l'algorithme de furetage...

V - Référence

Si vous souhaitez plus de détails sur ces nouveautés, consultez ces liens :

- RDF 1.1 ;

- Turtle ;

- JSON-LD ;

- API JSON-LD ;

- TriG ;

- N-Triples ;

- N-Quads.

VI - Remerciements

Merci à April Fool pour son aide à la rédaction de ce document. Merci à dourouc05, à Erielle, à bifconsult ainsi qu'à ClaudeLELOUP et à ced pour leur correction orthographique.