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 2015/01/31 19:05:34 UTC
[jira] [Updated] (JENA-875) Additional optimization for BIND :
[ https://issues.apache.org/jira/browse/JENA-875?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andy Seaborne updated JENA-875:
-------------------------------
Description:
This is split out from investigation of JENA-874. It is not the cause but was noticed writing the simplified test case.
With {{extend}}, the filter-placement optimization can apply filter expressions directly when the {{extend}} introduces variables.
Currently, the filter-placement optimization only covers expressions pushed inside the {{extend}}.
Example:
Input:
{noformat}
(filter (= ?x 123)
(distinct
(extend ((?x 123))
(bgp (triple ?s ?p ?o)))))
{noformat}
The {{distinct}} is just some operation that is between the {{extend}} and the outer most level.
Otherwise, the difference does not show up.
Current optimization:
{noformat}
(filter (= ?x 123)
(distinct
(extend ((?x 123))
(bgp (triple ?s ?p ?o)))))
{noformat}
The filter is not placed around the {{extend}} but bubbles further up.
With the improved optimization:
{noformat}
(distinct
(filter (= ?x 123)
(extend ((?x 123))
(bgp (triple ?s ?p ?o)))))
{noformat}
The filter is placed around the {{extend}} at the lowest point possible point.
was:
This is split out from investigation of JENA-874. It is not the cause but was noticed writing the simplified test case.
With {{(extend))}, the filter-placement optimization can apply filter expressions directly when the {{(extend)}} introduces variables.
Currently, the filter-placement optimization only covers expressions pushed inside the {{(extend)}}.
Example:
Input:
{noformat}
(filter (= ?x 123)
(distinct
(extend ((?x 123))
(bgp (triple ?s ?p ?o)))))
{noformat}
The {{distinct}} is just some operation that is betwen the {{(extend)}} nad the outer most level.
Otherwise, the difference does not show up.
Current optimization:
{noformat}
(filter (= ?x 123)
(distinct
(extend ((?x 123))
(bgp (triple ?s ?p ?o)))))
{noformat}
The filter is not placed around the {{(extend)}} but bubbles further up.
With the improved optimization:
{noformat}
(distinct
(filter (= ?x 123)
(extend ((?x 123))
(bgp (triple ?s ?p ?o)))))
{noformat}
The filter is placed around the {{(extend)}} at the lowest point possible point.
> Additional optimization for BIND :
> -----------------------------------
>
> Key: JENA-875
> URL: https://issues.apache.org/jira/browse/JENA-875
> Project: Apache Jena
> Issue Type: Bug
> Components: ARQ
> Affects Versions: Jena 2.12.1
> Reporter: Andy Seaborne
> Assignee: Andy Seaborne
> Priority: Minor
> Fix For: Jena 2.12.2
>
>
> This is split out from investigation of JENA-874. It is not the cause but was noticed writing the simplified test case.
> With {{extend}}, the filter-placement optimization can apply filter expressions directly when the {{extend}} introduces variables.
> Currently, the filter-placement optimization only covers expressions pushed inside the {{extend}}.
> Example:
> Input:
> {noformat}
> (filter (= ?x 123)
> (distinct
> (extend ((?x 123))
> (bgp (triple ?s ?p ?o)))))
> {noformat}
> The {{distinct}} is just some operation that is between the {{extend}} and the outer most level.
> Otherwise, the difference does not show up.
> Current optimization:
> {noformat}
> (filter (= ?x 123)
> (distinct
> (extend ((?x 123))
> (bgp (triple ?s ?p ?o)))))
> {noformat}
> The filter is not placed around the {{extend}} but bubbles further up.
> With the improved optimization:
> {noformat}
> (distinct
> (filter (= ?x 123)
> (extend ((?x 123))
> (bgp (triple ?s ?p ?o)))))
> {noformat}
> The filter is placed around the {{extend}} at the lowest point possible point.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)