50
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/

RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

Embed Size (px)

Citation preview

Page 1: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

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/

Page 2: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

2

PROBLÉMATIQUE

Page 3: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

3

Le code HTML d’une page Web

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <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="http://www.lespetitescases.net">Les petites cases</a> </p> <p>J'appartiens à la communauté des professionnels de l'information composée de :</p> <ul>

<li> <a href="http://www.figoblog.org">Emmanuelle Bermès</a> ; </li> <li>

<a href="http://stephanepouyllau.org/">Stéphane Pouyllau</a>. </li> </ul> </body></html>

Page 4: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

4

La même page Web dans un navigateur

Page 5: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

5

La même page Web vu par un moteur de recherche

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <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="http://www.lespetitescases.net">Les petites cases</a> </p> <p>J'appartiens à la communauté des professionnels de l'information composée de :</p> <ul>

<li> <a href="http://www.figoblog.org">Emmanuelle Bermès</a> ; </li> <li>

<a href="http://stephanepouyllau.org/">Stéphane Pouyllau</a>. </li> </ul> </body></html>

Page 6: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

6

Et pourtant, il existe beaucoup d’informations

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <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="http://www.lespetitescases.net">Les petites cases</a> </p> <p>J'appartiens à la communauté des professionnels de l'information composée de :</p> <ul>

<li> <a href="http://www.figoblog.org">Emmanuelle Bermès</a> ; </li> <li>

<a href="http://stephanepouyllau.org/">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

Page 7: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

7

Comment exprimer une donnée pour la machine ?

Chien Animal

Une série de signes reliés forme une donnée

Machine

doit comprendrela donnée

Page 8: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

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 comprendrela donnée Ne comprend pas la donnée mais

qu’il s’agit d’un paragraphe De plus, la donnée

est toujours vraiemême en dehors de ce document.

<html> <head> <title>Le chien</title> </head> <body> <p> le chien est un animal </p> </body></html>

Page 9: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

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 comprendrela donnée Ne comprend pas la donnée mais

qu’il s’agit d’un paragraphe De plus, la donnée

est toujours vraiemême en dehors de ce document.

La donnée elle-même est encodéesous 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>

Sujetprédicat

Objet

chien animalest

Page 10: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

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 comprendrela donnée Ne comprend pas la donnée mais

qu’il s’agit d’un paragraphe De plus, la donnée

est toujours vraiemême en dehors de ce document.

La donnée elle-même est encodéesous 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>

Sujetprédicat

Objet

Sujet

prédicatprédicat

chien animalest

RDF, un modèle pour encoder les données structurées

Page 11: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

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="vcard"> <div class="fn">Gautier Poupeau</div> <div class="org">Antidot</div> <div class="tel">+33645495977</div> <a class="url" href="http://www.lespetitescases.net">http://www.lespetitescases.net</a> </div>

Exemple :

Avantages

• Simple à introduire dans une page Web

• Compatible HTML/XHTML• Utilise des fonctionnalités

natives de HTML/XHTML• Compatible avec technos du

SemWeb grâce à GRDDL

Limites

• Utilise les attributs HTML dédiés à la mise en forme

• Manque de souplesse• Pas de standardisation

Page 12: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

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

Page 13: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

13

PRINCIPES

Page 14: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

14

<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>

Un graphe

< http://xmlns.com/foaf/0.1/maker>

Page 15: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

15

Le même graphe en RDF/XML

<rdf:RDF xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:dc="http://purl.org/dc/terms/">

<rdf:Description rdf:about="http://www.w3.org/People/Berners-Lee/card#i"><rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/><foaf:name>Timothy Berners-Lee</foaf:name><foaf:maker rdf:resource="http://www.w3.org"/><foaf:nick>timbl</foaf:nick>

</rdf:Description>

</rdf:RDF>

Page 16: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

16

Le même graphe en RDFa

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

<html xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/">

<head><title>Description de Timbl en XHTML + RDFa</title>

</head><body>

<div typeof="foaf:person" about="http://www.w3.org/People/Berners-Lee/card#i">Le <span rel="foaf:maker" href="http://www.w3.org">créateur du W3C</span>

a pour nom <span property="foaf:name">Timothy Berners-Lee</span>et pour surnom <span property="foaf:nick">Timbl</span>.

</div></body>

</html>

ATTENTION : RDFa ne dispense pas de respecter les principes de RDF et les vocabulaires ou ontologies utilisées

Page 17: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

17

FOAF : Friend Of A Friend

http://xmlns.com/foaf/spec/

Ontologie créée et maintenue par Dan Brickley et Libby Miller

Page 18: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

18

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

<html

xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/"xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

xml:lang="fr">

<head typeof="foaf:PersonalProfileDocument"> <title>Profil RDFa à titre d'exemple</title>

<meta property="dc:title" content="Mon profil FOAF"/>

<link rel="foaf:maker" href="#GP"/>

<link rel="foaf:primaryTopic" href="#GP"/> </head>

<body> <div typeof="foaf:Person" about="#GP">

<p>Je m'appelle <span property="foaf:name" datatype="xsd:string">Gautier Poupeau</span>. </p>

RDFa

Déclaration de la DTD spécifiqueXHTML + RDFa

Déclaration de la DTD spécifiqueXHTML + RDFa

Page 19: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

19

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

<html

xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/"xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

xml:lang="fr">

<head typeof="foaf:PersonalProfileDocument"> <title>Profil RDFa à titre d'exemple</title>

<meta property="dc:title" content="Mon profil FOAF"/>

<link rel="foaf:maker" href="#GP"/>

<link rel="foaf:primaryTopic" href="#GP"/> </head>

<body> <div typeof="foaf:Person" about="#GP">

<p>Je m'appelle <span property="foaf:name" datatype="xsd:string">Gautier Poupeau</span>. </p>

RDFa

Déclaration des espaces de nomset des préfixes

Déclaration des espaces de nomset des préfixes

Page 20: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

20

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

<html

xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/"xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

xml:lang="fr">

<head typeof="foaf:PersonalProfileDocument"> <title>Profil RDFa à titre d'exemple</title>

<meta property="dc:title" content="Mon profil FOAF"/>

<link rel="foaf:maker" href="#GP"/>

<link rel="foaf:primaryTopic" href="#GP"/> </head>

<body> <div typeof="foaf:Person" about="#GP">

<p>Je m'appelle <span property="foaf:name" datatype="xsd:string">Gautier Poupeau</span>. </p>

RDFa

Déclaration de la langue doncrécupéré pour tous les littérauxDéclaration de la langue donc

récupéré pour tous les littéraux

Page 21: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

21

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

<html

xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/"xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

xml:lang="fr">

<head typeof="foaf:PersonalProfileDocument"> <title>Profil RDFa à titre d'exemple</title>

<meta property="dc:title" content="Mon profil FOAF"/>

<link rel="foaf:maker" href="#GP"/>

<link rel="foaf:primaryTopic" href="#GP"/> </head>

<body> <div typeof="foaf:Person" about="#GP">

<p>Je m'appelle <span property="foaf:name" datatype="xsd:string">Gautier Poupeau</span>. </p>

RDFa

Pas de déclaration URI du sujetdonc l’URL de la page par défautPas de déclaration URI du sujet

donc l’URL de la page par défaut

Page 22: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

22

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

<html

xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/"xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

xml:lang="fr">

<head typeof="foaf:PersonalProfileDocument"> <title>Profil RDFa à titre d'exemple</title>

<meta property="dc:title" content="Mon profil FOAF"/>

<link rel="foaf:maker" href="#GP"/>

<link rel="foaf:primaryTopic" href="#GP"/> </head>

<body> <div typeof="foaf:Person" about="#GP">

<p>Je m'appelle <span property="foaf:name" datatype="xsd:string">Gautier Poupeau</span>. </p>

RDFa

Attribut @typeof pour indiquer le type de la ressource = rdf:type

Attribut @typeof pour indiquer le type de la ressource = rdf:type

Page 23: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

23

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

<html

xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/"xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

xml:lang="fr">

<head typeof="foaf:PersonalProfileDocument"> <title>Profil RDFa à titre d'exemple</title>

<meta property="dc:title" content="Mon profil FOAF"/>

<link rel="foaf:maker" href="#GP"/>

<link rel="foaf:primaryTopic" href="#GP"/> </head>

<body> <div typeof="foaf:Person" about="#GP">

<p>Je m'appelle <span property="foaf:name" datatype="xsd:string">Gautier Poupeau</span>. </p>

RDFa

Attribut @propertysi objet = Littéral

(ici dans attribut @content car dans l’en-tête HTML)

Attribut @propertysi objet = Littéral

(ici dans attribut @content car dans l’en-tête HTML)

Page 24: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

24

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

<html

xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/"xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

xml:lang="fr">

<head typeof="foaf:PersonalProfileDocument"> <title>Profil RDFa à titre d'exemple</title>

<meta property="dc:title" content="Mon profil FOAF"/>

<link rel="foaf:maker" href="#GP"/>

<link rel="foaf:primaryTopic" href="#GP"/> </head>

<body> <div typeof="foaf:Person" about="#GP">

<p>Je m'appelle <span property="foaf:name" datatype="xsd:string">Gautier Poupeau</span>. </p>

RDFa

Attribut @relsi objet = Ressource

Attribut @relsi objet = Ressource

Page 25: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

25

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

<html

xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/"xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

xml:lang="fr">

<head typeof="foaf:PersonalProfileDocument"> <title>Profil RDFa à titre d'exemple</title>

<meta property="dc:title" content="Mon profil FOAF"/>

<link rel="foaf:maker" href="#GP"/>

<link rel="foaf:primaryTopic" href="#GP"/> </head>

<body> <div typeof="foaf:Person" about="#GP">

<p>Je m'appelle <span property="foaf:name" datatype="xsd:string">Gautier Poupeau</span>. </p>

RDFa

Attribut @about pourdéclarer l’URI d’un sujet différent

de l’URL de la page

Attribut @about pourdéclarer l’URI d’un sujet différent

de l’URL de la page

Page 26: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

26

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

<html

xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/"xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

xml:lang="fr">

<head typeof="foaf:PersonalProfileDocument"> <title>Profil RDFa à titre d'exemple</title>

<meta property="dc:title" content="Mon profil FOAF"/>

<link rel="foaf:maker" href="#GP"/>

<link rel="foaf:primaryTopic" href="#GP"/> </head>

<body> <div typeof="foaf:Person" about="#GP">

<p>Je m'appelle <span property="foaf:name" datatype="xsd:string">Gautier Poupeau</span>. </p>

RDFa

Utilisation de la hiérarchie de XHTML pour indiquer les différents triplets dont

l’URI est sujet

Utilisation de la hiérarchie de XHTML pour indiquer les différents triplets dont

l’URI est sujet

Page 27: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

27

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

<html

xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/"xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

xml:lang="fr">

<head typeof="foaf:PersonalProfileDocument"> <title>Profil RDFa à titre d'exemple</title>

<meta property="dc:title" content="Mon profil FOAF"/>

<link rel="foaf:maker" href="#GP"/>

<link rel="foaf:primaryTopic" href="#GP"/> </head>

<body> <div typeof="foaf:Person" about="#GP">

<p>Je m'appelle <span property="foaf:name" datatype="xsd:string">Gautier Poupeau</span>. </p>

RDFa

Attribut @datatype pourindiquer le type de données

Attribut @datatype pourindiquer le type de données

Page 28: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

28

RDFa

Mon anniversaire est le <span property="foaf:birthday" content="05-19" xml:lang="en">19 mai</span> </p>

<p> Je suis passionné par les technologies du <span rel="foaf:interest" href="http://dbpedia.org/resource/Semantic_Web">Web sémantique</span>.</p>

<p>Je tiens d'ailleurs un blog sur ces questions : <span rel="foaf:weblog"><a href="http://www.lespetitescases.net" property="dc:title">Les petites cases</a></span></p>

<p>J'appartiens à la communauté des professionnels de l'information composée de :</p>

<ul rel="foaf:knows"><li typeof="foaf:person" about="http://www.figoblog.org/foaf.rdf#EB">

<a property="foaf:name" rel="foaf:homepage" href="http://www.figoblog.org">Emmanuelle Bermès</a> </li> <li typeof="foaf:person">

<a property="foaf:name" rel="foaf:homepage" href="http://stephanepouyllau.org/">Stéphane Pouyllau</a> </li> </ul>

</div> </body>

</html>

Attribut @content pourindiquer contenu différent de l’élément

Attribut @content pourindiquer contenu différent de l’élément

Page 29: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

29

RDFa

Mon anniversaire est le <span property="foaf:birthday" content="05-19" xml:lang="en">19 mai</span> </p>

<p> Je suis passionné par les technologies du <span rel="foaf:interest" href="http://dbpedia.org/resource/Semantic_Web">Web sémantique</span>.</p>

<p>Je tiens d'ailleurs un blog sur ces questions : <span rel="foaf:weblog"><a href="http://www.lespetitescases.net" property="dc:title">Les petites cases</a></span></p>

<p>J'appartiens à la communauté des professionnels de l'information composée de :</p>

<ul rel="foaf:knows"><li typeof="foaf:person" about="http://www.figoblog.org/foaf.rdf#EB">

<a property="foaf:name" rel="foaf:homepage" href="http://www.figoblog.org">Emmanuelle Bermès</a> </li> <li typeof="foaf:person">

<a property="foaf:name" rel="foaf:homepage" href="http://stephanepouyllau.org/">Stéphane Pouyllau</a> </li> </ul>

</div> </body>

</html>

Attribut @rel et @href pourindiquer triplet avec ressource en objet

Attribut @rel et @href pourindiquer triplet avec ressource en objet

Page 30: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

30

RDFa

Mon anniversaire est le <span property="foaf:birthday" content="05-19" xml:lang="en">19 mai</span> </p>

<p> Je suis passionné par les technologies du <span rel="foaf:interest" href="http://dbpedia.org/resource/Semantic_Web">Web sémantique</span>.</p>

<p>Je tiens d'ailleurs un blog sur ces questions : <span rel="foaf:weblog"><a href="http://www.lespetitescases.net" property="dc:title">Les petites cases</a></span></p>

<p>J'appartiens à la communauté des professionnels de l'information composée de :</p>

<ul rel="foaf:knows"><li typeof="foaf:person" about="http://www.figoblog.org/foaf.rdf#EB">

<a property="foaf:name" rel="foaf:homepage" href="http://www.figoblog.org">Emmanuelle Bermès</a> </li> <li typeof="foaf:person">

<a property="foaf:name" rel="foaf:homepage" href="http://stephanepouyllau.org/">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

Utilisation de la hiérarchie pour indiquer triplet sur une ressource elle-même objet avec le prédicat foaf:weblog

Page 31: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

31

RDFa

Mon anniversaire est le <span property="foaf:birthday" content="05-19" xml:lang="en">19 mai</span> </p>

<p> Je suis passionné par les technologies du <span rel="foaf:interest" href="http://dbpedia.org/resource/Semantic_Web">Web sémantique</span>.</p>

<p>Je tiens d'ailleurs un blog sur ces questions : <span rel="foaf:weblog"><a href="http://www.lespetitescases.net" property="dc:title">Les petites cases</a></span></p>

<p>J'appartiens à la communauté des professionnels de l'information composée de :</p>

<ul rel="foaf:knows"><li typeof="foaf:person" about="http://www.figoblog.org/foaf.rdf#EB">

<a property="foaf:name" rel="foaf:homepage" href="http://www.figoblog.org">Emmanuelle Bermès</a> </li> <li typeof="foaf:person">

<a property="foaf:name" rel="foaf:homepage" href="http://stephanepouyllau.org/">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

Utilisation de la hiérarchie pour indiquer triplet sur une ressource elle-même

objet avec le prédicat foaf:knows

Page 32: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

32

RDFa

Mon anniversaire est le <span property="foaf:birthday" content="05-19" xml:lang="en">19 mai</span> </p>

<p> Je suis passionné par les technologies du <span rel="foaf:interest" href="http://dbpedia.org/resource/Semantic_Web">Web sémantique</span>.</p>

<p>Je tiens d'ailleurs un blog sur ces questions : <span rel="foaf:weblog"><a href="http://www.lespetitescases.net" property="dc:title">Les petites cases</a></span></p>

<p>J'appartiens à la communauté des professionnels de l'information composée de :</p>

<ul rel="foaf:knows"><li typeof="foaf:person" about="http://www.figoblog.org/foaf.rdf#EB">

<a property="foaf:name" rel="foaf:homepage" href="http://www.figoblog.org">Emmanuelle Bermès</a> </li> <li typeof="foaf:person">

<a property="foaf:name" rel="foaf:homepage" href="http://stephanepouyllau.org/">Stéphane Pouyllau</a> </li> </ul>

</div> </body>

</html>Même chose mais ici on a un nœud blancMême chose mais ici on a un nœud blanc

Page 33: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

33

OUTILS DE CONTRÔLE

Page 34: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

34

Live Loop

http://rdfa.digitalbazaar.com/live-loop/

Interface en ligne permettant de visualiser directement le résultat d’un encodage RDFa

Page 35: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

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/

Page 36: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

36

Résultat du RDFa Distiller

<?xml version="1.0" encoding="utf-8"?><rdf:RDF xmlns:dc="http://purl.org/dc/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> <foaf:PersonalProfileDocument rdf:about="http://www.lespetitescases.net/semweblabs/semwebpro/RDFa.htm"> <foaf:maker> <foaf:Person rdf:about="http://www.lespetitescases.net/semweblabs/semwebpro/RDFa.htm#GP"> <foaf:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Gautier Poupeau</foaf:name> <foaf:knows> <foaf:person> <foaf:homepage rdf:resource="http://stephanepouyllau.org/"/> <foaf:name xml:lang="fr">Stéphane Pouyllau</foaf:name> </foaf:person> </foaf:knows> <foaf:knows> <foaf:person rdf:about="http://www.figoblog.org/foaf.rdf#EB"> <foaf:homepage rdf:resource="http://www.figoblog.org"/> <foaf:name xml:lang="fr">Emmanuelle Bermès</foaf:name> </foaf:person> </foaf:knows> <foaf:weblog> <rdf:Description rdf:about="http://www.lespetitescases.net"> <dc:title xml:lang="fr">Les petites cases</dc:title> </rdf:Description> </foaf:weblog> <foaf:birthday xml:lang="en">05-19</foaf:birthday> <foaf:interest rdf:resource="http://dbpedia.org/resource/Semantic_Web"/> </foaf:Person>

</foaf:maker> <foaf:primaryTopic rdf:resource="http://www.lespetitescases.net/semweblabs/Formation-CCSD/RDFa.htm#GP"/> <dc:title xml:lang="fr">Mon profil FOAF</dc:title> </foaf:PersonalProfileDocument></rdf:RDF>

Page 37: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

37

Check RDFa

Validateur/Extracteur des annotations RDFa mis au point par Toby Inkster

http://check.rdfa.info

Page 38: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

38

Résultat du check RDFa

Page 39: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

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/

Page 40: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

40

Résultat du RDF validator

Page 41: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

41

USAGES

Page 42: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

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.

• Fil d’Ariane• Business et organisations• Evénements• Information produit• Personne• Recettes• Recensions

• Microformats• MicroData• RDFa

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 »

Page 43: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

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="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml"> <head> <title>The Rock (1996)</title> <meta property="og:title" content="The Rock"/> <meta property="og:type" content="movie"/> <meta property="og:url" content="http://www.imdb.com/title/tt0117500/"/> <meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/> <meta property="og:site_name" content="IMDb"/> <meta property="fb:admins" content="USER_ID"/> <meta property="og:description" content="A group of U.S. Marines, under command of a renegade general, take over Alcatraz and threaten San Francisco Bay with biological weapons."/> ... </head> ...</html>

Page 44: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

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)

Page 45: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

45

Interaction dans le même site : Knowledge box

<span id="css" about="#css" rel="owl:sameAs" href="http://dbpedia.org/resource/Cascading_Style_Sheets"> CSS</span>

Le code source original Interrogation

en sparql

Affichage du résultatdans 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

Page 46: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

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/

Page 47: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

47

L’AVENIR

Page 48: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

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

Page 49: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

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/

Page 50: RDFa Comment insuffler un peu dintelligence à une page Web ? Semweb.pro, Paris, 18 janvier 2010 Présentation et exemples :

Merci pour votre attention

Gautier PoupeauAntidot | GSM: +33 (0)6 45 49 59 77F-75 Paris | mailto: [email protected] : Les petites cases | Twitter : @lespetitescases