From fbd599091b1afd56ba16f0a69d1009ab13497600 Mon Sep 17 00:00:00 2001 From: Kjetil Kjernsmo Date: Wed, 13 Oct 2021 02:12:46 +0200 Subject: [PATCH 1/4] Simplify the BNF --- protocol.html | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/protocol.html b/protocol.html index 26ecef78..756b7db7 100644 --- a/protocol.html +++ b/protocol.html @@ -1088,7 +1088,7 @@

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

Note: Definition of SPARQL Update Subset ::= TriplesDataSameSubject ( '.' TripleData? )? - - [53p] - GroupGraphPattern - ::= - '{' GroupGraphPatternSub ) '}' - - - [54p] - GroupGraphPatternSub - ::= - TriplesBlock - - - [55p] - TriplesBlock - ::= - TriplesSameSubject ( '.' TriplesBlock? )? - [75d] TriplesDataSameSubject From 65cb624e6b219e77d32a4c7a9825f01ca1ed5724 Mon Sep 17 00:00:00 2001 From: Kjetil Kjernsmo Date: Wed, 13 Oct 2021 02:16:13 +0200 Subject: [PATCH 2/4] Reintroduce DeleteWhere --- protocol.html | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/protocol.html b/protocol.html index 756b7db7..567da45b 100644 --- a/protocol.html +++ b/protocol.html @@ -1070,7 +1070,7 @@

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

Note: Definition of SPARQL Update Subset ::= 'DELETE DATA' '{' TripleData '}' + + [40p] + DeleteWhere + ::= + 'DELETE WHERE' '{' TriplesTemplate '}' + [41p] Modify From 79d5021e6a938bb75afbd48b494883ac402def32 Mon Sep 17 00:00:00 2001 From: Kjetil Kjernsmo Date: Wed, 13 Oct 2021 02:17:15 +0200 Subject: [PATCH 3/4] Update change count --- protocol.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protocol.html b/protocol.html index 567da45b..2f7a517a 100644 --- a/protocol.html +++ b/protocol.html @@ -1059,7 +1059,7 @@

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.

From 9f483f5bf76fe1a029dce9975bcc324890f9174c Mon Sep 17 00:00:00 2001 From: Kjetil Kjernsmo Date: Fri, 15 Oct 2021 17:17:13 +0200 Subject: [PATCH 4/4] Add overview section, link Yacker for completeness --- protocol.html | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/protocol.html b/protocol.html index 2f7a517a..22544b7d 100644 --- a/protocol.html +++ b/protocol.html @@ -1054,6 +1054,16 @@

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