More edits to simplify vocabulary expansion and improve examples.
authorGregg Kellogg <gregg@kellogg-assoc.com>
Tue, 11 Sep 2012 11:45:35 -0700
changeset 130 6bc9cda42cf5
parent 129 a4e46999a5c5
child 131 e660ef819c53
More edits to simplify vocabulary expansion and improve examples.
microdata-rdf/index.html
--- a/microdata-rdf/index.html	Sat Sep 08 18:26:23 2012 -0700
+++ b/microdata-rdf/index.html	Tue Sep 11 11:45:35 2012 -0700
@@ -84,7 +84,7 @@
           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",
+          wgPublicList: "semantic-web",
 
           // URI of the patent status for this WG, for Rec-track documents
           // !!!! IMPORTANT !!!!
@@ -366,9 +366,15 @@
     </tr>
 
     <tr>
-      <td>rdfs:</td>
+      <td>rdf:</td>
       <td>
-        http://www.w3.org/2000/01/rdf-schema#</td>
+        http://www.w3.org/1999/02/22-rdf-syntax-ns#</td>
+    </tr>
+
+    <tr>
+      <td>rdfa:</td>
+      <td>
+        http://www.w3.org/ns/rdfa#</td>
     </tr>
 
     <tr>
@@ -617,20 +623,20 @@
     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">
+<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">
+  <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">
+  <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" />
@@ -643,14 +649,18 @@
 <!--
 @prefix md: <http://www.w3.org/ns/md#> .
 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfa: <http://www.w3.org/ns/rdfa#> .
 @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)
-] .
+<> 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)
+  ];
+  rdfa:usesVocabulary schema:
+ .
 _:track1 a schema:MusicRecording;
   schema:byArtist ("Lynard Skynard");
   schema:name "Sweet Home Alabama";
@@ -722,10 +732,8 @@
   <p>Microdata requires that all values of <a class="aref">itemtype</a> come from the same vocabulary. This
     is required as <a class="aref">itemprop</a> values are resolved relative to that vocabulary. However,
     it is often useful to define an <a>item</a> to have types from multiple different vocabularies.</p>
-  <p>Vocabulary expansion relies on a very small
-    sub-set of OWL entailment [[!OWL2-OVERVIEW]] to generate triples based on 
-    rules and property/class relationships described in the <a>registry</a> and
-    in referenced vocabularies.
+  <p>Vocabulary expansion uses simple rules to generate additional triples based on 
+    rules and property relationships described in the <a>registry</a>.
     Within the <a>registry</a>, a property definition may have either <code>equivalentProperty</code>
     or <code>subPropertyOf</code> keys having a IRI value (or array of IRI values)
     of the associated property. Such an
@@ -733,8 +741,13 @@
     property IRI with the target property IRI using either
     <code>http://www.w3.org/2000/01/rdf-schema#subPropertyOf</code> or
     <code>http://www.w3.org/2002/07/owl#equivalentProperty</code> predicates.</p>
+  <p>To allow [[RDFA-CORE]] processors to be used for microdata vocabulary expansion, microdata acts as if
+    there is an implicit <code>@vocab</code> attribute set to a detected vocabulary by emitting
+    a triple using the <code>rdfa:usesVocabulary</code> predicate.</p>
   <p>Vocabulary expansion MAY be performed as
-    part of a larger RDF toolset including, for example, an OWL 2 RL reasoner. 
+    part of a larger RDF toolset including, for example,
+    an <cite><a href="http://www.w3.org/TR/2009/REC-owl2-profiles-20091027/#OWL_2_RL">OWL 2 RL</a></cite> reasoner
+    (see [[OWL2-PROFILES]]). 
     Alternatively, expansion MAY 
     also be done using a separate and dedicated (e.g., rule based) reasoner 
     after the triples have been generated, or as the last 
@@ -765,6 +778,7 @@
 <pre class="example" data-transform="updateExample">
 <!--
 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfa: <http://www.w3.org/ns/rdfa#> .
 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
 @prefix schema: <http://schema.org/> .
 
@@ -772,25 +786,27 @@
   [ a schema:Product;
     schema:additionalType <http://www.productontology.org/id/Laser_printer> .
     schema:name "Laser Printer"]
-) .
+  );
+  rdfa:usesVocabulary schema: .
 
 schema:additionalProperty rdfs:subPropertyOf rdf:type .
 -->
 </pre>
 
-  <p>After performing OWL2 entailment, an additional <code>rdf:type</code> triple is generated:</p>
+  <p>After performing vocabulary entailment, an additional <code>rdf:type</code> triple is generated:</p>
 
 <pre class="example" data-transform="updateExample">
 <!--
 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
 @prefix schema: <http://schema.org/> .
-\
+
 <> md:item (
   [ a schema:Product, <http://www.productontology.org/id/Laser_printer>;
     schema:additionalType <http://www.productontology.org/id/Laser_printer> .
     schema:name "Laser Printer"]
-) .
+  )
+  rdfa:usesVocabulary schema: .
 
 schema:additionalProperty rdfs:subPropertyOf rdf:type .
 -->
@@ -799,8 +815,8 @@
 <section>
   <h2>Vocabulary Entailment</h2>
   <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]].
+    restricted subset of the OWL2 vocabulary and is based on the RDF-Based
+      Semantics of OWL2 [[!OWL2-RDF-BASED-SEMANTICS]].
     Vocabulary Entailment uses the following terms: </p>
   <ul>
     <li><code>rdfs:subPropertyOf</code></li>
@@ -826,9 +842,9 @@
   <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]]
-    or OWL [[!OWL2-OVERVIEW]] entailments. Using those entailments
+    or OWL2 [[!OWL2-OVERVIEW]] entailments. Using those entailments
     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
+    of a property, or use the advanced facilities offered by, e.g., OWL2’s
     property chains to interlink vocabularies further.</p>
   <p class="note">[[RDFA-CORE]] implements a more complete form of vocabulary entailement, 
     including retrieving the vocabulary URI to find additional class and property expansion
@@ -841,11 +857,11 @@
 <section>
   <h2>Vocabulary Expansion Control of Microdata Processors</h2>
   <p>Conforming processors MUST perform vocabulary expansion.</p>
-  <p>If vocabulary expansion is performed using [[RDFA-CORE]] voabulary expansion, MUST NOT
-    include the vocabulary dereferencing steps unless the <code>vocab_expansion</code>
-    option is passed to the microdata processor.</p>
+  <p>If vocabulary expansion is performed using [[RDFA-CORE]] voabulary expansion, and the
+    <code>vocab_expansion</code> option is passed to the microdata processor,
+    the expansion MUST be performed.</p>
   <p class="note"> Although vocabulary expansion is described in terms of
-    OWL entailment rules, processors
+    OWL2 entailment rules, processors
     are free to use any process which obtains equivalent results.</p>
 </section>
 </section>
@@ -1337,8 +1353,7 @@
         <p>If the value is an array, generate a triple for each value of that array.</p>
       </li>
       <li>If the <a>registry</a> entry for <a>propertyURI</a>
-        has an <code>subPropertyOf</code> key, and such a triple has not
-        already been generated, generate the following triple using the
+        has an <code>subPropertyOf</code> key, generate the following triple using the
         <em>value</em> of that key:
         <dl class="triple">
           <dt>subject</dt>
@@ -1508,8 +1523,10 @@
 @prefix dc: <http://purl.org/dc/terms/> .
 @prefix md: <http://www.w3.org/ns/md#> .
 @prefix frbr: <http://purl.org/vocab/frbr/core#> .
+@prefix rdfa: <http://www.w3.org/ns/rdfa#> .
 
-<> md:item (<http://books.example.com/works/45U8QJGZSQKDH8N>) .
+<> md:item (<http://books.example.com/works/45U8QJGZSQKDH8N>) ;
+  rdfa:usesVocabulary frbr: .
 
 <http://books.example.com/works/45U8QJGZSQKDH8N> a frbr:Work ;
   dc:creator "Wil Wheaton"@en ;
@@ -1532,19 +1549,19 @@
 <!--
 <p>
  Both
- <span itemscope="" itemtype="http://microformats.org/profile/hcard" itemref="home">
+ <span itemscope itemtype="http://microformats.org/profile/hcard" itemref="home">
    <span itemprop="fn"
-       ><span itemprop="n" itemscope=""
+       ><span itemprop="n" itemscope
        ><span itemprop="given-name">Princeton</span></span></span>
   </span>
  and
- <span itemscope="" itemtype="http://microformats.org/profile/hcard" itemref="home">
+ <span itemscope itemtype="http://microformats.org/profile/hcard" itemref="home">
    <span itemprop="fn"
-     ><span itemprop="n" itemscope=""
+     ><span itemprop="n" itemscope
        ><span itemprop="given-name">Trekkie</span></span></span>
   </span>
  live at
- <span id="home" itemprop="adr" itemscope="">
+ <span id="home" itemprop="adr" itemscope>
    <span itemprop="street-address">Avenue Q</span>.
  </span>
 </p>
@@ -1559,6 +1576,7 @@
 <!--
 @prefix md: <http://www.w3.org/ns/md#> .
 @prefix hcard: <http://microformats.org/profile/hcard#> .
+@prefix rdfa: <http://www.w3.org/ns/rdfa#> .
 
 <> md:item (
   [ a <http://microformats.org/profile/hcard>;
@@ -1570,30 +1588,34 @@
     hcard:fn "Trekkie";
     hcard:n [ hcard:given-name "Trekkie" ];
     hcard:adr _:a
-  ]) .
+  ]) ;
+  rdfa:usesVocabulary <http://microformats.org/profile/hcard> .
 
 _:a hcard:street-address "Avenue Q" .
 -->
 </pre>
 
 <p>The following snippet of HTML has microdata for a playlist, and illustrates overriding a property
-  to place elements in an RDF Collection:</p>
+  to place elements in an RDF Collection. This also illustrates the use of the <code>schema:additionalType</code>
+  property to relate recordings to the <cite><a href="http://musicontology.com/">Music Ontology</a></cite>:</p>
 <pre class="example" data-transform="updateExample">
 <!--
-<div itemscope="" itemtype="http://schema.org/MusicPlaylist">
+<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">
+  <div itemprop="tracks" itemscope itemtype="http://schema.org/MusicRecording">
+    <link itemprop="additionalType" href="http://purl.org/ontology/mo/MusicalManifestation"/>
     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">
+  <div itemprop="tracks" itemscope itemtype="http://schema.org/MusicRecording">
+    <link itemprop="additionalType" href="http://purl.org/ontology/mo/MusicalManifestation"/>
     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" />
@@ -1611,7 +1633,9 @@
 <pre class="example" data-transform="updateExample">
 <!--
 @prefix md: <http://www.w3.org/ns/md#> .
+@prefix mo: <http://purl.org/ontology/mo/> .
 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfa: <http://www.w3.org/ns/rdfa#> .
 @prefix schema: <http://schema.org/> .
 
 <> md:item ([ a schema:MusicPlaylist;
@@ -1619,15 +1643,18 @@
   schema:byArtist ("Lynard Skynard" "AC/DC");
   schema:numTracks "2";
   schema:tracks (
-    [ a schema:MusicRecording;
+    [ a schema:MusicRecording, mo:MusicalManifestation;
       schema:byArtist ("Lynard Skynard");;
       schema:name "Sweet Home Alabama";
       schema:url <sweet-home-alabama>]
-    [ a schema:MusicRecording;
+    [ a schema:MusicRecording, mo:MusicalManifestation;
       schema:byArtist ("AC/DC");;
       schema:name "Shook you all Night Long";
       schema:url <shook-you-all-night-long>]
-  )]); .
+  )]);
+  rdfa:usesVocabulary schema: .
+  
+schema:additionalType rdfs:subPropertyOf rdf:type .
 -->
 </pre>