RDFa  Comment insuffler un peu d’intelligence à une  page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemple...
PROBLÉMATIQUE
Le code HTML d’une page Web <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;fr&quot;> <head> <title>Pr...
La même page Web dans un navigateur
La même page Web vu par un moteur de recherche <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;fr&quot...
Et pourtant,  il existe beaucoup d’informations <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;fr&quo...
Comment exprimer une donnée pour la machine ? Chien Animal Une série de signes reliés forme une donnée Machine doit compre...
Comment exprimer une donnée pour la machine ? Chien Animal Une série de signes reliés forme une donnée La donnée est encod...
Comment exprimer une donnée pour la machine ? Chien Animal Une série de signes reliés forme une donnée La donnée est encod...
Comment exprimer une donnée pour la machine ? Chien Animal Une série de signes reliés forme une donnée La donnée est encod...
Une première réponse : les microformats Les microformats sont une première tentative pragmatique pour ajouter un peu de st...
RDFa : la rencontre entre RDF et XML Dès 2004, Mark Birbeck propose un mécanisme pour ajouter des triplets RDF dans HTML. ...
PRINCIPES
Un graphe <http://www.w3.org/People/Berners-Lee/card#i> <http://xmlns.com/foaf/0.1/Person> <http://www.sciam.com/article.c...
Le même graphe en RDF/XML <ul><li><rdf:RDF  </li></ul><ul><li>xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; </li></ul>...
Le même graphe en RDFa <ul><li><!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot;  </li></ul><ul><li>&quot;h...
FOAF : Friend Of A Friend http://xmlns.com/foaf/spec/   Ontologie créée et maintenue par Dan Brickley et Libby Miller
RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&...
RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&...
RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&...
RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&...
RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&...
RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&...
RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&...
RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&...
RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&...
RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&...
RDFa Mon anniversaire est le <span property=&quot;foaf:birthday&quot; content=&quot;05-19&quot; xml:lang=&quot;en&quot;>19...
RDFa Mon anniversaire est le <span property=&quot;foaf:birthday&quot; content=&quot;05-19&quot; xml:lang=&quot;en&quot;>19...
RDFa Mon anniversaire est le <span property=&quot;foaf:birthday&quot; content=&quot;05-19&quot; xml:lang=&quot;en&quot;>19...
RDFa Mon anniversaire est le <span property=&quot;foaf:birthday&quot; content=&quot;05-19&quot; xml:lang=&quot;en&quot;>19...
RDFa Mon anniversaire est le <span property=&quot;foaf:birthday&quot; content=&quot;05-19&quot; xml:lang=&quot;en&quot;>19...
OUTILS DE CONTRÔLE
Live Loop http://rdfa.digitalbazaar.com/live-loop/   Interface en ligne permettant de visualiser directement le résultat d...
RDFa distiller RDFa Distiller est un service en ligne du W3C mis au point par Ivan Herman qui extrait les annotations RDFa...
Résultat du RDFa Distiller <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <rdf:RDF xmlns:dc=&quot;http://purl....
Check RDFa Validateur/Extracteur des annotations RDFa mis au point par Toby Inkster http://check.rdfa.info
Résultat du check RDFa
RDF validator Service de validation syntaxique d’un flux RDF (y compris un résultat du RDFa distiller) http://www.w3.org/R...
Résultat du RDF validator
USAGES
Interactions entre les sites : Google Rich Snippet A la suite de Yahoo SearchMonkey (maintenant arrêté), Google exploite l...
Interactions entre les sites : Open Graph Protocol Système basé sur RDFa mis au point par Facebook pour enrichir l’afficha...
Interactions avec le navigateur : les modules Des modules de navigateurs exploitent les annotations RDFa, quelques exemple...
Interaction dans le même site : Knowledge box <span id=&quot;css&quot; about=&quot;#css&quot; rel=&quot;owl:sameAs&quot; h...
Interaction dans le même site : RDFQuery RDFQuery est un module Jquery mis au point par Jeni Tennison qui permet d’exploit...
L’AVENIR
RDFa à la conquête des CMS Les annotations RDFa peuvent facilement être générées automatiquement à partir des données stru...
RDFa 1.1 Objectif du groupe de travail du W3C : mettre au point une API, simplifier la pratique et mieux définir la sémant...
Merci pour votre attention <ul><li>Gautier Poupeau </li></ul><ul><li>Antidot  | GSM: +33 (0)6 45 49 59 77 </li></ul><ul><l...
Prochain SlideShare
Chargement dans…5
×

RDFa, comment insuffler un peu d'intelligence à une page Web ?

5 245 vues

Publié le

Le but de ce tutoriel est de présenter de manière concrète RDFa, recommandation du W3C qui permet d'exprimer des triplets RDF dans des pages Web HTML. A travers différents exemples, nous montrons pas à pas les principes de cette syntaxe de RDF revenant au passage sur les fondements du modèle de triplet. Puis, nous abordons différents exemples d'exploitation des données en RDFa tant du point de vue du site Web en lui-même, qu'au niveau du navigateur que des moteurs de recherche (Google rich snippet, Yahoo SearchMonkey, projet Isidore du CNRS). Dans la continuité, nous ouvrons la discussion sur les perspectives ouvertes par RDFa dans le domaine de l'optimisation du référencement, en particulier dans le E-commerce.

RDFa, comment insuffler un peu d'intelligence à une page Web ?

  1. 1. RDFa Comment insuffler un peu d’intelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples : http://www.lespetitescases.net/semweblabs/semwebpro/rdfa/
  2. 2. PROBLÉMATIQUE
  3. 3. Le code HTML d’une page Web <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;fr&quot;> <head> <title>Présentation de Gautier Poupeau</title> </head> <body> <p>Je m'appelle Gautier Poupeau.</p> <p>Mon anniversaire est le 19 mai.</p> <p> Je suis passionné par les technologies du Web sémantique. </p> <p> Je tiens d'ailleurs un blog sur ces questions : <a href=&quot;http://www.lespetitescases.net&quot;>Les petites cases</a> </p> <p>J'appartiens à la communauté des professionnels de l'information composée de :</p> <ul> <li> <a href=&quot;http://www.figoblog.org&quot;>Emmanuelle Bermès</a> ; </li> <li> <a href=&quot;http://stephanepouyllau.org/&quot;>Stéphane Pouyllau</a>. </li> </ul> </body> </html>
  4. 4. La même page Web dans un navigateur
  5. 5. La même page Web vu par un moteur de recherche <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;fr&quot;> <head> <title> Présentation de Gautier Poupeau </title> </head> <body> <p> Je m'appelle Gautier Poupeau. </p> <p> Mon anniversaire est le 19 mai. </p> <p> Je suis passionné par les technologies du Web sémantique. </p> <p> Je tiens d'ailleurs un blog sur ces questions : <a href=&quot;http://www.lespetitescases.net&quot;>Les petites cases</a> </p> <p> J'appartiens à la communauté des professionnels de l'information composée de : </p> <ul> <li> <a href=&quot;http://www.figoblog.org&quot;>Emmanuelle Bermès</a> ; </li> <li> <a href=&quot;http://stephanepouyllau.org/&quot;>Stéphane Pouyllau</a>. </li> </ul> </body> </html>
  6. 6. Et pourtant, il existe beaucoup d’informations <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;fr&quot;> <head> <title>Présentation de Gautier Poupeau</title> </head> <body> <p>Je m'appelle Gautier Poupeau.</p> <p>Mon anniversaire est le 19 mai.</p> <p> Je suis passionné par les technologies du Web sémantique. </p> <p> Je tiens d'ailleurs un blog sur ces questions : <a href=&quot;http://www.lespetitescases.net&quot;>Les petites cases</a> </p> <p>J'appartiens à la communauté des professionnels de l'information composée de :</p> <ul> <li> <a href=&quot;http://www.figoblog.org&quot;>Emmanuelle Bermès</a> ; </li> <li> <a href=&quot;http://stephanepouyllau.org/&quot;>Stéphane Pouyllau</a>. </li> </ul> </body> </html> Cette page décrit une personne Mon nom Ma date anniversaire Ma passion L’URL de mon blog Le titre de mon blog mes connaissances
  7. 7. Comment exprimer une donnée pour la machine ? Chien Animal Une série de signes reliés forme une donnée Machine doit comprendre la donnée
  8. 8. Comment exprimer une donnée pour la machine ? Chien Animal Une série de signes reliés forme une donnée La donnée est encodée dans le cadre d’un document Machine doit comprendre la donnée Ne comprend pas la donnée mais qu’il s’agit d’un paragraphe De plus, la donnée est toujours vraie même en dehors de ce document. <html> <head> <title>Le chien</title> </head> <body> <p> le chien est un animal </p> </body> </html>
  9. 9. Comment exprimer une donnée pour la machine ? Chien Animal Une série de signes reliés forme une donnée La donnée est encodée dans le cadre d’un document Machine doit comprendre la donnée Ne comprend pas la donnée mais qu’il s’agit d’un paragraphe De plus, la donnée est toujours vraie même en dehors de ce document. La donnée elle-même est encodée sous la forme d’un triplet. La machine peut traiter et analyser la donnée car elle est encodée selon une logique formelle. <html> <head> <title>Le chien</title> </head> <body> <p> le chien est un animal </p> </body> </html> Sujet prédicat Objet chien animal est
  10. 10. Comment exprimer une donnée pour la machine ? Chien Animal Une série de signes reliés forme une donnée La donnée est encodée dans le cadre d’un document Machine doit comprendre la donnée Ne comprend pas la donnée mais qu’il s’agit d’un paragraphe De plus, la donnée est toujours vraie même en dehors de ce document. La donnée elle-même est encodée sous la forme d’un triplet. La machine peut traiter et analyser la donnée car elle est encodée selon une logique formelle. <html> <head> <title>Le chien</title> </head> <body> <p> le chien est un animal </p> </body> </html> Sujet prédicat Objet Sujet prédicat prédicat chien animal est RDF, un modèle pour encoder les données structurées
  11. 11. Une première réponse : les microformats Les microformats sont une première tentative pragmatique pour ajouter un peu de structure « sémantique » à une page Web. <div class=&quot;vcard&quot;> <div class=&quot;fn&quot;>Gautier Poupeau</div> <div class=&quot;org&quot;>Antidot</div> <div class=&quot;tel&quot;>+33645495977</div> <a class=&quot;url&quot; href=&quot;http://www.lespetitescases.net&quot;>http://www.lespetitescases.net</a> </div> Exemple : Avantages <ul><li>Simple à introduire dans une page Web </li></ul><ul><li>Compatible HTML/XHTML </li></ul><ul><li>Utilise des fonctionnalités natives de HTML/XHTML </li></ul><ul><li>Compatible avec technos du SemWeb grâce à GRDDL </li></ul>Limites <ul><li>Utilise les attributs HTML dédiés à la mise en forme </li></ul><ul><li>Manque de souplesse </li></ul><ul><li>Pas de standardisation </li></ul>
  12. 12. RDFa : la rencontre entre RDF et XML Dès 2004, Mark Birbeck propose un mécanisme pour ajouter des triplets RDF dans HTML. Initialement prévu pour XHTML 2, une recommandation est publiée pour XHTML 1 en 2007. XHTML RDF RDFa
  13. 13. PRINCIPES
  14. 14. Un graphe <http://www.w3.org/People/Berners-Lee/card#i> <http://xmlns.com/foaf/0.1/Person> <http://www.sciam.com/article.cfm?id=the-semantic-web> « Timothy Berners-Lee » <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/name> < http://xmlns.com/foaf/0.1/maker>
  15. 15. Le même graphe en RDF/XML <ul><li><rdf:RDF </li></ul><ul><li>xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; </li></ul><ul><li>xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; </li></ul><ul><li>xmlns:rdfs=&quot;http://www.w3.org/2000/01/rdf-schema#&quot; </li></ul><ul><li>xmlns:dc=&quot; http://purl.org/dc/terms/ &quot;> </li></ul><ul><ul><li><rdf:Description rdf:about=&quot; http://www.w3.org/People/Berners-Lee/card#i &quot;> </li></ul></ul><ul><ul><ul><li>< rdf:type rdf:resource=&quot; http://xmlns.com/foaf/0.1/Person &quot;/> </li></ul></ul></ul><ul><ul><ul><li>< foaf:name > Timothy Berners-Lee </foaf:name> </li></ul></ul></ul><ul><ul><ul><li>< foaf:maker rdf:resource= &quot; http://www.w3.org &quot;/> </li></ul></ul></ul><ul><ul><ul><li>< foaf:nick > timbl </foaf:nick> </li></ul></ul></ul><ul><ul><li></rdf:Description> </li></ul></ul><ul><li></rdf:RDF> </li></ul>
  16. 16. Le même graphe en RDFa <ul><li><!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; </li></ul><ul><li>&quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&quot;> </li></ul><ul><li><html </li></ul><ul><li>xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; </li></ul><ul><li>xmlns=&quot;http://www.w3.org/1999/xhtml&quot; </li></ul><ul><li>xmlns:dc=&quot;http://purl.org/dc/terms/&quot;> </li></ul><ul><ul><li><head> </li></ul></ul><ul><ul><ul><li><title>Description de Timbl en XHTML + RDFa</title> </li></ul></ul></ul><ul><ul><li></head> </li></ul></ul><ul><ul><li><body> </li></ul></ul><ul><ul><ul><li><div typeof =&quot; foaf:person &quot; about=&quot; http://www.w3.org/People/Berners-Lee/card#i &quot;> </li></ul></ul></ul><ul><ul><li>Le <span rel=&quot; foaf:maker &quot; href=&quot; http://www.w3.org &quot;>créateur du W3C</span> </li></ul></ul><ul><ul><ul><ul><li>a pour nom <span property=&quot; foaf:name &quot;> Timothy Berners-Lee </span> </li></ul></ul></ul></ul><ul><ul><ul><ul><li>et pour surnom <span property=&quot; foaf:nick &quot;>Timbl</span>. </li></ul></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><li></body> </li></ul></ul><ul><li></html> </li></ul>ATTENTION : RDFa ne dispense pas de respecter les principes de RDF et les vocabulaires ou ontologies utilisées
  17. 17. FOAF : Friend Of A Friend http://xmlns.com/foaf/spec/ Ontologie créée et maintenue par Dan Brickley et Libby Miller
  18. 18. RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&quot;> <html xmlns =&quot;http://www.w3.org/1999/xhtml&quot; xmlns:dc=&quot;http://purl.org/dc/terms/&quot; xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema#&quot; xml:lang=&quot;fr&quot;> <head typeof=&quot;foaf:PersonalProfileDocument&quot;> <title>Profil RDFa à titre d'exemple</title> <meta property=&quot;dc:title&quot; content=&quot;Mon profil FOAF&quot;/> <link rel=&quot;foaf:maker&quot; href=&quot;#GP&quot;/> <link rel=&quot;foaf:primaryTopic&quot; href=&quot;#GP&quot;/> </head> <body> <div typeof=&quot;foaf:Person&quot; about=&quot;#GP&quot;> <p>Je m'appelle <span property=&quot;foaf:name&quot; datatype=&quot;xsd:string&quot;>Gautier Poupeau</span>. </p> Déclaration de la DTD spécifique XHTML + RDFa
  19. 19. RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&quot;> <html xmlns =&quot;http://www.w3.org/1999/xhtml&quot; xmlns:dc=&quot;http://purl.org/dc/terms/&quot; xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema#&quot; xml:lang=&quot;fr&quot;> <head typeof=&quot;foaf:PersonalProfileDocument&quot;> <title>Profil RDFa à titre d'exemple</title> <meta property=&quot;dc:title&quot; content=&quot;Mon profil FOAF&quot;/> <link rel=&quot;foaf:maker&quot; href=&quot;#GP&quot;/> <link rel=&quot;foaf:primaryTopic&quot; href=&quot;#GP&quot;/> </head> <body> <div typeof=&quot;foaf:Person&quot; about=&quot;#GP&quot;> <p>Je m'appelle <span property=&quot;foaf:name&quot; datatype=&quot;xsd:string&quot;>Gautier Poupeau</span>. </p> Déclaration des espaces de noms et des préfixes
  20. 20. RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&quot;> <html xmlns =&quot;http://www.w3.org/1999/xhtml&quot; xmlns:dc=&quot;http://purl.org/dc/terms/&quot; xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema#&quot; xml:lang=&quot;fr&quot;> <head typeof=&quot;foaf:PersonalProfileDocument&quot;> <title>Profil RDFa à titre d'exemple</title> <meta property=&quot;dc:title&quot; content=&quot;Mon profil FOAF&quot;/> <link rel=&quot;foaf:maker&quot; href=&quot;#GP&quot;/> <link rel=&quot;foaf:primaryTopic&quot; href=&quot;#GP&quot;/> </head> <body> <div typeof=&quot;foaf:Person&quot; about=&quot;#GP&quot;> <p>Je m'appelle <span property=&quot;foaf:name&quot; datatype=&quot;xsd:string&quot;>Gautier Poupeau</span>. </p> Déclaration de la langue donc récupéré pour tous les littéraux
  21. 21. RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&quot;> <html xmlns =&quot;http://www.w3.org/1999/xhtml&quot; xmlns:dc=&quot;http://purl.org/dc/terms/&quot; xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema#&quot; xml:lang=&quot;fr&quot;> <head typeof=&quot;foaf:PersonalProfileDocument&quot;> <title>Profil RDFa à titre d'exemple</title> <meta property=&quot;dc:title&quot; content=&quot;Mon profil FOAF&quot;/> <link rel=&quot;foaf:maker&quot; href=&quot;#GP&quot;/> <link rel=&quot;foaf:primaryTopic&quot; href=&quot;#GP&quot;/> </head> <body> <div typeof=&quot;foaf:Person&quot; about=&quot;#GP&quot;> <p>Je m'appelle <span property=&quot;foaf:name&quot; datatype=&quot;xsd:string&quot;>Gautier Poupeau</span>. </p> Pas de déclaration URI du sujet donc l’URL de la page par défaut
  22. 22. RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&quot;> <html xmlns =&quot;http://www.w3.org/1999/xhtml&quot; xmlns:dc=&quot;http://purl.org/dc/terms/&quot; xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema#&quot; xml:lang=&quot;fr&quot;> <head typeof=&quot;foaf:PersonalProfileDocument&quot;> <title>Profil RDFa à titre d'exemple</title> <meta property=&quot;dc:title&quot; content=&quot;Mon profil FOAF&quot;/> <link rel=&quot;foaf:maker&quot; href=&quot;#GP&quot;/> <link rel=&quot;foaf:primaryTopic&quot; href=&quot;#GP&quot;/> </head> <body> <div typeof=&quot;foaf:Person&quot; about=&quot;#GP&quot;> <p>Je m'appelle <span property=&quot;foaf:name&quot; datatype=&quot;xsd:string&quot;>Gautier Poupeau</span>. </p> Attribut @typeof pour indiquer le type de la ressource = rdf:type
  23. 23. RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&quot;> <html xmlns =&quot;http://www.w3.org/1999/xhtml&quot; xmlns:dc=&quot;http://purl.org/dc/terms/&quot; xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema#&quot; xml:lang=&quot;fr&quot;> <head typeof=&quot;foaf:PersonalProfileDocument&quot;> <title>Profil RDFa à titre d'exemple</title> <meta property=&quot;dc:title&quot; content=&quot;Mon profil FOAF&quot;/> <link rel=&quot;foaf:maker&quot; href=&quot;#GP&quot;/> <link rel=&quot;foaf:primaryTopic&quot; href=&quot;#GP&quot;/> </head> <body> <div typeof=&quot;foaf:Person&quot; about=&quot;#GP&quot;> <p>Je m'appelle <span property=&quot;foaf:name&quot; datatype=&quot;xsd:string&quot;>Gautier Poupeau</span>. </p> Attribut @property si objet = Littéral (ici dans attribut @content car dans l’en-tête HTML)
  24. 24. RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&quot;> <html xmlns =&quot;http://www.w3.org/1999/xhtml&quot; xmlns:dc=&quot;http://purl.org/dc/terms/&quot; xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema#&quot; xml:lang=&quot;fr&quot;> <head typeof=&quot;foaf:PersonalProfileDocument&quot;> <title>Profil RDFa à titre d'exemple</title> <meta property=&quot;dc:title&quot; content=&quot;Mon profil FOAF&quot;/> <link rel=&quot;foaf:maker&quot; href=&quot;#GP&quot;/> <link rel=&quot;foaf:primaryTopic&quot; href=&quot;#GP&quot;/> </head> <body> <div typeof=&quot;foaf:Person&quot; about=&quot;#GP&quot;> <p>Je m'appelle <span property=&quot;foaf:name&quot; datatype=&quot;xsd:string&quot;>Gautier Poupeau</span>. </p> Attribut @rel si objet = Ressource
  25. 25. RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&quot;> <html xmlns =&quot;http://www.w3.org/1999/xhtml&quot; xmlns:dc=&quot;http://purl.org/dc/terms/&quot; xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema#&quot; xml:lang=&quot;fr&quot;> <head typeof=&quot;foaf:PersonalProfileDocument&quot;> <title>Profil RDFa à titre d'exemple</title> <meta property=&quot;dc:title&quot; content=&quot;Mon profil FOAF&quot;/> <link rel=&quot;foaf:maker&quot; href=&quot;#GP&quot;/> <link rel=&quot;foaf:primaryTopic&quot; href=&quot;#GP&quot;/> </head> <body> <div typeof=&quot;foaf:Person&quot; about=&quot;#GP&quot;> <p>Je m'appelle <span property=&quot;foaf:name&quot; datatype=&quot;xsd:string&quot;>Gautier Poupeau</span>. </p> Attribut @about pour déclarer l’URI d’un sujet différent de l’URL de la page
  26. 26. RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&quot;> <html xmlns =&quot;http://www.w3.org/1999/xhtml&quot; xmlns:dc=&quot;http://purl.org/dc/terms/&quot; xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema#&quot; xml:lang=&quot;fr&quot;> <head typeof=&quot;foaf:PersonalProfileDocument&quot;> <title>Profil RDFa à titre d'exemple</title> <meta property=&quot;dc:title&quot; content=&quot;Mon profil FOAF&quot;/> <link rel=&quot;foaf:maker&quot; href=&quot;#GP&quot;/> <link rel=&quot;foaf:primaryTopic&quot; href=&quot;#GP&quot;/> </head> <body> <div typeof=&quot;foaf:Person&quot; about=&quot;#GP&quot;> <p>Je m'appelle <span property=&quot;foaf:name&quot; datatype=&quot;xsd:string&quot;>Gautier Poupeau</span>. </p> Utilisation de la hiérarchie de XHTML pour indiquer les différents triplets dont l’URI est sujet
  27. 27. RDFa <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&quot;> <html xmlns =&quot;http://www.w3.org/1999/xhtml&quot; xmlns:dc=&quot;http://purl.org/dc/terms/&quot; xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema#&quot; xml:lang=&quot;fr&quot;> <head typeof=&quot;foaf:PersonalProfileDocument&quot;> <title>Profil RDFa à titre d'exemple</title> <meta property=&quot;dc:title&quot; content=&quot;Mon profil FOAF&quot;/> <link rel=&quot;foaf:maker&quot; href=&quot;#GP&quot;/> <link rel=&quot;foaf:primaryTopic&quot; href=&quot;#GP&quot;/> </head> <body> <div typeof=&quot;foaf:Person&quot; about=&quot;#GP&quot;> <p>Je m'appelle <span property=&quot;foaf:name&quot; datatype=&quot;xsd:string&quot;>Gautier Poupeau</span>. </p> Attribut @datatype pour indiquer le type de données
  28. 28. RDFa Mon anniversaire est le <span property=&quot;foaf:birthday&quot; content=&quot;05-19&quot; xml:lang=&quot;en&quot;>19 mai</span> </p> <p> Je suis passionné par les technologies du <span rel=&quot;foaf:interest&quot; href=&quot;http://dbpedia.org/resource/Semantic_Web&quot;>Web sémantique</span>. </p> <p>Je tiens d'ailleurs un blog sur ces questions : <span rel=&quot;foaf:weblog&quot;><a href=&quot;http://www.lespetitescases.net&quot; property=&quot;dc:title&quot;>Les petites cases</a></span> </p> <p>J'appartiens à la communauté des professionnels de l'information composée de :</p> <ul rel=&quot;foaf:knows&quot;> <li typeof=&quot;foaf:person&quot; about=&quot;http://www.figoblog.org/foaf.rdf#EB&quot;> <a property=&quot;foaf:name&quot; rel=&quot;foaf:homepage&quot; href=&quot;http://www.figoblog.org&quot;>Emmanuelle Bermès</a> </li> <li typeof=&quot;foaf:person&quot;> <a property=&quot;foaf:name&quot; rel=&quot;foaf:homepage&quot; href=&quot;http://stephanepouyllau.org/&quot;>Stéphane Pouyllau</a> </li> </ul> </div> </body> </html> Attribut @content pour indiquer contenu différent de l’élément
  29. 29. RDFa Mon anniversaire est le <span property=&quot;foaf:birthday&quot; content=&quot;05-19&quot; xml:lang=&quot;en&quot;>19 mai</span> </p> <p> Je suis passionné par les technologies du <span rel=&quot;foaf:interest&quot; href=&quot;http://dbpedia.org/resource/Semantic_Web&quot;>Web sémantique</span>. </p> <p>Je tiens d'ailleurs un blog sur ces questions : <span rel=&quot;foaf:weblog&quot;><a href=&quot;http://www.lespetitescases.net&quot; property=&quot;dc:title&quot;>Les petites cases</a></span> </p> <p>J'appartiens à la communauté des professionnels de l'information composée de :</p> <ul rel=&quot;foaf:knows&quot;> <li typeof=&quot;foaf:person&quot; about=&quot;http://www.figoblog.org/foaf.rdf#EB&quot;> <a property=&quot;foaf:name&quot; rel=&quot;foaf:homepage&quot; href=&quot;http://www.figoblog.org&quot;>Emmanuelle Bermès</a> </li> <li typeof=&quot;foaf:person&quot;> <a property=&quot;foaf:name&quot; rel=&quot;foaf:homepage&quot; href=&quot;http://stephanepouyllau.org/&quot;>Stéphane Pouyllau</a> </li> </ul> </div> </body> </html> Attribut @rel et @href pour indiquer triplet avec ressource en objet
  30. 30. RDFa Mon anniversaire est le <span property=&quot;foaf:birthday&quot; content=&quot;05-19&quot; xml:lang=&quot;en&quot;>19 mai</span> </p> <p> Je suis passionné par les technologies du <span rel=&quot;foaf:interest&quot; href=&quot;http://dbpedia.org/resource/Semantic_Web&quot;>Web sémantique</span>. </p> <p>Je tiens d'ailleurs un blog sur ces questions : <span rel=&quot;foaf:weblog&quot;><a href=&quot;http://www.lespetitescases.net&quot; property=&quot;dc:title&quot;>Les petites cases</a></span> </p> <p>J'appartiens à la communauté des professionnels de l'information composée de :</p> <ul rel=&quot;foaf:knows&quot;> <li typeof=&quot;foaf:person&quot; about=&quot;http://www.figoblog.org/foaf.rdf#EB&quot;> <a property=&quot;foaf:name&quot; rel=&quot;foaf:homepage&quot; href=&quot;http://www.figoblog.org&quot;>Emmanuelle Bermès</a> </li> <li typeof=&quot;foaf:person&quot;> <a property=&quot;foaf:name&quot; rel=&quot;foaf:homepage&quot; href=&quot;http://stephanepouyllau.org/&quot;>Stéphane Pouyllau</a> </li> </ul> </div> </body> </html> Utilisation de la hiérarchie pour indiquer triplet sur une ressource elle-même objet avec le prédicat foaf:weblog
  31. 31. RDFa Mon anniversaire est le <span property=&quot;foaf:birthday&quot; content=&quot;05-19&quot; xml:lang=&quot;en&quot;>19 mai</span> </p> <p> Je suis passionné par les technologies du <span rel=&quot;foaf:interest&quot; href=&quot;http://dbpedia.org/resource/Semantic_Web&quot;>Web sémantique</span>. </p> <p>Je tiens d'ailleurs un blog sur ces questions : <span rel=&quot;foaf:weblog&quot;><a href=&quot;http://www.lespetitescases.net&quot; property=&quot;dc:title&quot;>Les petites cases</a></span> </p> <p>J'appartiens à la communauté des professionnels de l'information composée de :</p> <ul rel=&quot;foaf:knows&quot;> <li typeof=&quot;foaf:person&quot; about=&quot;http://www.figoblog.org/foaf.rdf#EB&quot;> <a property=&quot;foaf:name&quot; rel=&quot;foaf:homepage&quot; href=&quot;http://www.figoblog.org&quot;>Emmanuelle Bermès</a> </li> <li typeof=&quot;foaf:person&quot;> <a property=&quot;foaf:name&quot; rel=&quot;foaf:homepage&quot; href=&quot;http://stephanepouyllau.org/&quot;>Stéphane Pouyllau</a> </li> </ul> </div> </body> </html> Utilisation de la hiérarchie pour indiquer triplet sur une ressource elle-même objet avec le prédicat foaf:knows
  32. 32. RDFa Mon anniversaire est le <span property=&quot;foaf:birthday&quot; content=&quot;05-19&quot; xml:lang=&quot;en&quot;>19 mai</span> </p> <p> Je suis passionné par les technologies du <span rel=&quot;foaf:interest&quot; href=&quot;http://dbpedia.org/resource/Semantic_Web&quot;>Web sémantique</span>. </p> <p>Je tiens d'ailleurs un blog sur ces questions : <span rel=&quot;foaf:weblog&quot;><a href=&quot;http://www.lespetitescases.net&quot; property=&quot;dc:title&quot;>Les petites cases</a></span> </p> <p>J'appartiens à la communauté des professionnels de l'information composée de :</p> <ul rel=&quot;foaf:knows&quot;> <li typeof=&quot;foaf:person&quot; about=&quot;http://www.figoblog.org/foaf.rdf#EB&quot;> <a property=&quot;foaf:name&quot; rel=&quot;foaf:homepage&quot; href=&quot;http://www.figoblog.org&quot;>Emmanuelle Bermès</a> </li> <li typeof=&quot;foaf:person&quot;> <a property=&quot;foaf:name&quot; rel=&quot;foaf:homepage&quot; href=&quot;http://stephanepouyllau.org/&quot;>Stéphane Pouyllau</a> </li> </ul> </div> </body> </html> Même chose mais ici on a un nœud blanc
  33. 33. OUTILS DE CONTRÔLE
  34. 34. Live Loop http://rdfa.digitalbazaar.com/live-loop/ Interface en ligne permettant de visualiser directement le résultat d’un encodage RDFa
  35. 35. RDFa distiller RDFa Distiller est un service en ligne du W3C mis au point par Ivan Herman qui extrait les annotations RDFa d’une page Web pour en faire un flux RDF/XML, Turtle, N-triples http://www.w3.org/2007/08/pyRdfa/
  36. 36. Résultat du RDFa Distiller <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <rdf:RDF xmlns:dc=&quot;http://purl.org/dc/terms/&quot; xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema#&quot;> <foaf:PersonalProfileDocument rdf:about=&quot;http://www.lespetitescases.net/semweblabs/semwebpro/RDFa.htm&quot;> <foaf:maker> <foaf:Person rdf:about=&quot;http://www.lespetitescases.net/semweblabs/semwebpro/RDFa.htm#GP&quot;> <foaf:name rdf:datatype=&quot;http://www.w3.org/2001/XMLSchema#string&quot;>Gautier Poupeau</foaf:name> <foaf:knows> <foaf:person> <foaf:homepage rdf:resource=&quot;http://stephanepouyllau.org/&quot;/> <foaf:name xml:lang=&quot;fr&quot;>Stéphane Pouyllau</foaf:name> </foaf:person> </foaf:knows> <foaf:knows> <foaf:person rdf:about=&quot;http://www.figoblog.org/foaf.rdf#EB&quot;> <foaf:homepage rdf:resource=&quot;http://www.figoblog.org&quot;/> <foaf:name xml:lang=&quot;fr&quot;>Emmanuelle Bermès</foaf:name> </foaf:person> </foaf:knows> <foaf:weblog> <rdf:Description rdf:about=&quot;http://www.lespetitescases.net&quot;> <dc:title xml:lang=&quot;fr&quot;>Les petites cases</dc:title> </rdf:Description> </foaf:weblog> <foaf:birthday xml:lang=&quot;en&quot;>05-19</foaf:birthday> <foaf:interest rdf:resource=&quot;http://dbpedia.org/resource/Semantic_Web&quot;/> </foaf:Person> </foaf:maker> <foaf:primaryTopic rdf:resource=&quot;http://www.lespetitescases.net/semweblabs/Formation-CCSD/RDFa.htm#GP&quot;/> <dc:title xml:lang=&quot;fr&quot;>Mon profil FOAF</dc:title> </foaf:PersonalProfileDocument> </rdf:RDF>
  37. 37. Check RDFa Validateur/Extracteur des annotations RDFa mis au point par Toby Inkster http://check.rdfa.info
  38. 38. Résultat du check RDFa
  39. 39. RDF validator Service de validation syntaxique d’un flux RDF (y compris un résultat du RDFa distiller) http://www.w3.org/RDF/Validator/
  40. 40. Résultat du RDF validator
  41. 41. USAGES
  42. 42. Interactions entre les sites : Google Rich Snippet A la suite de Yahoo SearchMonkey (maintenant arrêté), Google exploite les annotations RDFa pour améliorer la présentation des résultats de recherche. <ul><li>Fil d’Ariane </li></ul><ul><li>Business et organisations </li></ul><ul><li>Evénements </li></ul><ul><li>Information produit </li></ul><ul><li>Personne </li></ul><ul><li>Recettes </li></ul><ul><li>Recensions </li></ul><ul><li>Microformats </li></ul><ul><li>MicroData </li></ul><ul><li>RDFa </li></ul>Type de Google Rich Snippet Syntaxe disponible Google propose ses propres vocabulaires RDF à respecter. Il n’exploite pas nativement tous les vocabulaires (à la différence de feu SearchMonkey). Mais, Google a annoncé récemment le support de l’ontologie spécialisé dans le Ecommerce « Good Relations »
  43. 43. Interactions entre les sites : Open Graph Protocol Système basé sur RDFa mis au point par Facebook pour enrichir l’affichage des sélections des utilisateurs avec le bouton « I like/j’aime » <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xmlns:og=&quot;http://ogp.me/ns#&quot; xmlns:fb=&quot;http://www.facebook.com/2008/fbml&quot;> <head> <title>The Rock (1996)</title> <meta property=&quot;og:title&quot; content=&quot;The Rock&quot;/> <meta property=&quot;og:type&quot; content=&quot;movie&quot;/> <meta property=&quot;og:url&quot; content=&quot;http://www.imdb.com/title/tt0117500/&quot;/> <meta property=&quot;og:image&quot; content=&quot;http://ia.media-imdb.com/rock.jpg&quot;/> <meta property=&quot;og:site_name&quot; content=&quot;IMDb&quot;/> <meta property=&quot;fb:admins&quot; content=&quot;USER_ID&quot;/> <meta property=&quot;og:description&quot; content=&quot;A group of U.S. Marines, under command of a renegade general, take over Alcatraz and threaten San Francisco Bay with biological weapons.&quot;/> ... </head> ... </html>
  44. 44. Interactions avec le navigateur : les modules Des modules de navigateurs exploitent les annotations RDFa, quelques exemples : RDFa Developper (Firefox) Operator (Firefox) Amazon Checker (Chrome)
  45. 45. Interaction dans le même site : Knowledge box <span id=&quot;css&quot; about=&quot;#css&quot; rel=&quot;owl:sameAs&quot; href=&quot;http://dbpedia.org/resource/Cascading_Style_Sheets&quot;> CSS </span> Le code source original Interrogation en sparql Affichage du résultat dans une bulle via Ajax Knowledge box est un module Drupal 6 qui s’appuie sur les annotations RDFa pour afficher des définitions de termes ou d’expressions. http://www.lespetitescases.net/knowledge-box-reloaded
  46. 46. Interaction dans le même site : RDFQuery RDFQuery est un module Jquery mis au point par Jeni Tennison qui permet d’exploiter l’encodage RDFa au sein d’une page Web (Requête, application de règles) http://code.google.com/p/rdfquery/
  47. 47. L’AVENIR
  48. 48. RDFa à la conquête des CMS Les annotations RDFa peuvent facilement être générées automatiquement à partir des données structurées stockées dans les bases de données. Il est donc logique que les CMS ajoutent un support natif de RDFa ou via des plugins dédiés. Drupal 7 Goodrelations-for-oscommerce Semantium_MSemanticBasic Goodrelations for WP e-Commerce
  49. 49. RDFa 1.1 Objectif du groupe de travail du W3C : mettre au point une API, simplifier la pratique et mieux définir la sémantique des attributs RDFa pour XML. Cf. la présentation d’Ivan Herman : http://www.w3.org/2011/Talks/0117-Paris-IH/
  50. 50. Merci pour votre attention <ul><li>Gautier Poupeau </li></ul><ul><li>Antidot | GSM: +33 (0)6 45 49 59 77 </li></ul><ul><li>F-75 Paris | mailto: gpoupeau@antidot.net </li></ul><ul><li>Blog : Les petites cases | Twitter : @lespetitescases </li></ul>

×