C’est à une rencontre programmée que je vous convie ce soir, vous savez ces rendez-vous arrangés dont on est sûr et certain de l’issue, la rencontre d’Ubiquity et de Sparqlbot.
Commençons par la présentation de nos deux protagonistes :
Comme vous le pouvez le constater par vous-mêmes, leurs points communs étaient trop flagrants pour ne pas les faire se rencontrer. C’est justement ce que vient de faire Benjamin Nowack, en mettant à disposition une commande Ubiquity qui permet d’interroger SparqlBot et de recevoir la réponse sous la forme d’une petite pop-up qui s’affiche en haut de la page Web.
Non, il ne s'agit pas de faire un guide des parcs parisiens les plus accueillants pour votre nouveau compagnon à quatre pattes que vous auriez malicieusement appelé du nom de la recommandation la plus importante du W3C depuis XML, mais plutôt une liste non exhaustive des Sparql endpoint que vous pouvez interroger librement sur le Web. Les différentes interfaces que je vais présenter sont mis à disposition dans le cadre du projet Linking Open Data (ou LOD) coordonné par le W3C.
Ce projet vise à exposer sur le Web des données structurées avec les technologies du Web sémantique, en particulier RDF et Sparql, suivant les quatre principes du Linked Data édictés par Tim Berners-Lee et rappelés dans ce guide ou cette présentation, soit :
Preuve supplémentaire de la maturité du Web of data, nous disposons, à l'instar de son grand frère le Web, de navigateurs et de moteurs de recherche spécialisés ne requérant aucune compétence particulière.
Petite revue de détail, en commençant par les navigateurs.
Au mois de mars, Tim O'Reilly repris par Internet Actu définissait ainsi le but de Freebase : « Créer les synapses du cerveau global ». On y voyait les prémices de la première application concrète et accessible à tous du Web sémantique. Six mois plus tard, je vous propose d'y revenir, alors que le concept de Web of data et Dbpedia ont fait leur apparition.
Dans l'article d'Internet actu, Hubert citait Denny Vrandecic, concepteur de Semantic Mediawiki :
« Metaweb [nda : le concepteur de Freebase et par extension le logiciel qui fait tourner freebase] vient du monde des données structurées, même si la structure est ici flexible et changeante. Semantic Media Wiki vient du monde des données non structurées, qui peuvent être améliorées par quelques éléments de structure pour mettre en relation plusieurs éléments non structurés. ».
Cette analyse me paraît excellente, car elle pose tous les enjeux de Freebase et son mode de fonctionnement. Si on voulait caricaturer, je dirais que Freebase est un wiki structuré OU une base de données dont la modélisation peut changer à la demande de l'utilisateur qui peut librement saisir les données. Choisissez votre camp en fonction de votre origine : données non structurées ou données structurées.
Concrètement, Freebase est organisée sous la forme d'une taxonomie thématique (arts et divertissements, Société, Sport...). Chaque thème comprend des types de ressource (film, acteur, opera, pièce de théâtre, Personne, ville...) auxquels sont rattachés des propriétés. Ces propriétés peuvent relier une ressource à une autre ressource ou à une donnée typée (chaîne de caractères, date, nombre entier...). Si vous suivez ce blog attentivement, vous aurez reconnu le principe d'une ontologie qui présente la particularité d'une structure évolutive à la demande des utilisateurs.
Cerise sur le gâteau, Freebase propose pour gérer cette ontologie une interface très agréable, facile à manipuler et qui permet très simplement d'éditer une donnée, d'en ajouter, de relier une ressource à une autre.
Réaction immédiate : c'est génial, c'est effectivement la première application du Web sémantique ! En apparence et au premier abord, tout y est et il faut l'avouer, c'est impressionnant. Mais, à y regarder de plus près, deux problèmes se posent : l'un est technologique et l'autre est, je dirais, cognitif.
Saviez-vous qu'Emma Watson, alias Hermione Granger dans les adaptations au cinéma d'Harry Potter, est née à Paris ?
Pour ma part, je l'ai découvert en mettant au point une autre série d'exemples d'utilisation de Dbpedia, en m'interressant cette fois-ci aux personnes. Le principe est simple, vous choisissez dans la liste la ville qui vous intéresse, par exemple, Paris et vous découvrirez les différentes personnes nées dans cette ville et présentes dans Dbpedia, c'est à dire dans Wikipédia. La mise en forme et la navigation dans la page de résultat est assurée par l'excellent logiciel/script du projet Simile, Exhibit. J'ai volontairement limité la liste des villes, car le principe est toujours le même. J'en ai profité pour placer un lien directe vers cette page depuis la carte des capitales européennes.
Il y a quelques mois, je titrais mon billet présentant Dbpedia : « Dbpedia ou la puissance du RDF au profit du savoir ». Mis à part deux exemples très simples qui, d'ailleurs, ne fonctionnent plus aujourd'hui avec la nouvelle version de Dbpedia, cette affirmation restait toute théorique.
Pierre Lindenbaum, quant à lui, avait mis au point un exemple plus probant : Wikistory, qui présentait les biographies des scientifiques célèbres présents dans Dbpedia.
A l'occasion de la nouvelle version de Dbpedia, je me suis remis au boulot et j'ai mis au point quelques exemples qui, je l'espère, montreront tout l'intérêt de disposer de données structurées, disponibles sous une forme normalisée, RDF, et interrogeable via un langage de requête et un protocole normalisé, SPARQL. Bref, montrer l'intérêt des technologies du Web sémantique.
Sur ce mini-site, je vais donc rassembler différents exemples. J'ai pour l'instant deux exemples :
Avec l'initiative Linked data dont Dbpedia est l'exemple le plus représentatif, nous disposons d'une masse de données structurées de plus en plus importantes. Peu à peu se constituent sur le Web des entrepôts de données décentralisées, mais reliées par l'utilisation de RDF et de la propriété OWL « sameAs ».
Par exemple : la notice Paris dans Dbpedia est reliée à la notice Paris dans Geonames via le triple suivant :
<rdf:Description rdf:about="http://dbpedia.org/resource/Paris">
<owl:sameAs rdf:about="http://sws.geonames.org/2988507/"/>
</rdf:Description>
De cette façon, vous pouvez interroger de toutes les informations de Dbpedia et de Geonames sur la ressource « Paris ». Les applications sont très nombreuses, comme par exemple ma knowledge box (qui semble fonctionner cahin-caha, il faudra que je regarde cela) ou d'autres, comme le montre cet article.
Il aura fallu que je sois bloqué chez moi pour finir de vider mon agrégateur de tout ce qui s'était accumulé avant et pendant les vacances. Et, pour finir définitivement cette opération qui m'aura pris pas mal de temps, voici quelques ressources qui ont plus particulièrement retenu mon attention.
Du côté du Web sémantique, les deux sujets à la une restent "linked data" et RDF/A.
Pour finir (provisoirement) avec les billets sur RDFa, je vous propose une petite pelote sur le sujet qui vous prouvera que c'est la techno qui monte et comme il faut vider l'agrégateur, j'y ajouterai deux-trois autres choses.
Pour ceux qui s'intéressent au RDFa, le site à ne pas louper : RDFa.info, tenu par Ben Adida (que je remercie au passage pour le billet et le commentaire sur ma ch'tite knowledge box), Mark Birbeck, Steven Pemberton et Michael Hausenblas. Ce blog centralise toutes les informations qui sortent à droite à gauche sur le sujet (et du coup, la principale source de cette pelote).
RDFa a fait parler de lui dans les différentes conférences dont je vous ai déjà parlé :
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,