Share and Share Alike You Can Say Anything About Music in The Web of Data

This site is part of our tutorial for ISMIR 2009 in Kobe Japan. All materials related to the tutorial will appear here including slides, links, software, examples, etc. Whether or not you were able to attend the tutorial, we hope that this site will be a valuable resource for those interested in applying Semantic Web technologies to music informatics.

Recommended software for hands-on tutorials

Please download and install the following packages before the tutorials:

(See easy install options below and install scripts in our code repository.)

Recommended for RDF in Audio Analysis tutorial:

Slides are up

We've finally posted our slides at http://ismir2009.dbtune.org/slides/. Note they are still likely to change a bit as we make some last minute tweaks prior to the tutorial.

After going through them last week we realized we had around five and a half hours of material for a three hour tutorial!!! There's just so much to cover including the basics of writing SPARQL queries, using RDF in audio signal analysis, and publishing your own Linked Data sets.

After some careful cuts, we think we can get through it all. Unfortunately, we'll have to speed through some of the hands-on examples. But don't worry, all the code can be found in our github code repository.

Looking forward to seeing you all in Kobe!

Some consensus about music-related URIs

Wittgenstien argued in Tractatus that a perfectly logical language would need a one-to-one correspondence between names and things. In the semantic web world this concept is manifested in the Unique Resource Identifier or URI. Ideally, each thing would have one URI. However, in practice, people often create different URIs for the same thing usually because they are unaware of one another's work. The owl:sameAs concept provides an easy work-around for this problem, but for the sake of clean design and easing interoperability it's best to avoid duplicating URIs if possible.

Following a recent discussion on the Linking Open Data mailing list, there seems to be some consensus about what URIs for music artists, tracks, and releases should look like. In summary:

artist: http://musicbrainz.org/artist/<mbid> James Brown URI:
http://musicbrainz.org/artist/20ff3303-4fe2-4a47-a1b6-291e26aa3438
track: http://musicbrainz.org/track/<mbid> Cold Sweat URI:
http://musicbrainz.org/track/b5ba4eca-0dbd-484b-b391-1ef93b8b30b4
release: http://musicbrainz.org/release/<mbid> Get On the Good Foot (Album) URI:
http://musicbrainz.org/release/0d4bbf3a-45c9-4ae2-91d1-8574d3a02c3e

Note these URIs are based on the Musicbrainz service which provides open and free resource disambiguation for music metadata. There are several other sources of Musicbrainz-based URIs (i.e. dbtune.org/musicbrainz, zitgist.com) but there is now a general consensus that the original 'proper' Musicbrainz URIs should be used. If you find a particular resource that does not have a Musicbrainz ID you can take the time to create one or you can mint your own cool URIs.

As of this writing, the Musicbrainz URIs are not dereferenceable but they should be soon.

Programming languages covered in the tutorial

October is approaching fast and we're working hard to bring our tutorial from concept to reality. An important aspect of the tutorial will of course be code. While we will discuss briefly the theory and concepts behind Linked Data, our focus will be on real-world applications - this means coding!

We have decided to do the hands-on follow-along aspects of the tutorial with Python. Python gives us a clean, simply syntax, a plethora of libraries, and best of all an interactive interpreter. If you have a chance, we recommend installing the following libraries, which is super easy using setup tools:

ipython An enhanced python interpreter that gives you, among other things, auto-complete features.
$easy_install ipython
rdflib A full-featured library for RDF in python
$easy_install -U "rdflib>=2.4"
SPARQLWrapper A convenient python library for makin SPARQL queries against endpoints
$easy_install SPARQLWrapper

Of course, for every major programming language libraries exist for interfacing with RDF and the Semantic Web. We will cover usage in C/C++, Ruby, and Java in addition to the hands-on stuff in Python. But as always, let us know if there's anything you'd like to hear about (or not hear about :-)

Tag linked_music_data on delicious

As Kingsley suggested on the public-lod mailing list we've started tagging resources that might be of interest as "linked_music_data" on del.icio.us. So any resource you'd like to suggest just tag "linked_music_data". Also see our linked_music_data tag page as RDF via uriburner.com. Please tag along!

Preliminary outline of tutorial

Based on our proposal and some more recent discussions about what to include in the tutorial we have this very rough outline. Please comment about what you think is missing or what could be removed or minimized. We're looking for feedback!

Introduction to the Web of Data - explaining the how and why of structured data on the Web
  • Web identifiers - URIs - for artists, albums, tracks, signals
  • RDF - triple - N3 primer
  • Ontologies enable inferencing
  • Linked Data - guidelines for the Web of Data
  • Why does it matter, from a music researcher or a BBC point of view?
  • SPARQL query language
  • Music Ontology primer
The Web of Data and Music in action - practical examples applied to music
  • SPARQL Myspace for Hungarian Rap music
  • SPARQL for BBC programmes featuring French music artists
  • Meshup DBpedia, Myspace, and Geonames for music artist recommendation
  • Explore your personal music collection using aggregated music data
  • An automated radio DJ driven by linked data
Audio-based music analysis and the Semantic Web
  • Audio Features Ontology - a general framework for creating ad-hoc concepts for describing audio signal processing results
  • VAMP Ontology - representing VAMP audio analysis plugins
  • RDF in the recording studio
Using the Web of Data yourself
  • Consuming and publishing RDF (MoPy, rdflib, Jena, librdf)
  • Resource disambiguation - GNATlib and Musicbrainz
  • Publish your own data sets as Linked Data - 4Store, Jena/Joseki, Cliopatria, D2R, Virtuoso
  • Ontology engineering (really brief primer) - use/extend existing ontologies where possible (DC, FOAF, MO, etc)

Launching of the tutorial website - tell us what you want!

As part of our tutorial for ISMIR 2009 in Kobe Japan we are launching this site to serve as the resource associated with the tutorial. All materials related to the tutorial will appear here including slides, links, software, examples, etc. Whether or not you are able to attend the tutorial, we hope that this site will be a valuable resource for those interested in applying Semantic Web technologies to music informatics.

Our tutorial is entitled Share and Share Alike You Can Say Anything About Music in The Web of Data. It is intended to introduce researchers in music informatics to various Semantic Web technologies and resources. We are planning to cover topics such as SPARQL for music recommendation, music resource disambiguation, publishing Linked Data about music, and audio signal analysis in the Web of Data. Of course we are planning some nice hands-on examples showing what kind of stuff is available on the Web of Data and how you can use it.

But we'd like to hear from you. Please register and comment or use our contact form to tell us what you think should be in the tutorial. What questions do you have about Semantic Web concepts? What technologies would you like to know more about? What criticisms or concerns do you have about the Web of Data? Have you worked with music resources in the Web of Data? Can you suggest any content we should include? Hope to see you in Kobe, if not see you right here :-)

Syndicate content