- From: Steve Harris <steve.harris@garlik.com>
- Date: Tue, 11 Jan 2011 16:28:36 +0000
- To: Andy Seaborne <andy.seaborne@epimorphics.com>
- Cc: Axel Polleres <axel.polleres@deri.org>, Lee Feigenbaum <lee@thefigtrees.net>, SPARQL Working Group <public-rdf-dawg@w3.org>
* means all variables, which doesn't apply to CONSTRUCT, I see a direct parallel with DELETE WHERE { ... } though. - Steve On 2011-01-11, at 14:48, Andy Seaborne wrote: > CONSTRUCT * (WHERE)? { BGP } > > then a balance to be struck between CONSTRUCT * (c.f. SELECT) and CONSTRUCT WHERE (c.f. DELETE WHERE) > > WHERE is mandatory in SPARQL update (hmm - sort of). > > Andy > > On 11/01/11 14:17, Axel Polleres wrote: >> Dear all, >> >> Still catching up, sigh... >> From the discussion/mail about CONSTRUCT WHERE >> >>> we discussed this in the TelCo today and there was little/no support for that shortcut in a strawpoll, in fact, greg had some concerns >>> that it would rather raise new questions (e.g. since WHERE is normally optional this would raise confusion, etc.). >>> >>> My current suggestion, if you don't insist on that shortcut, or nobody else jumps on it, I would thus be to close the ACTION without further action and leave this shortcut out. >> >> The fact only that it's doable in the grammar doesn't mitigate Greg's concern, does it? His problem was about the obligatory WHERE (which isn't obligatory in a normal COSNTRUCT query... given that, I am frankly a bit hesitant to re-open this disscussion and would prefer to leave it with the conclusion we reached when closing the related action. >> >> >> Axel >> >> >> >> On 31 Dec 2010, at 13:19, Andy Seaborne wrote: >> >>> >>> >>> On 23/12/10 12:09, Steve Harris wrote: >>>> On 2010-12-23, at 11:58, Andy Seaborne wrote: >>>>>> >>>>>> I had an action to look at including CONSTRUCT WHERE { ... } for commonality with DELETE WHERE. I've not done anything about that, but it looks to me like it could be included as: >>>>>> >>>>>> 'CONSTRUCT WHERE' GroupGraphPattern SolutionModifier >>>>> >>>>> See discussion: >>>>> http://lists.w3.org/Archives/Public/public-rdf-dawg/2010OctDec/0462.html >>>> >>>> I completely forgot that. >>>> >>>> In that case, modulo the stuff I've already mentioned, I think it's OK. >>>> >>>> - Steve >>> >>> In the spirit of facts, and not mere guesswork, I went back and checked >>> on the implications of a "CONSTRUCT WHERE" short form. It's doable: my >>> fears were unfounded. >>> >>> Based on the discussion around DELETE WHERE, I have only considered a >>> BGP or construct template for the WHERE clause. No FILTER, no other >>> graph patterns. >>> >>> It's not quite like DELETE WHERE because of FROM/FROM NAMED. >>> >>> It can be done by only changing the rule for CONSTRUCT: >>> >>> [9] ConstructQuery ::= >>> 'CONSTRUCT' >>> ( >>> # The original rule >>> ConstructTemplate DatasetClause* WhereClause SolutionModifier >>> | >>> # The short form. >>> DatasetClause* 'WHERE' '{' TriplesTemplate? '}' SolutionModifier >>> ) >>> >>> It may be possible to tidy this up. >>> >>> In the short form WHERE is mandatory - this enables the parser to know >>> it's skipped the template in the full form. >>> >>> Therefore, I think we should put this in. The extra editing is quite >>> small - adding a short para and example query to the CONSTRUCT section. >>> >>> 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:29:11 UTC