Added normative reference to RDFa Vocabulary Entailment, and generate rdfa:usesVocabulary
authorGregg Kellogg <gregg@kellogg-assoc.com>
Mon, 30 Jul 2012 12:11:37 -0700
changeset 120 87cbd14d7d22
parent 119 9696af1850be
child 121 708abf15510a
Added normative reference to RDFa Vocabulary Entailment, and generate rdfa:usesVocabulary
microdata-rdf/index.html
--- a/microdata-rdf/index.html	Mon Jul 30 11:30:57 2012 -0700
+++ b/microdata-rdf/index.html	Mon Jul 30 12:11:37 2012 -0700
@@ -726,11 +726,13 @@
     <cite><a href="http://www.heppnetz.de/ontologies/goodrelations/v1.html">Good Relations</a></cite>,
     Friend of a Friend ([[FOAF]]) and
     Dublin Core ([[DC11]])).</p>
-  <p>Vocabulary Expansion is intended to allow terms to be mixed in from other vocabularies, using
-    a mechanism based on that in RDFa Core 1.1 Vocabulary Expansion [[RDFA-CORE]].</p>
+  <p>Vocabulary Expansion is intended to allow terms to be mixed in
+    from other vocabularies, using a mechanism based on that in RDFa Core 1.1 
+    Vocabulary Expansion [[!RDFA-CORE]].</p>
   <p>Vocabulary expansion relies on a very small
     sub-set of OWL entailment [[!OWL2-OVERVIEW]] to generate triples based on 
-    rules and property relationships described in the <a>registry</a>.
+    rules and property/class relationships described in the <a>registry</a> and
+    in referenced vocabularies.
     Within the <a>registry</a>, a property definition may have either <code>equivalentProperty</code>
     or <code>subPropertyOf</code> keys having a IRI value of the associated property. Such an
     entry causes the processor to generate triples associating the source
@@ -801,13 +803,17 @@
 </pre>
 
 <section>
-  <h4>Vocabulary Entailment</h4>
+  <h2>Vocabulary Entailment</h2>
+  <p class="note">This section should be normative, but tooling issues get in the way.</p>
   <p> For the purpose of vocabulary processing, microdata uses a very
     restricted subset of the OWL vocabulary and is based on the RDF-Based
       Semantics of OWL [[!OWL2-RDF-BASED-SEMANTICS]].
     Vocabulary Entailment uses the following terms: </p>
   <ul>
+    <li><code>rdf:type</code></li>
+    <li><code>rdfs:subClassOf</code></li>
     <li><code>rdfs:subPropertyOf</code></li>
+    <li><code>owl:equivalentClass</code>
     <li><code>owl:equivalentProperty</code>
     </li>
   </ul>
@@ -825,8 +831,9 @@
     relevant rules are, using the rule identifications in
     <cite><a href="http://www.w3.org/TR/2009/REC-owl2-profiles-20091027/#Reasoning_in_OWL_2_RL_and_RDF_Graphs_using_Rules">
       section 4.3</a></cite>
-    of [[!OWL2-PROFILES]]): <code>prp-spo1</code>, <code>prp-eqp1</code>,
-    and <code>prp-eqp2</code>.</p>
+    of [[!OWL2-PROFILES]]): <code>prp-spo1</code>, <code>prp-eqp1</code>, 
+    <code>prp-eqp2</code>, <code>cax-sco</code>, <code>cax-eqc1</code>, and 
+    <code>cax-eqc2</code>.</p>
   <p>The entailment described in this section is the <em>minimum</em>
     useful level for microdata. Processors may, of course, choose to follow
     more powerful entailment regimes, e.g., include full RDFS [[!RDF-MT]]
@@ -834,10 +841,12 @@
     applications may perform datatype validation by checking <code>rdfs:range</code>
     of a property, or use the advanced facilities offered by, e.g., OWL’s
     property chains to interlink vocabularies further.</p>
+  <p>Processors supporting Vocabulary Expansion MUST perform expansion as
+    described in <cite><a href="http://www.w3.org/TR/rdfa-syntax/#s_vocab_entailment">RDFa Vocabulary Entailment</a></cite> from [[!RDFA-CORE]].</p>
 </section>
 
 <section>
-  <h4>Vocabulary Expansion Control of Microdata Processors</h4>
+  <h2>Vocabulary Expansion Control of Microdata Processors</h2>
   <p> Conforming processors are not required to provide vocabulary expansion. </p>
   <p> If a processor provides vocabulary expansion, it MUST NOT be
     performed by default. Instead, the processor MUST provide an option, <code>vocab_expansion</code>,
@@ -1150,7 +1159,7 @@
         Generate the following triple:
         <dl class="triple">
           <dt>subject</dt>
-          <dd><a>Document base</a></dd>
+          <dd><a>document base</a></dd>
           <dt>predicate</dt>
           <dd><code>http://www.w3.org/ns/md#item</code></dd>
           <dt>object</dt>
@@ -1208,8 +1217,18 @@
         Otherwise, set <em>type</em> to <a>current type</a> from
         <a>evaluation context</a> if not empty.
       </li>
-      <li>If the <a>registry</a> contains a <a>URI prefix</a> that is a character for character match of <em>type</em>
-        up to the length of the <a>URI prefix</a>, set <em>vocab</em> as that <a>URI prefix</a>.
+      <li>If the <a>registry</a> contains a <a>URI prefix</a> that is a
+        character for character match of <em>type</em> up to the length of the 
+        <a>URI prefix</a>, set <em>vocab</em> as that <a>URI prefix</a> and 
+        generate the following triple (unless it has already been generated):
+        <dl class="triple">
+          <dt>subject</dt>
+          <dd><a>document base</a></dd>
+          <dt>predicate</dt>
+          <dd><code>http://www.w3.org/ns/rdfa#usesVocabulary</code></dd>
+          <dt>object</dt>
+          <dd><em>vocab</em> (as a <a>URI reference</a>)</dd>
+        </dl>
       </li>
       <li>Otherwise, if type is not empty, construct <em>vocab</em> by removing everything following the last
         SOLIDUS U+002F ("/") or NUMBER SIGN U+0023 ("#") from the <em>path</em> component of <em>type</em>.</li>