Support top-level blank-predicate-object lists
authorGavin Carothers <gavin@carothers.name>
Tue, 15 May 2012 11:30:51 -0700
changeset 380 14359ee3080c
parent 379 4e4b1398ec38
child 382 fa935fb1c3c0
child 383 540fa34864bb
Support top-level blank-predicate-object lists
rdf-turtle/turtle-bnf.html
rdf-turtle/turtle.bnf
--- a/rdf-turtle/turtle-bnf.html	Tue May 15 11:27:53 2012 -0700
+++ b/rdf-turtle/turtle-bnf.html	Tue May 15 11:30:51 2012 -0700
@@ -30,11 +30,11 @@
     <td>::=</td>
     <td>'<code class='grammar-literal'>@base</code>' (<a href='#grammar-production-ws'>ws</a>)<code class='grammar-plus'>+</code> <a href='#grammar-production-IRIREF'>IRIREF</a></td>
 </tr>
-            <tr id="grammar-production-triples" data-grammar-original="[6] triples ::= subject predicateObjectList" data-grammar-expression="(&#x27;,&#x27;, [(&#x27;id&#x27;, &#x27;subject&#x27;), (&#x27;id&#x27;, &#x27;predicateObjectList&#x27;)])" >
+            <tr id="grammar-production-triples" data-grammar-original="[6] triples ::= (subject predicateObjectList) |(blankNodePropertyList predicateObjectList?)" data-grammar-expression="(&#x27;|&#x27;, [(&#x27;,&#x27;, [(&#x27;id&#x27;, &#x27;subject&#x27;), (&#x27;id&#x27;, &#x27;predicateObjectList&#x27;)]), (&#x27;,&#x27;, [(&#x27;id&#x27;, &#x27;blankNodePropertyList&#x27;), (&#x27;?&#x27;, (&#x27;id&#x27;, &#x27;predicateObjectList&#x27;))])])" >
     <td>[6]<td>
     <td><code>triples</code><td>
     <td>::=</td>
-    <td><a href='#grammar-production-subject'>subject</a> <a href='#grammar-production-predicateObjectList'>predicateObjectList</a></td>
+    <td>(<a href='#grammar-production-subject'>subject</a> <a href='#grammar-production-predicateObjectList'>predicateObjectList</a> <code>|</code> <a href='#grammar-production-blankNodePropertyList'>blankNodePropertyList</a> (<a href='#grammar-production-predicateObjectList'>predicateObjectList</a>)?)</td>
 </tr>
             <tr id="grammar-production-predicateObjectList" data-grammar-original="[7] predicateObjectList ::= verb objectList ( &quot;;&quot; verb objectList )* (&quot;;&quot;)?" data-grammar-expression="(&#x27;,&#x27;, [(&#x27;id&#x27;, &#x27;verb&#x27;), (&#x27;id&#x27;, &#x27;objectList&#x27;), (&#x27;*&#x27;, (&#x27;,&#x27;, [(&quot;&#x27;&quot;, &#x27;;&#x27;), (&#x27;id&#x27;, &#x27;verb&#x27;), (&#x27;id&#x27;, &#x27;objectList&#x27;)])), (&#x27;?&#x27;, (&quot;&#x27;&quot;, &#x27;;&#x27;))])" >
     <td>[7]<td>
@@ -54,11 +54,11 @@
     <td>::=</td>
     <td>(<a href='#grammar-production-predicate'>predicate</a> <code>|</code> '<code class='grammar-literal'>a</code>')</td>
 </tr>
-            <tr id="grammar-production-subject" data-grammar-original="[10] subject ::= iri| blank" data-grammar-expression="(&#x27;|&#x27;, [(&#x27;id&#x27;, &#x27;iri&#x27;), (&#x27;id&#x27;, &#x27;blank&#x27;)])" >
+            <tr id="grammar-production-subject" data-grammar-original="[10] subject ::= iri| ANON" data-grammar-expression="(&#x27;|&#x27;, [(&#x27;id&#x27;, &#x27;iri&#x27;), (&#x27;id&#x27;, &#x27;ANON&#x27;)])" >
     <td>[10]<td>
     <td><code>subject</code><td>
     <td>::=</td>
-    <td>(<a href='#grammar-production-iri'>iri</a> <code>|</code> <a href='#grammar-production-blank'>blank</a>)</td>
+    <td>(<a href='#grammar-production-iri'>iri</a> <code>|</code> <a href='#grammar-production-ANON'>ANON</a>)</td>
 </tr>
             <tr id="grammar-production-predicate" data-grammar-original="[11] predicate ::= iri" data-grammar-expression="(&#x27;id&#x27;, &#x27;iri&#x27;)" >
     <td>[11]<td>
--- a/rdf-turtle/turtle.bnf	Tue May 15 11:27:53 2012 -0700
+++ b/rdf-turtle/turtle.bnf	Tue May 15 11:30:51 2012 -0700
@@ -8,7 +8,8 @@
  
 [5] base ::= '@base' ws+ IRIREF 
  
-[6] triples ::= subject predicateObjectList 
+[6] triples ::= (subject predicateObjectList) |
+(blankNodePropertyList predicateObjectList?) 
  
 [7] predicateObjectList ::= verb objectList ( ";" verb objectList )* (";")? 
  
@@ -17,7 +18,7 @@
 [9] verb ::= predicate 
  | "a" 
 [10] subject ::= iri 
- | blank 
+ | ANON 
 [11] predicate ::= iri 
  
 [12] object ::= iri