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 :
- Dbpedia, qu'il ne me semble pas utile de vous présenter en détail, en tant que lecteurs assidus de ce blog, vous savez tout ce qu'il y a à savoir sur cette formidable initiative dont une nouvelle version qui contient plus de 110 millions de triples RDF vient d'être mise à disposition. Dbpedia utilise le triple store mis au point par OpenLink Software, Virtuoso et son sparql endpoint est disponible à l'adresse, http://dbpedia.org/sparql.
- US census data, soit l'ensemble des données du recensement des Etats-Unis de l'an 2000, ce qui représente 1 milliards de triples ! Ce triple store utilise le SGBD MySQL et le moteur SPARQL de Sesame. Il propose une interface d'interrogation et quelques exemples pour s'entraîner, le sparql endpoint est disponible à l'adresse http://www.rdfabout.com/sparql. A quand toutes les données de l'INSEE sur le même modèle ?
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 :
- Dbtune, 2ème du triplification challenge mis au point et géré avec brio par Yves Raymond, un frenchy expatrié à Londres, propose différents sparql endpoint avec des données issues de services en rapport avec la musique grâce à D2R server, entre autres :
- Les données du site Jamendo, http://dbtune.org/jamendo/#query ;
- Les données du site Magnatune, http://dbtune.org/magnatune/#query ;
- Les données du site Music Brainz, http://dbtune.org/musicbrainz/.
- Semantic crunchbase, mis au point par le développeur du merveilleux ARC, Benjamin Nowack, propose les données de Crunchbase géré par Techcrunch, un répertoire des technologies, personnes, investisseurs du Web. Cerise sur le gâteau, Benjamin a non seulement mis à disposition ces données avec un sparql endpoint, http://cb.semsol.org/sparql, mais aussi pleins d'API plus novatrices les unes que les autres, comme Pimp my API, qui permet de créer sa propre API avec les données de semantic Crunchbase, ou Crunchbase bot, un agent Twitter qui répond à vos questions.
- Linked movie database, vainqueur du triplification challenge, constitue, comme son nom l'indique, un équivalent à l'Internet movie database (IMDB) avec les technos du Web sémantique. Malheureusement, à cause de la licence restrictive d'IMDB, ce ne sont que les données de Wikipedia et de Freebase qui sont utilisés. Malgré tout, c'est un très belle initiative à surveiller de près. Sparql endpoint : http://sparql.linkedmdb.org:2020/linkedmdb.
- Tous les Smob server proposent un sparql endpoint, par exemple, celui de Websemantique.org, http://smob.websemantique.org/sparql.php ou du sioc-project, http://microplanet.sioc-project.org/sparql.php. Pour une exploitation du sparql endpoint des smob server, je vous renvoie vers le module Drupal que j'ai mis au point (exemple sur la barre à droite de ce site).
- Le dernier exemple est un peu particulier, car l'ensemble du site repose sur les technologies du Web sémantique. Revyu.com, vainqueur du Semantic Web challenge d'ISWC 2007, est un site permettant à tout à chacun de faire un compte-rendu, retour, notes de lecture... sur une ressource quelle qu'elle soit (livre, article, film, série, album, événement...). C'est un site vraiment intéressant. Dommage qu'il ne soit pas plus connu... Sparql endpoint : http://revyu.com/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 :
- DBLP est une base bibliographique mise à jour régulièrement des actes de colloques et des principales revues en informatique, soit l'équivalent de 58 millions de triples. Sparql endpoint : http://dblp.l3s.de/d2r/sparql.
- The semantic Web conference corpus propose les données des différents colloques sur le Web sémantique (ESWC et ISWC) depuis 2006. Sparql endpoint : http://data.semanticweb.org/sparql.
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.
Commentaires
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.