RDF en cinquante mots

Cette page vient d'être traduite, mais elle a besoin d'un relecteur différent du traducteur. Pensez également à toujours vérifier le contenu avec sa toute dernière version en anglais.

D'accord, peut-être qu'il y a un peu plus de cinquante mots, mais les points-clés sont plutôt simples (et en gras pour vous les dirigeants qui voulez juste aller à l'essentiel). Le Resource Description Framework (NdT : « Cadre de description de ressources »), ou « RDF », c'est en fait deux choses.

D'abord, RDF est un modèle à base de graphes pour décrire les ressources Internet (comme les pages web ou les emails), et comment ces ressources sont liées les unes aux autres.

Mais qu'est-ce que cela signifie réellement ? Pour un développeur Mozilla, cela veut dire que le modèle de donnée RDF (le « graphe ») peut être utilisé comme mécanisme pour intégrer et organiser les ressources Internet.

Prenons un exemple : les marque-pages. Actuellement, la plupart des navigateurs vous permettent d'organiser hiérarchiquement vos marque-pages dans des dossiers. Chaque marque-page est un pointeur vers une page web, appelé URI (Uniform Resource Identifier, ou identifiant uniforme de ressource).

Mais une page web est seulement une sorte de ressource Internet. Il y en a des tonnes d'autres, dont les emails, les articles de news Usenet (ou les newsgroups Usenet entiers), et les résultats de recherche de votre moteur de recherche favori, pour n'en citer que quelques uns. Et fondamentalement, il n'y a aucune raison pour que vous ne traitiez pas ces ressources comme des « marque-pages », en les regroupant dans des dossiers selon votre bon plaisir, ou même en créant des dossiers « intelligents » qui, quand vous les ouvrez, génèrent leur contenu dynamiquement en lançant une recherche commune que vous avez définie.

Et un marque-page peut vraiment avoir des propriétés arbitraires associées : vous pourriez vouloir inventer votre propre schéma « classification » pour un marque-page codé à la façon « cool » Macintosh. Ou vous pourriez vouloir relier un marque-page à un autre marque-page, ou le garder dans plusieurs « dossiers » à la fois.

Le graphe RDF fournit un modèle de données parfait sur lequel construire un service de marque-pages « universel » comme décrit ci-dessus : le graphe peut contenir des pointeurs vers des ressources arbitraires et les regrouper de n'importe quelle manière que vous pouvez imaginer.

Mais attendez, il y a plus…

Ensuite, RDF est une syntaxe de sérialisation. Cette syntaxe permet aux modèle à base de graphes d'être transmis entre « agents ».

D'accord, qu'est-ce que ça peut bien vouloir dire ? Fondamentalement, cela signifie que les parties du modèle de données RDF peuvent être communiquées au-delà des frontières du réseau, et les contenus du graphe peuvent changer dynamiquement lorsque l'information provient d'un service distant.

Reprenons l'exemple des marque-pages. Disons que l'un de mes « dossiers » de marque-pages est réellement un pointeur vers ma boîte de réception : lorsque j'ouvre ce dossier, voilà! Tous les messages que j'ai reçus dans la nuit apparaissent.

Mais comment cela marche-t-il ? Le dossier « boîte de réception » était en fait un simple pointeur vers une ressource Internet qui contient plus de RDF qui étendent le graphe. Cette « ressource Internet » était une URI qui pointait vers un script CGI (disons, http://www.mozilla.org/smart-mail/get-mail.cgi?user=waterson&folder=inbox). Le script CGI génère en fait du RDF sérialisé, qui est simplement un moyen de formater un graphe en XML :

<rdf:RDF
    xmlns:rdf="http://www.w3.org/TR/WD-rdf-syntax#"
    xmlns:sm="http://www.mozilla.org/smart-mail/schema#">
  <rdf:Description
    about="http://www.mozilla.org/smart-mail/ge...n&folder=inbox">
    <sm:message id="4025293">
       <sm:recipient>
         Chris Waterson "waterson@netscape.com"
       </sm:recipient>
       <sm:sender>
         Aunt Helga "helga@netcenter.net"
       </sm:sender>
       <sm:received-by>x-wing.mcom.com</sm:received-by>
       <sm:subject>Great recipe for Yam Soup!</sm:subject>
       <sm:body>
         http://www.mozilla.org/smart-mail/ge...cgi?id=4025293
       </sm:body>
    </sm:message>
    <sm:message id="4025294">
       <sm:recipient>
         Chris Waterson "waterson@netscape.com"
       </sm:recipient>
       <sm:sender>
         Sarah Waterson "waterson.2@postbox.acs.ohio-state.edu"
       </sm:sender>
       <sm:received-by>x-wing.mcom.com</sm:received-by>
       <sm:subject>We won our ultimate game</sm:subject>
       <sm:body>
         http://www.mozilla.org/smart-mail/ge...cgi?id=4025294
       </sm:body>
    </sm:message>
  </rdf:Description>
</rdf:RDF>

À la réception de la monstruosité ci-dessus, le moteur RDF incorpore le RDF à la bonne place dans le graphe, et le contrôle arbre qui implémente réellement l'UI dans le marque-page est informé qu'il devrait commencer à dessiner des icônes pour le dernier message sur la purée de patate douce de Tante Helga.

C'est exactement comme ça que fonctionne SmartMail.

Contact: Chris Waterson (waterson@netscape.com)

Informations sur le document original

Interwiki Language Links

Étiquettes et contributeurs liés au document

Étiquettes :
Contributeurs ayant participé à cette page : BenoitL, *.Har(d)t
Dernière mise à jour par : BenoitL,