Class TransformFilterPlacement

java.lang.Object
org.apache.jena.sparql.algebra.TransformCopy
org.apache.jena.sparql.algebra.optimize.TransformFilterPlacement
All Implemented Interfaces:
Transform

public class TransformFilterPlacement extends TransformCopy
Rewrite an algebra expression to put filters as close to their bound variables.

Process BGP (whether triples or quads) is left as a separate step (but after this transform) because it can desirable to reorder the BGP before placing filters, or afterwards.

  • Constructor Details

    • TransformFilterPlacement

      public TransformFilterPlacement()
    • TransformFilterPlacement

      public TransformFilterPlacement(boolean includeBGPs)
  • Method Details

    • transform

      public static Op transform(ExprList exprs, BasicPattern bgp)
      Apply filter placement to a BGP
    • transform

      public static Op transform(ExprList exprs, org.apache.jena.graph.Node graphNode, BasicPattern bgp)
      Apply filter placement to a named graph BGP
    • filterPlacement$

      public static TransformFilterPlacement.Placement filterPlacement$(ExprList exprs, Op op)
      Operation exposes the filter placement mechanism so that investigation of filter placement issues can be done from outside this class. Do not use in application code : subject to removal or change at any time.
    • transform

      public Op transform(OpFilter opFilter, Op x)
      Specified by:
      transform in interface Transform
      Overrides:
      transform in class TransformCopy