Si le Web a été conçu, au départ, pour permettre à des intelligences humaines de lire des documents – accessibles par des hyper-liens –, la démultiplication de l’information disponible nécessite aujourd’hui d’autres types d’accès, basés sur des automatismes gérés par des programmes informatiques. C’est dans ce cadre que l’on voit fleurir bon nombre de moteurs de recherche sur Internet et beaucoup de technologies, encore à l’état expérimental, comme celles des "agents".

RDF permet de rendre plus "intelligente" l’information nécessaire à ces moteurs de recherche et, plus généralement, nécessaire à tout outil informatique analysant de façon automatisée des pages Web. Pour ce faire, RDF propose d’associer à toute ressource du Web un ensemble de descriptifs qui caractérisent au mieux cette ressource : on parle alors de métadonnées (en anglais, metadata). Présupposant un monde ouvert ou tout le monde parle de tout, RDF permet d’agréger des informations issues de différents éditeurs, sur un même sujet.

Du métalangage de définition de métadonnées, il est nécessaire de dériver des langages de définition de corpus homogènes de métadonnées. C’est la fonction d’un métalangage de définition de modèles (RDF-S), souvent appelés "vocabulaires". Ces vocabulaires RDF (qui relèvent plutôt de l’ordre de la syntaxe) seront spécifiques à une profession ou à une communauté particulière.

Une application pourra alors, par simple analyse des types de données définies dans le modèle, reconnaître un certain nombre de sémantiques applicables aux métadonnées liées à ce modèle. Elle pourra aussi déduire de nouvelles informations et c’est là où l’intelligence artificielle refait son apparition, avec ses bases de faits (les métadonnées) sur lesquelles des programmes vont pouvoir “raisonner” et “inférer”.

Décrire est une activité bien connue. Les bibliothécaires, les archivistes pratiquent la description depuis bien longtemps. Par ailleurs, HTML lui-même, dans ses versions récentes, proposait un certain nombre de possibilités de description dans les entêtes de document (éléments meta contenus dans élément head). RDF se propose alors de définir un cadre (framework) de définition de métadonnées, sans se prononcer plus avant sur la nature des métadonnées elles-mêmes.

Pour ce qui concerne XHTML, l’association à RDFa est maintenant formalisée dans RDF qui propose une méthode pour identifier des métadonnées n’importe où dans le corps d’une page Web (et pas seulement dans l’entête comme cela se faisait préalablement).

À noter, pour finir, que RDF-S prend toute sa signification avec l’apparition d’OWL qui permet de mettre en relation des vocabulaires (on parlera d’ontologies) présentant des concepts similaires.

Recommandations (attention, cette partie est maintenue de façon occasionnelle)
pictos/frflag.gif 
Initiation à RDF
- Recommandation, 10-02-2004, version 20040210
- accès à l'historique des versions
pictos/frflag.gif 
Spécification de la syntaxe RDF/XML (révisée)
- Recommandation, 10-02-2004, version 20040210
- accès à l'historique des versions
pictos/frflag.gif 
Sémantique RDF
- Recommandation, 10-02-2004, version 20040210
- accès à l'historique des versions
pictos/frflag.gif 
Jeux d'essais RDF
- Recommandation, 10-02-2004, version 20040210
- accès à l'historique des versions
pictos/enflag.gif 
RDF Primer
- Recommandation, 10-02-2004, version 20040210
- accès à l'historique des versions
pictos/enflag.gif 
RDF/XML Syntax Specification (Revised)
- Recommandation, 10-02-2004, version 20040210
- accès à l'historique des versions
pictos/enflag.gif 
RDF Semantics
- Recommandation, 10-02-2004, version 20040210
- accès à l'historique des versions
pictos/enflag.gif 
RDF Vocabulary Description Language 1.0: RDF Schema
- Recommandation, 10-02-2004, version 20040210
- accès à l'historique des versions
pictos/enflag.gif 
RDF Test Cases
- Recommandation, 10-02-2004, version 20040210
- accès à l'historique des versions
Objectifs

L’objectif de RDF est de proposer un cadre formel de définition de métadonnées, sans préjuger des vocabulaires et syntaxes utilisés pour écrire ces métadonnées : en ce sens, RDF est un métalangage spécialisé dans les métadonnées. Son objectif : rendre plus pertinent le traitement automatisé des informations contenues sur le Web, par la possibilité de fournir aux outils de traitement une information plus sémantique que les seuls mots contenus dans un document. De ce métalangage, il sera possible de définir des langages de description de données : ce sera l’objectif des vocabulaires RDF.

Un autre objectif de RDF est de fédérer les vocabulaires et syntaxes de description de métadonnées existantes dans un cadre (framework) commun. Cela ne veut pas dire qu’il s’agit de définir LE modèle de métadonnées, mais plutôt de permettre à chaque modèle de s’insérer harmonieusement dans les métadonnées décrivant une ressource particulière. Dans ce cadre, les vocabulaires RDF permettront de mieux contrôler les métadonnées au regard de leur modèle.

Dernier objectif, et pas des moindres, proposer une solution dans ce monde Internet totalement ouvert où “tout le monde peut dire quelque chose sur n’importe quel sujet”. Du coup, il faut pouvoir identifier, mais sans préjuger du fait que quelqu’un pourra identifier un même concept d’une autre façon. Il faut aussi permettre à différentes entités, distribuées sur le Web, de parler de la même chose, pourquoi pas de façon contradictoire.

Pour atteindre ses objectifs, le principe de RDF est de définir des ressources par des propriétés. Comme toutes les ressources sont identifiées, c’est l’agrégation des propriétés qui donnera une “complétude” aux métadonnées de la ressource. Ainsi, un éditeur pourrait donner un ensemble de métadonnées descriptives sur les livres qu’il commercialise. Un site de vente par correspondance pourra alors utiliser ces métadonnées pour les agréger avec différents autres sites commercialisant l’ouvrage et proposer l’ensemble à l’internaute.

Principes

Dans ses principes de base, RDF dissocie trois types d’objets : une "ressource" (resource) est définie par des valeurs (object) de "propriétés" (properties) ; l’association d’une ressource à une propriété par une valeur de propriété est une "assertion" (statement). Une assertion est donc un triplet : l’association des trois informations sujet, prédicat, objet.


RDFBASE.png

Ainsi, il est possible de décrire, avec RDF, des assertions du type : http://www.tireme.fr/glossaire a pour titre "Glossaire de Pierre Attar": http://www.tireme.fr/glossaire est la ressource (le sujet dont on parle) ; "a pour titre" est une propriété dont la valeur est "Glossaire de Pierre Attar".

La syntaxe utilisée par RDF étant XML, la déclaration précédente pourra s’écrire :

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

<rdf:description about="http://www.tireme.fr/glossaire/">

<titre>"Glossaire de Pierre Attar"</titre>

</rdf:description>

</rdf:RDF>

Un outil automatisé comprendra alors que l’on est en train de parler d’une ressource avec un propriété de type "titre" dont la valeur de propriété est "Glossaire de Pierre Attar". Que veut dire la propriété "titre" ? C’est à ce niveau que doivent intervenir les vocabulaires et syntaxes spécialisés (le Dublin Core propose de d’utiliser dc:title en lieu et place de titre dans l’exemple ci-dessus).

La syntaxe XML proposée peut prendre différentes formes et la seule chose finalement importante est le fait que l’ensemble des triplets forment un graphe orienté, fait de ressources (les nœuds) reliés par des propriétés (arcs orientés).

  • L’identification de ressource est une URI, que celle-ci identifie une information relative, dans le même fragment XML ou n’importe quelle autre ressource identifiée.
  • Une assertion est alors la conjonction :
    • sujet : ce dont on parle, une URI,
    • prédicat : comment on en parle, selon un vocabulaire défini dans une URI,
    • objet : la valeur de la propriété. À noter que l’objet peut prendre une valeur littérale (51kg) ou être lié à une ressource par ailleurs existante. Si l’objet est un littéral, il peut être typé et les types des Schema sont utilisables.

Ici, la force de RDF est de ne pas se prononcer sur le sujet et de laisser aux personnes définissant leurs métadonnées le choix du (des) vocabulaire(s) utilisé(s). Ainsi, il serait, par exemple, possible de définir plusieurs propriétés "créateur" : une qui soit compatible avec le Dublin Core, spécification de métadonnées extrêmement généraliste et, une qui soit compatible avec un modèle privé, recensant tous les créateurs dans une base de données ad hoc. Le fragment s’écrirait alors :

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:dc="http://purl.org/metadata/dublin_core#"

xmlns:mutu="http://www.mutu-xml.org/modèles/meta">

<rdf:description about="http://www.mutu-xml.org">

<dc:creator>projet MUTU-XML</dc:creator>

<mutu:créateur nom-en-base="MUTU-XML"/>

</rdf:description>

</rdf:RDF>

Pour aller plus loin, RDF définit un certain nombre d’autres constructeurs, permettant d’assembler des métadonnées entre elles :

  • les conteneurs (container) permettent d’assembler des valeurs propriétés entre elles. Cet assemblage peut définir un ensemble simple (bag), une séquence ordonnée (sequence) ou encore une alternative de valeurs (alternative) ;
  • il est enfin possible de faire des déclarations sur des déclarations, on parle alors de “réïfication”. Par exemple, pour dire des choses de type : "Mr Dupont a dit que Mutu-XML est le créateur de http://www.mutu-xml.org".
FR EN
puce 
Frequently Asked Questions about RDF (W3C)
W3C Technology and Society Domain
FR EN
puce 
Resource Description Framework, Wikipedia, 09/09/2009, édité par Wikimedia Foundation, Inc.
puce 
An Idiot's Guide to the Resource Description Framework, Renato Iannella, 25/01/1999, édité par DSTC Pty Ltd, University of Queensland, Australie
puce 
Redland Notes, RDF and RDF Schema Concepts Reference, Dave Beckett, 24/04/2001, édité par Institute for Learning and Research Technology (ILRT), University of Bristol, Grande-Bretagne
puce 
Putting RDF to work, Edd Dumbill, 09/08/2000, édité par xml.com
puce 
Getting Deep Into Metadata, Nate Zelnick, 15/06/2000, édité par internet.com
puce 
Markup Languages: Comparison and Examples, Yolanda Gil, Varun Ratnakar, 07/09/2001, édité par Trellis Project, USC/Information Sciences Institute, Etats-Unis
puce 
RDF and Metadata, Tim Bray, 09/06/1998, édité par xml.com
FR EN
puce 
Simplified XML Syntax for RDF
The Open Healthcare Group
puce 
RELAX NG Compact Schema for RDF/XML Syntax (W3C)
Schéma non normatif, initialement proposé par James Clark puis mis à jour

Valid XHTML + RDFa