Attention : Le contenu de ces pages n'a pas été mis à jour depuis au moins 2016.
Les informations techniques ne sont pertinentes que pour les versions 4.0 maximum de Firefox/Gecko.
Il est fort probable que des liens vers des sites web externes ne fonctionnent plus.

Magie de rdf

  • * Article en cours de rédaction**

La magie de RDF

Un enrichissement naturel et simple des informations

Je ne sais pas si vous avez remarqué dans l'introducion à RDF, mais les informations que l'on écrivait dans le contenu RDF n'avait pas vraiment d'ordre. Et en effet, il n'y a pas d'ordre en RDF.

Quand un moteur RDF lit un contenu RDF, il lit séquentiellement les informations, et les ajoute petit à petit dans sa mémoire, construit petit à petit un graphe, réalise les connexions entre noeud avec les prédicats qu'il trouve, agrège les informations qu'on lui donne quand c'est possible.

C'est ainsi que ce contenu, malgré sa pauvreté est tout à fait valide :

 <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    [[xmlns:RDF="!http://www.w3.org/1999/02/22-rdf-syntax-ns#"]]>
    <Bag RDF:about="[[urn:listenews"]]>
        <li RDF:resource="urn:news:1"/>
        <li RDF:resource="urn:news:2"/>
        <li RDF:resource="urn:news:3"/>
    </Bag>
 </RDF>

Il n'y a pas de description sur les ressources urn:news:1, urn:news:2, et urn:news:3, mais ce n'est pas grave. Ces informations seront peut être ajoutées plus tard. Ou avant. Ou jamais.

C'est ainsi aussi que la description d'une ressource n'a pas besoin d'être définie en un seul endroit. On peut décrire par exemple une ressource avec plusieurs déscriptions. Par exemple, quand on écrit ces deux déscriptions qui conçernent la même ressource :

  <Description RDF:about="urn:news:1">
     <news:id_news>1</!news:id_news>
     <news:titre>foo</!news:titre>
  </Description>
  <Description RDF:about="urn:news:1">
     <news:texte>blablafoo</!news:texte>
     <news:date>01/01/2006</!news:date>
  </Description>

C'est strictement équivalent à cela :

  <Description RDF:about="urn:news:1">
     <news:id_news>1</!news:id_news>
     <news:titre>foo</!news:titre>
     <news:texte>blablafoo</!news:texte>
     <news:date>01/01/2006</!news:date>
  </Description>

Cela décrit le même graphe. Les informations s'aggrègent naturellement lorsqu'elles sont analysées par le même moteur RDF. D'ailleurs, lui, au final, ne voit que le contenu complet. Peut importe d'où viennent les informations. Le résultat sera un graphe global.

Le système stockant des informations à partir de contenu RDF, peut ainsi s'enrichir petit à petit sans remettre en cause une structure de donnée. Ce n'est pas le cas d'une base de donnée SQL. Si on veut rajouter une information dans une table, il faut créer explicitement, un champs. En RDF, pas besoin. Si je veux rajouter le nom des auteurs dans les ressources news (les exemples de l'introduction), j'ai juste à donner au moteur RDF le contenu suivant :

 <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    [[xmlns:RDF="!http://www.w3.org/1999/02/22-rdf-syntax-ns#]]"
    [[xmlns:news="!http://xufr.org/ns/news#"]]>
    <Description RDF:about="urn:news:1" news:auteur="Laurent" />
    <Description RDF:about="urn:news:2" news:auteur="Paul" />
    <Description RDF:about="urn:news:3" news:auteur="David" />
 </RDF>

Le moteur RDF se chargera tout seul, sans qu'on lui indique comment, de stocker les informations et de les agréger aux informations existantes des ressources conçernées. Voici donc une representation équivalente de la ressource urn:news:1 :

  <Description RDF:about="urn:news:1">
     <news:id_news>1</!news:id_news>
     <news:titre>foo</!news:titre>
     <news:texte>blablafoo</!news:texte>
     <news:date>01/01/2006</!news:date>
     <news:auteur>Laurent</!news:auteur>
  </Description>

On a ainsi enrichit tout naturellement et simplement le graphe.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.