public class ASTPropertyPathOptimizer extends AbstractJoinGroupOptimizer implements IASTOptimizer
Constructor and Description |
---|
ASTPropertyPathOptimizer() |
Modifier and Type | Method and Description |
---|---|
protected void |
addNegateds(GraphPatternGroup<? extends IGroupMemberNode> group,
ArrayList<ConstantNode> constants,
com.bigdata.rdf.sparql.ast.optimizers.ASTPropertyPathOptimizer.PropertyPathInfo ppInfo,
ArbitraryLengthPathNode alpNode,
PropertyPathNode ppNode) |
protected VarNode |
anonVar(String anon)
Override during testing to give predictable results
|
protected int |
getPositionOfNodeInGroup(PropertyPathNode node,
GraphPatternGroup<? extends IGroupMemberNode> group)
Returns the position in the group.
|
static ConstantNode |
getSimpleIRI(PathNode.PathAlternative pathAlt)
Used during parsing to identify simple triple patterns.
|
static boolean |
isSimpleIRI(PathNode.PathAlternative pathAlt)
Used during parsing to identify simple triple patterns.
|
protected void |
optimize(AST2BOpContext ctx,
StaticAnalysis sa,
GraphPatternGroup<? extends IGroupMemberNode> group,
com.bigdata.rdf.sparql.ast.optimizers.ASTPropertyPathOptimizer.PropertyPathInfo ppInfo,
PathNode.PathAlternative pathAlt,
ArbitraryLengthPathNode alpNode,
Properties queryHints,
PropertyPathNode ppNode)
Optimize a PathAlternative using UNIONs.
|
protected void |
optimize(AST2BOpContext ctx,
StaticAnalysis sa,
GraphPatternGroup<? extends IGroupMemberNode> group,
com.bigdata.rdf.sparql.ast.optimizers.ASTPropertyPathOptimizer.PropertyPathInfo ppInfo,
PathNode.PathElt pathElt,
ArbitraryLengthPathNode alpNode,
Properties queryHints,
PropertyPathNode ppNode)
Optimize a PathElt.
|
protected void |
optimize(AST2BOpContext ctx,
StaticAnalysis sa,
GraphPatternGroup<? extends IGroupMemberNode> group,
com.bigdata.rdf.sparql.ast.optimizers.ASTPropertyPathOptimizer.PropertyPathInfo ppInfo,
PathNode.PathNegatedPropertySet pathNPS,
ArbitraryLengthPathNode alpNode,
PropertyPathNode ppNode)
Optimize a PathNegatedPropertySet.
|
protected void |
optimize(AST2BOpContext ctx,
StaticAnalysis sa,
GraphPatternGroup<? extends IGroupMemberNode> group,
com.bigdata.rdf.sparql.ast.optimizers.ASTPropertyPathOptimizer.PropertyPathInfo ppInfo,
PathNode.PathSequence pathSeq,
ArbitraryLengthPathNode alpNode,
Properties queryHints,
PropertyPathNode ppNode)
Optimize a PathSequence.
|
protected void |
optimize(AST2BOpContext ctx,
StaticAnalysis sa,
GraphPatternGroup<? extends IGroupMemberNode> group,
com.bigdata.rdf.sparql.ast.optimizers.ASTPropertyPathOptimizer.PropertyPathInfo ppInfo,
TermNode termNode,
PropertyPathNode ppNode)
Optimize a TermNode (add a statement pattern to the group).
|
protected void |
optimize(AST2BOpContext ctx,
StaticAnalysis sa,
GraphPatternGroup<? extends IGroupMemberNode> group,
com.bigdata.rdf.sparql.ast.optimizers.ASTPropertyPathOptimizer.PropertyPathInfo ppInfo,
ZeroLengthPathNode zlpNode,
PropertyPathNode ppNode)
Optimize a ZeroLengthPathNode (add it to the group with the left and
right properly set).
|
protected void |
optimize(AST2BOpContext ctx,
StaticAnalysis sa,
JoinGroupNode group,
PropertyPathNode ppNode,
ArbitraryLengthPathNode alpNode)
Optimize a single PropertyPathNode.
|
protected void |
optimizeJoinGroup(AST2BOpContext ctx,
StaticAnalysis sa,
IBindingSet[] bSets,
JoinGroupNode group)
Optimize the join group.
|
optimize
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
optimize
protected void optimizeJoinGroup(AST2BOpContext ctx, StaticAnalysis sa, IBindingSet[] bSets, JoinGroupNode group)
optimizeJoinGroup
in class AbstractJoinGroupOptimizer
protected void optimize(AST2BOpContext ctx, StaticAnalysis sa, JoinGroupNode group, PropertyPathNode ppNode, ArbitraryLengthPathNode alpNode)
protected void optimize(AST2BOpContext ctx, StaticAnalysis sa, GraphPatternGroup<? extends IGroupMemberNode> group, com.bigdata.rdf.sparql.ast.optimizers.ASTPropertyPathOptimizer.PropertyPathInfo ppInfo, PathNode.PathAlternative pathAlt, ArbitraryLengthPathNode alpNode, Properties queryHints, PropertyPathNode ppNode)
protected void optimize(AST2BOpContext ctx, StaticAnalysis sa, GraphPatternGroup<? extends IGroupMemberNode> group, com.bigdata.rdf.sparql.ast.optimizers.ASTPropertyPathOptimizer.PropertyPathInfo ppInfo, PathNode.PathSequence pathSeq, ArbitraryLengthPathNode alpNode, Properties queryHints, PropertyPathNode ppNode)
protected VarNode anonVar(String anon)
anon
- protected void optimize(AST2BOpContext ctx, StaticAnalysis sa, GraphPatternGroup<? extends IGroupMemberNode> group, com.bigdata.rdf.sparql.ast.optimizers.ASTPropertyPathOptimizer.PropertyPathInfo ppInfo, PathNode.PathElt pathElt, ArbitraryLengthPathNode alpNode, Properties queryHints, PropertyPathNode ppNode)
protected void optimize(AST2BOpContext ctx, StaticAnalysis sa, GraphPatternGroup<? extends IGroupMemberNode> group, com.bigdata.rdf.sparql.ast.optimizers.ASTPropertyPathOptimizer.PropertyPathInfo ppInfo, TermNode termNode, PropertyPathNode ppNode)
protected void optimize(AST2BOpContext ctx, StaticAnalysis sa, GraphPatternGroup<? extends IGroupMemberNode> group, com.bigdata.rdf.sparql.ast.optimizers.ASTPropertyPathOptimizer.PropertyPathInfo ppInfo, ZeroLengthPathNode zlpNode, PropertyPathNode ppNode)
protected void optimize(AST2BOpContext ctx, StaticAnalysis sa, GraphPatternGroup<? extends IGroupMemberNode> group, com.bigdata.rdf.sparql.ast.optimizers.ASTPropertyPathOptimizer.PropertyPathInfo ppInfo, PathNode.PathNegatedPropertySet pathNPS, ArbitraryLengthPathNode alpNode, PropertyPathNode ppNode)
protected void addNegateds(GraphPatternGroup<? extends IGroupMemberNode> group, ArrayList<ConstantNode> constants, com.bigdata.rdf.sparql.ast.optimizers.ASTPropertyPathOptimizer.PropertyPathInfo ppInfo, ArbitraryLengthPathNode alpNode, PropertyPathNode ppNode)
protected int getPositionOfNodeInGroup(PropertyPathNode node, GraphPatternGroup<? extends IGroupMemberNode> group)
public static final boolean isSimpleIRI(PathNode.PathAlternative pathAlt)
public static final ConstantNode getSimpleIRI(PathNode.PathAlternative pathAlt)
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.