view bbc/playcount/playcount.html @ 19:1e79ce3ff5f5 tip

Simplify and cut some non-working resource paths
author Chris Cannam
date Wed, 08 Nov 2017 15:27:23 +0000
parents d95267afa12a
children
line wrap: on
line source
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title>DBTune - Playcount data linking BBC /programmes and Musicbrainz</title>

<style type="text/css" media="all">
        @import url(style.css);
</style>

</head>

<body>


<a href="http://dbtune.org/"><h1 style="font-size: 250%;">DBTune.org</h1></a>

<div id="tagline">Playcount data linking BBC /programmes and Musicbrainz</div>

<h2><a name="intro" id="intro"></a>1. Introduction</h2>

<p><b>Note:</b> This service is down following changes to the upstream API. This page is retained for historical interest.</p>

<p>
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 
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.
</p>

<p>
This service provides RDF links using these playcounts, to link the
<a href="http://dbtune.org/musicbrainz/">Musicbrainz linked data</a> and the 
<a href="http://bbc-programmes.dyndns.org/">BBC programmes linked data</a>.
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>.
</p>

<p>
This effort is part of the <a href="http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData">Linking
Open Data on the Semantic Web</a> community project, hosted by the <a href="http://www.w3.org/2001/sw/sweo/">Semantic
Web Education and Outreach</a> interest group.
</p>



<h2><a name="use" id="use"></a>2. Using this service</h2>
<p>
A playcount URI in this service looks like:
<pre>
http://dbtune.org/bbc/playcount/&lt;id&gt;_&lt;k&gt;
</pre>
Where &lt;id&gt; is the id of the episode or the brand, as in
<a href="http://www.bbc.co.uk/programmes">/programmes BBC catalogue</a>,
and &lt;k&gt; is a number between 0 and the number of playcounts
for the episode or the brand.
</p>

<p>
For example, the following URI corresponds to the playcount of 
<a href="http://dbtune.org/musicbrainz/resource/artist/070d193a-845c-479f-980e-bef15710653e">Prince</a> on
the <a href="http://bbc-programmes.dyndns.org/programmes/b006wk6f#brand">Fabio and Grooverider DJ show</a>.
<pre>
http://dbtune.org/bbc/playcount/b006wk6f_1
</pre>
</p>

<h2><a name="sparql" id="sparql"</a>3. Querying the dataset</a></h2>
<p>
We expose a <a href="http://dbtune.org/bbc/playcount/sparql/">SPARQL end-point</a> 
for querying this data, and also a <a href="http://dbtune.org/bbc/playcount/store/">web interface</a> 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:
<pre>http://dbtune.org:3062/sparql</pre>
</p>

<p>
An example query is the following one:
<pre>
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&gt;10)}
</pre>
This will return every BBC brands in which The Beatles were featured at least ten times.
</p>

<h2><a name="onto" id="onto"></a>4. Playcount ontology</h2>
<p>
For the purpose of representing playcounts, we designed a really
small <a href="http://purl.org/ontology/playcount/">playcount ontology</a>.
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:
</p>
<pre>
:radioepisode pc:playcount [a pc:Playcount; pc:count 12; pc:object :track].
</pre>

<h2><a name="code" id="code"></a>5. Code</h2>
<p>
As usual, <a href="http://motools.svn.sourceforge.net/viewvc/motools/dbtune/playcount">all the code running this service</a>
is open source and based
on <a href="http://www.swi-prolog.org">SWI-Prolog</a>
</p>

<h2><a name="stats" id="stats"></a>6. Statistics</h2>
<p>
<table border="1">
<tr><td>Triple count</td><td>1,954,786</td></tr>
<tr><td>Distinct <a href="http://bbc-programmes.dyndns.org/">BBC Programmes</a>
resources</td><td>6,863</td></tr>
<tr><td>Distinct <a href="http://dbtune.org/musicbrainz/">Musicbrainz</a>
resources</td><td>7,055</td></tr>
</table>
</p>


<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-3327144-3");
pageTracker._initData();
pageTracker._trackPageview();
</script>


</body>

</html>