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:      <http://purl.org/ontology/mo/>
PREFIX foaf:    <http://xmlns.com/foaf/0.1/>        
SELECT ?name
WHERE 
{
    ?seller a foaf: Person;
            mo:sell_item <http://mm.Music.org/album/a89e1d92-5381-4dab-ba51-733137d0e431>;
            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:      <http://purl.org/ontology/mo/>
PREFIX rdfs:  <http://www.w3.org/2000/01/rdf-schema#>
PREFIX foaf:    <http://xmlns.com/foaf/0.1/>        
SELECT ?name ?title
WHERE 
{
    ?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:      <http://purl.org/ontology/mo/>
PREFIX foaf:    <http://xmlns.com/foaf/0.1/>        
SELECT ?name_seller ?name_buyer
WHERE 
{
    {
        ?seller a foaf: Person;
                foaf:name ?name_seller;
                mo:sell_item <http://mm.Music.org/album/a89e1d92-5381-4dab-ba51-733137d0e431>.
    }
    UNION
    {
        ?seller a foaf: Person;
                foaf:name ?name_seller;
                mo:exchange_item <http://mm.Music.org/album/a89e1d92-5381-4dab-ba51-733137d0e431>.
    }
    UNION
    {    
        ?buyer a foaf: Person;
               foaf:name ?name_buyer;
               mo:want_item <http://mm.Music.org/album/a89e1d92-5381-4dab-ba51-733137d0e431>.
    }
}

Finally… do what you want 🙂

 

Conclusion

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.

Introduction

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: http://groups.google.com/group/music-ontology-specification-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 http://purl.org/ontology/mo and the prefix I suggest to use is “mo”.

Technorati: | | | | | | | | |

From a Web where data worth Everything to a Web where data worth Nothing

I am afraid that people will be afraid of what I’ll say here, but: we are slowly, but surely, switching from a Web where Data worth everything to a Web where Data worth nothing.Why people are afraid of that? Because such a switch adds insecurity into their plans, their businesses and so their lives. Such people will ask themselves:

How the hell should I do money if my data worth nothing? What my business plan will be? How should I manage that? Nah, that guy is crazy, it will never happens in my life time… data worth just too much on the Web!

Knowledge is power after all!

Yeah knowledge is power. But the question is: is data the knowledge? Is knowledge a synonym of data?

I don’t think so. Data is nothing; data worth nothing; data is everywhere; data is generated by anything on this Planet.

Data worth nothing, it is what you will do with data, how you will use it, how you will process it that worth everything.

Data worth nothing; this is the process getting data to create knowledge that worth everything.

The key of a successful business plan in a Web where data worth nothing is the process: how to manipulate, how to do calculations over that data to make it meaningful and knowledgeable?

This is the process that worth everything in a Web where data worth nothing.

Now that I say that, check what will happen with the Web in 5 years.

The conclusion of this story is not to be afraid to give your data away. In any case, you can only benefit from doing so.

Technorati: | | | | | | | | | |

First web service developed using Ping the Semantic Web data

 

A couple of days ago, the first web service(that I am aware of) developed using Ping the Semantic Web data has been made public.

Doap:store is a DOAP (Description Of A Project) documents search, browsing and visualization tool. It has been developed by Alexandre Passant, one of the most active contributors of the SIOC ontology.

 

From Alex’s Blog, Doap:Store is:

Then, doap:store provides a common search engine and browsing interface for these decentralized project description, while authors keep control over their data. Data is updated each time PTSW has a new ping for it (in the future, PTSW should store new pings only if the document has changed, so updated will be made only for real document updates).

That is it: a web service helping people to find projects depending on some criteria. At the time I wrote this article, the web service focus mainly on computer projects involving programming languages. If you check at the bottom of the page, you will see categories of projects related with the programming language(s) involved in the project.

These categories are dynamically generated depending on the DOAP documents it aggregates. So as soon as new document from Ping the Semantic Web are aggregated by Doap:store, they will have an impact on this feature of the service depending on the languages defined for these projects description.

 

Doap:store and Ping the Semantic Web

This new web service is the perfect example of the utility of Ping the Semantic Web. With data in hands, a developer can create wonderful systems and user interface to manipulate, manage and search that data.

In this example, Alex didn’t had to care about where to find DOAP documents, he only had to retrieve the list of latest created/updated DOAP documents from Ping the Semantic Web service (he do that each hour).

 

 

 

Keeping control over its data

This is one of the more important observations of Alex. Such an information infrastructure let the user doing what he wants with the data he generates.

This is the idea I had in mind when I wrote a blog post called “Communities’ websites should use FOAF profiles to help users managing their online persona” and this is the reason why I create an import/export feature for users’s profiles using FOAF document: to give back the power to users.

 

Conclusion

Doap:store really shows how Ping the Semantic Web can be use by any developer. I hope other people will start to use the service the same way Alex does. Ultimately I hope that Ping the Semantic Web will become a vector of development for semantic web projects.

Technorati: | | | | | | | | |