To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Revision:

root / jamendo / jamendo.html

History | View | Annotate | Download (9.06 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 - Jamendo RDF dump</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">Jamendo RDF server</div>
20

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

    
23
<p>
24

    
25
<a href="http://jamendo.com/">Jamendo</a> is a large repository of Creative Commons licensed music, based in France.
26
This server aims at publishing this dataset 
27
as <a href="http://linkeddata.org">Linked Data</a>: publishing a set of URIs
28
with an <a href="http://www.w3.org/RDF/">RDF</a> representation holding 
29
links towards external datasets (so far, <a href="http://geonames.org/">Geonames</a> and <a href="http://musicbrainz.org/">Musicbrainz</a>).
30
The corresponding RDF is also linked to <a href="http://musicontology.com/">Music Ontology</a> terms.
31
</p>
32

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

    
39

    
40

    
41
<h2><a name="browse" id="browse"></a>2. Browsing the dataset</h2>
42
<p>
43
All resource identifiers defined by this RDF dump are dereferencable. <!--, and support content negotiation. 
44
Using the <i>Accept: application/rdf+xml</i> header field, a RDF/XML representation of the resource is sent back.
45
Otherwise, a HTML representation, done using <a href="http://www.w3.org/2005/ajar/tab">the Tabulator Data browser</a>,
46
is sent back.-->
47
</p>
48
<p>
49
Here are some entry points to the dataset:
50
</p>
51

    
52
<ul>
53

    
54
<li><a href="http://dbtune.org/jamendo/artist/1005">Vincent J.</a> (artist), 
55
in <a href="http://demo.openlinksw.com/rdfbrowser2/?uri=http://dbtune.org/jamendo/artist/1005">OpenLink data explorer</a>, 
56
<a href="http://dataviewer.zitgist.com/?uri=http://dbtune.org/jamendo/artist/1005">Zitgist data viewer</a>,
57
<a href="http://beckr.org/marbles?uri=http://dbtune.org/jamendo/artist/1005">Marbles</a>,
58
<a href="http://www4.wiwiss.fu-berlin.de/rdf_browser/?browse_uri=http://dbtune.org/jamendo/artist/1005">DISCO</a>,
59
<a href="http://dig.csail.mit.edu/2005/ajar/release/tabulator/0.8/tab.html?uri=http://dbtune.org/jamendo/artist/1005">Tabulator</a>
60
</li>
61
<li><a href="http://dbtune.org/jamendo/artist/1023">Carter Hotel</a> (artist)
62
in <a href="http://demo.openlinksw.com/rdfbrowser2/?uri=http://dbtune.org/jamendo/artist/1023">OpenLink data explorer</a>,
63
<a href="http://dataviewer.zitgist.com/?uri=http://dbtune.org/jamendo/artist/1023">Zitgist data viewer</a>,
64
<a href="http://beckr.org/marbles?uri=http://dbtune.org/jamendo/artist/1023">Marbles</a>,
65
<a href="http://www4.wiwiss.fu-berlin.de/rdf_browser/?browse_uri=http://dbtune.org/jamendo/artist/1023">DISCO</a>,
66
<a href="http://dig.csail.mit.edu/2005/ajar/release/tabulator/0.8/tab.html?uri=http://dbtune.org/jamendo/artist/1023">Tabulator</a>
67
</li>
68
<li><a href="http://dbtune.org/jamendo/record/2931">First Dub</a> (album)
69
in <a href="http://demo.openlinksw.com/rdfbrowser2/?uri=http://dbtune.org/jamendo/record/2931">OpenLink data explorer</a>,
70
<a href="http://dataviewer.zitgist.com/?uri=http://dbtune.org/jamendo/record/2931">Zitgist data viewer</a>,
71
<a href="http://beckr.org/marbles?uri=http://dbtune.org/jamendo/record/2931">Marbles</a>,
72
<a href="http://www4.wiwiss.fu-berlin.de/rdf_browser/?browse_uri=http://dbtune.org/jamendo/record/2931">DISCO</a>,
73
<a href="http://dig.csail.mit.edu/2005/ajar/release/tabulator/0.8/tab.html?uri=http://dbtune.org/jamendo/record/2931">Tabulator</a>
74
</li>
75
</ul>
76

    
77
<p>
78
The service also exposes some informational RDF documents. 
79
Such documents are:
80
</p>
81

    
82
<ul>
83

    
84
<li><a href="http://dbtune.org/jamendo/all/artist">All artists</a></li>
85
<li><a href="http://dbtune.org/jamendo/all/track">All tracks</a></li>
86
<li><a href="http://dbtune.org/jamendo/all/record">All records</a></li>
87
<li><a href="http://dbtune.org/jamendo/all/performance">All performances</a></li>
88
<li><a href="http://dbtune.org/jamendo/all/signal">All signals</a></li>
89
<li><a href="http://dbtune.org/jamendo/all/timeline">All timelines</a></li>
90

    
91
</ul>
92

    
93
<!--<p>
94
To test them using a Semantic Web browser, load one of them into the Tabulator (eg. 
95
<a href="http://dbtune.org/jamendo/all/artist">http://dbtune.org/jamendo/all/artist</a>)
96
and then look for <a href="http://purl.org/ontology/mo/MusicArtist">http://purl.org/ontology/mo/MusicArtist</a>. You will then see
97
the list of all Jamendo MusicArtist instances.
98
</p>-->
99

    
100
<h2><a name="query" id="query"></a>3. Links</h2>
101
<p>
102
This dataset is interlinked with the <a href="http://geonames.org/">Geonames</a>
103
and the <a href="http://musicbrainz.org/">Musicbrainz</a> datasets.
104
</p>
105
<p>
106
For an example of a resource which description holds one <i>owl:sameAs</i> link to 
107
a Musicbrainz resource, and one <i>foaf:based_near</i> link to a Geonames resource, try
108
<a href="http://dbtune.org/jamendo/artist/5">this one (a French band called <i>Both</i>)</a>.
109
The <a href="http://dig.csail.mit.edu/2005/ajar/ajaw/tab?uri=http://dbtune.org/jamendo/artist/5">same resource,
110
displayed in the Tabulator</a>.
111
</p>
112

    
113
<h2><a name="query" id="query"></a>4. Querying the dataset</h2>
114
<p>
115
The service also exposes a <a href="http://www.w3.org/TR/rdf-sparql-query/">SPARQL</a> end-point, available
116
at <a href="http://dbtune.org/jamendo/sparql/">http://dbtune.org/jamendo/sparql/</a>. There is also a small
117
web interface available at <a href="http://dbtune.org/jamendo/store/">http://dbtune.org/jamendo/store/</a>.
118
</p>
119

    
120
<p>
121
For example, the end-point can answer the following query:
122
<pre>
123
PREFIX geo: &lt;http://www.geonames.org/ontology#&gt;
124
PREFIX wgs: &lt;http://www.w3.org/2003/01/geo/wgs84_pos#&gt;
125
SELECT DISTINCT ?an ?lat ?long ?name ?population
126
WHERE
127
{ ?a 
128
     a mo:MusicArtist; 
129
     foaf:based_near ?place; 
130
     foaf:name ?an;
131
     foaf:made ?alb.
132
  ?alb tags:taggedWithTag &lt;http://dbtune.org/jamendo/tag/punk&gt;.
133
  ?place 
134
     geo:name ?name; 
135
     geo:population ?population; 
136
     wgs:lat ?lat; 
137
     wgs:long ?long }
138
ORDER BY ?population
139
</pre>
140
This selects artists within Jamendo who made at least one album
141
tagged as `punk' by a Jamendo user, sorted by the number of inhabitants of the places they are based near.
142
</p>
143

    
144

    
145

    
146
<h2><a name="dump" id="dump"></a>5. RDF dump</h2>
147
<p>
148
The RDF dump is <a href="http://moustaki.org/resources/jamendo-rdf.tar.gz">available for download</a>. 
149
The package holds the raw Jamendo data converted to RDF (available under the same license than the raw Jamendo
150
data itself), as well as the links towards Geonames and the links towards Musicbrainz. These links are available
151
under a <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 License</a> (subject to
152
change, ask me).
153
</p>
154

    
155
<h2><a name="tools" id="tools"></a>6. Tools</h2>
156
<p>
157
The code needed to make this service run takes less than 900 lines of code! This, I guess, demonstrates the
158
power of <a href="http://www.swi-prolog.org">SWI Prolog</a> and its <i>SeRQL</i>, <i>semweb</i> and <i>http</i> packages.
159
</p>
160
<p>
161
The code is split in two parts, and is available under a copyleft license - feel free to use it!
162
</p>
163
<p>
164
The first part is available <a href="http://moustaki.org/urispace/">here</a>. It is a small HTTP server implementing content
165
negotiation. The behavior of the server is specified by a declarative mapping from resource identifiers to the location of
166
their representation.
167
</p>
168

    
169
<p>
170
The second part is available <a href="http://moustaki.org/p2r/">here</a>. It is an equivalent of 
171
<a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/d2r-server/">D2R Server</a>, but for Prolog knowledge base.
172
It allows to translate dynamically RDF queries to Prolog queries - which may wrap XML parsing,
173
<!--(as it is done in
174
the Jamendo RDF dump), -->
175
calls to web services, databases, etc. 
176
</p>
177
<p>
178
The behavior of this component is also specified through a declarative mapping (the package ships with some mapping 
179
examples) between prolog predicates and a set of RDF predicates.
180
</p>
181

    
182
<h2><a name="stats" id="stats"></a>7. Statistics</h2>
183

    
184
<p>
185
<table border="1">
186
<tr><td>Triple count</td><td>1.1 million triples +</td></tr>
187
<tr><td>Distinct <a href="http://geonames.org/">Geonames</a> resources</td>
188
<td>289</td></tr>
189
<tr><td>Distinct <a href="http://musicbrainz.org/">Musicbrainz</a> resources</td><td>119</td></tr>
190
</table>
191
</p>
192

    
193
<!--<ul>
194
<li>Links to Musicbrainz - <a href="http://blog.dbtune.org/post/2007/06/11/Linking-open-data%3A-interlinking-the-Jamendo-and-the-Musicbrainz-datasets">DONE</a></li>
195

196
</ul> -->
197

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

    
208

    
209
</body>
210

    
211
</html>
212