Package | Description |
---|---|
com.bigdata.rdf.sparql.ast |
This package contains an Abstract Syntax Tree which provides an intermediate translation
target for SPARQL parsers.
|
com.bigdata.rdf.sparql.ast.eval | |
com.bigdata.rdf.sparql.ast.optimizers |
Modifier and Type | Method and Description |
---|---|
JoinGroupNode |
StaticAnalysis.findParentJoinGroup(GraphPatternGroup<?> group)
Find and return the parent
JoinGroupNode which is the lowest such
JoinGroupNode dominating the given GraphPatternGroup . |
JoinGroupNode |
QuadData.flatten(JoinGroupNode container)
Flatten the
StatementPatternNode s into the caller's
JoinGroupNode . |
JoinGroupNode |
SubqueryBase.getParentJoinGroup() |
JoinGroupNode |
IGroupMemberNode.getParentJoinGroup()
Return the lowest
JoinGroupNode which dominates this node. |
JoinGroupNode |
GroupMemberNodeBase.getParentJoinGroup() |
JoinGroupNode |
ArbitraryLengthPathNode.subgroup()
Return the subgroup.
|
Modifier and Type | Method and Description |
---|---|
UnionNode |
UnionNode.addChild(JoinGroupNode child) |
JoinGroupNode |
QuadData.flatten(JoinGroupNode container)
Flatten the
StatementPatternNode s into the caller's
JoinGroupNode . |
List<FilterNode> |
StaticAnalysis.getJoinFilters(JoinGroupNode group)
Return only the filter child nodes in this group whose variables were not
fully bound on entry into the join group but which will be fully bound no
later than once we have run the required joins in this group.
|
List<FilterNode> |
StaticAnalysis.getPostFilters(JoinGroupNode group)
Return only the filter child nodes in this group that will not be fully
bound even after running the required joins in this group.
|
List<FilterNode> |
StaticAnalysis.getPreFilters(JoinGroupNode group)
Return only the filter child nodes in this group that will be fully bound
before running any of the joins in this group.
|
List<FilterNode> |
StaticAnalysis.getPruneFilters(JoinGroupNode group)
Deprecated.
This is now handled by
ASTBottomUpOptimizer . I think
that we will not need this method (it is only invoked from
the test suite at this point). |
Constructor and Description |
---|
JoinGroupNode(JoinGroupNode op)
Constructor required for
com.bigdata.bop.BOpUtility#deepCopy(FilterNode) . |
Modifier and Type | Method and Description |
---|---|
PipelineOp |
IExternalAST2BOp.convertJoinGroup(PipelineOp left,
JoinGroupNode joinGroup,
Set<IVariable<?>> doneSet,
AtomicInteger start,
AST2BOpContext ctx)
Translate the given join group.
|
protected static PipelineOp |
AST2BOpRTO.convertRTOJoinGraph(PipelineOp left,
JoinGroupNode joinGroup,
Set<IVariable<?>> doneSet,
AST2BOpContext ctx,
AtomicInteger start)
Inspect the remainder of the join group.
|
protected void |
ASTSearchInSearchOptimizer.optimize(AST2BOpContext ctx,
StaticAnalysis sa,
JoinGroupNode group,
FilterNode filterNode)
Optimize a single FilterNode.
|
protected void |
ASTSearchInSearchOptimizer.optimizeJoinGroup(AST2BOpContext ctx,
StaticAnalysis sa,
IBindingSet[] bSets,
JoinGroupNode group)
Optimize the join group.
|
Modifier and Type | Method and Description |
---|---|
protected JoinGroupNode |
AbstractOptimizerTestCase.Helper.joinGroupNode(Object... statements)
Wrap the arguments in a
JoinGroupNode and apply any
inter-mixed HelperFlag s. |
protected JoinGroupNode |
AbstractOptimizerTestCase.Helper.joinGroupNode(TermNode context,
Object... statements)
Return a graph join group.
|
protected JoinGroupNode |
AbstractOptimizerTestCase.Helper.where(IGroupMemberNode... statements)
Wrap the triple patterns in a WHERE clause (aka join group).
|
Modifier and Type | Method and Description |
---|---|
protected ArbitraryLengthPathNode |
AbstractOptimizerTestCase.Helper.arbitartyLengthPropertyPath(TermNode left,
TermNode right,
com.bigdata.rdf.sparql.ast.optimizers.AbstractOptimizerTestCase.HelperFlag card,
JoinGroupNode joinGroupNode) |
protected SubqueryRoot |
AbstractOptimizerTestCase.Helper.ask(VarNode varNode,
JoinGroupNode where)
Return an ASK subquery.
|
protected NamedSubqueryRoot |
AbstractOptimizerTestCase.Helper.namedSubQuery(String name,
VarNode varNode,
JoinGroupNode where,
AbstractOptimizerTestCase.ApplyAnnotation... annotations)
Return a named subquery.
|
protected void |
ASTFilterNormalizationOptimizer.normalizeAndDecomposeFilters(AST2BOpContext ctx,
StaticAnalysis sa,
IBindingSet[] bSets,
JoinGroupNode group)
Bring all FILTERs into CNF and split them at top-level to contain
simpler FILTER expressions.
|
protected void |
ASTPropertyPathOptimizer.optimize(AST2BOpContext ctx,
StaticAnalysis sa,
JoinGroupNode group,
PropertyPathNode ppNode,
ArbitraryLengthPathNode alpNode)
Optimize a single PropertyPathNode.
|
protected void |
ASTCardinalityOptimizer.optimizeJoinGroup(AST2BOpContext ctx,
StaticAnalysis sa,
IBindingSet[] bSets,
JoinGroupNode group)
Calculate the estimated cardinality of a join group.
|
protected void |
ASTRangeCountOptimizer.optimizeJoinGroup(AST2BOpContext ctx,
StaticAnalysis sa,
IBindingSet[] bSets,
JoinGroupNode group)
Optimize the join group.
|
protected void |
ASTALPServiceOptimizer.optimizeJoinGroup(AST2BOpContext ctx,
StaticAnalysis sa,
IBindingSet[] bSets,
JoinGroupNode group)
Optimize the join group.
|
protected void |
ASTJoinGroupOrderOptimizer.optimizeJoinGroup(AST2BOpContext ctx,
StaticAnalysis sa,
IBindingSet[] bSets,
JoinGroupNode joinGroup) |
protected void |
ASTPropertyPathOptimizer.optimizeJoinGroup(AST2BOpContext ctx,
StaticAnalysis sa,
IBindingSet[] bSets,
JoinGroupNode group)
Optimize the join group.
|
protected void |
ASTRangeOptimizer.optimizeJoinGroup(AST2BOpContext ctx,
StaticAnalysis sa,
IBindingSet[] bSets,
JoinGroupNode group)
Optimize the join group, attach range nodes.
|
protected abstract void |
AbstractJoinGroupOptimizer.optimizeJoinGroup(AST2BOpContext ctx,
StaticAnalysis sa,
IBindingSet[] bSets,
JoinGroupNode op)
Subclasses can do the work of optimizing a join group here.
|
protected void |
ASTJoinOrderByTypeOptimizer.optimizeJoinGroup(AST2BOpContext ctx,
StaticAnalysis sa,
IBindingSet[] bSets,
JoinGroupNode joinGroup)
Deprecated.
Get the group member nodes into the right order:
|
protected void |
ASTFilterNormalizationOptimizer.optimizeJoinGroup(AST2BOpContext ctx,
StaticAnalysis sa,
IBindingSet[] bSets,
JoinGroupNode group) |
protected void |
ASTFilterNormalizationOptimizer.removeDuplicatesAndTautologies(AST2BOpContext ctx,
StaticAnalysis sa,
IBindingSet[] bSets,
JoinGroupNode group)
Remove duplicate FILTERs and tautologies
|
protected QueryRoot |
AbstractOptimizerTestCase.Helper.select(ProjectionNode projection,
JoinGroupNode where,
com.bigdata.rdf.sparql.ast.optimizers.AbstractOptimizerTestCase.HelperFlag... flags) |
protected QueryRoot |
AbstractOptimizerTestCase.Helper.select(VarNode[] varNodes,
JoinGroupNode where,
com.bigdata.rdf.sparql.ast.optimizers.AbstractOptimizerTestCase.HelperFlag... flags) |
protected QueryRoot |
AbstractOptimizerTestCase.Helper.select(VarNode[] varNodes,
NamedSubqueryRoot namedSubQuery,
JoinGroupNode where,
com.bigdata.rdf.sparql.ast.optimizers.AbstractOptimizerTestCase.HelperFlag... flags)
Create a top-level SELECT query.
|
protected QueryRoot |
AbstractOptimizerTestCase.Helper.select(VarNode varNode,
JoinGroupNode where,
com.bigdata.rdf.sparql.ast.optimizers.AbstractOptimizerTestCase.HelperFlag... flags) |
protected QueryRoot |
AbstractOptimizerTestCase.Helper.select(VarNode varNode,
NamedSubqueryRoot namedSubQuery,
JoinGroupNode where,
com.bigdata.rdf.sparql.ast.optimizers.AbstractOptimizerTestCase.HelperFlag... flags) |
protected SubqueryRoot |
AbstractOptimizerTestCase.Helper.selectSubQuery(ProjectionNode projection,
JoinGroupNode where,
com.bigdata.rdf.sparql.ast.optimizers.AbstractOptimizerTestCase.HelperFlag... flags) |
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.