DOREMUS
Music as a graph.
DOREMUS brings together the music data of major French institutions in one graph, and builds on it a catalogue for professionals and a discovery space for everyone.
What it does
- Catalogue: record a work, a concert programme, a performance (foreseen or realised), a recording or a publication on simple forms. Each form becomes RDF, is checked on every save and keeps its history.
- Discover: search by casting (“a work for oboe and string trio”), follow a work’s history and the gap between programmed and performed, browse chronologies, maps and networks of composers and performers, and get recommendations that explain themselves.
- Ask in plain language: a Claude agent answers by writing and running its own SPARQL queries on the graph.
- Claude also drafts programme notes and reads printed concert programmes.
How the data is made available
- Source. The open data of data.doremus.org, built from the catalogues of the Bibliothèque nationale de France, the Philharmonie de Paris and Radio France: more than 550,000 works with their creators, casting and titles, and a selection of concerts and recordings, about 24 million triples.
- Alignment. People are linked to ISNI and Wikidata; composers recorded several times under different spellings are merged with
owl:sameAs, which can be undone. - Model. The DOREMUS ontology, an extension of FRBRoo and CIDOC-CRM for music, with its controlled vocabularies (instruments, genres, keys). Catalogue records are checked by SHACL shapes and carry a provenance record.
- Publication. The imported data stays read-only in its own named graph, so the catalogue’s records never mix with the institutions’ data. The interface is in French, English and German.
Technical stack
- Knowledge graph
- Apache Jena Fuseki, SPARQL, named graphs
- Ontologies
- DOREMUS (FRBRoo, CIDOC-CRM), SKOS, PROV-O, SHACL
- AI
- Claude API: an agent writing SPARQL (Opus 5.5), programme notes, reading of programmes
- Search
- Meilisearch; PostgreSQL for the application’s own data
- Application
- Python, FastAPI, pyshacl
- Hosting
- Docker Compose, Coolify on an OVH server in France