Les petites cases

Où s'amuser avec Sparql ?

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 :

  • Attribuer une URI à chaque chose/ressource ;
  • Utiliser des URIs HTTP, c'est à dire déférençable, pour que les personnes puissent consulter facilement et directement ces choses/ressources ;
  • Si quelqu'un veut accéder à cette URI, fournir les informations utiles en utilisant le modèle RDF ;
  • Inclure des assertions RDF qui relient à d'autres URIs, pour qu'ils puissent découvrir les choses/ressources reliés.

Le projet s'enrichit régulièrement de nouvelles contributions, comme le montre la mise à jour régulière du schéma mis au point par Richard Cyganiak :

A l'occasion du "LOD Triplification challenge" organisé par l'équipe de Triplify dans le cadre de la conférence Isemantics 2008, ce schéma a été enrichi de nombreuses contributions plus intéressantes les unes que les autres. A cette occasion, il m'a semblé utile de vous proposer un petit récapitulatif. Au préalable, il faut noter que la mise à disposition d'un Sparql endpoint n'est pas systématique dans les différents projets qui composent le LOD, c'est pourquoi certaines bases de données du schéma ci-dessus ne sont pas présentes dans ma liste.

Les précurseurs

Ils sont au nombre de deux :

Ces deux projets marquent les deux tendances principales ou types de sparql endpoint disponibles aujourd'hui :

  • La mise à disposition de données et statistiques instutionnelles ;
  • La récupération des données issues de services Web 2.0 ;

Données et statistiques institutionnelles

De plus en plus de projets explorent ce domaine. Et, pour cause, les technologies du Web sémantique constituent des standards et assurent, ainsi, en partie, la pérennité des informations et des services à destination des citoyens. Elles participent donc naturellement au mouvement de mise en place de la e-administration. Deux organisations sont concernés, l'Europe et les Etats-Unis :

  • Les statistiques mis à disposition par Eurostat, l’Office statistique des Communautés européennes, sont disponibles via deux sparql endpoint :
    • le projet RIESE, RDFizing and Interlinking the EuroStat Data Set Effort, en est à ses débuts et ne propose pour le moment que les données économiques. Ce projet utilise SeRQL server, le sparql endpoint est disponible à l'adresse http://riese.joanneum.at:3020/ (il ne semble pas fonctionner à l'heure où j'écris ces lignes Màj 08/08/2008, cf. les commentaires, Michael Hausenblas me signale qu'il a été relancé)
    • D2R server for Eurostat, propose les données extraites de l'Eurostat en date du 14 juin 2007 et il a été mis au point par la même équipe que Dbpedia avec la technologie D2R server. Le sparql endpoint est disponible à l'adresse http://www4.wiwiss.fu-berlin.de/eurostat/sparql.
  • Avec les mêmes technologies que le projet US census data, il est possible de suivre les élections au congrès américain, soit la campagne présidentielle et le combat McCain-Obama, via le sparql endpoint mis à disposition sur le site Govtrack.us, http://www.govtrack.us/sparql.xpd.
  • Le CIA World Factbook, est une publication annuelle officielle de la CIA détaillant chaque pays du monde, du point de vue géographique, démographique, politique, économique, des communications et militaire. Les incontournables Allemands à l'origine de Dbpedia proposent avec "leur" D2R server un sparql endpoint, à l'adresse http://www4.wiwiss.fu-berlin.de/factbook/sparql, permettant d'interroger le CIA factbook. Dommage qu'aucune mention n'indique l'année du factbook ou d'une quelconque mise à jour.

Données issues de service Web 2.0

Tous les services Web 2.0 dignent de ce nom exposent leurs données via des API, sous forme de Web services en SOAP ou en REST. Malheureusement, pas une API ne ressemble à une autre et chaque service expose ces données via une API qui lui est propre. Google essaye bien avec son API Open Social de mettre de l'ordre dans tout ça, mais comme il l'entend évidemment. Pourtant, comme le prouvent les différents projets listés ci-dessous, il serait plus efficace de mettre à disposition toutes ces données via un protocole unique, à savoir SPARQL :

Données bibliographiques

Ce domaine devrait rapidement devenir un grand pourvoyeur de sparql endpoint, tant les technologies du Web sémantique y trouvent naturellement leur place. Le protocole SPARQL me paraît un candidat tout désigné pour remplacer Z3950, OAI-PMH et autres SRU/SRW et permettrait au monde des bibliothèques de sortir de leurs protocoles spécifiques. Pour vous en convaincre, je vous conseille de jeter un coup d'oeil aux différentes interventions (elles ne sont pas encore toutes disponibles) de la journée d'étude organisée par AULA qui avait pour sujet "Web sémantique et bibliothèques" ou le projet OAI2LOD, qui permet d'interroger un entrepôt OAI-PMH via un sparql endpoint. En attendant, on peut citer deux exemples :

Dans un domaine très proche, Edd Summers a passé, à titre expérimental, les notices d'autorités sujet de la Library of congress au format Linked Data grâce à SKOS. Il est possible de les interroger via un sparql endpoint, qui tourne avec ARC : http://sparql.lcsh.info/.


Si, avec tout ça, vous ne trouvez pas votre bonheur pour apprendre Sparql, mettre au point des Mashup de folie ou de nouvelles commandes Ubiquity, je ne vois pas ce que je peux faire d'autre. Ah ! si, je pourrais mouiller la chemise et vous montrer ce qu'on peut faire de toutes ces données. C'est ce que j'espère faire bientôt (dans les prochaines semaines ;-) avec des modules pour Drupal.

Sparql Geekeries Linked Data — 

Commentaires

Superbe billet qui me permet de rester un peu à jour sur Linked Data. Qu'est ce que tu utilises concrètement pour faire tes tests de requêtes SPARQL ?
Merci !
J'aurais voulu aborder la question que tu me poses, mais j'ai trouvé mon billet suffisamment long... La plupart des sparql endpoint que j'ai cités propose des formulaires Web pour construire la requête et voir le résultat au format HTML, directement sur le site. Pour attaquer un sparql endpoint, il existe dans presque tous les langages de programmation des API sparql client, en PHP, ARC ou RAP, en Java, Jena ou Semantic Web client library, en Python Sparql Wrapper. Sinon, SPARQL utilisant HTTP, tu peux toujours attaquer un sparql endpoint avec CURL, c'est ce que fait Michael Hausenblas avec ses commandes Ubiquity.
FYI: http://riese.joanneum.at:3020/ is up and running again - thanks for pointing this out! Cheers, Michael
Merci Michael, j'ai mis à jour mon billet. A bientôt !
Merci Got pour ce beau billet qui est une "somme" comme on dit chez les médiévistes ;-) Structurer les données revient à ajouter de l'intelligence aux données. Mais celle-ci est de facto rivée à la structure. Alors si on s'abstient avec RDF de loger trop d'intelligence de "roide manière", les données s'assouplissent naturellement et se prêtent à plus de possibilité dans le web des données. Mis à part ça, ce serait sympa de voir la photo de Sparql D)
Dans la catégorie des "données bibliographiques" je passe le peu de temps que j'ai de libre à wrapper en RDF l'API d'OpenLibrary (http://openlibrary.org/dev/docs/api), histoire de rajouter une bulle sur le schéma... si vous êtes intéressés pour donner un coup de main faites-moi signe...