You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Andy Seaborne (JIRA)" <ji...@apache.org> on 2013/04/14 12:22:16 UTC

[jira] [Commented] (JENA-384) Interaction of optimization (TransformFilterEquality) and initial binding

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

Andy Seaborne commented on JENA-384:
------------------------------------

There are (at least) three ways to give initial bindings consistent semantics as pure substitution

1/ Have a step in ARQ doing algebra to rewrite with substitution before giving to a query engine implementation.

2/ Implement initial bindings via SPARQL syntax rewrite of queries to do substitution before optimization.

3/ ParameterizedSparqlString - because the current API is based on Query objects, using ParameterizedSparqlString would involve turning a query into a string, substituting then reparsing.  This may be acceptable as a migration path if we deprecate initial bindings prior to removal.
                
> 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, optimizer
>         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