[
https://issues.apache.org/jira/browse/JENA-384?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andy Seaborne updated JENA-384:
-------------------------------
Description:
substitution is normally done after optimization so that it preserves the
semantics in case of complex optional situations.
The equality filter optimization eliminates code that can't generate a solution
(the variable is unbound in the subexpression)
This can be unexpected but it's neither clearly right or clearly wrong. The
semantics of initial binding need clarifying;
either
pure substitution semantics, with the substitution applied before
optimization
or
VALUES semantics (join with a data table) in which case elimination of
redundant pattern matching is correct.
In the example, it's only an issue with URIs (reason?) but the general point
remains.
was:
substitution is normally done after optimization so that it preserves the
semantics in case of complex optional situations.
But the equality filter optimization eliminates code that can't generate a
solution (the variable is unbound in the subexpression.
This can be unexpected but it's neither clearly right or clearly wrong. The
semantics of initial binding need clarifying;
either pure substitution semantics, with the substitution applied before
optimization
or VALUES semantics (join with a data table) in which case elimination of
redundant pattern matching is correct.
In the example, it's only an issue with URIs (reason?) but the general point
remains.
> Interaction of optimization (TransformFilterEquality) and initial binding
> -------------------------------------------------------------------------
>
> Key: JENA-384
> URL: https://issues.apache.org/jira/browse/JENA-384
> Project: Apache Jena
> Issue Type: Bug
> Affects Versions: ARQ 2.9.4, Jena 2.10.0
> Reporter: Andy Seaborne
> Labels: ARQ
> Attachments: ReportSubstitueOptimize.java
>
>
> substitution is normally done after optimization so that it preserves the
> semantics in case of complex optional situations.
> The equality filter optimization eliminates code that can't generate a
> solution (the variable is unbound in the subexpression)
> This can be unexpected but it's neither clearly right or clearly wrong. The
> semantics of initial binding need clarifying;
> either
> pure substitution semantics, with the substitution applied before
> optimization
> or
> VALUES semantics (join with a data table) in which case elimination of
> redundant pattern matching is correct.
> In the example, it's only an issue with URIs (reason?) but the general point
> remains.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira