--- a/microdata-rdf/index.html Wed Nov 16 17:09:59 2011 -0800
+++ b/microdata-rdf/index.html Wed Nov 16 18:30:48 2011 -0800
@@ -230,13 +230,13 @@
.adef {
font-family: monospace;
font-weight: bold;
- color: #ff4500;
+ color: #ff4500 !important;
}
.aref {
font-family: monospace;
font-weight: bold;
- color: #ff4500;
+ color: #ff4500 !important;
}
span.entity { color: red; }
@@ -292,12 +292,12 @@
<p>Microdata's data model does not align neatly with RDF.</p>
<ul>
<li>Non-URL microdata properties are disambiguated based on microdata
- <tref>item</tref> type; an item with the type <code>http://example.org/Cat</code> can have
+ <tref>item type</tref>; an <tref>item</tref> with the type <code>http://example.org/Cat</code> can have
both the property <code>color</code> and the property <code>http://example.org/color</code>,
and these properties are semantically distinct under microdata. In
RDF, all properties have IRIs.</li>
- <li>When a microdata property has multiple values, those values are
+ <li>When an item has multiple properties with the same name, the values are
always ordered; in RDF, property values are unordered unless they
are explicitly listed in an <tref>RDF Collection</tref>.</li>
@@ -322,7 +322,7 @@
<p>This specification also assumes that consumers of RDF generated from
microdata may have to process the results in order to, for example,
- assign appropriate datatypes to property values.</p>
+ assign appropriate datatypes to <tref>property value</tref>s.</p>
</section>
<section class="informative">
@@ -377,7 +377,7 @@
Should the <tref>registry</tref> allow property datatype specification.
</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>property name</tref> or URL to be used as an alias for <aref>itemid</aref>.
+ Should the <tref>registry</tref> allow a <tref>name</tref> or URL to be used as an alias for <aref>itemid</aref>.
</dd>
</dl>
@@ -386,7 +386,7 @@
the Task Force are the following:</p>
<ul>
<li>Property URI generation using the original microdata specification with a base URI and fragment
- made up of the in-scope <tref>item type</tref> and <tref>property name</tref>s.</li>
+ made up of the in-scope <tref>item type</tref> and <tref>properties</tref>.</li>
<li>Vocabulary-based URI generation, where the <tref>vocabulary</tref> is determined from the
in-scope <tref>item type</tref>, either through an algorithmic modification of the type URL or by matching the
URL against a <tref>registry</tref>. The vocabulary URI is then used to generate property URIs in a namespace
@@ -394,7 +394,7 @@
<li>When there are multiple <tref>top-level item</tref>s in a document, place items in an RDF Collection.
Alternatively, simply list the items as multiple values, or do not generate an
<code>http://www.w3.org/ns/md#item</code> mapping at all.</li>
- <li>When there are multiple values for an <aref>itemprop</aref>, place items in an RDF Collection.
+ <li>When an item has multiple values for a given <tref>property</tref>, place the values in an RDF Collection.
Alternatively, do not use collections, use an alternative such as <code>rdf:Seq</code>, or place all values,
whether or not multiple, into some form of collection.</li>
</ul>
@@ -411,34 +411,19 @@
or attributes and conforming implementations MAY generate RDF using only this API.
<p>For reference, attributes used for specifying and retrieving HTML microdata are referenced here:</p>
<dl>
- <dt><adef>content</adef></dt><dd>
- An attribute appropriate for use with the <code>meta</code> element used to create an <tref>plain literal</tref>
- value for
- <code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemvalue">element.itemValue</a></cite></code>.
- </dd>
- <dt><adef>data</adef></dt><dd>
- An attribute appropriate for use with the <code>object</code> element used to create a <tref>URI
- reference</tref> value for
- <code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemvalue">element.itemValue</a></cite></code>.
- </dd>
<dt><adef>datetime</adef></dt><dd>
An attribute appropriate for use with the <code>time</code> element used to create an <tref>typed literal</tref>
value for
<code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemvalue">element.itemValue</a></cite></code>
with a datatype depending on its syntax.
</dd>
- <dt><adef>href</adef></dt><dd>
- An attribute appropriate for use with <code>a</code>, <code>area</code> or <code>link</code> elements used to create a
- <tref>URI reference</tref> value for
- <code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemvalue">element.itemValue</a></cite></code>.
- </dd>
<dt><adef>itemid</adef></dt><dd>
An attribute containing a URL used to identify the subject of triples associated with this <tref>item</tref>.
(See <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#attr-itemid">Items</a></cite>
in [[!MICRODATA]]).
</dd>
<dt><adef>itemprop</adef></dt><dd>
- An attribute used to identify one or more properties to one ore more <tref>item</tref>s. An <aref>itemprop</aref>
+ An attribute used to identify one or more <tref>name</tref>s of an <tref>item</tref>s. An <aref>itemprop</aref>
contains a space separated list of <tdef>name</tdef>s which may either by <tref>absolute URL</tref>s or terms
associated with the type of the <tref>item</tref> as defined by the referencing <trdf>item</trdf>'s
<tref>item type</tref>.
@@ -468,17 +453,6 @@
(See <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#attr-itemtype">Items</a></cite>
in [[!MICRODATA]]).
</dd>
- <dt><adef>src</adef></dt><dd>
- An attribute appropriate for use with <code>audio</code>, <code>embed</code>, <code>iframe</code>,
- <code>img</code>, <code>source</code>, <code>track</code>, or <code>video</code> elements for used to create a
- <tref>URI reference</tref> value for
- <code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemvalue">element.itemValue</a></cite></code>.
- </dd>
- <dt><adef>value</adef></dt><dd>
- An attribute appropriate for use with the <code>data</code> element used to create an <tref>plain literal</tref>
- value for
- <code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemvalue">element.itemValue</a></cite></code>.
- </dd>
</dl>
</section>
@@ -515,7 +489,7 @@
prefix</tref> from this <tref>registry</tref> use the the rules described for that prefix within the scope of that
<tref>item type</tref>. This mapping currently defines two rules: <tref><code>propertyURI</code></tref> and
<tref><code>multipleValues</code></tref> with values to indicate specific behavior. It also allows overrides
- on a per-property basis; the <tref><code>properties</code></tref> key associates individual <tref>property name</tref>s
+ on a per-property basis; the <tref><code>properties</code></tref> key associates an individual <tref>name</tref>
with overrides for default behavior.
The interpretation of these
rules is defined in the following sections. If an item has no <tref>current type</tref> or the
@@ -536,9 +510,9 @@
<section class="informative">
<h2>Property URI Generation</h2>
- <p>For <tref>property name</tref>s which are not <tref>absolute URL</tref>s,
+ <p>For <tref>name</tref>s which are not <tref>absolute URL</tref>s,
the <tdef><code>propertyURI</code></tdef> rule defines the algorithm for generating an <tref>absolute URL</tref>
- given an <tref>evaluation context</tref> including a <tref>current type</tref>, <tref>current property</tref> and
+ given an <tref>evaluation context</tref> including a <tref>current type</tref>, <tref>current name</tref> and
<tref>current vocabulary</tref>.</p>
<p>The procedure for generating property URIs is defined in
<a href="#generate-predicate-uri">Generate Predicate URI</a>.</p>
@@ -546,13 +520,13 @@
<dl>
<dt><code>contextual</code></dt><dd>
The <code>contextual</code> URI generation scheme guarantees that generated property URIs are
- unique based on the value of <tref>current property</tref>. This is
- required as the microdata data model requires that <tref>property name</tref>s are associated with specific
+ unique based on the value of <tref>current name</tref>. This is
+ required as the microdata data model requires that <tref>name</tref>s are associated with specific
items and do not have a global scope. (See <a href="#scheme-context">Step 5</a> in
<a href="#generate-predicate-uri">Generate Predicate URI</a>).
<div>
<p>URI creation uses a base URI with query parameters to indicate the in-scope
- type and <tref>property name</tref> list. Consider the following example:</p>
+ type and <tref>name</tref> list. Consider the following example:</p>
<pre class="example" data-transform="updateExample">
<!--
<span itemscope itemtype="http://microformats.org/profile/hcard">
@@ -564,9 +538,9 @@
</span>
-->
</pre>
- <p>The first <tref>property name</tref> <em>n</em> generates the URI
+ <p>The first <tref>name</tref> <em>n</em> generates the URI
<code>http://www.w3.org/ns/md?type=http://microformats.org/profile/hcard?prop=n</code>.
- However, the included <tref>property name</tref> <em>given-name</em> is included in untyped item.
+ However, the included <tref>name</tref> <em>given-name</em> is included in untyped item.
The inherited property URI is used to create a new property URI:
<code>http://www.w3.org/ns/md?type=http://microformats.org/profile/hcard?prop=n.given-name</code>.</p>
<p>This scheme is compatible with the needs of other RDF serialization formats such as
@@ -599,13 +573,14 @@
</div>
</dd>
<dt><code>vocabulary</code></dt><dd>
- The <code>vocabulary</code> URI generation scheme appends <tref>property name</tref>s that are not <tref>absolute
- URL</tref>s to the <tref>URI prefix</tref>. When generating property URIs, if the <tref>URI prefix</tref> does not end
- with a '/' or '#', a '#' is appended to the <tref>URI prefix</tref>. (See <a href="#scheme-vocab">Step 4</a> in
+ The <code>vocabulary</code> URI generation scheme appends <tref>name</tref>s that are not
+ <tref>absolute URL</tref>s to the <tref>URI prefix</tref>. When generating property URIs, if the <tref>URI prefix</tref>
+ does not end with a '/' or '#', a '#' is appended to the <tref>URI prefix</tref>. (See <a href="#scheme-vocab">Step 4</a>
+ in
<a href="#generate-predicate-uri">Generate Predicate URI</a>.)
<div>
<p>URI creation uses a base URL with query parameters to indicate the in-scope
- type and <tref>property name</tref> list. Consider the following example:</p>
+ type and <tref>name</tref> list. Consider the following example:</p>
<pre class="example" data-transform="updateExample">
<!--
<span itemscope itemtype="http://microformats.org/profile/hcard">
@@ -659,13 +634,13 @@
<section class="informative">
<h2>Value Ordering</h2>
- <p>For items having multiple values for a property,
+ <p>For items having multiple values for a given <tref>property</tref>,
the <tdef><code>multipleValues</code></tdef> rule defines the algorithm for serializing these values.
- Microdata uses document order when generating property values, as defined in
+ Microdata uses document order when generating <tref>property value</tref>s, as defined in
<cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#microdata-dom-api">Microdata DOM API</a></cite>
as <code>element.itemValue</code>. However, many RDF vocabularies expect multiple values to be generated
as triples sharing a common subject and predicate. In some cases, it may be useful to retain value ordering.</p>
- <p>The procedure for generating property values is defined in
+ <p>The procedure for generating <tref>property value</tref>s is defined in
<a href="#generate-property-values">Generate Property Values</a>.</p>
<p>Possible values for <tref><code>multipleValues</code></tref> are the following:</p>
<dl>
@@ -695,7 +670,7 @@
}
-->
</pre>
- <p>Additionally, some vocabularies my wish to specify this on a per-property basis. For example,
+ <p>Additionally, some vocabularies may wish to specify this on a per-property basis. For example,
within <code>http://schema.org/MusicPlaylist</code> the <code>tracks</code> property might depend on the order
of values to to reproduce associated <code>MusicRecording</code> values.</p>
<pre class="example" data-transform="updateExample">
@@ -712,9 +687,9 @@
-->
</pre>
<p>The <tdef><code>properties</code></tdef> key takes a JSON Object as a value, which in turn has keys for each
- property that is to be given alternate semantics. Each <tref>property name</tref> is implicitly expanded to it's URI
+ property that is to be given alternate semantics. Each <tref>name</tref> is implicitly expanded to it's URI
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>property name</tref> is listed as an <tref>absolute URL</tref>.</p>
+ 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>
</section>
@@ -762,38 +737,6 @@
<p>This concept is not explored further at this time, but could be developed further in
a future revision of this document.</p>
</section>
-
-<section class="informative">
- <h2>Property as subject</h2>
- <p>One possible use of a <tref>registry</tref> would allow property values to be used as the item subject, if
- the item has no <aref>itemid</aref> attribute.</p>
- <p>This might be represented using a syntax such as the following:</p>
- <pre class="example" data-transform="updateExample">
-<!--
-{
- "http://schema.org/": {
- "propertyURI": "vocabulary",
- "multipleValues": "unordered",
- "@context": {
- "url": {"@datatype": ****["@subject", "@iri"]****},
- "dateCreated": {"@datatype": "http://www.w3.org/2001/XMLSchema#date"},
- "price": {"@datatype": => [
- "http://www.w3.org/2001/XMLSchema#decimal",
- "http://www.w3.org/2001/XMLSchema#string"
- ]}
- }
- }
-}
--->
- </pre>
- <p>The <code>url</code> refers to <code>http://schema.org/url</code>, and is defined both as
- having a <tref>URI reference</tref> data range, and to be used as an alias for the item subject.
- Note, that there is a special case where the item already has an <aref>itemid</aref> attribute, or there are more
- than one <code>url</code> property values. This could be resolved by using the first property value only if the
- item has no <aref>itemid</aref>.</p>
- <p>This concept is not explored further at this time, but could be developed further in
- a future revision of this document.</p>
-</section>
</section>
<section>
@@ -825,11 +768,11 @@
<dt><tdef>memory</tdef></dt><dd>
a mapping of items to subjects, initially empty;
</dd>
- <dt><tdef>current property</tdef></dt><dd>
- an <tref>absolute URL</tref> for the <em>current property</em>, used for generating URIs
+ <dt><tdef>current name</tdef></dt><dd>
+ an <tref>absolute URL</tref> for the in-scope <tref>name</tref>, used for generating URIs
for properties of items without an <tref>item type</tref>;
<div class="note">
- <tref>current property</tref> is required for the <code>contextual</code> property URI generation
+ <tref>current name</tref> is required for the <code>contextual</code> property URI generation
scheme. Without this scheme, this evaluation context component would not be required.
</div>
</dd>
@@ -885,8 +828,13 @@
<tdef>plain literal</tdef>s.
(See [[RDF-CONCEPTS]]).
</dd>
- <dt><tdef>property name</tdef>s</dt><dd>
- The tokens of an element's <aref>itemprop</aref> attribute.
+ <dt><tdef>property</tdef></dt><dd>
+ Each <tref>name</tref> identifies a <tref>property</tref> of an <tref>item</tref>.
+ An <tref>item</tref> may have multiple elements sharing the same <tref>name</tref>, creating
+ a multi-valued <tref>property</tref>.
+ </dd>
+ <dt><tdef>property names</tdef></dt><dd>
+ The tokens of an element's <aref>itemprop</aref> attribute. Each token is a <tref>name</tref>.
(See <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#property-names">Names: the
itemprop attribute</a></cite> in [[!MICRODATA]]).
</dd>
@@ -981,11 +929,11 @@
within an RDF triple, as opposed to a <tref>literal</tref> value that may contain a string representation of a
URI. (See [[RDF-CONCEPTS]]).
<div class="issue">
- <p>The HTML5/microdata content model for <aref>href</aref>, <aref>src</aref>,
- <aref>data</aref>, <aref>itemtype</aref> and <aref>itemprop</aref> and <aref>itemid</aref> is that of a URL, not a
- URI or IRI.</p>
- <p>A proposed mechanism for specifying the range of property values to be URI reference or IRI could
- allow these to be specified as subject or object using a <aref>content</aref> attribute.
+ <p>The HTML5/microdata content model for <code>@href</code>, <code>@src</code>,
+ <code>@data</code>, <aref>itemtype</aref> and <aref>itemprop</aref> and <aref>itemid</aref> is that of
+ a URL, not a URI or IRI.</p>
+ <p>A proposed mechanism for specifying the range of <tref>property value</tref>s to be URI reference or IRI could
+ allow these to be specified as subject or object using a <code>@content</code> attribute.
</div>
</dd>
<dt><tdef>vocabulary</tdef></dt><dd>
@@ -1095,13 +1043,13 @@
<em>value</em>s as established below.
</li>
<li>
- For each element <em>element</em> that has one or more <tref>property name</tref>s and is one of the
+ For each element <em>element</em> that has one or more <tref>property names</tref> and is one of the
<tref title="item properties">properties of the item</tref> <em>item</em>, in the order those elements
are given by the algorithm that returns the <tref title="item properties">properties of the item</tref>,
run the following substep:
<ol class="algorithm">
<li>
- For each <em>name</em> in the element's <tref>property name</tref>s, run the following substeps:
+ For each <em>name</em> in the element's <tref>property names</tref>, run the following substeps:
<ol class="algorithm">
<li>
Let <em>context</em> to a copy of <tref>evaluation context</tref> with <tref>current type</tref> set
@@ -1109,7 +1057,7 @@
<li>
Let <em>predicate</em> be the result of <a href="generate-predicate-uri">generate predicate URI</a>
using <em>context</em> and <em>name</em>.
- Update <em>context</em> by setting <tref>current property</tref> to <em>predicate</em>.
+ Update <em>context</em> by setting <tref>current name</tref> to <em>predicate</em>.
</li>
<li>
Let <em>value</em> be the <tref>property value</tref> of <em>element</em>.
@@ -1142,7 +1090,7 @@
<section>
<h3>Generate Predicate URI</h3>
- <p>Predicate URI generation makes use of <tref>current type</tref>, <tref>current property</tref>,
+ <p>Predicate URI generation makes use of <tref>current type</tref>, <tref>current name</tref>,
and <tref>current vocabulary</tref> from an <tref>evaluation context</tref> <em>context</em>
along with <em>name</em>.</p>
@@ -1199,7 +1147,7 @@
which has a JSON Object value, let <em>properties</em> be that value. Otherwise, set <em>properties</em>
to null.</li>
<li>If <em>properties</em> is not null, and <em>properties</em> contains a key, which after
- <a href="#generate-predicate-uri">Generate Predicate URI</a> which is a JSON Object, let
+ <a href="#generate-predicate-uri">Generate Predicate URI</a> expansion has a value which is a JSON Object, let
<em>property override</em> be that value. Otherwise, set <em>property override</em> to null.</li>
<li>If <em>property override</em> contains the key
<tref><code>multipleValues</code></tref>, set that as <em>method</em>.</li>
@@ -1207,7 +1155,7 @@
<tref><code>multipleValues</code></tref>, set that as <em>method</em>.</li>
<li>Otherwise, set <em>method</em> to <code>unordered</code>.</li>
<li id="values-unordered">If <em>method</em> is <code>unordered</code>,
- foreach <em>value</em> in <em>values</em>, generate the following triple:
+ for each <em>value</em> in <em>values</em>, generate the following triple:
<dl class="triple">
<dt>subject</dt>
<dd><em>subject</em></dd>