You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
601 lines
38 KiB
601 lines
38 KiB
<!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>
|