Les petites cases

Amusons-nous avec RDFa

En vue d'explorer les possibilités de RDFa, j'ai mis au point une petite application. Dans la barre à droite sur ce billet, j'ai ajouté une boîte dite Knowledge box. Son principe est simple. En cliquant sur un terme, le résumé de sa définition dans Wikipedia et un lien vers la page de la Wikipedia francophone s'affichent.

En soi, l'idée n'est pas révolutionnaire et j'aurais pu le faire sans déployer toute l'artillerie des technologies du Web sémantique, mais ce qui me paraît intéressant dans cette expérience, c'est de montrer les atouts de disposer d'une syntaxe normalisée pour repérer des entités, RDFa, qui peut être exploitée de différentes façons, comme je le montrais dans mon précédent billet sur le sujet, de disposer d'une base de données structurées dans une syntaxe normalisée avec des URI identifiant chaque concept, Dbpedia en RDF et d'un langage de requêtes normalisé, Sparql. Bref, j'aurais pu faire cette expérience avec une base de données MySQL et quelques scripts PHP, mais dans ce cas, il aurait fallu que je maintienne les définitions et ma solution n'aurait pu être implémentée que sur mon site. Evidemment, nous sommes encore loin du rêve de Tim Berners-Lee d'agents intelligents capables de rapatrier et d'agréger les données pour répondre à une question précise, mais imaginez les possibilités d'une telle application dans une bibliothèque numérique qui afficherait les données des notices d'autorités, mis à disposition de tous en RDF ou dans une édition critique en ligne qui afficherait les notices biographiques provenant de l'agrégation de toutes les bases de données prosopographiques qui traînent dans les labos d'histoire en France... Je suis sûr que vous trouverez plein d'autres idées.

Maintenant, concrètement, un script PHP parse le contenu du billet via Xpath et récupère toutes les chaînes de caractère des noeuds dont l'attribut rel contient la propriété OWL "owl:sameAs". L'URI indiqué permet de construire la requête en Sparql pour interroger l'entrepôt de données RDF de DBpedia. Le résultat est affichée sur cette page grâce à AJAX et le tour est joué. Bon, c'est codé avec les pieds, mais si certains d'entre vous sont intéressés, ce sera avec plaisir de donner le script. Je vais continuer à l'améliorer (si certains veulent m'aider, ce sera ausi avec plaisir ;-) ), pour diversifier les données RDF interrogées, les différentes propriétés affichées (une image, les coordonnées géographiques...) et si, en tant que lecteur, ça vous intéresse, n'hésitez pas à me le préciser, je généraliserai cette knowledge box à tous les billets.

Mise à jour (28/05/07) : J'avais oublié d'activer cette box pour les personnes non connectées au site, c'est maintenant chose faite. Merci Christian.

OWL RDFa Wikipedia Geekeries Linked Data — 

Commentaires

Mince alors, je ne vois pas la knowledge box dans la barre à droite. C'est moi ou elle n'existe pas ?
Elle existe, mais j'ai oublié de l'activer pour les personnes non connectées, c'est maintenant chose faite... Désolé !!
Impressionnant ;-)
Est il possible de voir le code source?
Salut,C'est sympa comme démo. Si tu veux de l'aide pour en faire un plugin wordpress, envoies moi un mail ;) @+
Super, c'est un tres bon exemple qui montre la separation semantique et logique: tu declares ta semantique en HTML+RDFa, et ton script ajoute logique, rapatriement des donnees, etc...
Ta knowledge box est une bonne trouvaille. Elle me rappelle le fameux agent Alexendria de Memodata, un dico contextuel. Le principal pilier de ce genre de chose reste la source de l'information. Ces outils sont extrêmement utiles pratiques mais la limitation a une source d'information ma chatouille un peu. C'est un risque de tendre vers une uniformisation des discours, pensées. A en croire le projet VODEL (http://www.rntl.org/projet/resume2005/vodel.htm), le web serait capable à moyen terme de s'auto-censurer. J'entends par là qu'un agent intelligent (la future knowledge box) peut être intégré directement dans le contenu d'un article pour adapter le vocabulaire employé à son lecteur (bientôt auditeur ?). On peut donc imaginer asser facilement la reformulation des contenus. Les traitement automatisé des langues est un vaste domaine, qui est très excitant mais à double tranchant. Internet, c'est l'évangélisation des esprits ? Parano ? moi ? Coussi coussa....

@Pascal et Ben
Merci !!

@G.
Je te l'envoie par mail, mais je te préviens c'est vraiment pas propre comme code ;-)

@Karima
A-priori, je ne suis pas intéressé pour en faire un plugin Wordpress (j'utilise pas wordpress ;-) ), mais je peux t'envoyer le code si tu veux en faire un.

@Anonyme
Merci pour le lien, il faudra que je regarde ces use cases en détail.

@Manic5
Je suis assez d'accord sur le danger de limiter à une source d'information. Pour autant, dans mon exemple, il existe une différence de taille avec Alexandria, dans le cas d'Alexandria, tu installes le script et tu ne peux pas choisir quel mot est affecté, ni même la provenance des informations. Ce n'est pas le cas ici, puisque tu choisis les mots que tu veux tagguer en RDFa et surtout tu choisis l'entrepôt RDF que tu veux pour linker une chaîne de caractères. Le pouvoir est bien du côté du producteur de l'info.

"il existe une différence de taille avec Alexandria, dans le cas d'Alexandria, tu installes le script et tu ne peux pas choisir quel mot est affecté, ni même la provenance des informations. " --> Cette information n'est pas exacte. Avec Alexandria, depuis l'origine, le pouvoir est bien du côté du producteur de l'info. De quoi s'agit-il? D'un côté Memodata propose un assez large contenu prédéfini de quelques millions de fiches et traductions. De l'ordre, chaque webmaster peut, comme il l'entend, redéfinir une page associée à un mot ou une expression, si cette page existe au préalable, ou bien définir une nouvelle page. De plus, comme avec le web sémantique, mais avant lui, et sans son empire, dans tous les cas, ces pages rédéfinies peuvent être republiées par un autre fournisseur d'information selon son choix personnel. Un simple paramétrage du javascript fournit ce résultat.
Je dois être un oiseau de mauvaise augure : maintenant que je vois la Knowledge Box, il ne se passe rien quand je clique dessus ... Sorry ... ;-)
Bien joué ! Par rapport à ce dont tu m'avais parlé et un plugin Firefox, RDFa est en cours d'intégration dans Operator: http://torrez.us/archives/2007/05/17/531/ ! Reste maintenant à simplifier la publication.
Bon, là çà marche bien :-)

@Alex
Merci ! J'ai vu pour Operator, ce sera d'ailleurs un des liens de mon prochain billet et, effectivement, j'attends cela avec impatience pour implémenter mon idée. Comme tu dis, il restera à simplifier la publication et là c'est moins évident... Mais, je te sens chaud sur le sujet ;-)

@Christian
Tu dois faire peur à mon site, je ne vois pas d'autres explications ;-)

Bonjour! Je suis très intéressé par votre knowledge box! j'aimerai bien voir comment vous avez codé ça! Votre code est dispo quelque part?

Le code de la knowledge box est disponible dans le billet http://lespetitescases.net/code-knowledge-box

Bonjour,
Je trouve ce module intéressant.
Je serais intéressé par le code source de votre application, afin de développer une appli web 3.0 sur mon site internet, est-ce que vous pouvez me l'envoyer par mail svp ?

Bonjour,

Je suis jeune dans la profession (intégrateur) et commence à m'intéresser de près à RDFa. J'ai du mal à voir toutes l'étendu des possibilités en fait.
Quels seraient les différentes utilisations de RDFa dans un site classique et quelles autres dans une boutique ?

Merci en tous cas, car ce sont vos articles que j'ai trouvé en 1er (+ biologeek) et qui m'ont initié.

Très bonne journée

Raphael