On 19/09/12 18:55, Elli Schwarz wrote:
I've been following this email thread with great interest, as well as the
emails to the SPARQL Working Group comments regarding BIND semantics. I use
BINDs heavily in my queries, and when I upgraded to Jena 2.7.3 I noticed that
many of my queries no longer worked properly, so I reverted back to using Jena
2.7.2 (and Fuseki 2.3.0) until the issue was sorted out.
I see that the SPARQL working group has now clarified how BIND should work, and
that it reverted the changes made in Last Call 3, so my understanding is BIND
will work similar to the way it worked in Jena 2.7.2. Is there a timeline for
when a new version of Jena/Fuseki will be released that will contain the fix
for BIND? There are several bug fixes I needed that were fixed in Jena 2.7.3,
but since I had to revert I don't have these fixes anymore.
You can use the development SNAPSHOT build to ensure that what you
expect is there. Testing development builds helps prepare for releases.
https://repository.apache.org/content/repositories/snapshots/org/apache/jena/
Andy
Thank you,
Elli
________________________________
From: Holger Knublauch <[email protected]>
To: [email protected]
Sent: Wednesday, August 15, 2012 3:20 AM
Subject: Re: Change in execution order between Jena 2.7.2 and 2.7.3
On 8/13/2012 5:20, Andy Seaborne wrote:
On 12/08/12 02:46, Holger Knublauch wrote:
...
but we and our customers have an unknown number of queries in
production
...
TQ gets Jena for free.
Yes and this is greatly appreciated. You guys are doing an amazing job. We have
built quite an empire on top of that. You will understand why I am especially
sensitive to surprising changes to the foundation of our software stack. Please
accept my apologies if I sounded too frustrated.
What would help is if TQ tested against the nightly snapshot builds especially
just before a release. The project makes available development builds at all
times so we can deal with such issues early, before a release.
This would be good, but would be limited to cases in which the Jena API itself
remains stable. Usually there are always some API changes that won't even make
our stuff compile without changes. This plus the overhead of setting up the
infrastructure has prevented us from doing continuous testing.
I believe TQ will need to raise this issue with the SPARQL 1.1 WG
again, although it seems we are very late in the process.
You are, of course, welcome to.
Referring to specification text would strengthen your case. Referring to
implementation bugs is, IMO, not a strong case. They happen, that's life.
Using the sub-query form will remove duplicating BIND statements. Sub-queries
allow applying BIND after FILTER.
As you have seen I have written to the WG. From a user's perspective, I believe
{
[Anything]
BIND (... AS ?x)
}
should be equivalent to
{
SELECT (... AS ?x)
WHERE {
[Anything]
}
}
But let's see what comes out of the WG mailing list discussion.
Thanks
Holger
And yes, optimizing the FILTER placement would be great and would
remove some of the pain and allow query authors to improve query
performance.
I've raised JENA-293 to track this optimization. Please submit a patch.
https://issues.apache.org/jira/browse/JENA-293
Thanks, Holger
Andy