Class TransformPullExtend

java.lang.Object
org.apache.jena.sparql.algebra.TransformCopy
org.apache.jena.sparql.algebra.optimize.TransformExtendCombine
org.aksw.jena_sparql_api.algebra.transform.TransformPullExtend
All Implemented Interfaces:
org.apache.jena.sparql.algebra.Transform

public class TransformPullExtend extends org.apache.jena.sparql.algebra.optimize.TransformExtendCombine
Pulls up Extend over joins and distinct join(extend(?foo...), extend(?bar...)) becomes extend(?foo... ?bar..., join(...)) If for example the resulting join is between two BGPs, it allows for nicely merging them afterwards. In conjunction with TransformPullFiltersIfCanMergeBGPs this is even more powerful. Also merges OpProject(OpProject(op, varsInner), varsOuter) into OpProject(op, intersection(varsInner, varsOuter))
Author:
raven
  • Field Summary

    Fields inherited from class org.apache.jena.sparql.algebra.TransformCopy

    COPY_ALWAYS, COPY_ONLY_ON_CHANGE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    main(String[] args)
     
    static org.apache.jena.sparql.algebra.Op
    transform(org.apache.jena.sparql.algebra.Op op)
     
    org.apache.jena.sparql.algebra.Op
    transform(org.apache.jena.sparql.algebra.op.OpDisjunction opDisjunction, List<org.apache.jena.sparql.algebra.Op> elts)
     
    org.apache.jena.sparql.algebra.Op
    transform(org.apache.jena.sparql.algebra.op.OpDistinct op, org.apache.jena.sparql.algebra.Op subOp)
     
    org.apache.jena.sparql.algebra.Op
    transform(org.apache.jena.sparql.algebra.op.OpFilter opFilter, org.apache.jena.sparql.algebra.Op subOp)
     
    org.apache.jena.sparql.algebra.Op
    transform(org.apache.jena.sparql.algebra.op.OpJoin opJoin, org.apache.jena.sparql.algebra.Op left, org.apache.jena.sparql.algebra.Op right)
     
    org.apache.jena.sparql.algebra.Op
    transform(org.apache.jena.sparql.algebra.op.OpLateral op, org.apache.jena.sparql.algebra.Op left, org.apache.jena.sparql.algebra.Op right)
     
    org.apache.jena.sparql.algebra.Op
    transform(org.apache.jena.sparql.algebra.op.OpProject opProject, org.apache.jena.sparql.algebra.Op subOp)
     
    org.apache.jena.sparql.algebra.Op
    transform(org.apache.jena.sparql.algebra.op.OpSlice op, org.apache.jena.sparql.algebra.Op subOp)
     
    org.apache.jena.sparql.algebra.Op
    transform(org.apache.jena.sparql.algebra.op.OpUnion opUnion, org.apache.jena.sparql.algebra.Op left, org.apache.jena.sparql.algebra.Op right)
     
    org.apache.jena.sparql.algebra.Op
    transformDisjunction(List<org.apache.jena.sparql.algebra.Op> subOps, Function<List<org.apache.jena.sparql.algebra.Op>,org.apache.jena.sparql.algebra.Op> toUnion)
     

    Methods inherited from class org.apache.jena.sparql.algebra.optimize.TransformExtendCombine

    transform, transform

    Methods inherited from class org.apache.jena.sparql.algebra.TransformCopy

    transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • TransformPullExtend

      public TransformPullExtend()
  • Method Details

    • transform

      public static org.apache.jena.sparql.algebra.Op transform(org.apache.jena.sparql.algebra.Op op)
    • transform

      public org.apache.jena.sparql.algebra.Op transform(org.apache.jena.sparql.algebra.op.OpDisjunction opDisjunction, List<org.apache.jena.sparql.algebra.Op> elts)
      Specified by:
      transform in interface org.apache.jena.sparql.algebra.Transform
      Overrides:
      transform in class org.apache.jena.sparql.algebra.TransformCopy
    • transform

      public org.apache.jena.sparql.algebra.Op transform(org.apache.jena.sparql.algebra.op.OpUnion opUnion, org.apache.jena.sparql.algebra.Op left, org.apache.jena.sparql.algebra.Op right)
      Specified by:
      transform in interface org.apache.jena.sparql.algebra.Transform
      Overrides:
      transform in class org.apache.jena.sparql.algebra.TransformCopy
    • transform

      public org.apache.jena.sparql.algebra.Op transform(org.apache.jena.sparql.algebra.op.OpProject opProject, org.apache.jena.sparql.algebra.Op subOp)
      Specified by:
      transform in interface org.apache.jena.sparql.algebra.Transform
      Overrides:
      transform in class org.apache.jena.sparql.algebra.TransformCopy
    • transformDisjunction

      public org.apache.jena.sparql.algebra.Op transformDisjunction(List<org.apache.jena.sparql.algebra.Op> subOps, Function<List<org.apache.jena.sparql.algebra.Op>,org.apache.jena.sparql.algebra.Op> toUnion)
    • transform

      public org.apache.jena.sparql.algebra.Op transform(org.apache.jena.sparql.algebra.op.OpLateral op, org.apache.jena.sparql.algebra.Op left, org.apache.jena.sparql.algebra.Op right)
      Specified by:
      transform in interface org.apache.jena.sparql.algebra.Transform
      Overrides:
      transform in class org.apache.jena.sparql.algebra.TransformCopy
    • transform

      public org.apache.jena.sparql.algebra.Op transform(org.apache.jena.sparql.algebra.op.OpSlice op, org.apache.jena.sparql.algebra.Op subOp)
      Specified by:
      transform in interface org.apache.jena.sparql.algebra.Transform
      Overrides:
      transform in class org.apache.jena.sparql.algebra.TransformCopy
    • transform

      public org.apache.jena.sparql.algebra.Op transform(org.apache.jena.sparql.algebra.op.OpDistinct op, org.apache.jena.sparql.algebra.Op subOp)
      Specified by:
      transform in interface org.apache.jena.sparql.algebra.Transform
      Overrides:
      transform in class org.apache.jena.sparql.algebra.TransformCopy
    • transform

      public org.apache.jena.sparql.algebra.Op transform(org.apache.jena.sparql.algebra.op.OpFilter opFilter, org.apache.jena.sparql.algebra.Op subOp)
      Specified by:
      transform in interface org.apache.jena.sparql.algebra.Transform
      Overrides:
      transform in class org.apache.jena.sparql.algebra.TransformCopy
    • transform

      public org.apache.jena.sparql.algebra.Op transform(org.apache.jena.sparql.algebra.op.OpJoin opJoin, org.apache.jena.sparql.algebra.Op left, org.apache.jena.sparql.algebra.Op right)
      Specified by:
      transform in interface org.apache.jena.sparql.algebra.Transform
      Overrides:
      transform in class org.apache.jena.sparql.algebra.TransformCopy
    • main

      public static void main(String[] args)