diff --git a/protocol.html b/protocol.html index 26ecef78..22544b7d 100644 --- a/protocol.html +++ b/protocol.html @@ -1054,12 +1054,22 @@

Security and Privacy Review

Appendix - A subset of SPARQL Update for Solid

+
+

Overview

+
+

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. +

+
+
+

Grammar

Note: Definition of SPARQL Update Subset

-

This specification alters the grammar of 10 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. +

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.

@@ -1070,7 +1080,7 @@

Note: Definition of SPARQL Update Subset [30p] Update1 ::= - Prologue ( InsertData | DeleteData | Modify ) + Prologue ( InsertData | DeleteData | DeleteWhere | Modify ) [38p] @@ -1084,11 +1094,17 @@

Note: Definition of SPARQL Update Subset ::= 'DELETE DATA' '{' TripleData '}' + + [40p] + DeleteWhere + ::= + 'DELETE WHERE' '{' TriplesTemplate '}' + [41p] Modify ::= - ( DeleteClause InsertClause? | InsertClause ) 'WHERE' GroupGraphPattern + ( DeleteClause InsertClause? | InsertClause ) 'WHERE' '{' TriplesTemplate '}' [42p] @@ -1108,24 +1124,6 @@

Note: Definition of SPARQL Update Subset ::= TriplesDataSameSubject ( '.' TripleData? )? - - [53p] - GroupGraphPattern - ::= - '{' GroupGraphPatternSub ) '}' - - - [54p] - GroupGraphPatternSub - ::= - TriplesBlock - - - [55p] - TriplesBlock - ::= - TriplesSameSubject ( '.' TriplesBlock? )? - [75d] TriplesDataSameSubject