logo BnF
logo Api
Découvrez et utilisez les données de la BnF

Vous êtes ici

Explorer les données des collections musicales
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"

http://catalogue.bnf.fr/api/SRU?version=1.2&operation=searchRetrieve&query=bib.doctype%20all%20%22c%22%20and%20bib.publicationdate%20%3E=%20%221600%22%20and%20bib.publicationdate%20%3C=%20%221750%22&recordSchema=intermarcxchange&maximumRecords=200&startRecord=1

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 http://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 :

http://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) :

http://catalogue.bnf.fr/api/SRU?version=1.2&operation=searchRetrieve&query=bib.doctype%20adj%20%22v%22%20AND%20bib.publicationdate%20%3E%20%221800%22%20and%20bib.publicationdate%20%3C%20%221900%22%20&recordSchema=intermarcXchange

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élioCarvalho

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 :

http://gallica.bnf.fr/SRU?operation=searchRetrieve&exactSearch=false&collapsing=true&version=1.2&query=(gallica%20any%20%22fidelio%22)%20and%20(gallica%20any%20%22carvahlo%22%20or%20gallica%20any%20%22treitschke%22)%20and%20(gallicapublication_date%3E=%221860%22%20and%20dc.type%20=%20any%20%22fascicule%22%20and%20(ocr.quality)%20all%20%22Texte%20disponible%22)

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