Class TransformEvalTable

java.lang.Object
org.apache.jena.sparql.algebra.TransformCopy
org.aksw.jenax.arq.util.query.TransformCopyAdapter
org.aksw.jena_sparql_api.algebra.transform.TransformEvalTable
All Implemented Interfaces:
org.apache.jena.sparql.algebra.Transform

public class TransformEvalTable extends org.aksw.jenax.arq.util.query.TransformCopyAdapter
A transformer that evaluates every op whose sub ops are all OpTable instances to another OpTable instance. Note, that this mechanism materializes every intermediate result as a table. A more efficient approach may be to evaluate sub-expressions of an op using an OpExecutor and substituting the roots of these sub-expressions in op with the obtained results.
Author:
raven
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.aksw.jenax.arq.util.query.TransformCopyAdapter

    org.aksw.jenax.arq.util.query.TransformCopyAdapter.TriFunction<A,B,C,R>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.apache.jena.sparql.engine.ExecutionContext
     
    protected org.apache.jena.sparql.engine.main.OpExecutor
     

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

    COPY_ALWAYS, COPY_ONLY_ON_CHANGE
  • Constructor Summary

    Constructors
    Constructor
    Description
    TransformEvalTable(org.apache.jena.sparql.engine.main.OpExecutor opExecutor, org.apache.jena.sparql.engine.ExecutionContext execCxt)
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    static org.apache.jena.sparql.engine.ExecutionContext
    createExecCxt(org.apache.jena.sparql.engine.main.OpExecutorFactory opExecutorFactory)
     
    org.apache.jena.sparql.algebra.op.OpTable
    exec(org.apache.jena.sparql.algebra.Op op)
     
    protected <OP1 extends org.apache.jena.sparql.algebra.op.Op1>
    org.apache.jena.sparql.algebra.Op
    transformOp1(OP1 op, org.apache.jena.sparql.algebra.Op subOp, BiFunction<? super OP1,? super org.apache.jena.sparql.algebra.Op,? extends org.apache.jena.sparql.algebra.Op> fallback)
     
    protected <OP2 extends org.apache.jena.sparql.algebra.op.Op2>
    org.apache.jena.sparql.algebra.Op
    transformOp2(OP2 op, org.apache.jena.sparql.algebra.Op left, org.apache.jena.sparql.algebra.Op right, org.aksw.jenax.arq.util.query.TransformCopyAdapter.TriFunction<? super OP2,? super org.apache.jena.sparql.algebra.Op,? super org.apache.jena.sparql.algebra.Op,? extends org.apache.jena.sparql.algebra.Op> fallback)
     
    protected <OPN extends org.apache.jena.sparql.algebra.op.OpN>
    org.apache.jena.sparql.algebra.Op
    transformOpN(OPN op, List<org.apache.jena.sparql.algebra.Op> subOps, BiFunction<? super OPN,? super List<org.apache.jena.sparql.algebra.Op>,? extends org.apache.jena.sparql.algebra.Op> fallback)
     

    Methods inherited from class org.aksw.jenax.arq.util.query.TransformCopyAdapter

    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, transform, transformOp0, transformOpExt

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

    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
  • Field Details

    • opExecutor

      protected org.apache.jena.sparql.engine.main.OpExecutor opExecutor
    • execCxt

      protected org.apache.jena.sparql.engine.ExecutionContext execCxt
  • Constructor Details

    • TransformEvalTable

      public TransformEvalTable(org.apache.jena.sparql.engine.main.OpExecutor opExecutor, org.apache.jena.sparql.engine.ExecutionContext execCxt)
  • Method Details

    • create

      public static TransformEvalTable create()
    • createExecCxt

      public static org.apache.jena.sparql.engine.ExecutionContext createExecCxt(org.apache.jena.sparql.engine.main.OpExecutorFactory opExecutorFactory)
    • exec

      public org.apache.jena.sparql.algebra.op.OpTable exec(org.apache.jena.sparql.algebra.Op op)
    • transformOpN

      protected <OPN extends org.apache.jena.sparql.algebra.op.OpN> org.apache.jena.sparql.algebra.Op transformOpN(OPN op, List<org.apache.jena.sparql.algebra.Op> subOps, BiFunction<? super OPN,? super List<org.apache.jena.sparql.algebra.Op>,? extends org.apache.jena.sparql.algebra.Op> fallback)
      Overrides:
      transformOpN in class org.aksw.jenax.arq.util.query.TransformCopyAdapter
    • transformOp2

      protected <OP2 extends org.apache.jena.sparql.algebra.op.Op2> org.apache.jena.sparql.algebra.Op transformOp2(OP2 op, org.apache.jena.sparql.algebra.Op left, org.apache.jena.sparql.algebra.Op right, org.aksw.jenax.arq.util.query.TransformCopyAdapter.TriFunction<? super OP2,? super org.apache.jena.sparql.algebra.Op,? super org.apache.jena.sparql.algebra.Op,? extends org.apache.jena.sparql.algebra.Op> fallback)
      Overrides:
      transformOp2 in class org.aksw.jenax.arq.util.query.TransformCopyAdapter
    • transformOp1

      protected <OP1 extends org.apache.jena.sparql.algebra.op.Op1> org.apache.jena.sparql.algebra.Op transformOp1(OP1 op, org.apache.jena.sparql.algebra.Op subOp, BiFunction<? super OP1,? super org.apache.jena.sparql.algebra.Op,? extends org.apache.jena.sparql.algebra.Op> fallback)
      Overrides:
      transformOp1 in class org.aksw.jenax.arq.util.query.TransformCopyAdapter