--- a/ldpatch.html Thu Nov 20 16:01:32 2014 +0100
+++ b/ldpatch.html Thu Nov 20 17:47:31 2014 +0100
@@ -277,23 +277,20 @@
</p>
<ul>
<li>
- @@ TODO should we again mention PrefixedNames here (as technically, the declaration of prefixes is <em>outside</em> what is inherited from Turtle@@
- </li>
- <li>
The base IRI used to resolve relative IRIs MUST be <a>target IRI</a>.
</li>
<li>
- LD Patch allows <a href="#grammar-production-Var">Var</a>iables in subject or object position, which are syntactically identical to SPARQL variables [[SPARQL]]. A variable MUST be <a href="#dfn-bind">bound</a> prior to its first use in the LD Patch Document, and it must be replaced by the last node to which it has been bound (in case it appears in several <a>Bind</a> statements).
+ LD Patch allows <a href="#grammar-production-Var">Var</a>iables in subject or object position. A variable MUST be <a title="bind">bound</a> prior to its first use in the LD Patch Document, and it must be replaced by the last node to which it has been bound (in case it appears in several <a>Bind</a> statements).
</li>
<li>
- The scope of <a class="internalDFN" href="#grammar-production-BlankNode">Blank nodes</a> identifiers is the whole LD Patch document. Hence several argument graphs can share the same blank nodes.
+ <dfn id="blank-node-scoping">The scope of <a class="internalDFN" href="#grammar-production-BlankNode">Blank nodes</a> identifiers is the whole LD Patch document.</dfn> Hence several argument graphs can share the same blank nodes across statements.
</li>
</ul>
<p>
-As IRIs and Literals have a global scopes, such nodes in an <a>argument graph</a> represent the same resource as in the <a>target graph</a>. <a class="internalDFN" href="#grammar-production-BlankNode">Blank nodes</a>, on the other hand, pose a problem, as they have no global identifier. Indeed, the scope of blank node identifiers is limited to the LD Patch document in which they appear. As a consequence, <dfn id="blank-node-scoping">any blank node identifier appearing in an LD Patch document is understood to denote a <em>fresh</em> blank node</dfn>, distinct from any node initially present in the <a>target graph</a>. Therefore blank node identifiers in LD Patch cannot interfere with pre-existing blank nodes in the <a>target graph</a>.
+As IRIs and Literals have a global scopes, such nodes in an <a>argument graph</a> represent the same resource as in the <a>target graph</a>. <a class="internalDFN" href="#grammar-production-BlankNode">Blank nodes</a>, on the other hand, pose a problem, as they have no global identifier. Indeed, the scope of blank node identifiers is limited to the LD Patch document in which they appear. As a consequence, any blank node identifier appearing in an LD Patch document is understood to denote a <em>fresh</em> blank node, distinct from any node initially present in the <a>target graph</a>. Therefore blank node identifiers in LD Patch cannot interfere with pre-existing blank nodes in the <a>target graph</a>.
</p>
<p>
-However, LD Patch provides mechanisms to address those pre-existing blank nodes: <a>Bind</a> <a>Bind</a>ing a variable to a blank node reachable with a <a>path expression</a>, <a>Cut</a>ting a whole tree made of blank nodes, or using <a>UpdateList</a> to deal with those blank nodes that constitute RDF collections. There are cases where those mechanisms will not be able to unambiguously address a given blank node, but those cases are deemed <a href="#pathological-graph">pathological</a>, and are out of the scope of this specification.
+However, LD Patch provides mechanisms to address those pre-existing blank nodes: <a>bind</a>ing a variable to a blank node reachable with a <a>path expression</a>, <a>cut</a>ting a whole tree made of blank nodes, or using <a>UpdateList</a> to deal with those blank nodes that constitute RDF collections. There are cases where those mechanisms will not be able to unambiguously address a given blank node, but those cases are deemed <a href="#pathological-graph">pathological</a>, and are out of the scope of this specification.
</p>
</section>
@@ -361,7 +358,7 @@
The <a>Add</a> operation is used to append new RDF triples to the <a>target graph</a>.
</p>
<p>
-It is defined by an <a>argument graph</a> <var>g</var>. All triples in <var>g</var> must be added to the <var>target graph</target>. It MUST fail if one of those triples already exists in the <a>target graph</a>.
+It has a single argument: an <a>argument graph</a> <var>g</var>. All triples in <var>g</var> must be added to the <var>target graph</var>.
<pre class='example'>
Add {
<#> profile:first_name "Timothy" ;
@@ -379,7 +376,7 @@
The <a>Delete</a> operation is used to remove RDF triples from the <a>target graph</a>.
</p>
<p>
-It is defined by an <a>argument graph</a> <var>g</var>. All triples in <var>g</var> must be removed to the <var>target graph</target>. It MUST fail if one of those triples does not exists in the <a>target graph</a>. Blank nodes identifiers are allowed in <a>Delete</a> statements but <a href="#blank-node-scoping">they remain scoped to the LD Patch document</a>, so they can only match a blank node previously added by the same LD Patch document.
+It has a single argument: an <a>argument graph</a> <var>g</var>. All triples in <var>g</var> must be removed to the <var>target graph</var>. It MUST fail if one of those triples does not exists in the <a>target graph</a>. Blank nodes identifiers are allowed in <a>Delete</a> statements but <a href="#blank-node-scoping">they remain scoped to the LD Patch document</a>, so they can only match a blank node previously added by the same LD Patch document.
</p>
<pre class='example'>
Delete { <#> profile:first_name "Tim" } .