[ 
https://issues.apache.org/jira/browse/JENA-1148?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15169008#comment-15169008
 ] 

Rob Vesse commented on JENA-1148:
---------------------------------

The optimization looks correct to me.  The {{OPTIONAL}} block will always be 
zero solutions because the {{FULTER}} will always evaluate to {{false}}, the 
presence of {{BIND}} is irrelevant because extending zero solutions is still 
zero solutions

It is not clear what answer you were expecting to get, is this based on some 
real query that you believe gets incorrect results? In which case a more 
complete example including sample dat to run against would be useful

> TransformFilterEquality incorrectly eliminates some optionals
> -------------------------------------------------------------
>
>                 Key: JENA-1148
>                 URL: https://issues.apache.org/jira/browse/JENA-1148
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: ARQ
>            Reporter: Eetu Mäkelä
>
> For a query of the form:
> {code}
> SELECT * {
>   ?s ?p ?o
>   OPTIONAL {
>     FILTER(?o=<urn:x1>)
>     BIND(true AS ?b)
>   }
> }
> {code}
> ARQ optimization incorrectly eliminates the whole OPTIONAL when the variable 
> filtered on does not appear elsewhere inside the OPTIONAL block . This is 
> because of the special case check called on [line 120 of 
> TransformFilterEquality.java|https://git-wip-us.apache.org/repos/asf?p=jena.git;a=blob;f=jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterEquality.java;h=38ba84019ba3b446afd8106128c517913a7ef73e;hb=6908fb7b7a500a70edb314b4830a18ed02a6b0f8#l120],
>  which sees that ?o is not used inside the block of the filter and thus (in 
> this case incorrectly) deduces that it could never be <urn:x1>.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to