Re: SPARQL Update / editorial

On 2011-01-11, at 14:48, Andy Seaborne wrote:

> Editorial: so it does not get lost:
> 
> These are all the same operation, in different guises:
> 
> 3.1.3 DELETE/INSERT
> 
> [ WITH <uri> ]
> DELETE { modify_template [ modify_template ]* }
> INSERT { modify_template [ modify_template ]* }
> [ USING [NAMED] <uri> ]*
> [ WHERE ] GroupGraphPattern
> 
> The word WHERE is optional, GroupGraphPattern is not.

It makes me very uncomfortable that

DELETE {}
INSERT
{
  <a> <b> <c>
}
{
  <d> <e> <f>
}

Has a radically different meaning from

DELETE {}
INSERT {
{
  <a> <b> <c>
}
{
  <d> <e> <f>
}
}

Would prefer

[ WHERE GroupGraphPattern ]

> 3.1.5 INSERT
> ...
> [ WITH <uri> ]
> INSERT { modify_template [ modify_template ]* }
> [ [ USING [NAMED] <uri> ]*
>  WHERE GroupGraphPattern ]
> 
> The whole WHERE+pattern part is optional.
> 
> 
> 3.1.4 DELETE
> 
> [ WITH <uri> ]
> DELETE { modify_template> [ modify_template ]* }
> [ USING [NAMED] <uri> ]*
> WHERE GroupGraphPattern
> 
> WHERE+pattern is mandatory.
> 
> 
> The notation is unclear : [] is optional, (so what's []*?)
> 
> 
> { modify_template [ modify_template ]* } should probaly be just [modify_template]* because when generated by programs, it's easier to allow the null pattern.
> 
> 	Andy
> 

-- 
Steve Harris, CTO, Garlik Limited
1-3 Halford Road, Richmond, TW10 6AW, UK
+44 20 8439 8203  http://www.garlik.com/
Registered in England and Wales 535 7233 VAT # 849 0517 11
Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD

Received on Tuesday, 11 January 2011 16:33:45 UTC