Converting id3 tags to rdf - motools/musicontology GitHub Wiki
We propose a way to RDFize tracks. The idea is to convert the ID3 tag information to RDF, based on the Music Ontology.
http://foafing-the-music.iua.upf.edu/RDFize/track?artist=FOO&title=BAR
The parameters are title and artist name. See results for title=the fly and artist=U2.
<mo:Track rdf:about='http://musicbrainz.org/track/dddb2236-823d-4c13-a560-bfe0ffbb19fc'>
<mo:puid rdf:resource='2285a2f8-858d-0d06-f982-3796d62284d4'/>
<mo:puid rdf:resource='2b04db54-0416-d154-4e27-074e8dcea57c'/>
<dc:title>The Fly</dc:title>
<dc:creator>
<mo:MusicGroup rdf:about='http://musicbrainz.org/artist/a3cb23fc-acd3-4ce0-8f36-1e5aa6a18432'>
<foaf:img rdf:resource='http://ec1.images-amazon.com/images/P/B000001FS3.01._SCMZZZZZZZ_.jpg'/>
<mo:musicmoz rdf:resource='http://musicmoz.org/Bands_and_Artists/U/U2/'/>
<foaf:name>U2</foaf:name>
<mo:discogs rdf:resource='http://www.discogs.com/artist/U2'/>
<foaf:homepage rdf:resource='http://www.u2.com/'/>
<foaf:member rdf:resource='http://musicbrainz.org/artist/0ce1a4c2-ad1e-40d0-80da-d3396bc6518a'/>
<foaf:member rdf:resource='http://musicbrainz.org/artist/1f52af22-0207-40ac-9a15-e5052bb670c2'/>
<foaf:member rdf:resource='http://musicbrainz.org/artist/a94e530f-4e9f-40e6-b44b-ebec06f7900e'/>
<foaf:member rdf:resource='http://musicbrainz.org/artist/7f347782-eb14-40c3-98e2-17b6e1bfe56c'/>
<mo:wikipedia rdf:resource='http://en.wikipedia.org/wiki/U2_%28band%29'/>
</mo:musicgroup>
</dc:creator>
</mo:track>
http://foafing-the-music.iua.upf.edu/RDFize/track?url=http://www.archive.org/download/(…)/file.mp3
The parameter is a URL that contains an MP3 file. In this case it takes a little bit more, because we have to download (part of) the MP3 file (Note: we have a cron that removes all these MP3 files from our server). See the output results
<mo:Track rdf:about='http://musicbrainz.org/track/7201c2ab-e368-4bd3-934f-5d936efffcdc'>
<dc:creator>
<mo:MusicGroup rdf:about='http://musicbrainz.org/artist/6b28ecf0-94e6-48bb-aa2a-5ede325b675b'>
<foaf:name>Blues Traveler</foaf:name>
<mo:discogs rdf:resource='http://www.discogs.com/artist/Blues+Traveler'/>
<foaf:homepage rdf:resource='http://www.bluestraveler.com/'/>
<foaf:member rdf:resource='http://musicbrainz.org/artist/d73c9a5d-5d7d-47ec-b15a-a924a1a271c4'/>
<mo:wikipedia rdf:resource='http://en.wikipedia.org/wiki/Blues_Traveler'/>
<foaf:img rdf:resource='http://ec1.images-amazon.com/images/P/B000078JKC.01._SCMZZZZZZZ_.jpg'/>
</mo:musicgroup>
</dc:creator>
<dc:title>Back in the Day</dc:title>
<mo:puid rdf:resource='0a57a829-9d3c-eb35-37a8-d0364d1eae3a'/>
<mo:puid rdf:resource='02039e1b-64bd-6862-2d27-3507726a8268'/>
</mo:track>
So, once we can RDFize songs, what’s next? Well, we can ask last.fm for the latest tracks a user has been listening to, and then RDFize them. This example shows the latest tracks a user (RJ) has been listening to.
The PMKB Aperture Extractor is a proof-of-concept implementation for mapping ID3 tags into an RDF graph which is mainly uses universals of the Music Ontology. Aperture is at least a Java-based RDFizer framework with extractors for various data, metadata and file formats. This is extractor does only the initial mapping; that means, further processing is required to match the statements of the resulted RDF graph against existing ones in the Web.