Class VarUsageAnalyzer2Visitor

java.lang.Object
org.apache.jena.sparql.algebra.OpVisitorBase
org.aksw.jena_sparql_api.algebra.analysis.VarUsageAnalyzer2Visitor
All Implemented Interfaces:
org.apache.jena.sparql.algebra.OpVisitor

public class VarUsageAnalyzer2Visitor extends org.apache.jena.sparql.algebra.OpVisitorBase
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected Map<org.apache.jena.sparql.algebra.Op,VarUsage2>
    Tree structure over the algebra expression - allows traversal to parent nodes.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    allocate(org.apache.jena.sparql.algebra.Op op)
     
    static Map<org.apache.jena.sparql.algebra.Op,VarUsage2>
    analyze(org.apache.jena.sparql.algebra.Op op)
     
    static Map<org.apache.jena.sparql.algebra.Op,VarUsage2>
    analyze(org.apache.jena.sparql.algebra.Op op, VarUsageAnalyzer2Visitor varUsageAnalyzer)
     
    Map<org.apache.jena.sparql.algebra.Op,VarUsage2>
     
    static void
    markEssential(Map<org.apache.jena.sparql.algebra.Op,VarUsage2> opToVarUsage, org.apache.jena.sparql.algebra.Op op, Set<org.apache.jena.sparql.core.Var> vars)
    Marks variables as essential If variables were created through assignment, the dependent variables are marked as essential as well.
    void
    markEssential(org.apache.jena.sparql.algebra.Op op, Set<org.apache.jena.sparql.core.Var> vars)
    Descend into to op-tree and mark all non-required supplied variables as non-required
    void
    processDistinct(org.apache.jena.sparql.algebra.Op op, org.apache.jena.sparql.algebra.Op subOp)
    Descend into the sub tree and mark
    void
    processExpr(org.apache.jena.sparql.algebra.Op op, org.apache.jena.sparql.expr.Expr expr)
     
    void
    processExprs(org.apache.jena.sparql.algebra.Op op, org.apache.jena.sparql.expr.ExprList exprs)
     
    void
    processExtend(org.apache.jena.sparql.algebra.Op op, org.apache.jena.sparql.algebra.Op subOp, org.apache.jena.sparql.core.VarExprList vel)
     
    void
    processJoin(org.apache.jena.sparql.algebra.Op op, Collection<org.apache.jena.sparql.algebra.Op> subOps)
     
    void
    processUnion(org.apache.jena.sparql.algebra.Op op, List<org.apache.jena.sparql.algebra.Op> subOps)
     
    void
    pushDownDistinct(org.apache.jena.sparql.algebra.Op op)
     
    void
    reuseVisibleVars(VarUsage2 target, org.apache.jena.sparql.algebra.Op subOp)
     
    void
    visit(org.apache.jena.sparql.algebra.op.OpAssign op)
     
    void
    visit(org.apache.jena.sparql.algebra.op.OpDisjunction op)
     
    void
    visit(org.apache.jena.sparql.algebra.op.OpDistinct op)
     
    void
    visit(org.apache.jena.sparql.algebra.op.OpExt opExt)
     
    void
    visit(org.apache.jena.sparql.algebra.op.OpExtend op)
     
    void
    visit(org.apache.jena.sparql.algebra.op.OpFilter op)
     
    void
    visit(org.apache.jena.sparql.algebra.op.OpGroup op)
     
    void
    visit(org.apache.jena.sparql.algebra.op.OpJoin op)
     
    void
    visit(org.apache.jena.sparql.algebra.op.OpLeftJoin op)
     
    void
    visit(org.apache.jena.sparql.algebra.op.OpOrder op)
     
    void
    visit(org.apache.jena.sparql.algebra.op.OpProject op)
     
    void
    visit(org.apache.jena.sparql.algebra.op.OpQuadPattern op)
     
    void
    visit(org.apache.jena.sparql.algebra.op.OpReduced op)
     
    void
    visit(org.apache.jena.sparql.algebra.op.OpSequence op)
     
    void
    visit(org.apache.jena.sparql.algebra.op.OpUnion op)
     

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

    visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit

    Methods inherited from class java.lang.Object

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

    • opToVarUsage

      protected Map<org.apache.jena.sparql.algebra.Op,VarUsage2> opToVarUsage
      Tree structure over the algebra expression - allows traversal to parent nodes. (internally uses an IdentityHashMap to discriminate between equal sub-trees)
  • Constructor Details

    • VarUsageAnalyzer2Visitor

      public VarUsageAnalyzer2Visitor()
  • Method Details

    • getResult

      public Map<org.apache.jena.sparql.algebra.Op,VarUsage2> getResult()
    • processExprs

      public void processExprs(org.apache.jena.sparql.algebra.Op op, org.apache.jena.sparql.expr.ExprList exprs)
    • processExpr

      public void processExpr(org.apache.jena.sparql.algebra.Op op, org.apache.jena.sparql.expr.Expr expr)
    • processJoin

      public void processJoin(org.apache.jena.sparql.algebra.Op op, Collection<org.apache.jena.sparql.algebra.Op> subOps)
    • pushDownDistinct

      public void pushDownDistinct(org.apache.jena.sparql.algebra.Op op)
    • processDistinct

      public void processDistinct(org.apache.jena.sparql.algebra.Op op, org.apache.jena.sparql.algebra.Op subOp)
      Descend into the sub tree and mark
    • visit

      public void visit(org.apache.jena.sparql.algebra.op.OpJoin op)
      Specified by:
      visit in interface org.apache.jena.sparql.algebra.OpVisitor
      Overrides:
      visit in class org.apache.jena.sparql.algebra.OpVisitorBase
    • visit

      public void visit(org.apache.jena.sparql.algebra.op.OpLeftJoin op)
      Specified by:
      visit in interface org.apache.jena.sparql.algebra.OpVisitor
      Overrides:
      visit in class org.apache.jena.sparql.algebra.OpVisitorBase
    • visit

      public void visit(org.apache.jena.sparql.algebra.op.OpSequence op)
      Specified by:
      visit in interface org.apache.jena.sparql.algebra.OpVisitor
      Overrides:
      visit in class org.apache.jena.sparql.algebra.OpVisitorBase
    • processUnion

      public void processUnion(org.apache.jena.sparql.algebra.Op op, List<org.apache.jena.sparql.algebra.Op> subOps)
    • visit

      public void visit(org.apache.jena.sparql.algebra.op.OpDisjunction op)
      Specified by:
      visit in interface org.apache.jena.sparql.algebra.OpVisitor
      Overrides:
      visit in class org.apache.jena.sparql.algebra.OpVisitorBase
    • visit

      public void visit(org.apache.jena.sparql.algebra.op.OpUnion op)
      Specified by:
      visit in interface org.apache.jena.sparql.algebra.OpVisitor
      Overrides:
      visit in class org.apache.jena.sparql.algebra.OpVisitorBase
    • visit

      public void visit(org.apache.jena.sparql.algebra.op.OpGroup op)
      Specified by:
      visit in interface org.apache.jena.sparql.algebra.OpVisitor
      Overrides:
      visit in class org.apache.jena.sparql.algebra.OpVisitorBase
    • visit

      public void visit(org.apache.jena.sparql.algebra.op.OpExtend op)
      Specified by:
      visit in interface org.apache.jena.sparql.algebra.OpVisitor
      Overrides:
      visit in class org.apache.jena.sparql.algebra.OpVisitorBase
    • visit

      public void visit(org.apache.jena.sparql.algebra.op.OpExt opExt)
    • visit

      public void visit(org.apache.jena.sparql.algebra.op.OpAssign op)
      Specified by:
      visit in interface org.apache.jena.sparql.algebra.OpVisitor
      Overrides:
      visit in class org.apache.jena.sparql.algebra.OpVisitorBase
    • visit

      public void visit(org.apache.jena.sparql.algebra.op.OpOrder op)
      Specified by:
      visit in interface org.apache.jena.sparql.algebra.OpVisitor
      Overrides:
      visit in class org.apache.jena.sparql.algebra.OpVisitorBase
    • processExtend

      public void processExtend(org.apache.jena.sparql.algebra.Op op, org.apache.jena.sparql.algebra.Op subOp, org.apache.jena.sparql.core.VarExprList vel)
    • reuseVisibleVars

      public void reuseVisibleVars(VarUsage2 target, org.apache.jena.sparql.algebra.Op subOp)
    • visit

      public void visit(org.apache.jena.sparql.algebra.op.OpFilter op)
      Specified by:
      visit in interface org.apache.jena.sparql.algebra.OpVisitor
      Overrides:
      visit in class org.apache.jena.sparql.algebra.OpVisitorBase
    • visit

      public void visit(org.apache.jena.sparql.algebra.op.OpDistinct op)
      Specified by:
      visit in interface org.apache.jena.sparql.algebra.OpVisitor
      Overrides:
      visit in class org.apache.jena.sparql.algebra.OpVisitorBase
    • visit

      public void visit(org.apache.jena.sparql.algebra.op.OpReduced op)
      Specified by:
      visit in interface org.apache.jena.sparql.algebra.OpVisitor
      Overrides:
      visit in class org.apache.jena.sparql.algebra.OpVisitorBase
    • markEssential

      public void markEssential(org.apache.jena.sparql.algebra.Op op, Set<org.apache.jena.sparql.core.Var> vars)
      Descend into to op-tree and mark all non-required supplied variables as non-required
      Parameters:
      op -
      clearVars -
    • markEssential

      public static void markEssential(Map<org.apache.jena.sparql.algebra.Op,VarUsage2> opToVarUsage, org.apache.jena.sparql.algebra.Op op, Set<org.apache.jena.sparql.core.Var> vars)
      Marks variables as essential If variables were created through assignment, the dependent variables are marked as essential as well.
      Parameters:
      op -
      vars -
    • allocate

      public VarUsage2 allocate(org.apache.jena.sparql.algebra.Op op)
    • visit

      public void visit(org.apache.jena.sparql.algebra.op.OpProject op)
      Specified by:
      visit in interface org.apache.jena.sparql.algebra.OpVisitor
      Overrides:
      visit in class org.apache.jena.sparql.algebra.OpVisitorBase
    • visit

      public void visit(org.apache.jena.sparql.algebra.op.OpQuadPattern op)
      Specified by:
      visit in interface org.apache.jena.sparql.algebra.OpVisitor
      Overrides:
      visit in class org.apache.jena.sparql.algebra.OpVisitorBase
    • analyze

      public static Map<org.apache.jena.sparql.algebra.Op,VarUsage2> analyze(org.apache.jena.sparql.algebra.Op op)
    • analyze

      public static Map<org.apache.jena.sparql.algebra.Op,VarUsage2> analyze(org.apache.jena.sparql.algebra.Op op, VarUsageAnalyzer2Visitor varUsageAnalyzer)