Sparql

Stocker les triples

Dans un précédent billet, Iamhondjack notait avec justesse en commentaire qu'il ne fallait pas dissocier SPARQL et SQL de manière aussi stricte que je pouvais le faire. Il appuie son propos sur l'expérience de D2R server qui permet d'interroger une base de données relationnelles en SPARQL grâce à un mapping entre la modélisation de la base de données relationnelles et le modèle de graphe. Dans la foulée, Christian pose la question essentielle à savoir la performance et le temps de réponse.

Il semble que la question du stockage des triples RDF soit dans l'air du temps ce qui est logique, eu égard, à l'intérêt grandissant du Web of data. Ainsi, même si Tim Berners-Lee donnait déjà des premiers éléments de réponse dès 1998 dans un document intitulé Relational Databases and the Semantic Web (in Design Issues), un workshop organisé par le W3C et intitulé « RDF Access to Relational Databases » a permis de faire récemment le point sur la question. Une des conclusions de ce workshop est la nécessité de mettre au point une procédure normalisée de benchmark pour les triple store RDF sur le modèle de TPC pour les bases de données relationnelles.

Naviguer et rechercher dans le Web of data

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.

  • A tout seigneur, tout honneur, le premier d'entre eux mis au point par Tim Berners-Lee et son équipe : Tabulator développé en Javascript (Attention, ne fonctionne qu'avec Firefox). Outre la possibilité de naviguer dans des sources en RDF, il offre un moteur SPARQL, la possibilité d'afficher les données géographiques sur une carte, les événements sur un agenda ou une frise chronologique. C'est certainement le plus complet, mais aussi le plus geeky.
  • Dans le même ordre d'idée et proposant des fonctionnalités à peu près équivalentes, OpenLink RDF browser, qui sert de démonstration au produit Virtuoso server qui intègre, entre autres, un RDF store et sparql end point, de l'éditeur Open link software.
  • Plus simple et plus accessible, Disco hyperdata Browser mis au point par l'équipe de Dbpedia (ces types ne s'arrêtent jamais). L'interface est, disons, épurée, mais efficace. Fonctionnalité intéressante, il intègre un cache qui permet de disposer de tous les triples consultés récemment par les utilisateurs pour naviguer dans les sources RDF.
  • Pour finir, celui qui me semble le plus prometteur : Zitgist browser mis au point par Frederik Giasson. Aussi simple que Disco, mais avec une interface très agréable.

Retour sur Freebase à la lumière du Web of data

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.

Dbpedia en action la suite

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.

Dbpedia en action

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 :

Sparql, maillon essentiel du « Web of data »

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.

Le Web sémantique rencontre....

Preuve de la maturité des technologies et des standards du Web sémantique, les chercheurs et promoteurs du domaine vont à la rencontre d'autres communautés pour leur proposer de nouvelles applications, des idées, des tutoriaux, leurs expertises... Bref, des rencontres se produisent qui amènent des projets qui montrent chaque jour un peu plus la pertinence du modèle. Voici une petite sélection repérée ces derniers jours.

Le code de la knowledge box

Plusieurs d'entre vous m'ont demandé le code de la knowledge box. C'est avec plaisir que je vous en fais part, mais autant vous prévenir tout de suite je suis un très mauvais codeur quand il s'agit d'utiliser un langage de programmation. Merci d'avance pour votre indulgence à ce niveau ;-).

Six parties composent la knowledge box :

Et une pelote, une !!

Pour se remettre de toutes ces émotions, rien ne vaut une petite pelote de liens bien consistantes et hétéroclites.

Dans la série, les gourous du XML se mettent à bloguer. Après James Clark dont j'ai parlé dans la précédente pelote, Jenni Tennison, grande prêtresse du XSLT, a ouvert son blog et c'est tout aussi intéressant. Deux billets ont plus particulièrement retenu mon attention :

Pelote de liens avant retour définitif

Comme d'habitude après une longue absence de blogging, mon agrégateur est rempli de liens qu'il me faut vider avant de pouvoir continuer. Quoi de mieux qu'une pelote de liens bien consistante pour régler ce problème.

Syndiquer le contenu