data_interchange_problems_come.html
14.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
<?xml version="1.0"?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css" media="all">
@import "/QA/2006/01/blogstyle.css";
</style>
<meta name="keywords" content='digital media data interchange web architecture music rdfa microformats' />
<meta name="description" content=" I had a pretty small data interchange problem the other day: I just wanted to archive some play lists that I had compiled using various music player daemon (mpd) clients. The mpd server stores playlists as simple m3u files,..." />
<meta name="revision" content="$Id: data_interchange_problems_come.html,v 1.34 2011/12/15 22:21:23 mirror Exp $" />
<link rel="alternate" type="application/atom+xml" title="Atom" href="http://www.w3.org/QA/atom.xml" />
<link rel="alternate" type="application/rss+xml" title="RSS 1.0" href="http://www.w3.org/QA/news.rss" />
<title>Data interchange problems come in all sizes - W3C Blog</title>
<link rel="start" href="http://www.w3.org/QA/" title="Home" />
<link rel="prev" href="http://www.w3.org/QA/2009/05/once_more_into_versioning_--_t.html" title="Once more into Versioning -- this time with HTML" />
<link rel="next" href="http://www.w3.org/QA/2009/05/w3c_is_micro-blogging.html" title="W3C is micro-blogging" />
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description
rdf:about="http://www.w3.org/QA/2009/05/data_interchange_problems_come.html"
trackback:ping="http://www.w3.org/QA/sununga/mt-tb.cgi/268"
dc:title="Data interchange problems come in all sizes"
dc:identifier="http://www.w3.org/QA/2009/05/data_interchange_problems_come.html"
dc:subject="HTML"
dc:description=" I had a pretty small data interchange problem the other day: I just wanted to archive some play lists that I had compiled using various music player daemon (mpd) clients. The mpd server stores playlists as simple m3u files,..."
dc:creator="Dan Connolly"
dc:date="2009-05-08T21:10:44+00:00" />
</rdf:RDF>
-->
<!-- <script type="text/javascript" src="http://www.w3.org/QA/mt.js"></script>-->
</head>
<body class="layout-one-column">
<div id="banner">
<h1 id="title">
<a href="http://www.w3.org/"><img height="48" alt="W3C" id="logo" src="http://www.w3.org/Icons/WWW/w3c_home_nb" /></a>
W3C Blog
</h1>
</div>
<ul class="navbar" id="menu">
<li><strong><a href="/QA/" title="W3C Blog Home">[ W3C Blog ]</a></strong></li>
<li><a href="/QA/Library/" title="Documents and Publications on Web and Quality">Documents</a></li>
<li><a href="/QA/Tools/" accesskey="3" title="Validators and other Tools">Tools</a></li>
<li><a href="/2007/12/qa-blog-help/index#feedback">Feedback</a></li>
</ul>
<div id="searchbox">
<form method="get" action="http://www.google.com/custom" enctype="application/x-www-form-urlencoded">
<p id="formbox"><input type="text" size="15" class="textfield" name="q" accesskey="E" maxlength="255" /> <input type="submit" class="submitfield" value="Search" id="goButton" name="sa" accesskey="G" /> <input type="hidden" name="cof" value="T:black;LW:72;ALC:#ff3300;L:http://www.w3.org/Icons/w3c_home;LC:#000099;LH:48;BGC:white;AH:left;VLC:#660066;GL:0;AWFID:0b9847e42caf283e;" /><input type="hidden" id="searchW3C" name="sitesearch" checked="checked" value="www.w3.org/QA" /><input type="hidden" name="domains" value="www.w3.org/QA" /></p>
</form>
</div>
<div id="main"><!-- This DIV encapsulates everything in this page - necessary for the positioning -->
<p class="content-nav">
<a href="http://www.w3.org/QA/2009/05/once_more_into_versioning_--_t.html">« Once more into Versioning -- this time with HTML</a> |
<a href="http://www.w3.org/QA/">Main</a>
| <a href="http://www.w3.org/QA/2009/05/w3c_is_micro-blogging.html">W3C is micro-blogging »</a>
</p>
<h2 class="entry-header">Data interchange problems come in all sizes</h2>
<div class="entry-body">
<p>I had a pretty small data interchange problem the other day: I just
wanted to archive some play lists that I had compiled using various
music player daemon (<a href="http://en.wikipedia.org/wiki/Music_Player_Daemon">mpd</a>)
clients.
The mpd server stores playlists as simple <a href="http://en.wikipedia.org/wiki/M3U">m3u</a> files,
i.e. line-oriented files with a path to the media file on each line. But
that's too fragile for archive and interchange purposes.
I had a similar problem a while back with iTunes playlists. In <a href="http://dig.csail.mit.edu/breadcrumbs/node/228">that episode</a>,
I chose <a href="http://microformats.org/wiki/haudio">hAudio</a>, an
HTML dialect in progress in the <a href="http://microformats.org/wiki/Main_Page">microformats
community</a>, as my target.</p>
<p>Unfortunately, hAudio changed out from under me between when I
started and when I finished. So this time, a simple search found the
<a href="http://musicontology.com/">music ontology</a> and I tried it
with <a href="http://www.w3.org/TR/xhtml-rdfa-primer/">RDFa</a>, which
lets you use any RDF vocabulary in HTML<a href="#quibble">*</a>.
I'm mostly pleased with the results:
</p>
<blockquote>
<ol xmlns:mo="http://purl.org/ontology/mo/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<li about="#album1" typeof="mo:Record">
from <cite property="dc:title">A Song's Best Friend_ The Very Best Of John Denver [Disc 1]</cite>
<br /> by <span rel="foaf:maker"><b typeof="foaf:Agent" about="#agent1" property="foaf:name">John Denver</b></span>
<br /><a rel="mo:track" href="http://www.w3.org/QA/sununga/mt-static/html/artists-popular/John%20Denver/A%20Song%27s%20Best%20Friend_%20The%20Very%20Best%20Of%20John%20Denver%20%5BDisc%201%5D/1-04%20Poems%2C%20Prayers%20And%20Promises.mp3"><em property="dc:title">Poems, Prayers And Promises</em></a></li>
<li about="#album2" typeof="mo:Record">
from <cite property="dc:title">WOW Worship (orange)</cite>
<br /> by <span rel="foaf:maker"><b typeof="foaf:Agent" about="#agent2" property="foaf:name">Compilations</b></span>
<br /><a rel="mo:track" href="http://www.w3.org/QA/sununga/mt-static/html/artists-popular/Compilations/WOW%20Worship%20%28orange%29/1-01%20Did%20you%20Feel%20the%20Mountains%20Tremble.mp3"><em property="dc:title">Did you Feel the Mountains Tremble</em></a></li>
<li about="#album3" typeof="mo:Record">
from <cite property="dc:title">Family Music Party</cite>
<br /> by <span rel="foaf:maker"><b typeof="foaf:Agent" about="#agent3" property="foaf:name">Trout Fishing In America</b></span>
<br /><a rel="mo:track" href="http://www.w3.org/QA/sununga/mt-static/html/artists-popular/Trout%20Fishing%20In%20America/Family%20Music%20Party/14%20-%20Back%20When%20I%20Could%20Fly.flac"><em property="dc:title">Back When I Could Fly</em></a></li>
</ol>
</blockquote>
<p>The album names come before the track names because I didn't read
enough of the the <a href="http://www.w3.org/TR/xhtml-rdfa-primer/">RDFa primer</a> when I
was coding; RDFa includes <tt>@rev</tt> as well as <tt>@rel</tt>
for reversing subject/object order.
See
<a href="http://www.advogato.org/person/connolly/diary/67.html">an
advogato episode on m3uin.py</a> for details about the code.
</p>
<p>The Music Ontology was developed by a handful of people who
staked out a claim in URI space
(<tt>http://musicontology.org/...</tt>) and happily took comments from
as big a review community as they could manage, but they had no
obligation to get a really global consensus. The microformats process
is intended to reach a global consensus so that staking out a claim in
URI space is superfluous; it works well given certain initial
conditions about how common the problem is and availability of pre-web
designs to draw from. Perhaps playlists (and media syndication, as
hAudio seems to be expanding in scope to hMedia) will eventually reach
these conditions, but the music ontology already meets my needs, since
I'm the sort who doesn't mind declaring my data vocabulary with URIs.
</p>
<p>My view of Web architecture is shaped by episodes such as this
one. While giga-scale deployment is always impressive and definitely
something we should design for, small scale deployment is just as
important. The Web spread, initially, not because of global phenomena
such as Wikipedia and Facebook but because you <em>didn't</em> need
your manager's permission to try it out; you <em>didn't</em> even
<em>need</em> a domain name; you could just run it on your LAN
or even on just one machine with no server at all.</p>
<p>In an
<a href="http://www.w3.org/2008/10/22-tp-minutes.html#item02">Oct 2008
tech plenary session on web architecture</a>,
Henri Sivonen said:
</p>
<blockquote>
<p>I see the Web
as the public Web that people can access. The resources you can
navigate publicly. I define Web as the information space accessible to
the public via a browser.<br /> If a mobile operator operates behind
walls, this is not part of the Web.</p>
</blockquote>
<p>I can't say that I agree with that perspective. I'm no great fan of
walled gardens either, but freedom means freedom to do things we don't
like as well as freedom to do things we do like. And architecture and
policy should have a sort of church-and-state separation between
them.</p>
<p>Plus, data interchange happens not just at planetary scale, but
also within mobile devices, across devices, and across communities
and enterprises of all shapes and sizes.</p>
<p id="quibble"><small>I've gone a little outside the scope of current
standards; RDFa has only been specified for use in modular XHTML, with
the <tt>application/xhtml+xml</tt> media type, so far.</small>
</p>
<hr>
<p>See also:</p>
<ul>
<li>Feb 2009: <cite><a href="http://www.w3.org/QA/2009/02/palm_webos_approach_to_html_ex.html" rel="bookmark">Palm webOS approach to HTML extensibility:
x-mojo-*</a></cite></li>
<li>Aug 2008: <cite><a href="http://www.w3.org/QA/2008/08/the_details_of_data_in_documen.html">The details of data in documents: GRDDL, profiles, and HTML5</a></cite>
</li>
</ul>
</div>
<div id="more" class="entry-more">
</div>
<p class="postinfo">Filed by <a href="http://www.w3.org/People/Connolly/">Dan Connolly</a> on May 8, 2009 9:10 PM in <a href="http://www.w3.org/QA/archive/technology/html/">HTML</a>, <a href="http://www.w3.org/QA/archive/web_spotting/opinions_editorial/">Opinions &amp; Editorial</a>, <a href="http://www.w3.org/QA/archive/technology/semantic_web/">Semantic Web</a>, <a href="http://www.w3.org/QA/archive/web_architecture/">Web Architecture</a><br />
<span class="separator">|</span> <a class="permalink" href="http://www.w3.org/QA/2009/05/data_interchange_problems_come.html">Permalink</a>
| <a href="http://www.w3.org/QA/2009/05/data_interchange_problems_come.html#comments">Comments (0)</a>
| <a href="http://www.w3.org/QA/2009/05/data_interchange_problems_come.html#trackback">TrackBacks (0)</a>
</p>
<div class="comments-open" id="comments-open">
<h3 class="comments-open-header">Leave a comment</h3>
<div class="comments-open-moderated">
<p>
Note: this blog is intended to foster <strong>polite
on-topic discussions</strong>. Comments failing these
requirements and spam will not get published. Please,
enter your real name and email address. Every
individual comment is reviewed by the W3C staff.
This may take some time, thank you for your patience.
</p>
<p>
You can use the following HTML markup (a href, b, i,
br/, p, strong, em, ul, ol, li, blockquote, pre)
and/or <a href="http://daringfireball.net/projects/markdown/syntax">Markdown syntax</a>.</p>
</div>
<div id="comments-open-data">
<form method="post" action="http://www.w3.org/QA/sununga/beach.pl" id="comments-form">
<h4>Your comment</h4>
<div id="comments-open-text">
<textarea id="comment-text" name="text" rows="20" cols="100"></textarea><br />
<label for="comment-text">Write your comment text here. Remember, keep the discussion on topic and courteous.</label>
</div>
<h4>About you</h4>
<div id="comment-form-name">
<input type="hidden" name="static" value="1" />
<input type="hidden" name="entry_id" value="6360" />
<input type="hidden" name="__lang" value="en" />
<label for="comment-author">Your Name</label>
<input id="comment-author" name="author" size="30" value="" />
</div>
<div id="comment-form-email">
<label for="comment-email">Your Email Address</label>
<input id="comment-email" name="email" size="30" value="" />
</div>
<div id="comments-open-footer">
<input type="submit" accesskey="s" name="post" id="comment-submit" value="Submit" />
</div>
</form>
</div>
</div>
<p id="gentime">This page was last generated on $Date: 2011/12/15 22:21:23 $</p>
</div><!-- End of "main" DIV. -->
<address>
This blog is written by W3C staff and working group participants,<br />
and maintained by <a href="/People/CMercier/">Coralie Mercier</a>.<br />
Authorized parties may <a href="/QA/new">log in</a> to create a new entry.<br/>
<span id="poweredby">Powered by Movable Type, magpierss and a lot of Web Technology</span>
</address>
<p class="copyright">
<a rel="Copyright" href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 1994-2011
<a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a>®
(<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>,
<a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>,
<a href="http://www.keio.ac.jp/">Keio</a>),
All Rights Reserved.
W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
<a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>,
<a rel="Copyright" href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a>
and <a rel="Copyright" href="http://www.w3.org/Consortium/Legal/copyright-software">software licensing</a>
rules apply. Your interactions with this site are in accordance
with our <a href="http://www.w3.org/Consortium/Legal/privacy-statement#Public">public</a> and
<a href="http://www.w3.org/Consortium/Legal/privacy-statement#Members">Member</a> privacy
statements.
</p>
</body>
</html>