Explorer les données des collections musicales
La BnF propose pour les collections musicales des données particulièrement riches et qui offrent des possibilités d'enrichissement auprès de sources extérieures de données.
Partitions
Je cherche une partition de musique baroque pour clavier et violon.
Je récupère dans le SRU catalogue général les notices de partitions publiées entre 1600 et 1750.
Au format Intermarc, le critère pour les partitions est bib.doctype all "c" et les critères de dates : bib.publicationdate >= "1600" and bib.publicationdate <= "1750"
La distribution instrumentale est indiquée dans la balise, de manière codée sur deux lettres selon le référentiel Distribution musicale.
Exemple pour la notice ark:/12148/cb44251427s :
ka01
sa01
Le code=a signifie qu'il s'agit d'un soliste, "ka" signifie piano, "sa" signifie violon, "01" donne le nombre de solistes. Les identifiants ARK de ces notices sont contenus dans les balises .
En ajoutant le nom de domaine https://data.bnf.fr aux identifiants ARK des notices qui possèdent cette distribution musicale, je récupère le lien vers l'exemplaire numérique Gallica par le SPARQL endpoint de data.bnf.fr. Pour les partitions qui n'ont pas d'exemplaires numérisés, je récupère les alignements avec la Bibliothèque musicale Petrucci.
PREFIX schemaorg: <http://schema.org/>
PREFIX rdarelationships: <http://rdvocab.info/RDARelationshipsWEMI/>
SELECT ?gallica ?imslp WHERE {
{ [] rdarelationships:electronicReproduction ?gallica. }
UNION
{ FILTER NOT EXISTS
{[] rdarelationships:electronicReproduction ?gallica.}
[] rdarelationships:workManifested ?oeuvre. ?oeuvre schemaorg:sameAs ?imslp.
FILTER CONTAINS (str(?imslp), "imslp.org"). }
}
Réponse en json pour l'exemple ark:/12148/cb44251427s (ne pas oublier de décocher l'option Strict checking of void variables)
Avec les identifiants ARK des documents numérisés, je récupère les documents en noir et blanc, grâce au protocole IIIF :
https://gallica.bnf.fr/iiif/ark:/12148/btv1b10520210t/f1/full/750,1000/0/bitonal.png
Spectacles
Je cherche les articles de presse qui parlent des opéras créés au XIXe siècle et décrits dans le catalogue.
Je récupère les notices de spectacles dans le SRU (attention à bien préciser "&recordSchema=intermarcXchange" dans la requête) :
Le type de spectacle est codé dans la balise suivante : v1 oz
En quatrième position, la lettre "v" signifie qu'il s'agit de théâtre musical (opéra, opérette...).
Dans les notices concernées, je peux récupèrer le titre du spectacle dans la balise //datafield[@tag='245']/subfield[@code='a'] et le nom des contributeurs dans les balises //datafield[@tag='700']/subfield[@code='a'].
Exemple pour l'ark/12148/cb414927597 :
Fidélio Carvalho
Je peux également récupérer la date de la représentation, dans la balise //datafield[@tag='265']/subfield[@code='d'] 18600505
Une fois le contenu de ces balises récupéré, je peux interroger le mode plein texte de Gallica avec ces chaînes de caractères en le croisant avec le critère de date (qui s'appuie sur la date du fascicule) et le critère de type de document :
J'élimine les URL contenus dans les balises qui portent le suffixe "/date" après l'identifiant ARK.
Autre référentiels utiles pour la musique
- Le référentiel des genres musicaux est présent dans les notices d'autorités et bibliographiques interrogeables par le protocole SRU et a été traduit en RDF pour les entités oeuvres dans data.bnf.fr
- Le référentiel des codes fonctions qui indiquent un type de relation entre une personne ou une collectivité et une ressource bibliographique est disponible dans les notices bibliographiques interrogeables par le protocole SRU et en RDF dans data.bnf.fr
- Les référentiels propres aux ressources audiovisuelles
Aide
Intermarc Format bibliographique
Le format INTERMARC est le format de travail de la Bibliothèque nationale de France. C'est dans ce format que sont stockées, gérées et créées les données bibliographiques et d’autorité disponibles dans son catalogue.
Documentation du format INTERMARC de diffusion des métadonnées descriptives de la BnF :
Fiche Technique
formatJSON XML
Licence TechnologiesIIIF SRU Sparql Intermarc
SujetsMusique Hackathon