DBTune.org

Playcount data linking BBC /programmes and Musicbrainz

1. Introduction

The BBC has made available a dataset of playcounts of artists per episode and brands in their programmes catalogue, for the Mashed 2008 event.

This service provides RDF links using these playcounts, to link the Musicbrainz linked data and the BBC programmes linked data. The earlier is designed with the Music Ontology, the latter is designed with the BBC Programmes ontology.

This effort is part of the Linking Open Data on the Semantic Web community project, hosted by the Semantic Web Education and Outreach interest group.

2. Using this service

A playcount URI in this service looks like:

http://dbtune.org/bbc/playcount/<id>_<k>
Where <id> is the id of the episode or the brand, as in /programmes BBC catalogue, and <k> is a number between 0 and the number of playcounts for the episode or the brand.

For example, the following URI corresponds to the playcount of Prince on the Fabio and Grooverider DJ show.

http://dbtune.org/bbc/playcount/b006wk6f_1

3. Querying the dataset

We expose a SPARQL end-point for querying this data, and also a web interface for this end-point. The SPARQL end-point also holds aggregated information (around 2 million triples) from Musicbrainz and the BBC Programmes service. The end-point is available at:

http://dbtune.org:3062/sparql

An example query is the following one:

SELECT ?brand ?title ?count
WHERE {
   ?artist a mo:MusicArtist;
      foaf:name "The Beatles". 
   ?pc pc:object ?artist;
       pc:count ?count.
   ?brand a po:Brand;
       pc:playcount ?pc;
       dc:title ?title 
    FILTER (?count>10)}
This will return every BBC brands in which The Beatles were featured at least ten times.

4. Playcount ontology

For the purpose of representing playcounts, we designed a really small playcount ontology. This ontology defines one playcount concept, and three properties to link it to the media in which we are counting something, the actual thing, and actual playcount. This ontology can be used as in the following example:

:radioepisode pc:playcount [a pc:Playcount; pc:count 12; pc:object :track].

5. Code

As usual, all the code running this service is open source and based on SWI-Prolog

6. Statistics

Triple count1,954,786
Distinct BBC Programmes resources6,863
Distinct Musicbrainz resources7,055