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