Major revision (1.01) of the Music Ontology


This is a draft of the Music Ontology revision 1.01. I took all the propositions posted by people on the mailing list since I released the revision 1.00 and then I wrote that new revision.

The ontology took a major shift by its deep integration with the FRBR (Functional Requirements for Bibliographic Records) and FOAF (Friend Of A Friend) ontologies.

As you will see with the classes schemas bellow, all the MO classes related with music are sub classes of FRBR classes. The FRBR ontology is used as the basement of musical works. So as you will see, a mo:Album is a sub class of a mo:MusicalWork and this class is a sub class of the frbr:Work class. This means that an album is ultimately a work in the sense of the FRBR ontology. The FRBR ontology is better explained by reading the Functional Requirements for Bibliographic Records – Final Report.

In this revision of the MO ontology, you should read these terms as:


Work: An abstract notion of an artistic or intellectual creation.

Musical work: Distinct intellectual or artistic musical creation.

Expression: A realization of a single work usually in a physical form.

Musical expression: Intellectual or artistic realization of a musical work.

Manifestation: The physical embodiment of one or more expressions.

Musical manifestation: Physical embodiment of an expression of a musical work.

Item: An exemplar of a single manifestation.

Corporate body: Organization or group of individuals and/or other organizations involved in the music market.


Music Ontology Classes Hierarchy

There are the schemas of the hierarchy of the Music Ontology classes. The pink bubbles are super-classes of external ontologies, green bubbles are super-classes of the MO ontology and blue bubbles are subclasses of the MO ontology.









Change log

There are the changes I made to the revision 1.00 of the MO ontology. All the changes have been wrote into the RDFS document describing the ontology. Please read it to see what changed for each classes and properties. Also note that I cleaned and redefined all the definitions in relation with the FRBR and FOAF ontologies.

So I outlined the changed bellow:


  • Suppressed class mo:Type
  • Suppressed class mo:Other

These classes were useless and confusing.


  • Suppressed class mo:EP
  • Suppressed class mo:Longplay
  • Suppressed class mo:Single

I deleted these three classes because they are all albums with less or more tracks. Since it doesn’t add anything to the semantic of the ontology, I choose to remove them to focus the ontology. Now one should describe each of these type of release as a mo:Album.


  • Changed the name of mo:Status for mo:ReleaseStatus

The class has a better meaning that way since the subclasses of mo:Status were in fact release status.


  • Added classe mo:Genre
  • Added classe mo:Classical
  • Added classe mo:Rock
  • Added classe mo:Jazz
  • Added classe mo:World
  • Added classe mo:Hiphop
  • Added classe mo:Country
  • Added classe mo:Blues
  • Added classe mo:Electronica
  • Added classe mo:Gospel
  • Added classe mo:Funk
  • Added classe mo: Pop
  • Added classe mo:Melodic
  • Added classe mo:Reggae

These classes handle a first level musical genre. One can now extend the ontology by creating new genres and/or subgenres of the existing genres.


  • Added classe mo:Instrument
  • Added classe mo:String
  • Added classe mo:Woodwind
  • Added classe mo:Brass
  • Added classe mo: Percussion
  • Added classe mo:Keyboard
  • Added classe mo: Digital

These classes handle a first level of instrumentation. One can now extend the ontology by creating classes for instruments belonging to these instrument categories.


  • Added classe mo:MusicalManifestation
  • Added classe mo: Dat
  • Added classe mo: Dcc
  • Added classe mo:Cd
  • Added classe mo:Md
  • Added classe mo: Dvda
  • Added classe mo:Sacd
  • Added classe mo:Vinyl
  • Added classe mo:Megnetictape
  • Added classe mo:Steam

These classes handle a first set of possible mediums of musical recording and distribution technologies.


  • Added classe mo:MusicalWork
  • Added classe mo:MusicalExpression
  • Added classe mo:MusicalManifestation

Creating subclasses of the frbr:Work, frbr:Expression and frbr:Manifestation specifically to express musical works.


  • Added classe mo:SoloMusicArtist
  • Added classe mo:MusicGroup
  • Added classe mo:CorporateBody
  • Added classe mo:Label

These classes describe musical people, group of people or corporate body in relation with the FOAF ontology. That way, all the FOAF, BIO, etc. ontologies can now be use to define an artist, a group of artist a corporate body and their relationship.


  • Changed the name of mo:Artist for mo:MusicArtist

Specifying the semantic of the mo:Artist by renaming it to mo:MusicArtist to explicit the fact that the ontology talk about musicians (and not writers, etc.).


  • Added property mo: possess_item
  • Added property mo:want_item
  • Added property mo:sell_item
  • Added property mo:exchange_item

These new properties are used by people to express the fact they possess exemplar of a musical manifestation, and if they want to sell or exchange it, or if they want an exemplar of a musical manifestation, and that, directly in their FOAF profile.

These properties will be quite useful to let people trade CDs for example. Check bellow for an example of how this will be implemented.


  • Added property mo:instrument

Link a person, a group of person, a musical work, the expression of a musical work, the manifestation of a musical work or an exemplar of a manifestation to a musical instrument.


  • Added property mo:key
  • Added property mo:timber
  • Added property mo: pitch
  • Added property mo:lyric

Adding expressiveness to describe mo:Track.


  • Added property mo:encoding
  • Added property mo:stream_url


  • Suppressed property mo:miscellaneoused
  • Suppressed property mo: performance_name

Deleting useless properties.


Finally I changed the domain and the range of most of the existing properties to reflect the changes in the way classes now work (the FRBR and FOAF ontologies).


An example of how the new mo:has_item, mo:sell_item, mo:exchange_item and mo:want_item are working

These new properties are quite interesting since it will enable people to trade music using their FOAF profile. There is an example of how these properties should be use. You have my FOAF profile, the properties that explicit the fact that I have and want to sell or exchange some musical albums and you have the description of these albums.


RDF document demonstrating the integration of the MO and FOAF ontologies


The resulting graph can be queried with SPARQL queries like:

This query will return the name of the people selling the album “Kill ’em All”.

PREFIX mo:      <>
PREFIX foaf:    <>        
SELECT ?name
    ?seller a foaf: Person;
            mo:sell_item <>;
            foaf:name ?name.

But what if someone doesn’t know the resource that define an album, or if the album is defined by more than one resource?

This query will return the name of the people wanting the albums having the word “Love” in its title.

PREFIX mo:      <>
PREFIX rdfs:  <>
PREFIX foaf:    <>        
SELECT ?name ?title
    ?seller a foaf: Person;
            mo:sell_item ?album;
            foaf:name ?name.

    ?album a mo:Album;
           rdfs:label ?title.
    FILTER regex(?title, "love", "i")

Would you like to make people happy? Then you can easily get the name of people selling an album and get the name of people that want that album.

PREFIX mo:      <>
PREFIX foaf:    <>        
SELECT ?name_seller ?name_buyer
        ?seller a foaf: Person;
                foaf:name ?name_seller;
                mo:sell_item <>.
        ?seller a foaf: Person;
                foaf:name ?name_seller;
                mo:exchange_item <>.
        ?buyer a foaf: Person;
               foaf:name ?name_buyer;
               mo:want_item <>.

Finally… do what you want 🙂



Please take the time to revise this draft if you are interested in the ontology. I will wait some days before rewriting the documentation of the ontology to make sure that people agree with the draft and to make sure that there is no major error.



Technorati: | | | | | | | |

First round of revisions for the Music Ontology

After only one day 6 people are already registered to the mailing list of the Music Ontology and many suggestions have already be made.

Considering all the enthusiasm this new Music Ontology seems to generate, and considering all the feedbacks I get from many knowledgeable people, I chose to publish a first list of possible revisions to the ontology.

You can take a look at these propositions on the mailing list. If you have any thoughts about these propositions or have new ones, please subscribe to the group and share them with us via the mailing list.

More on the evolution of the ontology later.

Technorati: | | | | | |

The Music Ontology: a new ontology based on the MusicBrainz project

Internet changed the music industry. At first, sharing systems like Napster allowed people to share any song they had on their computer with millions other people. That new reality changed the music industry’s landscape for good, and many juridical battles followed. However, a biggest change followed a couple of years later. Communities like MySpace started to appear. Strong of millions of regular users, such communities helped garage bands and obscure musicians to create their musical niche: the longtail of the music industry.

This second change is more profound than the first one: now any musician has the possibility to reach their audience by sharing their work on the Web. In the mean time, a free database called MusicBrainz archiving million of between artists, albums and tracks appeared; music suggesting services like Pandora started to appear and Apple started to sell individual tracks at 1$ with iTunes.

At that point, the music industry of the eighties leaded by blockbusters was completely changed.


I am pleased to announce you the publication of a new Music Ontology Specification. I spent the last days writing it having in mind to describe the new MusicBrainz metadatabase structure using RDF and ultimately to write a specification that any music content creator/publisher could use to export the data they are generating.

Please let me know if you find any error in that new ontology, if you have any suggestion to enhance it or if you have any comments.

You can leave comments/suggestions on this blog post or on the related Google Group:

The Music Ontology

The Music Ontology is an attempt to link all the information about musical Artists, Albums and Tracks together: from MusicBrainz to MySpace. The goal is to express all relations between musical information to help people finding anything about music and musicians. It is based around the use of machine readable information provided by any web site or web service on the Web.

Why another music ontology?

Leigh Dodds wrote an ontology based on MusicBrainz about 3 years ago called the MusicBrainz Metadata Vocabulary. At that time, the MusicBrainz database was not as developed as the one available today.

For that reason, I choose to write a new ontology, also based on the MusicBrainz project considering that source of information about music. I developed that new ontology having three goals in mind:

  1. I needed to stay as close as possible to the MusicBrainz database.
  2. I need to reuse the basic principles of the MusicBrainz Metadata Vocabulary.
  3. I need, at the same time, to develop a music ontology that people could use in their system (MySpace, Pandora, blogs, Etc.) and not just in conjunction with the MusicBrainz relational database.

The first goal explains why this new ontology is so influenced by the MusicBrainz database. In fact, most of the classes, properties came from the relations described in the database, and most of the descriptions of these relations came from the wiki of the project.

The second goal explains why the basic classes of the Music Ontology are the same as the one in the MusicBrainz Medata Vocabulary.

The third goal explains why the name and the namespace of the MusicBrainz Metadata Vocabulary have been changed.

What next?

From that point, I will export a RDF version of the MusicBrainz ontology using that new music ontology. Then I’ll index this new RDF data into the triple store, based on Ping the Semantic Web, I talked about a couple of weeks ago (a first version should be released soon by the way).

From that point, people will be able to query the MusicBrainz ontology using the SPARQL endpoint. As I shown in the specification with a couple of SPARQL queries, people will have much more ways to query the database to answer their questions about music things.

More Information

For more information please read the entire Music Ontology Specification.

The ontology has 19 classes and 58 properties.

The namespace of the ontology is and the prefix I suggest to use is “mo”.

Technorati: | | | | | | | | |