Interroger le portail data.bnf.fr par API
Vous souhaitez lister toutes les éditions du Médecin malgré lui de Molière ? Ce guide est fait pour vous
La BnF met à disposition du public une API SPARQL qui permet d'interroger directement les ressources de data.bnf.fr .
Pour commencer, rendez vous sur l'interface web de l'API SPARQL .
Cas pratique : lister toutes les éditions d‘un livre
Dans l'espace de requête, copiez-collez la requête suivante pour lister toutes les éditions du Médecin malgré lui de Molière. Puis cliquez sur le bouton triangulaire pour exécuter la requête :
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdarelationships: <http://rdvocab.info/RDARelationshipsWEMI/>
PREFIX dcterms: <http://purl.org/dc/terms/>
SELECT DISTINCT ?edition ?titre ?date ?editeur ?URLGallica
WHERE {
<http://data.bnf.fr/ark:/12148/cb12258414j> foaf:focus ?oeuvre.
?edition rdarelationships:workManifested ?oeuvre.
OPTIONAL {
?edition dcterms:date ?date.
}
OPTIONAL {
?edition dcterms:title ?titre.
}
OPTIONAL {
?edition dcterms:publisher ?editeur.
}
OPTIONAL {
?edition rdarelationships:electronicReproduction ?URLGallica.
}
}
L'API renvoie toutes les éditions connues, avec le lien vers la version numérique dans Gallica, quand elle existe.
Autre exemple : Lister tous les spectacles représentés dans une ville
Dans l'espace de requête, copiez-collez la requête suivante pour lister les spectacles représentés dans la ville de Bordeaux. Puis cliquez sur le bouton triangulaire pour exécuter la requête :
PREFIX schemaorg: <http://schema.org/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dcmitype: <http://purl.org/dc/dcmitype/>
SELECT DISTINCT ?s ?titre ?date
WHERE
{?s a dcmitype:Event;
schemaorg:location ?lieu;
dcterms:title ?titre;
dcterms:date ?date.
FILTER (REGEX (?lieu,"Bordeaux"))
}
Description technique
Le modèle de données de data.bnf.fr est présenté dans ce document.
Il repose sur le modèle conceptuel de référence pour la structuration des données catalographiques en bibliothèque : IFLA LRM (Library Reference Model), défini par la Fédération internationale des associations de bibliothécaires et des bibliothèques (IFLA). Ce modèle distingue notamment les œuvres des expressions (une traduction, par exemple) et des manifestations (une édition précise d’un livre, par exemple).
Les vocabulaires et ontologies suivantes sont utilisées :
Ontologie | Description |
---|---|
rdf | En savoir plus |
rdfs | En savoir plus |
owl | En savoir plus |
schemaorg | En savoir plus |
ore | En savoir plus |
skos | En savoir plus |
foaf | En savoir plus |
dcmitype | En savoir plus |
dcterms | En savoir plus |
frbr-rda | En savoir plus |
rdaregistry | En savoir plus |
RDAgroup1elements | En savoir plus |
RDAgroup2elements | En savoir plus |
rdvocab | En savoir plus |
rdarelationships | En savoir plus |
marcrel | En savoir plus |
geo | En savoir plus |
geonames | En savoir plus |
bio | En savoir plus |
bibo | En savoir plus |
ign | En savoir plus |
insee | En savoir plus |
bnf-onto | En savoir plus |
bnfroles | En savoir plus |
isni | En savoir plus |
Les ressources sont identifiées par des URI construites à partir des ARK utilisés par les applications de la BnF :
Ex : http://data.bnf.fr/ark:/12148/cb11885977m#about
ARK, pour Archival ressource key, est un dispositif technique garantissant une pérennité des identifiants utilisés, indépendamment des systèmes d'information et des bases de données. Le préfixe "12148" identifie l'établissement BnF. La suite, non signifiante, identifie la même ressource sur toutes les applications BnF où elle apparaît.
Ex : ark:/12148/cb140094767
Les informations portées par un ARK suffixé par #about concernent les entités elles-mêmes, les choses du monde réel. Les informations portées par un ARK non suffixé concernent les notices, les descriptions des entités.
Attention : les URI du triplestore sont : http://
, et non https://