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 2022/02/09 10:31:00 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=17489435#comment-17489435 ] 

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

The new (2022) SPARQL APIs introduce \{{substitution}} to replace initial bindings. \{{substitution}} is syntactic replacement of variables by values (points 1 & 2 above) and happens before query execution planning. It also applies uniformly to local and remote whereas initial binding is a local-only and fragile mechanism.

 

> 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
>          Components: ARQ, Optimizer
>    Affects Versions: ARQ 2.9.4, Jena 2.10.0
>            Reporter: Andy Seaborne
>            Priority: Major
>         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 was sent by Atlassian Jira
(v8.20.1#820001)