[
https://issues.apache.org/jira/browse/JENA-1877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17076371#comment-17076371
]
Jeremy Coulon edited comment on JENA-1877 at 4/6/20, 2:37 PM:
--------------------------------------------------------------
Thanks for the detailed explanations.
It is really hard to say how much our custom engine covers (about 60% of the
official test suite). Most op are only partially supported (even BGP). We have
a very pragmatic approach and don't support weird queries until one of our
client really needs high performance for such query. If performance are not
critical, we fallback to Jena in order to execute the query and give accurate
results. Thanks.
was (Author: jeremy.coulon):
Thanks for the detailed explanations.
It is really hard to say how much our custom engine covers. Most op are only
partially supported (even BGP). We have a very pragmatic approach and don't
support weird queries until one of our client really needs high performance for
such query. If performance are not critical, we fallback to Jena in order to
execute the query and give accurate results. Thanks.
> Wrong results for non-optimized query
> -------------------------------------
>
> Key: JENA-1877
> URL: https://issues.apache.org/jira/browse/JENA-1877
> Project: Apache Jena
> Issue Type: Bug
> Components: ARQ
> Affects Versions: Jena 3.14.0
> Reporter: Jeremy Coulon
> Priority: Major
> Attachments: bnode01.rq, data.ttl
>
>
> I noticed that the attached query gives correct results with:
> {noformat}
> ./bin/arq --data=data.ttl --query=bnode01.rq --explain --optimize=on
> {noformat}
> while it gives wrong results with:
> {noformat}
> ./bin/arq --data=data.ttl --query=bnode01.rq --explain
> --optimize=off{noformat}
> Without optimization, ARQ algebra has 2 different 'extend' op with
> 'bnode(?s)' expression.
> With optimization, ARQ algebra merges these ops into a single op 'extend'.
>
> I tried debugging and I think that 'E_BNode.evalSpecial()' takes the same
> 'binding' object for each call in optimized mode but different 'binding'
> objects for non-optimized mode. This function relies on reference-equality.
>
> [^data.ttl]
> [^bnode01.rq]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)