RDF Schema for musical family trees?
by Dan Zambonini
I was recently talking to another alternative music geek at a party -- trying to explain the incestuous relationship between many of the bands I liked -- and started sketching out something that resembled a lo-fi version of this:
After a few relationships had been drawn, I started thinking about how this could be represented with RDF (yes, I am a lot of fun at parties). I don't want to re-invent the wheel, so does anyone know if anything already exists that could model these relationships? I'm aware of the Musicbrainz metadata scheme, which borrows from Dublin Core, but the scope doesn't go so far as to map relationships (from what I've seen).
If nothing does exist, what kind of classes and properties should we have? I'll start making a draft list below - if you can think of any others (or corrections to mine), let me know below.
- I was thinking about sub-classing the MusicBrainz Artist class with Band/Group and Musician (which would include vocalists, etc.) classes
- Maybe the MusicBrainz Album and Track could be sub-classes of something like a Recording class? That might make it easier to say that someone can 'feature on' or 'produce' (etc.) any type of 'recording' (whether it is an entire album or a track)
- So we probably need properties for is member of, produced (which would apply to a recording, not a band, as in my diagram above), features in/on (there's probably a much better semantic term for this), has covered (again, unlike my diagram above, this should go from a band to a track, not a band - the original band/author can be found from a second relation)
- I guess we'd want to be able to say that someone was is member of for a particular date range too, so that we can represent musicians moving from one band to another.
- There are plenty of vocabularies to describe family relationships (e.g. http://vocab.org/relationship/), so we don't need to add anything for this
Musicbrainz does some of this, though not in RDF (yet?)
Musicbrainz recently introduced what are referred to as 'advanced relationships' which allows you to (amongst other things) say who the members of a group are, when individual members joined/left, when individuals where born/died, link siblings, parents, spouses and various other things.
Why not start with FOAF?
While obviously not specifically geared towards the "inbred genealogical family tree" that tends to be prevalent in the music industry, it is geared towards mapping relationships between "friends" and could act as a nice starting point if nothing else.
we are working on such an ontology in my lab since quite a while - it is not published yet, but i think it will soon!
in fact we define music production by focusing on the concept of event (which has several sub concepts, like, as you said, Recording, but also Performance, Composition, and so on...).