diff --git a/protocol.html b/protocol.html index fdd5b3f0..018376d6 100644 --- a/protocol.html +++ b/protocol.html @@ -704,6 +704,20 @@
When a POST
method request targets a resource without an existing representation, the server MUST respond with the 404
status code. [Source]
+ When the target resource of a PATCH
request is represented by an RDF document [RDF11-CONCEPTS], servers MUST support changing the representation using the request body containing a subset of SPARQL Update as defined in the Appendix.
+ Servers MAY further support SPARQL 1.1 Update [SPARQL],
+ except that servers MUST NOT allow a request with a PATCH
method to change other resources than the target resource. [Source]
+ Servers that receives a request body containing a SPARQL query that falls outside of the subset they are able to process MUST respond with a 422
status code [RFC4918] and a message body that explains the error.
+
+
+ When the request body of a PATCH
request has a SPARQL Update query that contains an INSERT
keyword, servers MUST treat the request as an Append operation.
+ When the query contains a WHERE
keyword, servers MUST treat the request as a Read operation.
+ When the query contains a DELETE
keyword, servers MUST treat the request as a Read and Write operation.
+
When a PUT
or PATCH
method request targets an auxiliary resource, the server MUST create or update it. When a POST
method request with the Slug
header targets an auxiliary resource, the server MUST respond with the 403
status code and response body describing the error. [Source]
Servers MUST NOT allow HTTP POST
, PUT
and PATCH
to update a container’s containment triples; if the server receives such a request, it MUST respond with a 409
status code. [Source]
This section is non-normative.
+ +The objective of the subset is to identify a subset of SPARQL 1.1 Update [SPARQL] that is relatively easy to implement and contains features that are most commonly used. It thus takes variations of the INSERT
and DELETE
operations and allows operations on basic triple patterns only. The subset is compatible with SPARQL 1.1 Update and is defined in terms of a grammar. To further examine the definition, see the Yacker validator.
+
This specification alters the grammar of 8 rules in the original grammar of the SPARQL 1.1 Query Language [SPARQL] grammar and introduces another 10 new rules to accommodate for INSERT DATA
and DELETE DATA
, which was defined in the language definition but not precisely defined in the grammar. This specification references the original grammar definition where no changes were made.
+