Added normative reference to RDFa Vocabulary Entailment, and generate rdfa:usesVocabulary
--- 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>