Class VarUsageAnalyzerVisitor
java.lang.Object
org.apache.jena.sparql.algebra.OpVisitorBase
org.aksw.jena_sparql_api.algebra.analysis.VarUsageAnalyzerVisitor
- All Implemented Interfaces:
org.apache.jena.sparql.algebra.OpVisitor
public class VarUsageAnalyzerVisitor
extends org.apache.jena.sparql.algebra.OpVisitorBase
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Set<org.apache.jena.sparql.core.Var>Variables visible at the current nodeprotected org.apache.jena.sparql.algebra.OpThe node for which the current information holds.protected Set<org.apache.jena.sparql.core.Var>protected Set<org.apache.jena.sparql.core.Var>Variables of the current node that are referenced either in expressions (e.g.protected org.aksw.commons.collections.trees.Tree<org.apache.jena.sparql.algebra.Op>Tree structure over the algebra expression - allows traversal to parent nodes.protected com.google.common.collect.Multimap<org.apache.jena.sparql.core.Var,org.apache.jena.sparql.core.Var> Map for tracking assignments, i.e. -
Constructor Summary
ConstructorsConstructorDescriptionVarUsageAnalyzerVisitor(org.aksw.commons.collections.trees.Tree<org.apache.jena.sparql.algebra.Op> tree, org.apache.jena.sparql.algebra.Op current) VarUsageAnalyzerVisitor(org.aksw.commons.collections.trees.Tree<org.apache.jena.sparql.algebra.Op> tree, org.apache.jena.sparql.algebra.Op current, Set<org.apache.jena.sparql.core.Var> availableVars) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidprocessExpr(org.apache.jena.sparql.expr.Expr expr) voidprocessExprs(org.apache.jena.sparql.expr.ExprList exprs) voidprocessExtend(org.apache.jena.sparql.core.VarExprList vel) voidprocessJoin(Collection<org.apache.jena.sparql.algebra.Op> children) voidsetCurrent(org.apache.jena.sparql.algebra.Op current) voidvisit(org.apache.jena.sparql.algebra.op.OpAssign op) voidvisit(org.apache.jena.sparql.algebra.op.OpDistinct op) voidvisit(org.apache.jena.sparql.algebra.op.OpExtend op) voidvisit(org.apache.jena.sparql.algebra.op.OpFilter op) voidvisit(org.apache.jena.sparql.algebra.op.OpGroup op) voidvisit(org.apache.jena.sparql.algebra.op.OpJoin op) voidvisit(org.apache.jena.sparql.algebra.op.OpLeftJoin op) voidvisit(org.apache.jena.sparql.algebra.op.OpOrder op) voidvisit(org.apache.jena.sparql.algebra.op.OpProject op) voidvisit(org.apache.jena.sparql.algebra.op.OpReduced op) voidvisit(org.apache.jena.sparql.algebra.op.OpSequence 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, visit, visit, visitMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.jena.sparql.algebra.OpVisitor
visit
-
Field Details
-
tree
protected org.aksw.commons.collections.trees.Tree<org.apache.jena.sparql.algebra.Op> treeTree structure over the algebra expression - allows traversal to parent nodes. (internally uses an IdentityHashMap to discriminate between equal sub-trees) -
current
protected org.apache.jena.sparql.algebra.Op currentThe node for which the current information holds. For correct functioning, the next visited node must be the current node's parent. -
availableVars
Variables visible at the current node -
referencedVars
Variables of the current node that are referenced either in expressions (e.g. filters) or needed for joins -
nonUnique
-
varDeps
protected com.google.common.collect.Multimap<org.apache.jena.sparql.core.Var,org.apache.jena.sparql.core.Var> varDepsMap for tracking assignments, i.e. which variables are required to compute the value of another variable. Newly introduced variables (such as by graph patterns) depend on themselves. -
uniqueSets
-
-
Constructor Details
-
VarUsageAnalyzerVisitor
public VarUsageAnalyzerVisitor(org.aksw.commons.collections.trees.Tree<org.apache.jena.sparql.algebra.Op> tree, org.apache.jena.sparql.algebra.Op current) -
VarUsageAnalyzerVisitor
public VarUsageAnalyzerVisitor(org.aksw.commons.collections.trees.Tree<org.apache.jena.sparql.algebra.Op> tree, org.apache.jena.sparql.algebra.Op current, Set<org.apache.jena.sparql.core.Var> availableVars)
-
-
Method Details
-
getResult
-
setCurrent
public void setCurrent(org.apache.jena.sparql.algebra.Op current) -
processExtend
public void processExtend(org.apache.jena.sparql.core.VarExprList vel) -
processExprs
public void processExprs(org.apache.jena.sparql.expr.ExprList exprs) -
processExpr
public void processExpr(org.apache.jena.sparql.expr.Expr expr) -
processJoin
-
processDistinct
public void processDistinct() -
visit
public void visit(org.apache.jena.sparql.algebra.op.OpProject op) - Specified by:
visitin interfaceorg.apache.jena.sparql.algebra.OpVisitor- Overrides:
visitin classorg.apache.jena.sparql.algebra.OpVisitorBase
-
visit
public void visit(org.apache.jena.sparql.algebra.op.OpJoin op) - Specified by:
visitin interfaceorg.apache.jena.sparql.algebra.OpVisitor- Overrides:
visitin classorg.apache.jena.sparql.algebra.OpVisitorBase
-
visit
public void visit(org.apache.jena.sparql.algebra.op.OpLeftJoin op) - Specified by:
visitin interfaceorg.apache.jena.sparql.algebra.OpVisitor- Overrides:
visitin classorg.apache.jena.sparql.algebra.OpVisitorBase
-
visit
public void visit(org.apache.jena.sparql.algebra.op.OpSequence op) - Specified by:
visitin interfaceorg.apache.jena.sparql.algebra.OpVisitor- Overrides:
visitin classorg.apache.jena.sparql.algebra.OpVisitorBase
-
visit
public void visit(org.apache.jena.sparql.algebra.op.OpFilter op) - Specified by:
visitin interfaceorg.apache.jena.sparql.algebra.OpVisitor- Overrides:
visitin classorg.apache.jena.sparql.algebra.OpVisitorBase
-
visit
public void visit(org.apache.jena.sparql.algebra.op.OpGroup op) - Specified by:
visitin interfaceorg.apache.jena.sparql.algebra.OpVisitor- Overrides:
visitin classorg.apache.jena.sparql.algebra.OpVisitorBase
-
visit
public void visit(org.apache.jena.sparql.algebra.op.OpExtend op) - Specified by:
visitin interfaceorg.apache.jena.sparql.algebra.OpVisitor- Overrides:
visitin classorg.apache.jena.sparql.algebra.OpVisitorBase
-
visit
public void visit(org.apache.jena.sparql.algebra.op.OpAssign op) - Specified by:
visitin interfaceorg.apache.jena.sparql.algebra.OpVisitor- Overrides:
visitin classorg.apache.jena.sparql.algebra.OpVisitorBase
-
visit
public void visit(org.apache.jena.sparql.algebra.op.OpOrder op) - Specified by:
visitin interfaceorg.apache.jena.sparql.algebra.OpVisitor- Overrides:
visitin classorg.apache.jena.sparql.algebra.OpVisitorBase
-
visit
public void visit(org.apache.jena.sparql.algebra.op.OpDistinct op) - Specified by:
visitin interfaceorg.apache.jena.sparql.algebra.OpVisitor- Overrides:
visitin classorg.apache.jena.sparql.algebra.OpVisitorBase
-
visit
public void visit(org.apache.jena.sparql.algebra.op.OpReduced op) - Specified by:
visitin interfaceorg.apache.jena.sparql.algebra.OpVisitor- Overrides:
visitin classorg.apache.jena.sparql.algebra.OpVisitorBase
-