Travailler avec bnf.data.fr : SPARQL, le chaînon manquant

Taxi/Gérard Pirès .-1998Je concluais mon article précédent sur la nécessité de disposer des identifiants de notices autorités de la BNF pour pouvoir récupérer de manière fiable une fiche dans data.bnf.fr, ce qui n’est possible qu’en synchronisant son catalogue avec la base Opale+. Le projet OpenCat est un exemple de l'utilisation des données du dépôt bnf.data.fr. Comme pour les notices autorités, Il repose sur la récupération de l'intégralité des données ce qui est une solution complexe à mettre en œuvre. L'utilisation du langage de requêtes SPARQL me semble une solution alternative intéressante comme l'a été le protocole Z39.50 pour la récupération des notices de BN Opale+

Exploiter une fiche au format RDF

Une fiche au format RDF est constituée de triplets (sujet, prédicat, objet) dont le sujet est une ressource et l’objet  une chaîne de caractères (en orange sur le schéma) – par exemple, dates  et informations biographiques pour une personne ou  titres et notes pour une notice d’œuvre – ou  des URI de ressources liées (en vert sur le schéma) – par exemple, auteur vers ses œuvres, œuvre vers ses expressions ou expression vers ses manifestations.  Dans le cas d’une URI, il va falloir lire la fiche de chaque  ressource liée jusqu’à obtenir une donnée affichable. Les temps de réponses sont directement proportionnels au nombre de liens, rendant difficile un affichage en temps réel dans un portail.

J’avais déjà évoqué ce problème, mais pour les liens entre notices autorités,  dans mon article sur la synchronisation des catalogues où j’arrivais à la conclusion que ce problème admet deux solutions :

  • La récupération de l’ensemble des notices pour les restructurer avec un modèle de données adapté aux besoins locaux. C’est la méthode utilisée par le projet OpenCat. Logilab a intégré l’ensemble des données de data.bnf.fr dans son application générique CubicWeb et les a lié aux notices de la bibliothèque de Fresnes à partir du numéro de notice BNF. Si cette approche est très efficace, elle impose une infrastructure, matérielle et logicielle, importante  et nécessite la synchronisation de la base locale et de la source de données pour être à jour des  évolutions - nouveautés et modifications.
  • L’accès à un serveur avec un système permettant de récupérer en une seule interrogation, des données d’une fiche et de ses ressources liées.  Equivalent du langage SQL pour les bases de données, SPARQL "est un langage de requête et un protocole qui permet de rechercher, d'ajouter, de modifier ou de supprimer des données RDF disponibles à travers Internet. Son nom est un acronyme qui signifie SPARQL Protocol and RDF Query Language. Une requête permet parcourir tous les liens d’un entrepôt" (voir article complet dans wikipedia).

SPARQL

Emile Zola dans BiblioTICPour vous donner une idée de la puissance de l’outil, voici deux exemples utilisant DBpedia,  le dépôt RDF de Wikipedia. Malheureusement, ce serveur est généralement en maintenance en début de matinée (la nuit américaine), donc ne vous étonnez pas si les requêtes n’aboutissent pas.

  • La liste des écrivains français nés à Paris : dates biographiques, influences et œuvres d’Emile Zola. Le filtre sur la date de naissance se fait sur le prédicat birthPlace et celui sur les écrivains français ("French writer") sur le prédicat dc:description. Cet exemple est une adaptation d’une application que j’ai développé pour Ellipses, logiciel de gestion de librairies de l’éditeur TMIC : récupération de notices BNF en Z39.50 et enrichissement avec SPARQL.
  • Ressource Emile Zola avec ses influences et ses œuvres. Cette fiche est constituée dans le CMS Drupal en utilisant un module client SPARQL  que je suis en train de finaliser.

Cette solution est facile à mettre en place et on imagine aisément les possibilités d’un tel système pour un catalogue de bibliothèque en utilisant le dépôt RDF data.bnf.fr.

Pour ceux qui souhaite en savoir plus, je vous renvoie au diaporama « SPARQL Comment illuminer vos mashup en consomment les données du Linked Data » ou à l’article « Amusons-nous avec RDFa », qui m’ont personnellement beaucoup aidé.

Travailler avec data.bnf.fr

Lors de la mise en place de BN Opale+, la question s’était posé de trouver une solution alternative au cdrom pour la diffusion des notices en Iso2709 aux bibliothèques. Créé, encore, à l’initiative de la BM de Fresnes, le club des utilisateurs des produits de la BNF avait proposé dans un document intitulé « Travailler avec la BNF » la mise en place d’un serveur Z39.50, ce qui fut accepté et mis en place mais pour les seules notices bibliographiques. A la suite du logiciel Aloès,  la plupart des éditeurs de SIGB intègrent aujourd’hui à leur module de gestion du catalogue un client Z3950, ce qui a permis de généraliser la récupération de notices.

Plus de dix ans après, la situation est analogue pour travailler avec data.bnf.fr. Je suis convaincu que le couple RDF / SPARQL est la suite logique de la paire iso2709 / Z39.50.

Reste à trouver un équivalent pour le groupe d’utilisateurs de l’époque pour convaincre la BNF ou un organisme intéressé par un tel développement..