To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.
root / bbc / playcount / playcount.html @ 0:1e44d666ced1
History | View | Annotate | Download (4.75 KB)
| 1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|---|---|
| 2 |
|
| 3 |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
| 4 |
|
| 5 |
<head>
|
| 6 |
<title>DBTune - Playcount data linking BBC /programmes and Musicbrainz</title> |
| 7 |
|
| 8 |
<style type="text/css" media="all"> |
| 9 |
@import url(style.css);
|
| 10 |
</style>
|
| 11 |
|
| 12 |
</head>
|
| 13 |
|
| 14 |
<body>
|
| 15 |
|
| 16 |
|
| 17 |
<a href="http://dbtune.org/"><h1 style="font-size: 250%;">DBTune.org</h1></a> |
| 18 |
|
| 19 |
<div id="tagline">Playcount data linking BBC /programmes and Musicbrainz</div> |
| 20 |
|
| 21 |
<h2><a name="intro" id="intro"></a>1. Introduction</h2> |
| 22 |
|
| 23 |
<p>
|
| 24 |
The <a href="http://www.bbc.co.uk/">BBC</a> has <a href="http://mashed-audioandmusic.dyndns.org/">made available</a> a dataset of playcounts of artists |
| 25 |
per episode and brands in their <a href="http://www.bbc.co.uk/programmes">programmes catalogue</a>, for the <a href="http://mashed08.eventbrite.com/">Mashed 2008</a> event. |
| 26 |
</p>
|
| 27 |
|
| 28 |
<p>
|
| 29 |
This service provides RDF links using these playcounts, to link the |
| 30 |
<a href="http://dbtune.org/musicbrainz/">Musicbrainz linked data</a> and the |
| 31 |
<a href="http://bbc-programmes.dyndns.org/">BBC programmes linked data</a>. |
| 32 |
The earlier is designed with the <a href="http://purl.org/ontology/mo/">Music Ontology</a>, the latter is designed with the <a href="http://www.bbc.co.uk/ontologies/programmes/">BBC Programmes ontology</a>. |
| 33 |
</p>
|
| 34 |
|
| 35 |
<p>
|
| 36 |
This effort is part of the <a href="http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData">Linking |
| 37 |
Open Data on the Semantic Web</a> community project, hosted by the <a href="http://www.w3.org/2001/sw/sweo/">Semantic |
| 38 |
Web Education and Outreach</a> interest group.
|
| 39 |
</p>
|
| 40 |
|
| 41 |
|
| 42 |
|
| 43 |
<h2><a name="use" id="use"></a>2. Using this service</h2> |
| 44 |
<p>
|
| 45 |
A playcount URI in this service looks like: |
| 46 |
<pre>
|
| 47 |
http://dbtune.org/bbc/playcount/<id>_<k> |
| 48 |
</pre>
|
| 49 |
Where <id> is the id of the episode or the brand, as in |
| 50 |
<a href="http://www.bbc.co.uk/programmes">/programmes BBC catalogue</a>, |
| 51 |
and <k> is a number between 0 and the number of playcounts |
| 52 |
for the episode or the brand. |
| 53 |
</p>
|
| 54 |
|
| 55 |
<p>
|
| 56 |
For example, the following URI corresponds to the playcount of |
| 57 |
<a href="http://dbtune.org/musicbrainz/resource/artist/070d193a-845c-479f-980e-bef15710653e">Prince</a> on |
| 58 |
the <a href="http://bbc-programmes.dyndns.org/programmes/b006wk6f#brand">Fabio and Grooverider DJ show</a>. |
| 59 |
<pre>
|
| 60 |
http://dbtune.org/bbc/playcount/b006wk6f_1 |
| 61 |
</pre>
|
| 62 |
</p>
|
| 63 |
|
| 64 |
<h2><a name="sparql" id="sparql"</a>3. Querying the dataset</a></h2> |
| 65 |
<p>
|
| 66 |
We expose a <a href="http://dbtune.org/bbc/playcount/sparql/">SPARQL end-point</a> |
| 67 |
for querying this data, and also a <a href="http://dbtune.org/bbc/playcount/store/">web interface</a> for this end-point. |
| 68 |
The SPARQL end-point also holds aggregated information (around 2 million triples) from |
| 69 |
Musicbrainz and the BBC Programmes service. |
| 70 |
The end-point is available at: |
| 71 |
<pre>http://dbtune.org:3062/sparql</pre> |
| 72 |
</p>
|
| 73 |
|
| 74 |
<p>
|
| 75 |
An example query is the following one: |
| 76 |
<pre>
|
| 77 |
SELECT ?brand ?title ?count |
| 78 |
WHERE {
|
| 79 |
?artist a mo:MusicArtist; |
| 80 |
foaf:name "The Beatles". |
| 81 |
?pc pc:object ?artist; |
| 82 |
pc:count ?count. |
| 83 |
?brand a po:Brand; |
| 84 |
pc:playcount ?pc; |
| 85 |
dc:title ?title |
| 86 |
FILTER (?count>10)}
|
| 87 |
</pre>
|
| 88 |
This will return every BBC brands in which The Beatles were featured at least ten times. |
| 89 |
</p>
|
| 90 |
|
| 91 |
<h2><a name="onto" id="onto"></a>4. Playcount ontology</h2> |
| 92 |
<p>
|
| 93 |
For the purpose of representing playcounts, we designed a really |
| 94 |
small <a href="http://purl.org/ontology/playcount/">playcount ontology</a>. |
| 95 |
This ontology defines one playcount concept, and three properties |
| 96 |
to link it to the media in which we are counting something, the actual thing, |
| 97 |
and actual playcount. This ontology can be used as in the following |
| 98 |
example: |
| 99 |
</p>
|
| 100 |
<pre>
|
| 101 |
:radioepisode pc:playcount [a pc:Playcount; pc:count 12; pc:object :track]. |
| 102 |
</pre>
|
| 103 |
|
| 104 |
<h2><a name="code" id="code"></a>5. Code</h2> |
| 105 |
<p>
|
| 106 |
As usual, <a href="http://motools.svn.sourceforge.net/viewvc/motools/dbtune/playcount">all the code running this service</a> |
| 107 |
is open source and based |
| 108 |
on <a href="http://www.swi-prolog.org">SWI-Prolog</a> |
| 109 |
</p>
|
| 110 |
|
| 111 |
<h2><a name="stats" id="stats"></a>6. Statistics</h2> |
| 112 |
<p>
|
| 113 |
<table border="1"> |
| 114 |
<tr><td>Triple count</td><td>1,954,786</td></tr> |
| 115 |
<tr><td>Distinct <a href="http://bbc-programmes.dyndns.org/">BBC Programmes</a> |
| 116 |
resources</td><td>6,863</td></tr> |
| 117 |
<tr><td>Distinct <a href="http://dbtune.org/musicbrainz/">Musicbrainz</a> |
| 118 |
resources</td><td>7,055</td></tr> |
| 119 |
</table>
|
| 120 |
</p>
|
| 121 |
|
| 122 |
|
| 123 |
<script type="text/javascript"> |
| 124 |
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
| 125 |
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
| 126 |
</script>
|
| 127 |
<script type="text/javascript"> |
| 128 |
var pageTracker = _gat._getTracker("UA-3327144-3");
|
| 129 |
pageTracker._initData();
|
| 130 |
pageTracker._trackPageview();
|
| 131 |
</script>
|
| 132 |
|
| 133 |
|
| 134 |
</body>
|
| 135 |
|
| 136 |
</html>
|
| 137 |
|