[ https://issues.apache.org/jira/browse/JENA-1877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17073126#comment-17073126 ]
Andy Seaborne commented on JENA-1877: ------------------------------------- Simple example: {code} SELECT (bnode("A") as ?X) (bnode("A") as ?Y) WHERE { } {code} The same string. The query is the same as: {code} SELECT ?X ?Y WHERE { BIND (bnode("A") as ?X) BIND (bnode("A") as ?Y) } {code} and each {{BIND}} creates a new row when it adds it variable/value binding. > 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)