SPARQL endpoint DOREMUS
DOREMUS pour Doing Reusable Musical data est un projet de recherche lancé en 2014 visant à « mieux décrire la musique pour mieux la partager ». Trois grandes institutions culturelles françaises, la BnF, la Philharmonie et Radio France, possédant des données complémentaires dans le domaine de la musique, les partagent pour enrichir mutuellement leurs catalogues et les exposent en RDF en vue de leur réutilisation dans le Web de données.
Couverture des données récupérables par l'API
Les données décrivent les oeuvres musicales :
- du catalogue général de la BnF
- du catalogue de la Philharmonie
- du catalogue de RadioFrance en ce qui concerne la musique classique et traditionnelle
Elles sont enrichies de référentiels pour les genres musicaux, les tonalités, les modes musicaux et les instruments.
Format de requête
Langage de requête SPARQL, qui permet d'interroger le RDF
Exemples de requêtes
Toutes les requêtes sont faites avec ces préfixes :
PREFIX mus: <http://data.doremus.org/ontology#>
PREFIX ecrm: <http://erlangen-crm.org/current/>
PREFIX efrbroo: <http://erlangen-crm.org/efrbroo/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
Quelles oeuves ont été composées par Mozart pendant les dix premières années de sa vie ? Voir la réponse en HTML
SELECT DISTINCT ?expression, SAMPLE(?title) as ?title, ?compositionDate
WHERE {
VALUES ?composer {<http://data.doremus.org/artist/4802a043-23bb-3b8d-a443-4a3bd22ccc63> }
?expression a efrbroo:F22_Self-Contained_Expression ;
rdfs:label ?title .
?expCreation efrbroo:R17_created ?expression ;
ecrm:P9_consists_of / ecrm:P14_carried_out_by ?composer ;
ecrm:P4_has_time-span / time:hasBeginning / time:inXSDDate ?compositionDate .
?composer schema:birthDate ?birth .
FILTER ( year(?compositionDate) - year(?birth) < 10 )
} ORDER BY ?compositionDate
Quelles oeuvres ont été composées par Mozart ? Voir la réponse en HTML
SELECT DISTINCT ?expression SAMPLE(?title) as ?title
WHERE {
?expression a efrbroo:F22_Self-Contained_Expression ;
mus:U70_has_title ?title .
?expCreation efrbroo:R17_created ?expression ;
ecrm:P9_consists_of / ecrm:P14_carried_out_by ?composer .
?composer foaf:name "Wolfgang Amadeus Mozart"
} ORDER BY ?title
Quelles symphonies ont été composées au XIXè siècle ? Voir la réponse en HTML
SELECT DISTINCT ?expression, SAMPLE(?title) as ?title, SAMPLE(?composerName) as ?composerName, ?date
WHERE {
?expression a efrbroo:F22_Self-Contained_Expression ;
mus:U70_has_title ?title ;
mus:U12_has_genre .
?expCreation efrbroo:R17_created ?expression ;
ecrm:P4_has_time-span / time:hasBeginning / time:inXSDDate ?date ;
ecrm:P9_consists_of / ecrm:P14_carried_out_by ?composer .
?composer foaf:name ?composerName
FILTER (?date >= "1800"^^xsd:gYear AND ?date < "1900"^^xsd:gYear)
} ORDER BY ?date
Récupérer toutes les données relatives à la Sonate pour violoncelle et piano no 1 en fa majeur de Beethoven Voir la réponse en HTML
SELECT DISTINCT *
WHERE {
VALUES ?expression { <http://data.doremus.org/expression/614925f2-1da7-39c1-8fb7-4866b1d39fc7> }
?expression a efrbroo:F22_Self-Contained_Expression ;
mus:U70_has_title | ecrm:P102_has_title ?title .
OPTIONAL{?expression ecrm:P3_has_note ?note .}
OPTIONAL {
?expression mus:U13_has_casting / mus:U23_has_casting_detail / mus:U2_foresees_use_of_medium_of_performance_of_type ?mop .
}
OPTIONAL{
?expression mus:U12_has_genre ?genre .
}
OPTIONAL{?expression mus:U17_has_opus_statement / ecrm:P3_has_note ?opus}
OPTIONAL{?expression mus:U10_has_order_number ?order .}
OPTIONAL{?expression mus:U11_has_key ?key . }
OPTIONAL{?expression mus:U16_has_catalogue_statement / rdfs:label ?catalogue }
OPTIONAL{
?expCreation efrbroo:R17_created ?expression .
OPTIONAL {
?expCreation ecrm:P9_consists_of ?activity ;
ecrm:P4_has_time-span / time:hasBeginning / time:inXSDDate ?creationStart .
?activity ecrm:P14_carried_out_by ?composerUri ;
mus:U31_had_function_of_type "compositeur"@fr .
}
}
}
Liste de tous les compositeurs Voir la réponse en HTML
SELECT DISTINCT ?artist SAMPLE(?name) as ?name
WHERE {
[] mus:U31_had_function_of_type "compositeur"@fr ;
ecrm:P14_carried_out_by ?artist .
?artist foaf:name ?name
}
Liste de tous les musiciens Voir la réponse en HTML
SELECT DISTINCT ?artist SAMPLE(?name) as ?name
WHERE {
[] a mus:M28_Individual_Performance;
ecrm:P14_carried_out_by ?artist .
?artist foaf:name ?name
}
Liste de tous les chanteurs Voir la réponse en HTML
SELECT DISTINCT ?artist, SAMPLE(?name) as ?name, ?mop
WHERE {
[] a mus:M28_Individual_Performance;
mus:U1_used_medium_of_performance ?mop;
ecrm:P14_carried_out_by ?artist .
?artist foaf:name ?name.
?mop skos:broader
}
Liste de toutes les représentations de Carmen Voir la réponse en HTML
SELECT DISTINCT *
WHERE {
?expression mus:U70_has_title | ecrm:P102_has_title "Carmen" .
?performance efrbroo:R66_included_performed_version_of ?expression .
OPTIONAL { ?performance ecrm:P4_has_time-span / time:hasBeginning / time:inXSDDate ?time }
OPTIONAL { ?performance ecrm:P7_took_place_at ?place }
OPTIONAL { ?performance mus:U70_has_title | ecrm:P102_has_title ?title } OPTIONAL { ?performance ecrm:P3_has_note ?note }
}
Pour en savoir plus sur les requêtes dans les données de DOREMUS
Modèle de données
La modélisation des données du projet DOREMUS permet d'exprimer le processus de création d’une œuvre jusqu’à son interprétation, son enregistrement et sa publication. Un autre aspect important de ce projet est la création ou l’enrichissement de référentiels musicaux multilingues, puis leur alignement avec les jeux de données et avec des référentiels plus généralistes.
Accès
Fiche Technique
formatRDF/XML JSON CSV XSL
Licence TechnologiesSparql
SujetsMusique