Logo BnF

API et jeux de données

fr
  • Accueil
    • Catalogue général de la BnF
    • Gallica
    • data.bnf.fr
    • Dépôt légal du Web
    • Catalogue collectif de France (CCFr)
    • Mandragore
    • Bibliographique des éditions parisiennes du XVIe siècle
    • Reliures
    • Données statistiques
    • Voir toutes les sources
    • Expérimentations
    • Projets de recherche
    • Tutoriels & outils
  • Services
  1. Vous êtes ici : Accueil
  2. SPARQL Endpoint DOREMUS
RDF/XML JSON CSV XSL Sparql Musique

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.

Comprendre le modèle de données de DOREMUS

Consulter l'ontologie RDF créée pour le projet DOREMUS

Accès

http://data.doremus.org/sparql

Fiche Technique
format

RDF/XML JSON CSV XSL

Licence

Licence ouverte de l’état

Technologies

Sparql

Sujets

Musique

Contact
data@bnf.fr
Partage
twitter facebook Linkedin
  • © 2020 BnF
  • A propos
  • Conditions d'utilisation
  • Mentions légales
  • Politique de confidentialité
  • RSS
  • Écrire à la BnF
  • Accessibilité (non conforme)
  • DCAT
twitter facebook instagram youtube