- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Thu, 14 Jul 2016 09:57:38 -0700
- To: Andy Seaborne <andy@apache.org>, public-sparql-exists@w3.org
On 07/14/2016 06:19 AM, Andy Seaborne wrote: > For issue 3, what the spec says and what users expect are different. > [...] > I'm not sure of the way to address this. [...] > > Any other ideas? > > Andy Both expectations and behaviour here are consistent with joining a single-element multiset of solution bindings to the unmodified BGP. Given this, my view is that EXISTS should be defined in this way. That is, the pattern that is evaluated for this EXISTS should be Join( { { (?s, _:s1) } }, BGP(?s :p 1) ) instead of BGP(_:s1 :p 1) I believe that this approach is suitable not just here but as the complete definition of EXISTS. The details of the approach involve injecting a special syntactic token into the argument of EXISTS that is then replaced by the multiset during Filter evaluation. Variations of this approach are possible, matching much of the behaviour of different SPARQL implementations of EXISTS. This is decidedly not a trivial change to EXISTS, but I think that it is best way to go. peter
Received on Thursday, 14 July 2016 16:58:10 UTC