Straighten out some terms so as not to conflate element syntax with the item data model.
authorGregg Kellogg <gregg@kellogg-assoc.com>
Wed, 16 Nov 2011 18:30:48 -0800
changeset 26 18305e6c52e5
parent 25 7011f477b9a9
child 27 593b491ce081
Straighten out some terms so as not to conflate element syntax with the item data model.
microdata-rdf/index.html
--- 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>