DOREMUS
La musique, en graphe.
DOREMUS réunit dans un même graphe les données musicales de grandes institutions françaises, et en tire un catalogue pour les professionnels et un espace de découverte pour tous.
Ce qu’elle fait
- Catalogue : décrire une œuvre, un programme de concert, une exécution (prévue ou réalisée), un enregistrement ou une publication sur des fiches simples. Chaque fiche devient du RDF, est contrôlée à chaque enregistrement et garde son historique.
- Découvrir : chercher par distribution (« une œuvre pour hautbois et trio à cordes »), suivre l’histoire d’une œuvre et l’écart entre programmé et joué, parcourir chronologies, cartes et réseaux de compositeurs et d’interprètes, et recevoir des recommandations qui s’expliquent.
- Interroger en langage courant : un agent Claude répond en écrivant et en exécutant ses propres requêtes SPARQL sur le graphe.
- Claude rédige aussi des notes de programme et lit des programmes de concert imprimés.
Comment les données sont mises à disposition
- Source. Les données ouvertes de data.doremus.org, issues des catalogues de la Bibliothèque nationale de France, de la Philharmonie de Paris et de Radio France : plus de 550 000 œuvres avec leurs créateurs, distributions et titres, et une sélection de concerts et d’enregistrements, soit environ 24 millions de triplets.
- Alignement. Les personnes sont reliées à ISNI et à Wikidata ; un compositeur enregistré plusieurs fois sous des graphies différentes est fusionné par
owl:sameAs, ce qui peut être défait. - Modèle. L’ontologie DOREMUS, extension de FRBRoo et de CIDOC-CRM pour la musique, avec ses vocabulaires contrôlés (instruments, genres, tonalités). Les fiches du catalogue sont contrôlées par des formes SHACL et portent un enregistrement de provenance.
- Publication. Les données importées restent en lecture seule dans leur propre graphe nommé : les fiches du catalogue ne se mélangent jamais aux données des institutions. L’interface est en français, en anglais et en allemand.
Pile technique
- Graphe de connaissance
- Apache Jena Fuseki, SPARQL, graphes nommés
- Ontologies
- DOREMUS (FRBRoo, CIDOC-CRM), SKOS, PROV-O, SHACL
- IA
- API Claude : agent qui écrit le SPARQL (Opus 5.5), notes de programme, lecture des programmes
- Recherche
- Meilisearch ; PostgreSQL pour les données propres à l’application
- Application
- Python, FastAPI, pyshacl
- Hébergement
- Docker Compose, Coolify sur un serveur OVH en France