- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Fri, 17 Jun 2016 13:02:05 -0700
- To: Gregory Williams <greg@evilfunhouse.com>
- Cc: james anderson <james@dydra.com>, public-sparql-dev@w3.org
On 06/17/2016 11:55 AM, Gregory Williams wrote: > On Jun 17, 2016, at 11:38 AM, Peter F. Patel-Schneider <pfpschneider@gmail.com> wrote: >> >> To argue otherwise is to argue that some current implementations have made >> unfounded assumptions about EXISTS that don't conform to the correct >> clarification of the specification and thus should be changed. Instead the >> argument has to be that it is necessary to change the SPARQL spec in a way >> that delegitimizes some current implementations that are currently >> legitimate and legitimizes other current implementations that are currently >> illegitimate. My hope is that this latter argument will be made >> successfully! > > Peter, > > Are you aware of systems that follow the spec text for substitute() that you discuss? I’d be interested in knowing if (and to what extent) this is an actual compatibility problem between existing implementations. > > thanks, > .greg According to https://scirate.com/arxiv/1606.01441, Virtuoso Open Source Edition 7 does. One example from there is SELECT ?parent WHERE { ?parent :country :j FILTER ( EXISTS { SELECT ?child WHERE { ?child :parent ?parent }})} On :a :country :j . :a :parent :b . :b :country :j . :b :parent :c . :c :parent :d . :c :country :k . Virtuoso returns { { (parent :b) } } indicating that it is evaluating the subquery with ?parent replaced by :a and :b separately as directed by the definition of substitute. I have not verified this directly. peter
Received on Friday, 17 June 2016 20:02:35 UTC