W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > October to December 2009

Re: ISSUE-48: Less verbose delete syntax

From: Andy Seaborne <andy.seaborne@talis.com>
Date: Mon, 09 Nov 2009 22:15:21 +0000
Message-ID: <4AF89479.3070108@talis.com>
To: Steve Harris <steve.harris@garlik.com>
CC: Kjetil Kjernsmo <kjetil@kjernsmo.net>, public-rdf-dawg@w3.org


On 09/11/2009 20:27, Steve Harris wrote:
> On 9 Nov 2009, at 20:19, Andy Seaborne wrote:
>> On 09/11/2009 20:05, Kjetil Kjernsmo wrote:
>>> Well, Andy and Steve has already getting started and have mentioned
>>> allowing just a BGP too, but yeah, I can live with your proposal, as
>>> long
>>> as we keep an issue open for a fuller graph pattern for a
>>> time-permitting,
>>> or more likely for SPARQL 1.2.
>>
>> DELETE WHERE {BGP} is fine.
>
> Yup. Well, BGP + GRAPH. The stuff that's legal on both sides.
>
>> Steve and I were exploring, rather than getting as far proposing, on
>> what more could be done. :-)
>>
>> Unless "more" can give a feeling of being really solid and definitely
>> the right thing to do, then I prefer to leave anything beyond DELETE
>> WHERE { BGP } to SPARQL-next.
>
> +1
>
>> That said, a safe step is to allow BGP+FILTERs
>
> I'm not so sure, FILTERs don't feel any less complex than OPTIONAL and
> friends.

Don't understand - how can a filter over a BGP be as complicated as one 
of the binary graph patterns?

A FILTER accepts or rejects rows of the query solution table, but does 
not change the shape of a row which is determined by the BGP.

DELETE WHERE { BGP FILTER (expr) }
   ==>
DELETE { BGP } WHERE { BGP FILTER (expr) }

so

# Remove people who like an ordered existence
DELETE WHERE { ?x a foaf:Person ;
                   foaf:myersBriggs ?profile .
                   FILTER(regex(?profile, "^...J$"))
              }
# :-)

and, key, it's the BGP as template still.  What we will have difficult 
defining exactly in the time available is more than a single BGP as 
template.

>
> If we're going with simple lets just have templates (BGP + GRAPH).

GRAPH is OK - same as with FILTER because the pattern is still a fixed 
shape (no irregularities).

We ought to change CONSTRUCT to align with that.

We ought to formalize the query forms : CONSTRUCT can be done with the 
"substitute(pattern, μ)" operation in Q-1.1

	Andy

>
> - Steve
>
Received on Monday, 9 November 2009 22:15:46 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:40 GMT