redid trig grammar, adding spaceName and changing formatting
authorSandro Hawke <sandro@hawke.org>
Mon, 14 May 2012 10:14:27 -0400
changeset 367 360f854fcfa4
parent 366 34be8e51efd8
child 368 6b719429a704
redid trig grammar, adding spaceName and changing formatting
rdf-spaces/index.html
--- a/rdf-spaces/index.html	Mon May 14 09:14:02 2012 -0400
+++ b/rdf-spaces/index.html	Mon May 14 10:14:27 2012 -0400
@@ -197,16 +197,16 @@
 
     <p>The Example Foundation is a large organization with more than
     ten thousand employees and volunteers, spread out over five
-    continents.  It has branches in 25 different countries, and those
-    divisions have considerable autonomy; they are only loosely
+    continents.  It has branches in <b>25 different countries</b>, and
+    those divisions have considerable autonomy; they are only loosely
     controlled by the parent organization (called "headquarters" or
     "HQ") in Geneva.</p>
 
     <p>HQ wants to help the divisions work together better.  It
     decides a first step is to provide a simple but complete directory
     of all the Example personnel.  Until now, each division has
-    maintained its own directory, using its own technology.  HQ would
-    like to be able to find someone's phone number, mailing address,
+    maintained its own directory, using its own technology.  HQ wants to gather them all together, building a <b>federated phonebook</b>.  They want
+    to be able to find someone's phone number, mailing address,
     and job title, knowing only their name or email addresses.  Later,
     they hope to extend the system to allow finding people based on
     their areas of interest and expertise.</p>
@@ -218,7 +218,7 @@
     also want mobile UIs for different platforms, desktop UIs for
     different platforms, and even to look up information via text
     messaging.  HQ does not have the resources to build all of these,
-    so they intend to provide direct access to the data so that the
+    so they intend to provide <b>direct access to the data</b> so that the
     divisions can do it themselves as needed.</p>
 
   </blockquote>
@@ -226,7 +226,7 @@
   <p>Each of the sections below, after the first, contains a new
   requirement, something additional that users in this scenario want
   the system to do.  Each of these will motivate the features of the
-  technologies specified in this document.</p>
+  technologies specified in this rest of document.</p>
 
   <section id="uc-start">
     <h2>Baseline Solution (Just Triples)</h2>
@@ -241,8 +241,9 @@
     
     <p>This is a general use case for RDF, with no specific need for
     using <a>space</a>s or <a>dataset</a>s.  It simply involves
-    divisions pubishing RDF data, then HQ merging it and putting it on
-    their website (with some access control).</p>
+    divisions pubishing RDF data on the web (with some common
+    vocabulary and with access control), then HQ merging it and
+    putting it on their website (with access control).</p>
 
     <p>For an example of how this baseline could be implemented, see
     <a href="#example-start" class="sectionRef"></a></p>
@@ -254,13 +255,19 @@
 
     <blockquote style="font-style: italic">
 
-      <p>A use says: I'm looking at an incorrect phonebook entry.  It
+      <p>A user says: I'm looking at an incorrect phonebook entry.  It
       has the name of the person I'm looking for, but it's missing
       most of the record.  I can't even tell which division the person
       works for.  I need to know who is responsible for this
       information, so I can get it corrected.
       </p>
 
+      <p>While this might be address by including a "report-errors-to"
+      field in each phonebook entry, HQ is looking ahead to the day
+      when other information is in the phonebook &mdash; like which
+      projects the person has worked on &mdash; which might be come
+      from a variety of others sources, possibly other divisions.</p>
+
     </blockquote>
     
     <p>For a discussion of how this use case could be addressed, see
@@ -318,7 +325,7 @@
 
       <p>A user reports: There's information here that says it's from
       our department, but it's not.  Somehow your provenance
-      information is wrong.  We need to see the provenance of your
+      information is wrong.  We need to see the provenance of the
       provenance!</p>
 
     </blockquote>
@@ -335,10 +342,10 @@
     <blockquote style="font-style: italic">
 
       <p>Division 14's legal department says: "We're doing an
-      investigation and we need to be able to connect people and phone
-      numbers as they used to be.  Can you include archival data in
-      the data feed, so we we can search the phonebook as it was on
-      each day of September, last year?"
+      investigation and we need to be able to connect people's names
+      and phone numbers as they used to be.  Can you include archival
+      data in the data feed, so we we can search the phonebook as it
+      was on each day of September, last year?"
       </p>
 
     </blockquote>
@@ -798,7 +805,7 @@
 <td><a id="prod-sandro-nquads-statement" name="prod-sandro-nquads-statement"></a>[<span class="prodNo">2q</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">statement</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-sandro-nquads-subject">subject</a></span> <span class="prod"><a class="grammarRef" href="#prod-sandro-nquads-predicate">predicate</a></span> <span class="prod"><a class="grammarRef" href="#prod-sandro-nquads-object">object</a></span> <span class="prod"><a class="grammarRef" href="#prod-sandro-nquads-space">space</a></span>? "."</code></td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-sandro-nquads-subject">subject</a></span> <span class="prod"><a class="grammarRef" href="#prod-sandro-nquads-predicate">predicate</a></span> <span class="prod"><a class="grammarRef" href="#prod-sandro-nquads-object">object</a></span> <span class="prod"><a class="grammarRef" href="#prod-sandro-nquads-space">space</a></span>? <span class="grammar-literal">"."</span></code></td>
 </tr>
 </tbody>
 
@@ -868,7 +875,7 @@
 <td><a id="prod-trig-statement" name="prod-trig-statement"></a>[<span class="prodNo">2g</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">statement</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-trig-directive">directive</a></span> "." | <span class="prod"><a class="grammarRef" href="#prod-trig-triples">triples</a></span> "." | <span class="prod"><a class="grammarRef" href="#prod-trig-naming">naming</a></span> | <span class="prod"><a class="grammarRef" href="#prod-trig-wrappedDefault">wrappedDefault</a></span></code></td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-trig-directive">directive</a></span> <span class="grammar-literal">"."</span> | <span class="prod"><a class="grammarRef" href="#prod-trig-triples">triples</a></span> <span class="grammar-literal">"."</span> | <span class="prod"><a class="grammarRef" href="#prod-trig-naming">naming</a></span> | <span class="prod"><a class="grammarRef" href="#prod-trig-wrappedDefault">wrappedDefault</a></span></code></td>
 </tr>
 </tbody>
 
@@ -877,36 +884,63 @@
 <td><a id="prod-trig-naming" name="prod-trig-naming"></a>[<span class="prodNo">3g</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">naming</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-trig-GRAPH">GRAPH</a></span>? <span class="prod"><a class="grammarRef" href="#prod-trig-IRI_REF">IRI_REF</a></span> "{" <span class="prod"><a class="grammarRef" href="#prod-trig-triples">triples</a></span> "."? "}"</code></td>
+<td><code class="content">
+  <span class="grammar-literal">"GRAPH"</span>? 
+  <span class="prod"><a class="grammarRef" href="#prod-trig-spaceName">spaceName</a></span> 
+<!--  (  -->
+  ( <span class="grammar-literal">"," </span>
+  <span class="prod"><a class="grammarRef" href="#prod-trig-spaceName">spaceName</a></span> 
+  )* <span class="grammar-literal">"{"</span>
+  <span class="prod"><a class="grammarRef" href="#prod-trig-triples">triples</a></span> 
+  <span class="grammar-literal">"."</span>? 
+  <span class="grammar-literal">"}"</span>  <!--) 
+  |
+  ( "{" 
+  <span class="prod"><a class="grammarRef" href="#prod-trig-triples">triples</a></span> 
+  <span class="grammar-literal">"."</span>? "}" 
+  ( <span class="grammar-literal">";"</span> 
+  <span class="prod"><a class="grammarRef" href="#prod-trig-verb">verb</a></span>
+  <span class="prod"><a class="grammarRef" href="#prod-trig-objectList">objectList</a></span>
+  )? ) -->
+</code></td>
 </tr>
 </tbody>
 
 <tbody class="prod">
 <tr valign="baseline">
-<td><a id="prod-trig-wrappedDefault" name="prod-trig-wrappedDefault"></a>[<span class="prodNo">4g</span>]&nbsp;&nbsp;&nbsp;</td>
-<td><code class="production prod">wrappedDefault</code></td>
+<td><a id="prod-trig-spaceName"></a>[<span class="prodNo">4g</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><code class="production prod">spaceName</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"{" <span class="prod"><a class="grammarRef" href="#prod-trig-triples">triples</a></span> "."? "}"</code></td>
+<td><code class="content"> 
+    <span class="prod"><a class="grammarRef" href="#prod-trig-iri">iri</a></span>
+    | <span class="grammar-literal">"DEFAULT"</span>
+</code></td>
 </tr>
 </tbody>
 
-<tbody class="term">
+<tbody class="prod">
 <tr valign="baseline">
-<td><a id="term-trig-GRAPH" name="term-trig-GRAPH"></a>[<span class="prodNo">5g</span>]&nbsp;&nbsp;&nbsp;</td>
-<td><code class="production term">GRAPH</code></td>
+<td><a id="prod-trig-wrappedDefault" name="prod-trig-wrappedDefault"></a>[<span class="prodNo">5g</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><code class="production prod">wrappedDefault</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"GRAPH"</code></td>
+<td><code class="content">
+<span class="grammar-literal">"{"</span> <span class="prod"><a class="grammarRef" href="#prod-trig-triples">triples</a></span> <span class="grammar-literal">"."</span>? <span class="grammar-literal">"}"</span></code></td>
 </tr>
 </tbody>
+
+
     </table>
 
 
 <p>The grammar symbols 
 
 <code class="production prod" id="prod-trig-directive">directive</code>,
-<code class="production prod" id="prod-trig-triples">triples</code> and
-<code class="production prod" id="prod-trig-IRI_REF">IRI_REF</code>
-
+<code class="production prod" id="prod-trig-triples">triples</code>, and
+<code class="production prod" id="prod-trig-iri">iri</code>
+<!--
+<code class="production prod" id="prod-trig-verb">verb</code>, and
+<code class="production prod" id="prod-trig-objectList">objectList</code>
+-->
 are defined in <a
 href="http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-turtle/index.html#sec-grammar-grammar">the
 Turtle Grammar</a>
@@ -923,15 +957,16 @@
       <li>The result is a <a>dataset</a>, not an RDF Graph</li>
 
       <li>The triples generated during parsing of the <code
-      class="prod production">naming</code> production go into a
-      <a>named graph</a>, with the name being the <code class="prod
-      production">IRI_REF</code>.</li>
+      class="prod production">naming</code> production go into each
+      <a>named graph</a> and/or the default graph as given in the
+      <code class="prod production">spaceName</code> productions.</li>
 
       <li>The triples generated during other parsing go into the
       default graph.</li>
 
     </ol>
       
+    <p>
     <p>Note that the grammar forbids directives between curly braces
     and empty curly-brace expressions.  Also, note that blank node
     processing is not affected by curly braces, so conceptually blank
@@ -983,8 +1018,8 @@
     document-scope for now.   This is <a href="http://www.w3.org/2011/rdf-wg/track/issues/21">Issue-21</a>.</li>
     <li>Can blank node labels be used as space names?
     Assuming not, for now.</li>
-    <li>Can we provide a way to say a graph is in multiple spaces without repeating it?  Something like [GRAPH] g1, g2, DEFAULT { ... } (where default is a keyword stand-in for the default graph</li>
-    <li>Can we allow allow people to re-use subject, like:  g1 { ... }; :lastModified .... ? </li>
+    <li>Can we provide a way to say a graph is in multiple spaces without repeating it?  Something like [GRAPH] g1, g2, DEFAULT { ... } (where default is a keyword stand-in for the default graph; assuming yes.</li>
+    <li>Can we allow allow people to re-use subject, like:  g1 { ... }; :lastModified .... ?  assuming no; it interacts a bit confusingly with repeated spaceName, and it's not clear what it means for spaceName DEFAULT.</li>
       </ul>
     </div>
 
@@ -1254,7 +1289,7 @@
 <section class="appendix informative" id="changes">
   <h2>Changes</h2>
   <ul>
-    <li>2012-05-14: Fill in the use cases, removing some of the text that was there and which can go into the example.</li>
+    <li>2012-05-14: Fill in the use cases, removing some of the text that was there and which can go into the example.  Redid the trig grammar, adding spaceName, changing formatting</li>
     <li>2012-05-13: Fill in the example's skeleton, add a few issues/ideas on trig</li>
     <li>2012-05-11: Rewriting and reorganizing Concepts; some more work on Usecases and Example; removed the Detailed Example since it needs to be so re-written; renamed 'reflection' to 'folding'; reworked the Semanics</li>
     <li>2012-05-10: Wrote a short intro.  Started writing the Use Cases section for real.   Added grammar for N-Quads and Trig.  Did a first draft of the semantics.</li>