--- a/microdata-rdf/index.html Sat Jan 07 06:42:16 2012 +0100
+++ b/microdata-rdf/index.html Sat Jan 07 14:09:25 2012 -0800
@@ -113,25 +113,24 @@
var respecConfig = {
// specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
- specStatus: "ED",
- //publishDate: "2010-04-29",
+ specStatus: "FPWD-NOTE",
+ charterDisclosureURI: "http://www.w3.org/2006/07/swig-charter#Ipr",
+ publishDate: "2012-01-16",
copyrightStart: "2011",
// the specification's short name, as in http://www.w3.org/TR/short-name/
shortName: "microdata-rdf",
subtitle: "Transformation from HTML+Microdata to RDF",
- // if you wish the publication date to be other than today, set this
- // publishDate: "2009-08-06",
// if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
// and its maturity status
- previousPublishDate: "2011-11-18",
- previousMaturity: "ED",
- previousURI: "https://dvcs.w3.org/hg/htmldata/raw-file/default/ED/microdata-rdf/20111118/index.html",
+ //previousPublishDate: "2011-11-18",
+ //previousMaturity: "ED",
+ //previousURI: "https://dvcs.w3.org/hg/htmldata/raw-file/default/ED/microdata-rdf/20111118/index.html",
//diffTool: "http://www.aptest.com/standards/htmldiff/htmldiff.pl",
// if there a publicly available Editor's Draft, this is the link
- edDraftURI: "https://dvcs.w3.org/hg/htmldata/microdata-rdf/",
+ edDraftURI: "https://dvcs.w3.org/hg/htmldata/raw-file/default/microdata-rdf/index.html",
// if this is a LCWD, uncomment and set the end of its review period
// lcEnd: "2009-08-05",
@@ -163,10 +162,10 @@
],
// name of the WG
- wg: "HTML Data Task Force",
+ wg: "HTML Data Task Force, Semantic Web Interest Group",
// URI of the public WG page
- wgURI: "http://www.w3.org/wiki/Html-data-tf",
+ wgURI: "http://www.w3.org/2001/sw/interest/",
// name (with the @w3c.org) of the public mailing to which comments are due
wgPublicList: "public-html-data-tf",
@@ -179,7 +178,7 @@
wgPatentURI: "",
maxTocLevel: 4,
preProcess: [ preProc ],
- alternateFormats: [ {uri: "diff-20111118.html", label: "diff to previous version"} ],
+ //alternateFormats: [ {uri: "diff-20111118.html", label: "diff to previous version"} ],
};
function updateExample(doc, content) {
@@ -249,6 +248,10 @@
<body>
<section id="abstract">
+ <p>HTML microdata [[!MICRODATA]] is an extension to HTML used to embed machine-readable data into HTML documents.
+ Whereas the microdata specification describes a means of markup, the output format is JSON. This specification
+ describes processing rules that may be used to extract RDF [[!RDF-CONCEPTS]] from an HTML document containing
+ microdata.</p>
</section>
<section id='sotd'>
@@ -370,13 +373,17 @@
<a href="http://www.w3.org/2011/htmldata/track/issues">Task Force Issue Tracker</a>. These include the
following:</p>
<dl>
- <dt><a href="http://www.w3.org/2011/htmldata/track/issues/1">ISSUE 1</a></dt><dd>Vocabulary specific parsing for Microdata</dd>
+ <dt><a href="http://www.w3.org/2011/htmldata/track/issues/1">ISSUE 1</a></dt><dd>
+ Vocabulary specific parsing for Microdata. This specification attempts to create generic
+ rules for processing microdata with typical RDF vocabularies. A <tref>registry</tref> allows
+ for exceptions to the default processing rules for certain well-known vocabularies.
+ </dd>
<dt><a href="http://www.w3.org/2011/htmldata/track/issues/2">ISSUE 2</a></dt><dd>
Should Microdata-RDF generate XMLLiteral values. This issue has been closed with no change
as this would violate microdata's data model.
</dd>
<dt><a href="http://www.w3.org/2011/htmldata/track/issues/3">ISSUE 3</a></dt><dd>
- Should the <tref>registry</tref> allow property datatype specification.
+ Should the <tref>registry</tref> allow property datatype specification. The consensus is that datatypes are only derived from HTML semantics, so that only <time> values have a datatype other than plain.
</dd>
<dt><a href="http://www.w3.org/2011/htmldata/track/issues/4">ISSUE 4</a></dt><dd>
Should the <tref>registry</tref> allow a <tref>name</tref> or URL to be used as an alias for <aref>itemid</aref>.
@@ -724,6 +731,59 @@
representation as defined in <a href="#generate-predicate-uri">Generate Predicate URI</a>, so that
the behavior is the same whether or not the <tref>name</tref> is listed as an <tref>absolute URL</tref>.</p>
<p>The default value of <tref><code>multipleValues</code></tref> is <code>unordered</code>.</p>
+ <div class="note">
+ <p>An alternative mechanism would output <em>both</em> unordered and ordered values, to allow an application
+ to choose the most useful representation. For example, consider the following:</p>
+<pre class="example" data-transform="updateExample">
+<!--
+<div itemscope="" itemtype="http://schema.org/MusicPlaylist">
+ <span itemprop="name">Classic Rock Playlist</span>
+ <meta itemprop="numTracks" content="2"/>
+ <p>Including works by
+ <span itemprop="byArtist">Lynard Skynard</span> and
+ <span itemprop="byArtist">AC/DC</span></p>.
+
+ <div itemprop="tracks" itemscope="" itemtype="http://schema.org/MusicRecording">
+ 1.<span itemprop="name">Sweet Home Alabama</span> -
+ <span itemprop="byArtist">Lynard Skynard</span>
+ <link href="sweet-home-alabama" itemprop="url" />
+ </div>
+
+ <div itemprop="tracks" itemscope="" itemtype="http://schema.org/MusicRecording">
+ 2.<span itemprop="name">Shook you all Night Long</span> -
+ <span itemprop="byArtist">AC/DC</span>
+ <link href="shook-you-all-night-long" itemprop="url" />
+ </div>
+</div>
+-->
+</pre>
+ <p>This might generate the following Turtle:</p>
+<pre class="example" data-transform="updateExample">
+<!--
+@prefix md: <http://www.w3.org/ns/md#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix schema: <http://schema.org/> .
+
+<> md:item [ a schema:MusicPlaylist;
+ schema:name "Classic Rock Playlist";
+ schema:byArtist ("Lynard Skynard" "AC/DC");
+ schema:numTracks "2";
+ schema:tracks _:track1, _:track2, (_:track1 _:track2)
+] .
+_:track1 a schema:MusicRecording;
+ schema:byArtist ("Lynard Skynard");
+ schema:name "Sweet Home Alabama";
+ schema:url <sweet-home-alabama> .
+_:track2 a schema:MusicRecording;
+ schema:byArtist ("AC/DC");
+ schema:name "Shook you all Night Long";
+ schema:url <shook-you-all-night-long> .
+-->
+</pre>
+ <p>By providing both <code>_:track1</code> and <code>_:track2</code> as object values of the playlist
+ along with an RDF Collection containing the ordered values, the data may be queried via a simple
+ query using the playlist subject, or as an ordered collection.</p>
+ </div>
</section>
<section class="informative">
@@ -770,6 +830,10 @@
<p>This concept is not explored further at this time, but could be developed further in
a future revision of this document.</p>
</section>
+
+<p class="note">If property URI generation was fixed to <code>vocabulary</code>, multiple values always
+ generated both <code>unordered</code> and <code>ordered</code> representations, and there were <code>datatype</code>
+ support, the <tref>registry</tref> could be reduced to a simple list of URLs without any further structure necessary.</p>
</section>
<section>
@@ -896,7 +960,12 @@
<dd>
<dl>
<dt>
- If the value has the lexical form of <cite><a
+ If the value is a
+ <cite><a href="http://dev.w3.org/html5/spec/Overview.html#valid-date-string">
+ valid date string
+ </a></cite>
+ having the lexical form of
+ <cite><a
href="http://www.w3.org/TR/xmlschema-2/#date">xsd:date</a></cite> [[!RDF-SCHEMA]].
</dt>
<dd>
@@ -904,36 +973,81 @@
<code>http://www.w3.org/2001/XMLSchema#date</code>.
</dd>
<dt>
- If the value has the lexical form of <cite><a
- href="http://www.w3.org/TR/xmlschema-2/#time">xsd:time</a></cite> [[!RDF-SCHEMA]].
+ If the value is a
+ <cite><a href="http://dev.w3.org/html5/spec/Overview.html#valid-time-string">
+ valid time string
+ </a></cite>
+ having the lexical form of
+ <cite><a href="http://www.w3.org/TR/xmlschema-2/#time">xsd:time</a></cite> [[!RDF-SCHEMA]].
</dt>
<dd>
The value is a <tref>typed literal</tref> composed of the value and
<code>http://www.w3.org/2001/XMLSchema#time</code>.
</dd>
<dt>
- If the value has the lexical form of <cite><a
- href="http://www.w3.org/TR/xmlschema-2/#dateTime">xsd:dateTime</a></cite> [[!RDF-SCHEMA]].
+ If the value is a
+ <cite><a href="http://dev.w3.org/html5/spec/Overview.html#valid-local-date-and-time-string">
+ valid local date and time string
+ </a></cite>
+ or
+ <cite><a href="http://dev.w3.org/html5/spec/Overview.html#valid-global-date-and-time-string">
+ valid global date and time string
+ </a></cite>
+ having the lexical form of
+ <cite><a href="http://www.w3.org/TR/xmlschema-2/#dateTime">xsd:dateTime</a></cite> [[!RDF-SCHEMA]].
</dt>
<dd>
The value is a <tref>typed literal</tref> composed of the value and
<code>http://www.w3.org/2001/XMLSchema#dateTime</code>.
</dd>
- <!-- revisit when/if content model for @datetime is updated to allow for xsd:duration
<dt>
- If the value has the lexical form of <cite><a
- href="http://www.w3.org/TR/xmlschema-2/#duration">xsd:duration</a></cite> [[!RDF-SCHEMA]].
+ If the value is a
+ <cite><a href="http://dev.w3.org/html5/spec/Overview.html#valid-month-string">
+ valid month string
+ </a></cite>
+ having the lexical form of
+ <cite><a href="http://www.w3.org/TR/xmlschema-2/#gYearMonth">xsd:gYearMonth</a></cite> [[!RDF-SCHEMA]].
+ </dt>
+ <dd>
+ The value is a <tref>typed literal</tref> composed of the value and
+ <code>http://www.w3.org/2001/XMLSchema#gYearMonth</code>.
+ </dd>
+ <dt>
+ If the value is a
+ <cite><a href="http://dev.w3.org/html5/spec/Overview.html#valid-non-negative-integer">
+ valid non-negative integer
+ </a></cite>
+ having the lexical form of
+ <cite><a href="http://www.w3.org/TR/xmlschema-2/#gYearMonth">xsd:gYear</a></cite> [[!RDF-SCHEMA]].
+ </dt>
+ <dd>
+ The value is a <tref>typed literal</tref> composed of the value and
+ <code>http://www.w3.org/2001/XMLSchema#gYearMonth</code>.
+ </dd>
+ <dt>
+ If the value is a
+ <cite><a href="http://dev.w3.org/html5/spec/Overview.html#valid-duration-string">
+ valid duration string
+ </a></cite>
+ having the lexical form of
+ <cite><a href="http://www.w3.org/TR/xmlschema-2/#duration">xsd:duration</a></cite> [[!RDF-SCHEMA]].
</dt>
<dd>
The value is a <tref>typed literal</tref> composed of the value and
<code>http://www.w3.org/2001/XMLSchema#duration</code>.
</dd>
- -->
<dt>Otherwise</dt>
<dd>
The value is a <tref>plain literal</tref> created from the value with language information set from the <cite><a
href="http://dev.w3.org/html5/spec/Overview.html#the-lang-and-xml:lang-attributes">lang</a></cite> IDL attribute
of the property element.
+ <p class="note">The HTML
+ <cite><a href="http://dev.w3.org/html5/spec/Overview.html#valid-yearless-date-string">
+ valid yearless date string
+ </a></cite>
+ is similar to
+ <cite><a href="http://www.w3.org/TR/xmlschema-2/#gMonthDay">xsd:gMonthDay</a></cite>,
+ but the lexical forms differ, so it is not included in this conversion.</p>
</dd>
</dl>
<p>See
@@ -941,11 +1055,6 @@
The <code>time</code> element
</a></cite>
in [[!HTML5]].</p>
- <div class="issue">
- The content model of the <code>time</code> element is subject to change, and may include
- more content types, such as <code>xsd:duration</code>, <code>xsd:gYear</code>, <code>xsd:gYearMonth</code>
- and <code>xsd:monthDay</code> in the future.
- </div>
</dd>
<dt>Otherwise</dt>
<dd>The value is a <tref>plain literal</tref> created from <code><cite>
@@ -1450,7 +1559,7 @@
<p>The following is an example <tref>registry</tref> in JSON format.</p>
<pre class="example" data-include="../microdata-namespace/ns.json">
- <pre>
+ </pre>
</p>
<section class="appendix informative">