Added text and error-handling for AddNew and DeleteAny. ldpatch
authorAlexandre Bertails <alexandre@bertails.org>
Sun, 14 Dec 2014 11:57:21 -0500
branchldpatch
changeset 928 1d25df69dae6
parent 927 94215893b6e4
child 929 2410cf5f24ae
Added text and error-handling for AddNew and DeleteAny.
ldpatch.html
--- a/ldpatch.html	Sun Dec 14 11:33:49 2014 -0500
+++ b/ldpatch.html	Sun Dec 14 11:57:21 2014 -0500
@@ -592,7 +592,7 @@
 The <a>Add</a> operation is used to append new RDF triples to the <a>target graph</a>.
           </p>
           <p>
-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>. Even if an argument graph contains one or more triples that already exist in the target graph, the Add operation MUST NOT fail.
+              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>. If an argument graph contains one or more triples that already exist in the target graph, the <a>Add</a> operation does not fail.
           <pre class='example'>
 Add { 
     &lt;#&gt; profile:first_name "Timothy" ;
@@ -604,13 +604,20 @@
           </p>
         </section>
 
+        <section id="addNew-statement">
+          <h2><dfn>AddNew</dfn></h2>
+          <p>
+              The <a>AddNew</a> operation is used to append new RDF triples to the <a>target graph</a>. It behaves like <a>Add</a> but unlike its counterpart, <a>AddNew</a> <a href="#addnew-already-existing-triple">fails</a> when trying to add an already existing triple.
+          </p>
+        </section>
+
         <section id="delete-statement">
           <h2><dfn>Delete</dfn></h2>
           <p>
 The <a>Delete</a> operation is used to remove RDF triples from the <a>target graph</a>.
           </p>
           <p>
-It has a single argument: an <a>argument graph</a> <var>g</var>. All triples in <var>g</var> must be removed from the <var>target graph</var>. It fails if one of those triples does not exist 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 from the <var>target graph</var>. It <a href="#delete-non-existing-triple">fails</a> if one of those triples does not exist 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 { &lt;#&gt; profile:first_name "Tim" } .
@@ -620,6 +627,13 @@
           </p>
         </section>
 
+        <section id="deleteAny-statement">
+          <h2><dfn>DeleteAny</dfn></h2>
+          <p>
+The <a>DeleteAny</a> operation is used to remove RDF triples from the <a>target graph</a>. It behaves like <a>Delete</a> but unlike its counterpart, <a>DeleteAny</a> does not fail when trying to delete a non-existing triple.
+          </p>
+        </section>
+
         <section id="cut-statement">
           <h2><dfn>Cut</dfn></h2>
           <p>
@@ -679,6 +693,7 @@
             <li id="cut-nothing">If a <a>Cut</a> operation fails to remove any triple, then a HTTP 422 (Unprocessable Entity) error status code MUST be returned.</li>
             <li id="cut-non-bnode">If a <a>Cut</a> operation is called on a variable not bound to a blank node, then a HTTP 422 (Unprocessable Entity) error status code MUST be returned.</li>
             <li id="delete-non-existing-triple">If a <a>Delete</a> attempts to remove a non-existing triple, then a HTTP 422 (Unprocessable Entity) error status code MUST be returned.</li>
+            <li id="addnew-already-existing-triple">If a <a>AddNew</a> attempts to add an already existing triple, then a HTTP 422 (Unprocessable Entity) error status code MUST be returned.</li>
             <li id="updatelist-non-list-argument">If the subject and predicate provided to an <a>UpdateList</a> do not have a unique object, or if this object is not a well-formed collection, then a HTTP 422 (Unprocessable Entity) error status code MUST be returned.</li>
             <li id="wrong-order-for-indexes">If the indexes in a <a>slice expression</a> are in the wrong order (e.g. <code>2868..42</code>), then the parsing fails and a 400 (Bad Request) error status code MUST be returned.</li>
             <li id="wrong-index">If an index in a <a>slice expression</a> is greater than the length of the <code>rdf:List</code>, then a 422 (Unprocessable Entity) error status code MUST be returned.</li>