index.html
38 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
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>RDFa Use Cases: Scenarios for Embedding RDF in HTML</title><style type="text/css">
code { font-family: monospace; }
div.constraint,
div.issue,
div.note,
div.notice { margin-left: 2em; }
dt.label { display: run-in; }
li p { margin-top: 0.3em;
margin-bottom: 0.3em; }
div.exampleInner pre { margin-left: 1em;
margin-top: 0em; margin-bottom: 0em}
div.exampleOuter {border: 4px double gray;
margin: 0em; padding: 0em}
div.exampleInner { background-color: #d5dee3;
border-top-width: 4px;
border-top-style: double;
border-top-color: #d3d3d3;
border-bottom-width: 4px;
border-bottom-style: double;
border-bottom-color: #d3d3d3;
padding: 4px; margin: 0em }
div.exampleWrapper { margin: 4px }
div.exampleHeader { font-weight: bold;
margin: 4px}
.xmlverb-default { color: #333333; background-color: #ffffff; font-family: monospace }
.xmlverb-element-name { color: #990000 }
.xmlverb-element-nsprefix { color: #666600 }
.xmlverb-attr-name { color: #660000 }
.xmlverb-attr-content { color: #000099; font-weight: bold }
.xmlverb-ns-name { color: #666600 }
.xmlverb-ns-uri { color: #330099 }
.xmlverb-text { color: #000000; font-weight: bold }
.xmlverb-comment { color: #006600; font-style: italic }
.xmlverb-pi-name { color: #006600; font-style: italic }
.xmlverb-pi-content { color: #006666; font-style: italic }
</style><link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-WD"></head><body><div class="head"><p><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/w3c_home" alt="W3C" height="48" width="72"></a></p>
<h1><a name="title" id="title"></a>RDFa Use Cases: Scenarios for Embedding RDF in HTML</h1>
<h2><a name="w3c-doctype" id="w3c-doctype"></a>W3C Working Draft 30 March 2007</h2><dl><dt>This version:</dt><dd>
<a href="http://www.w3.org/TR/2007/WD-xhtml-rdfa-scenarios-20070330/"
>http://www.w3.org/TR/2007/WD-xhtml-rdfa-scenarios-20070330/</a>
</dd><dt>Latest version:</dt><dd>
<a href="http://www.w3.org/TR/xhtml-rdfa-scenarios/"
>http://www.w3.org/TR/xhtml-rdfa-scenarios/</a>
</dd><dt>Previous version:</dt><dd>
This is the first public Working Draft
</dd><dt>Editors:</dt><dd>Ben Adida, Creative Commons <a href="mailto:ben@adida.net"><ben@adida.net></a></dd><dd>Michael Hausenblas, JOANNEUM RESEARCH <a href="mailto:michael.hausenblas@joanneum.at"><michael.hausenblas@joanneum.at></a></dd></dl>
<p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2007 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.org/"><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> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p>
</div><hr><div>
<h2><a name="abstract" id="abstract"></a>Abstract</h2><p>Current web pages, written in HTML, contain significant
inherent structured data. When publishers can express this data
more completely, and when tools can read it, a new world of user
functionality becomes available, letting users transfer structured
data between applications and web sites. An event on a web page
can be directly imported into a user's desktop calendar. A license
on a document can be detected so that the user is informed of his
rights automatically. A photo's creator, camera setting
information, resolution, and topic can be published as easily as
the original photo itself, enabling structured search and sharing.
</p><p> RDFa is a syntax for expressing RDF structured data in HTML.
This document provides use case scenarios for RDFa. An
introduction to implementing RDFa is provided in the <a href="http://www.w3.org/TR/xhtml-rdfa-primer/">RDFa Primer</a>,
while the details of the syntax are explained in the RDFa Syntax (to be published).
</p></div><div>
<h2><a name="status" id="status"></a>Status of this Document</h2>
<p><em>This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/">W3C technical reports index</a> at http://www.w3.org/TR/.</em></p>
<p>
This 30 March document is the First Public Working Draft of the
RDFa Use Cases,
illustrating scenarios under which the Working Groups expect RDFa
to be useful. This work will help guide future design decisions made
by the Working Groups.
</p>
<p>
This document is joint work between the W3C <a
href="http://www.w3.org/2006/07/SWD/">Semantic Web
Deployment Working Group</a> [<a href="#SWD-WG">SWD-WG</a>] and
the former W3C HTML Working Group, now called the W3C <a
href="http://www.w3.org/MarkUp/">XHTML2 Working Group</a>
[<a href="#XHTML2-WG">XHTML2-WG</a>].
This work is part of both the <a
href="http://www.w3.org/2001/sw/Activity">W3C Semantic Web
Activity</a> and the <a href="http://www.w3.org/MarkUp/">HTML
Activity</a>. The two Working Groups expect to advance this
work to Recommendation Status.</p>
<p>Comments on this Working Draft are welcome and may be sent to
<a href="mailto:public-rdf-in-xhtml-tf@w3.org"
>public-rdf-in-xhtml-tf@w3.org</a>; please include
the text "comment" in the subject line. All messages received at
this address are viewable in a
<a href="http://lists.w3.org/Archives/Public/public-rdf-in-xhtml-tf/"
>public archive</a>.</p>
<p>Commentors may wish to review the list of
<a href="http://www.w3.org/2006/07/SWD/track/products/2">open issues</a>
before generating a new comment. Among the open issues are changes
to the W3C validator service to support mixed-vocabulary documents
of the form required by RDFa, Ruby, and Internationalization Tag
Set (ITS). Thus, some of the example files do not currently pass
the W3C validator tests.</p>
<p>This document was produced by a group operating under the <a
href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5
February 2004 W3C Patent Policy</a>. W3C maintains a <a
rel="disclosure"
href="http://www.w3.org/2004/01/pp-impl/32107/status">public list
of any patent disclosures</a> made in connection with the
deliverables of the group; that page also includes instructions
for disclosing a patent. An individual who has actual knowledge of
a patent which the individual believes contains <a
href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
Claim(s)</a> must disclose the information in accordance with <a
href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
6 of the W3C Patent Policy</a>. </p>
<p>Publication as a Working Draft does not imply endorsement by
the W3C Membership. This is a draft document and may be updated,
replaced or obsoleted by other documents at any time. It is
inappropriate to cite this document as other than work in
progress.</p>
</div><div class="toc">
<h2><a name="contents" id="contents"></a>Table of Contents</h2><p class="toc"><a href="#id67743">Introduction</a><br> <a href="#id67791">Audience</a><br> <a href="#id67803">An Overview of the Use Cases</a><br><a href="#use-case-1">Use Case #1 — Basic Structured Blogging</a><br><a href="#use-case-2">Use Case #2 — Publishing an Event - Overriding Some of the Rendered Data</a><br><a href="#use-case-3">Use Case #3 — Content Management Metadata</a><br><a href="#use-case-4">Use Case #4 — Self-Contained HTML Fragments</a><br><a href="#use-case-5">Use Case #5 — Web Clipboard</a><br><a href="#use-case-6">Use Case #6 — Semantic Wiki</a><br><a href="#use-case-7">Use Case #7 — Augmented Browsing for Scientists</a><br><a href="#use-case-8">Use Case #8 — Advanced Data Structures</a><br><a href="#use-case-9">Use Case #9 — Publishing a RDF Vocabulary</a><br><a href="#id68510">Comparison to Microformats</a><br><a href="#id68613">Acknowledgments</a><br><a href="#id68652">Bibliography</a><br></p></div><hr><div class="body"><div class="div1">
<h2><a name="id67743" id="id67743"></a>Introduction</h2><p> Current web pages, written in HTML, contain significant inherent
structured data. When publishers can express this data more completely,
and when tools can read it, a new world of user functionality becomes
available, letting users transfer structured data between applications and
web sites. An event on a web page can be directly imported into a user's
desktop calendar. A license on a document can be detected so that the user
is informed of his rights automatically. A photo's creator, camera setting
information, resolution, and topic can be published as easily as the
original photo itself, enabling structured search and sharing. </p><p> RDFa is a syntax that expresses RDF structured data in HTML. An
important goal of RDFa is to achieve this RDF embedding without repeating
existing HTML content when that content <em>is</em> the structured data.
</p><p>
This document presents the major use cases where embedding
structured data in HTML using RDFa provides significant
benefit. Each use case explores how publishers, tool
builders, and consumers benefit from RDFa. In parallel, the
reader is encouraged to look at the <a href="http://www.w3.org/TR/xhtml-rdfa-primer/">RDFa
Primer</a> and RDFa Syntax (to be published).
</p><p>
In this document, we consider Publishers, Tool Builders, and Users. For simplicity, we give our fictitious users first names whose first letter matches their role: Paul, Patrick, and Peter are publishers, Tim, Tod, and Tara and tool builders, Ursula and Ulrich are users.
</p><div class="div2">
<h3><a name="id67791" id="id67791"></a>Audience</h3><p>
This document assumes a reader who has reasonable experience
with HTML and RDF, in particular N3 notation.
</p></div><div class="div2">
<h3><a name="id67803" id="id67803"></a>An Overview of the Use Cases</h3><ol><li><a href="#use-case-1"><b>Use Case #1 — Basic Structured Blogging</b></a>: Paul maintains a blog and wishes to
"mark up" his existing page with structure so that tools can pick up
his blog post tags, authors, titles, and his blogroll. In particular,
his HTML blog should be usable as its own structured feed.</li><li><a href="#use-case-2"><b>Use Case #2 — Publishing an Event - Overriding Some of the Rendered Data</b></a>: Paul sometimes gives talks on various
topics, and announces them on his blog. He would like to mark up these
announcements with proper scheduling information, so that RDFa-enabled
agents can automatically obtain the scheduling information and add it to
the browsing user's calendar. Importantly, some of the rendered data
might be more informal than the machine-readable data required to
produce a calendar event. Also of importance: Paul may want to annotate
his event with a combination of existing vocabularies and a new
vocabulary of his own design.</li><li><a href="#use-case-3"><b>Use Case #3 — Content Management Metadata</b></a>: Tod sells an HTML-based content
management system, where all documents are processed and edited as HTML,
sent from one editor to another, and eventually published and indexed.
He would like to build up the editorial metadata within the HTML
document itself, so that it is easier to manage and less likely to be
lost.</li><li><a href="#use-case-4"><b>Use Case #4 — Self-Contained HTML Fragments</b></a>: Tara runs a video sharing web site.
When Paul wants to blog about a video, he can paste a fragment of HTML
provided by Tara directly into his blog. The video is then available
inline, in his blog, along with any licensing information (Creative
Commons?) about the video.</li><li><a href="#use-case-5"><b>Use Case #5 — Web Clipboard</b></a>: Ursula is looking for a new apartment
and some items with which to furnish it. She browses various
RDFa-enabled web pages, including apartment listings, furniture stores,
kitchen appliances, etc. Every time she finds an item she likes, she can
point to it, extract the locally-relevant structured data expressed
using RDFa, and transfer it to her apartment-hunting page, where it can
be organized, sorted, categorized. Any additional features of the HTML
that are not structured, e.g. links to photos, are conserved by the
transfer.</li><li><a href="#use-case-6"><b>Use Case #6 — Semantic Wiki</b></a>: Tim runs an RDFa-aware Semantic Wiki,
where users contribute content in Wiki markup, using a WYSIWYG tool, or
using HTML+RDFa. In all cases, the semantic wiki produces HTML+RDFa, so
that users like Ursula can transfer the structured content from one
semantic wiki (or any other RDFa source) to another semantic wiki (or
any other RDFa destination). In particular, Ursula may be pasting her
apartment-and-furnishing finds into her own Semantic Wiki.</li><li><a href="#use-case-7"><b>Use Case #7 — Augmented Browsing for Scientists</b></a>: Patrick writes a science blog where he
discusses proteins, genes, and chemicals. As he has very little control
over the layout—he's using a fairly constrained hosting
provider—, Patrick adds RDFa to indicate the scientific components
he's working with. Ulrich, a scientist, can browse Patrick's site with
an RDFa-aware browser and automatically cross-reference the proteins and
genes that Patrick is talking about.</li><li><a href="#use-case-8"><b>Use Case #8 — Advanced Data Structures</b></a>: Patrick keeps a list of his
scientific publications on his web site. Using the BibTex vocabulary,
he would like to provide structure within this publications page so
that Ulrich, who browses the web with an RDFa-aware client, can
automatically extract this information and use it to cite Patrick's
papers.</li><li><a href="#use-case-9"><b>Use Case #9 — Publishing a RDF Vocabulary</b></a>: Paul wants to publish a large
vocabulary in RDFS and/or OWL. Paul also wants to provide a clear,
human readable description of the same vocabulary. Using RDFa, the
terms themselves can be mixed with a descriptive text in HTML. The RDFa
engine can then extract the vocabulary in RDF/XML and/or n3 formats, to
be included used directly by RDF aware applications (eg,
reasoners).</li></ol></div></div><div class="div1">
<h2><a name="use-case-1" id="use-case-1"></a>Use Case #1 — Basic Structured Blogging</h2><p>Paul maintains a blog and wishes to "mark up" his existing page with
structure so that tools can pick up his blog post tags, authors, titles, and
his blogroll, and so that he does not need to maintain a parallel version of
his data in "structured format." For this purpose, Paul chooses the FOAF and
Dublin Core vocabularies.</p><p>
Paul's starting HTML (before RDFa) is:
</p><div class="exampleInner"><pre><html>
<head><title>Paul's Blog</title></head>
<body>
...
<div id="www2007_talk">
<h2>My WWW2007 Talk</h2>
a post by Paul.
<p>
I'm giving a talk at the WWW2007 Conference about structured blogging.
</p>
</div>
...
<div id="blogroll">
<ul>
<li> <a href="http://example.org/tim#me">Tim</a></li>
<li> <a href="http://example.org/Ursula#me">Ursula</a></li>
...
<li> <a href="http://example.org/tod#me">Tod</a></li>
</ul>
</div>
...
</body>
</html>
</pre></div>
(<a href="scenario-1.html">html</a>)
<p>
and the desired RDF triples, meant to reuse the corresponding text and link targets from the HTML above, are:
</p><div class="exampleInner"><pre>@prefix dc: <http://purl.org/dc/elements/1.1/>
@prefix foaf: <http://xmlns.com/foaf/0.1/>
<#www2007_talk> dc:title "My WWW2007 Talk" ;
dc:creator "Paul" .
<#me> foaf:knows <http://example.org/Tim#me> ;
foaf:knows <http://example.org/Ursula#me> ;
foaf:knows <http://example.org/Tod#me> .
</pre></div>
(<a href="scenario-1.n3">n3</a>)
<p> A user with an RDFa-aware browser can automatically pick up Paul's
list of acquaintances. An RDFa-aware newsreader can use the HTML page
itself as a newsfeed, rather than seek out a separate, parallel RSS or
Atom file. Importantly, if Paul edits one of his blog posts, the
corresponding structured data is also automatically updated. The
RDFa-aware newsreader will automatically pick up the updated title,
content, and tags. </p><p> Note that many blog publishing tools already provide an "auto-update"
feature: they generate multiple output formats at the same time, either by
"re-baking" the entire site when an update is committed, or by dynamically
generating a response to each query. With RDFa, the blog publishing engine
can be significantly simplified: it only needs to produce an HTML+RDFa
output, which is usable by both humans and automated feed readers. In
addition, the structured data now naturally includes information not
typically seen in newsfeeds: the user's blogroll, contact information,
geo-location, etc., which newsreaders can begin to pick up as they see
fit.</p></div><div class="div1">
<h2><a name="use-case-2" id="use-case-2"></a>Use Case #2 — Publishing an Event - Overriding Some of the Rendered Data</h2><p> Paul sometimes gives talks on various topics, and announces them on his
blog, as well as on a static page of his web site that archives all of the
talks he's given. He would like to mark up these announcements with proper
scheduling information, so that RDFa-enabled agents can automatically obtain
the scheduling information and add it to the browsing user's calendar.
Importantly, some of the rendered data might be more informal than the
machine-readable data required to produce a calendar event. In addition,
Paul wants to add structured data using a combination of existing Dublin
Core, vcal, and some of his own terms he uses to categorize the audience of
his talks.</p><p>
Paul's HTML is:
</p><div class="exampleInner"><pre>...
<div id="www2007_talk">
<h2>My WWW2007 Talk</h2>
a post by Paul.
<p>
I'm giving a talk at the WWW2007 Conference about structured blogging,
on the second day of the conference at 10. This will be one of my
<a href="technical">more technical talks</a>.
</p>
</div>
...
</pre></div>
(<a href="scenario-2.html">html</a>)
<p>
and his desired RDF triples are:
</p><div class="exampleInner"><pre>@prefix cal: <http://www.w3.org/2002/12/cal/ical#>
@prefix dc: <http://purl.org/dc/elements/1.1/>
@prefix paul: <http://example.org/Paul/ns#>
<#www2007_talk> a cal:Vevent ;
dc:title "My WWW2007 Talk" ;
dc:creator "Paul" ;
cal:summary "structured blogging" ;
cal:dtstart "20070509T1000-0800" ;
paul:audience <technical> .
</pre></div>
(<a href="scenario-2.n3">n3</a>)
<p> When Ursula points her RDFa-enabled web browser to Paul's blog, she
notices a calendar icon next to the event description. By clicking on it, she
gets the option to add the event to her calendar of choice. Note that the
rendered HTML uses informal language to describe the scheduling of the event,
i.e. "the second day of the conference," while the structured data contains
the complete iCal timestamp. In addition, the structured data also contains
the Dublin Core properties. Finally, though Ursula may not know what to make
of the <code>paul:audience</code> predicate, she can quickly find out what
this predicate means using typical RDF navigation.</p></div><div class="div1">
<h2><a name="use-case-3" id="use-case-3"></a>Use Case #3 — Content Management Metadata</h2><p>
Tod sells an HTML-based content management system, where all
documents are processed and edited as HTML, sent from one
editor to another, and eventually published and indexed. He
would like to build up the editorial metadata within the
HTML document itself, so that the metadata is never lost.
</p><p> For this purpose, Tod's software uses RDFa with non-rendered metadata.
Peter, one of Tod's customers, runs Foo Magazine, which ships content to
aggregators and business partners using HTML. As Peter performs editorial
tasks using Tod's content management system, metadata properties are added
to the document. These data are not rendered, but they can be extracted
using a generic RDFa parser. Peter can thus insert a block of workflow and
rights reuse metadata about the document and its components at a single
point in the XHTML file and then ship the document off to a business
partner. </p><p>
Peter's baseline HTML, not including the RDFa, is:
</p><div class="exampleInner"><pre><html>
<head>
<title>Add Some Tex Mex Sizzle to Your Kid's Lunch</title>
</head>
<body>
<h1>Add Some Tex Mex Sizzle to Your Kid's Lunch</h1>
<div id='recipe22143'>
<h2>Amigo Corn Dogs</h2>
<img id="pic9932" src="http://www.example.org/FooMagazine/img/342.jpg"/>
...
</div>
<div id='recipe13941'>
<h2>EZ Bean Tacos</h2>
...
</div>
...
</body>
</html>
</pre></div></div>
(<a href="scenario-3.html">html</a>)
<p>
and his desired RDF triples are:
</p><div class="exampleInner"><pre>@prefix fm: <http://www.example.org/FooMagazine/ns#>
@prefix dc: <http://purl.org/dc/elements/1.1/>
@prefix pr: <http://prismstandard.org/namespaces/1.2/basic/>
<> fm:newsStandDate "2006-04-03" ;
pr:coverDate "2007-02-24" .
<#recipe13941> fm:ComponentID "XZ3214" ;
fm:ComponentType "Recipe" ;
fm:RecipeID "r003423" .
<http://www.example.org/FooMagazine/img/342.jpg> dc:creator "Joe Smith" ;
pr:embargoDate "2007-03-12" .
</pre></div>
(<a href="scenario-3.n3">n3</a>)
<div class="div1">
<h2><a name="use-case-4" id="use-case-4"></a>Use Case #4 — Self-Contained HTML Fragments</h2><p>
Tara runs a video sharing web site. Paul frequently blogs
about videos. Some are his own, which he distributes
exclusively, while others are videos from Tara's site which
he reviews. When Paul wants to blog about a video from
Tara's site, he can paste a fragment of HTML provided by Tara
directly into his blog:
</p><div class="exampleInner"><pre><div>
<object width="425" height="350">
<param name="movie" value="http://example.org/tara/video_123"></param>
</object>
The US Constitution, a Documentary.
available under a
<a rel="license" href="http://creativecommons.org/licenses/by/2.5/">
CC License
</a>. Please provide credit to Tara.
</div>
</pre></div>
(<a href="scenario-4.html">html</a>)
<p> Once augmented with RDFa, the HTML fragment above can be copied and pasted
into Paul's blog post, carrying along with it the following triples: </p><div class="exampleInner"><pre>@prefix cc: <http://creativecommons.org/ns#>
@prefix dc: <http://purl.org/dc/elements/1.1/>
@prefix xhtml: <http://http://www.w3.org/1999/xhtml#>
<http://example.org/Tara/video_123> dc:title "The US Constitution, a Documentary" ;
xhtml:license <http://creativecommons.org/licenses/by/2.5/> ;
cc:attributionName "Tara" .
</pre></div>
(<a href="scenario-4.n3">n3</a>)
<p> When Paul uses the HTML+RDFa markup provided by Tara, the video is then
available inline, in his blog, along with this structured title and
licensing information about the video. A user browsing Paul's blog with an
RDFa-aware browser can tell that the video shared from Tara's site is
licensed under Creative Commons.</p><p>Note specifically that the HTML+RDFa markup allows Paul to display,
within a single HTML page, multiple videos, each with its own license,
title, and other structured information. The videos excerpted from Tara's
site may be available under a Creative Commons license, while Paul's own
videos are licensed under different terms.</p><p>Note also that Tara has already used the XHTML reserved keyword license in the HTML <code>rel</code> attribute. RDFa should play along with these existing reserved words.
</p></div><div class="div1">
<h2><a name="use-case-5" id="use-case-5"></a>Use Case #5 — Web Clipboard</h2><p> Ursula is looking for a new apartment and some items with which to
furnish it. She browses various RDFa-enabled web pages, including apartment
listings, furniture stores, kitchen appliances, etc. Every time she finds an
item she likes, she can point to it, extract the locally-relevant structured
data expressed using RDFa, and transfer it to her apartment-hunting page,
where it can be organized, sorted, categorized. Any additional features of
the HTML that are not structured, e.g. links to photos, are conserved by the
transfer. </p><p>Importantly, the structured data represented by the RDFa is easy to
localize to a particular region of the rendered screen, so that Ursula can
"point and click" her way to the structured data.The data Ursula aggregates
can then be managed using any set of existing RDF tools for querying, sorting,
and navigating. </p></div><div class="div1">
<h2><a name="use-case-6" id="use-case-6"></a>Use Case #6 — Semantic Wiki</h2><p> Tim runs an RDFa-aware Semantic Wiki (as <a href="#SMW">[SMW]</a>), where
users contribute content in Wiki markup, using a WYSIWYG tool, or using
HTML+RDFa. In all cases, the semantic wiki produces HTML+RDFa, so that users
like Ursula can transfer the structured content from one semantic wiki (or
any other RDFa source) to another semantic wiki (or any other RDFa
destination). In particular, Ursula may be pasting her
apartment-and-furnishing finds, from <a href="#use-case-5"><b>Use Case #5 — Web Clipboard</b></a>, into her
own Semantic Wiki.
</p><p> The key principle here is that HTML+RDFa should remain transferable,
almost first class: structured data from one location can be transferred to
another location, where it can be rendered as HTML, from where it can be once
again extracted and transferred.</p></div><div class="div1">
<h2><a name="use-case-7" id="use-case-7"></a>Use Case #7 — Augmented Browsing for Scientists</h2><p> Patrick writes web-based science articles where he discusses proteins,
genes, and chemicals. As he has very little control over the
layout—he's using a fairly constrained hosting provider—,
Patrick adds RDFa to indicate the scientific components with which he's
working. Note that Patrick clearly wants to reuse the large vocabularies
already defined by the scientific community over the years, for example, in
this case, the Uniprot vocabulary <a href="#UNIPROT">[UNIPROT]</a>. Ulrich, a
scientist, can then browse Patrick's site with an RDFa-aware browser and
automatically cross-reference the proteins and genes that Patrick is talking
about with his own data. </p><p> Specifically, Patrick may write the following blog post (pre-RDFa):
</p><div class="exampleInner"><pre><div>
Let's talk about the Corticotropin-lipotropin precursor protein, aka UPA3_HUMAN.
...
</div></pre></div>
(<a href="scenario-7.html">html</a>)
<p>
into which he would like to insert the following triples:
</p><div class="exampleInner"><pre>@prefix uniprot: <urn:lsid:uniprot.org:ontology:>
uniprot:P30089 a uniprot:Protein ;
uniprot:name "Corticotropin-lipotropin precursor" ;
uniprot:mnemonic "UPA3_HUMAN" .
</pre></div>
(<a href="scenario-7.n3">n3</a>)
<p>
Then, Ulrich, who runs an RDFa-aware web browser (e.g. Firefox with a GreaseMonkey plugin), is provided with automatic popups with additional information for all proteins, genes, etc. in Patrick's blog. In particular, Ulrich may get links to related proteins, genes, and publications, where Patrick only added a bit of static markup.
</p><p>
Of course, this kind of augmented scientific browsing should be useful
even for large publishers of scientific data, e.g. NCBI <a href="#NCBI">[NCBI]</a>. Relationships between genes, proteins, and scientific
literature should be expressible as easily as the HTML that embodies the
same ideas.
</p></div><div class="div1">
<h2><a name="use-case-8" id="use-case-8"></a>Use Case #8 — Advanced Data Structures</h2><p>Patrick keeps a list of his scientific publications on his web
site. Using the BibTex vocabulary, he would like to provide structure
within this publications page so that Ulrich, who browses the web with
an RDFa-aware client, can automatically extract this information and
use it to cite Patrick's papers without having to transcribe the
bibliographic information.</p><p> Two important features of the BibTex vocabulary are worth
highlighting for this use case: the structure is more than one-level deep, and ordering counts (i.e. who is first author?).</p><p>
Specifically, Patrick may have the following HTML (pre-RDFa):
</p><div class="exampleInner"><pre>...
<div>
Embedding RDF in HTML,<br />
by Patrick, Paul, and Peter, in Proceedings of WWW 2007.<br />
Volume 25, Number 3, May 2007, pages 6--9.
</div>
...
</pre></div>
(<a href="scenario-8.html">html</a>)
<p>
into which he would like to insert the following triples:
</p><div class="exampleInner"><pre>:Patrick2007 a bibtex:Article;
bibtex:title "Embedding RDF in HTML" ;
bibtex:author (
[
foaf:name "Patrick"
]
[
foaf:name "Paul"
]
[
foaf:name "Peter"
]
);
bibtex:journal [
bibtex:name "Proceedings of WWW 2007"
] ;
bibtex:volume "25" ;
bibtex:number "3" ;
bibtex:date [
bibtex:year "2007" ;
bibtex:month "5"
] ;
bibtex:page [
bibtex:startPage "6" ;
bibtex:endPage "9"
] .</pre></div>
(<a href="scenario-8.n3">n3</a>)
<p>
</p></div><div class="div1">
<h2><a name="use-case-9" id="use-case-9"></a>Use Case #9 — Publishing a RDF Vocabulary</h2><p> Paul wants to publish a vocabulary in RDFS and/or OWL. He also
wants to provide a clear, human readable description of the same
vocabulary. Using RDFa, the terms themselves can be mixed with a
descriptive text in HTML. The RDFa engine can then extract the
vocabulary in RDF/XML and/or n3 formats, to be included used directly
by RDF aware applications (eg, reasoners). </p><p>
Consider, specifically, the SKOS example in RDF/XML:
</p><div class="exampleInner"><pre><skos:Concept rdf:about="http:/example.com/Concept/0001">
<skos:prefLabel>English cuisine</skos:prefLabel>
<skos:altLabel>English dishes</skos:altLabel>
<skos:altLabel xml:lang="fr">Cuisine anglaise</skos:altLabel>
<skos:inScheme rdf:resource="http:/example.com/thesaurus"/>
<skos:broader rdf:resource="http:/example.com/Concept/0002"/>
<skos:related rdf:resource="http:/example.com/Concept/0003"/>
</skos:Concept>
</pre></div><p>
An HTML expression (pre-RDFa) of this SKOS concept might look like:
</p><div class="exampleInner"><pre><div>
<h2>English Cuisine</h2>
(also called "English dishes", or, in French, "Cuisine anglaise")
go up to the broader <a href="http://example.com/Concept/0002">Concept #2</a>,<br />
visit the related <a href="http:/example.com/Concept/0003">Concept #3</a>,<br />
part of <a href="http://example.com/thesaurus">the Example Thesaurus</a>,<br />
</div>
</pre></div><p>
Expressing a SKOS vocabulary may not require any additional features
to those described in prior use cases. However, it is important to
consider whether RDFa can indeed express the complexity of SKOS, which
may not be captured in other examples.
</p></div><div class="div1">
<h2><a name="id68510" id="id68510"></a>Comparison to Microformats</h2><p> Some RDFa use cases may be fulfilled by microformats <a href="#MF">[MF]</a>. In particular, Use Case #1 and part of Use Case #2 can be achieved using
XFN <a href="#XFN">[XFN]</a> and hCal <a href="#HCAL">[HCAL]</a>. In such cases,
microformats (possibly combined with GRDDL) provide a perfectly appropriate
solution. However, in each of the use cases in this document, the
microformat approach requires either building a new, complete vocabulary, or
<em>mixing</em> several vocabularies in one single application. While this
may be simple in the case of the basic existing microformats, it becomes
prohibitive when large vocabularies are used, as in <a href="#use-case-7"><b>Use Case #7 — Augmented Browsing for Scientists</b></a> or simply when the number of vocabularies mixed within
an application becomes too large. RDFa aims to combine, remix, and extend
<em>existing</em> vocabularies easily, thus fully enabling <a href="#use-case-2"><b>Use Case #2 — Publishing an Event - Overriding Some of the Rendered Data</b></a>, <a href="#use-case-3"><b>Use Case #3 — Content Management Metadata</b></a>, and <a href="#use-case-7"><b>Use Case #7 — Augmented Browsing for Scientists</b></a>. </p><p> In addition, RDFa aims to define a single, non-domain-specific syntax,
so that fragments of HTML+RDFa may be consistently interpretable.
Specifically, consider <a href="#use-case-4"><b>Use Case #4 — Self-Contained HTML Fragments</b></a>, <a href="#use-case-5"><b>Use Case #5 — Web Clipboard</b></a>, and <a href="#use-case-6"><b>Use Case #6 — Semantic Wiki</b></a>, where it is crucial
that a single self-contained HTML fragment be complete enough to carry
through the entire RDF structure.</p></div><div class="div1">
<h2><a name="id68613" id="id68613"></a>Acknowledgments</h2><p>
The editors gratefully acknowledge contributions from:
</p><ul><li> Mark Birbeck</li><li> Jeremy Carroll</li><li> Ivan Herman</li><li> Steven Pemberton</li><li> Guus Schreiber</li><li> Ralph Swick</li><li> Elias Torres</li></ul></div><div class="div1">
<h2><a name="id68652" id="id68652"></a>Bibliography</h2><dl><dt class="label"><a name="SMW" id="SMW"></a>SMW</dt><dd>Semantic Wikipedia (See <a href="http://www.aifb.uni-karlsruhe.de/Publikationen/showPublikation_english?publ_id=1055">http://www.aifb.uni-karlsruhe.de/Publikationen/showPublikation_english?publ_id=1055</a>.)</dd><dt class="label"><a name="MF" id="MF"></a>MF</dt><dd>Microformats (See <a href="http://microformats.org/">http://microformats.org/</a>.)</dd><dt class="label"><a name="XFN" id="XFN"></a>XFN</dt><dd>XHTML Friends Network (See <a href="http://gmpg.org/xfn/">http://gmpg.org/xfn/</a>.)</dd><dt class="label"><a name="HCAL" id="HCAL"></a>HCAL</dt><dd>hCalendar Microformat (See <a href="http://microformats.org/wiki/hcalendar">http://microformats.org/wiki/hcalendar</a>.)</dd><dt class="label"><a name="FOAF" id="FOAF"></a>FOAF</dt><dd>The Friend of a Friend (FOAF) Project (See <a href="http://www.foaf-project.org/">http://www.foaf-project.org/</a>.)</dd>
<dt class="label"><a name="SWD-WG" id=
"SWD-WG"></a>SWD-WG</dt>
<dd>Semantic Web Best Deployment Working Group (See
<a href="http://www.w3.org/2006/07/SWD/">http://www.w3.org/2006/07/SWD/</a>.)</dd>
<dt class="label"><a name="RDFHTML" id="RDFHTML"></a>RDFHTML</dt><dd>RDF-in-HTML Task Force (See <a href="http://www.w3.org/2001/sw/BestPractices/HTML/">http://www.w3.org/2001/sw/BestPractices/HTML/</a>.)</dd><dt class="label"><a name="SWBPD-WG" id="SWBPD-WG"></a>SWBPD-WG</dt><dd>Semantic Web Best Practices and Deployment Working Group (See <a href="http://www.w3.org/2001/sw/BestPractices/">http://www.w3.org/2001/sw/BestPractices/</a>.)</dd> <dt class="label"><a name="XHTML2-WG" id=
"XHTML2-WG"></a>XHTML2-WG</dt>
<dd>XHTML2 Working Group, previously called HTML Working Group (See <a href=
"http://www.w3.org/MarkUp/">http://www.w3.org/MarkUp/</a>.)</dd>
<dt class="label"><a name="ICAL-RDF" id="ICAL-RDF"></a>ICAL-RDF</dt><dd>RDF Calendar Interest Group Note (See <a href="http://www.w3.org/TR/rdfcal/">http://www.w3.org/TR/rdfcal/</a>.)</dd><dt class="label"><a name="VCARD-RDF" id="VCARD-RDF"></a>VCARD-RDF</dt><dd>Representing vCard Objects in RDF/XML (See <a href="http://www.w3.org/TR/vcard-rdf">http://www.w3.org/TR/vcard-rdf</a>.)</dd><dt class="label"><a name="UNIPROT" id="UNIPROT"></a>UNIPROT</dt><dd>Uniprot - The Universal Protein Resource (See <a href="http://www.pir.uniprot.org/">http://www.pir.uniprot.org/</a>.)</dd><dt class="label"><a name="NCBI" id="NCBI"></a>NCBI</dt><dd>National Center for Biotechnology Information (See <a href="http://www.ncbi.nlm.nih.gov/">http://www.ncbi.nlm.nih.gov/</a>.)</dd></dl></div></div></body></html>