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.explainhints | |
com.bigdata.rdf.sparql.ast.optimizers | |
com.bigdata.rdf.sparql.ast.service |
This package provides support for SPARQL 1.1 Federated Query, including the
special case of "service" end points which live within the same JVM and use
direct method calls rather than SPARQL Query and remote (HTTP) end points
for which we will generate an appropriate SPARQL query.
|
Modifier and Type | Class and Description |
---|---|
class |
GraphPatternGroup<E extends IGroupMemberNode>
Join group or union.
|
class |
GroupMemberNodeBase<E extends IGroupMemberNode>
Anything which can appear in an
IGroupNode . |
class |
GroupNodeBase<E extends IGroupMemberNode>
Base class for AST group nodes.
|
interface |
IGroupNode<E extends IGroupMemberNode>
A type of query node that groups a set of query nodes together.
|
Modifier and Type | Interface and Description |
---|---|
interface |
IGroupNode<E extends IGroupMemberNode>
A type of query node that groups a set of query nodes together.
|
interface |
IReorderableNode
Interface for things which can be re-ordered by the static join
optimizer.
|
interface |
IStatementContainer
Marker interface for things which either are statements (or statement
patterns) or contain statements (or statement pattern).
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractFromToGraphManagement
Any of the operations which has a FROM and/or TO graph.
|
class |
AbstractGraphDataUpdate
Abstract base class for the
INSERT DATA and
DELETE DATA operations. |
class |
AbstractOneGraphManagement
Any of the operations which acts on a single target graph.
|
class |
AbstractStatementContainer<E extends IStatementContainer>
Recursive container for ground
StatementPatternNode s. |
class |
AddGraph
Graph management operation inserts all data from one graph into another.
|
class |
ArbitraryLengthPathNode
A special kind of AST node that represents the SPARQL 1.1 arbitrary length
path operator.
|
class |
AssignmentNode
AST node models the assignment of a value expression to a variable
|
class |
BindingsClause
The solutions declared by a BINDINGS clause.
|
class |
ClearGraph
The CLEAR operation removes all the triples in the specified graph(s) in the
Graph Store.
|
class |
ConstructNode
A template for the construction of one or more graphs based on the solutions
projected by a query.
|
class |
CopyGraph
The COPY operation is a shortcut for inserting all data from an input graph
into a destination graph.
|
class |
CreateEntailments
The CREATE ENTAILMENTS operation compute entailments in the Graph Store.
|
class |
CreateGraph
This operation creates a graph in the Graph Store (this operation is a NOP
for bigdata).
|
class |
DeleteData
The DELETE DATA operation removes some triples, given inline in the request,
if the respective graphs in the Graph Store contain those:
|
class |
DeleteInsertGraph
The DELETE/INSERT operation can be used to remove or add triples from/to the
Graph Store based on bindings for a query pattern specified in a WHERE
clause:
|
class |
DisableEntailments
The DISABLE ENTAILMENTS operation disable incremental truth maintenance.
|
class |
DropEntailments
The DROP ENTAILMENTS operation removes all entailments from the Graph Store.
|
class |
DropGraph
The DROP operation removes the specified graph(s) from the Graph Store.
|
class |
EnableEntailments
The ENABLE ENTAILMENTS operation enable incremental truth maintenance.
|
class |
FilterNode
AST node models a value expression which imposes a constraint.
|
class |
GraphManagement
A Graph Management operation.
|
class |
GraphPatternGroup<E extends IGroupMemberNode>
Join group or union.
|
class |
GraphUpdate
A Graph Update operation.
|
class |
GroupMemberNodeBase<E extends IGroupMemberNode>
Anything which can appear in an
IGroupNode . |
class |
GroupMemberValueExpressionNodeBase |
class |
GroupNodeBase<E extends IGroupMemberNode>
Base class for AST group nodes.
|
class |
InsertData
The INSERT DATA operation adds some triples, given inline in the request,
into the Graph Store:
|
class |
JoinGroupNode
An optional or non-optional collection of query nodes that run together in
a group.
|
class |
LoadGraph
The LOAD operation reads an RDF document from a IRI and inserts its triples
into the specified graph in the Graph Store.
|
class |
MoveGraph
The MOVE operation is a shortcut for moving all data from an input graph into
a destination graph.
|
class |
NamedSubqueryInclude
An AST node which provides a reference in an
IGroupNode and indicates
that a named solution set should be joined with the solutions in the group. |
class |
NamedSubqueryRoot
A subquery with a named solution set which can be referenced from other parts
of the query.
|
class |
PropertyPathNode
A node in the AST representing a triple pattern with a property path.
|
class |
PropertyPathUnionNode
This node is purely to trick the ASTJoinOrderByTypeOptimizer - we need to
keep the property path stuff in the right order, even the UNIONs.
|
class |
QuadData
Recursive container for ground
StatementPatternNode s. |
class |
StatementPatternNode
A node in the AST representing a statement pattern.
|
class |
SubqueryBase
AST node for subqueries.
|
class |
SubqueryRoot
A SPARQL 1.1 style subquery.
|
class |
UnionNode
A special kind of group
IGroupNode that represents the sparql union
operator. |
class |
Update
A SPARQL Update operation.
|
class |
UpdateRoot
The top level container for a sequence of UPDATE operations.
|
class |
ZeroLengthPathNode
Deprecated.
Does not work - leads to cardinality problems and can be removed.
Zero Length Paths are integrated into the ALP node /
ArbitraryLengthPathOp now.
|
Modifier and Type | Field and Description |
---|---|
GraphPatternGroup<IGroupMemberNode> |
JoinSetUtil.group
The group.
|
Modifier and Type | Method and Description |
---|---|
IGroupMemberNode |
GroupNodeVarBindingInfo.getNode() |
Modifier and Type | Method and Description |
---|---|
GraphPatternGroup<IGroupMemberNode> |
IGraphPatternContainer.getGraphPattern()
Return the graph pattern.
|
GraphPatternGroup<IGroupMemberNode> |
DeleteInsertGraph.getGraphPattern() |
GraphPatternGroup<IGroupMemberNode> |
QueryBase.getGraphPattern() |
GraphPatternGroup<IGroupMemberNode> |
SubqueryFunctionNodeBase.getGraphPattern() |
IGroupNode<IGroupMemberNode> |
SubqueryBase.getParent() |
IGroupNode<IGroupMemberNode> |
IGroupMemberNode.getParent()
Return the group to which this node belongs.
|
IGroupNode<IGroupMemberNode> |
GroupMemberNodeBase.getParent() |
GraphPatternGroup<IGroupMemberNode> |
SubqueryBase.getParentGraphPatternGroup() |
GraphPatternGroup<IGroupMemberNode> |
IGroupMemberNode.getParentGraphPatternGroup()
Return the lowest
GraphPatternGroup which dominates this node. |
GraphPatternGroup<IGroupMemberNode> |
GroupMemberNodeBase.getParentGraphPatternGroup() |
Modifier and Type | Method and Description |
---|---|
protected void |
StaticAnalysisBase.addAll(Set<IVariable<?>> bindings,
IGroupMemberNode op)
Add all variables spanned by the operator.
|
GroupNodeVarBindingInfo |
GroupNodeVarBindingInfoMap.get(IGroupMemberNode node)
Get the
GroupNodeVarBindingInfo for the given node. |
Set<IVariable<?>> |
StaticAnalysis.getAfterVars(IGroupMemberNode node,
Set<IVariable<?>> vars)
Return any variables which are used after the given node in the current
ordering of its parent
JoinGroupNode but DOES NOT consider the
parent or the PROJECTION for the query in which this group appears. |
Set<IVariable<?>> |
StaticAnalysis.getDefinitelyIncomingBindings(IGroupMemberNode node,
Set<IVariable<?>> vars)
Return the set of variables which MUST be bound coming into this group
during top-down, left-to-right evaluation.
|
Set<IVariable<?>> |
StaticAnalysis.getMaybeIncomingBindings(IGroupMemberNode node,
Set<IVariable<?>> vars)
Return the set of variables which MIGHT be bound coming into this group
during top-down, left-to-right evaluation.
|
Set<IVariable<?>> |
StaticAnalysis.getProjectedVars(IGroupMemberNode proxy,
GraphPatternGroup<?> groupToLift,
QueryBase query,
Set<IVariable<?>> exogenousVars,
Set<IVariable<?>> projectedVars)
Return the set of variables which must be projected if the group is to be
converted into a sub-query.
|
boolean |
StaticAnalysis.locatedInGroupNode(GroupNodeBase<?> theGroup,
IGroupMemberNode theNode)
Returns true if the current node is identical or (recursively) located
inside the given group scope or is the group node itself, but not a
subquery referenced in the node.
|
boolean |
StaticAnalysis.locatedInToplevelQuery(IGroupMemberNode node)
Returns true if the current node is located (recursively) inside the
top-level query, false if it is nested inside a subquery or a
named subquery.
|
Modifier and Type | Method and Description |
---|---|
static IQueryNode |
StaticAnalysis.findParent2(GraphPatternGroup<IGroupMemberNode> aGroup,
GraphPatternGroup<?> theGroup)
Search in aGroup for theGroup, peeking into
QueryBase.getWhereClause() , ServiceNode.getGraphPattern() ,
and all SubqueryFunctionNodeBase instances for any
FilterNode s. |
Set<IVariable<?>> |
StaticAnalysis.getDefinitelyProducedBindingsAndFilterVariables(IGroupNode<? extends IGroupMemberNode> group,
Set<IVariable<?>> vars)
Collect all variables appearing in the group.
|
void |
IGraphPatternContainer.setGraphPattern(GraphPatternGroup<IGroupMemberNode> graphPattern)
Set the graph pattern.
|
void |
DeleteInsertGraph.setGraphPattern(GraphPatternGroup<IGroupMemberNode> graphPattern) |
void |
QueryBase.setGraphPattern(GraphPatternGroup<IGroupMemberNode> graphPattern) |
void |
SubqueryFunctionNodeBase.setGraphPattern(GraphPatternGroup<IGroupMemberNode> graphPattern) |
void |
SubqueryBase.setParent(IGroupNode<IGroupMemberNode> parent) |
void |
IGroupMemberNode.setParent(IGroupNode<IGroupMemberNode> parent)
Set the group to which this bindings producer node belongs.
|
void |
GroupMemberNodeBase.setParent(IGroupNode<IGroupMemberNode> parent) |
void |
DeleteInsertGraph.setWhereClause(GraphPatternGroup<IGroupMemberNode> whereClause)
Set the WHERE clause.
|
Constructor and Description |
---|
GroupNodeVarBindingInfo(IGroupMemberNode node,
StaticAnalysis sa,
ASTJoinGroupFilterExistsInfo fExInfo)
Constructor
|
JoinGroupNode(boolean optional,
IGroupMemberNode child)
Construct a possibly optional group having the specified child as its
initial member.
|
JoinGroupNode(IGroupMemberNode child)
Construct a non-optional join group having the specified child as its
initial member.
|
JoinGroupNode(TermNode context,
IGroupMemberNode child)
Construct a GRAPH group having the specified child as its initial member.
|
Constructor and Description |
---|
ExistsNode(VarNode anonvar,
GraphPatternGroup<IGroupMemberNode> graphPattern) |
GroupNodeVarBindingInfoMap(Iterable<IGroupMemberNode> nodes,
StaticAnalysis sa,
ASTJoinGroupFilterExistsInfo fExInfo)
Constructor, setting up an object given a list of
IGroupMemberNode
objects and the associated StaticAnalysis object as input. |
JoinSetUtil(StaticAnalysis sa,
Set<IVariable<?>> knownBound,
GraphPatternGroup<IGroupMemberNode> group) |
NotExistsNode(VarNode anonvar,
GraphPatternGroup<IGroupMemberNode> graphPattern) |
SubqueryFunctionNodeBase(org.openrdf.model.URI functionURI,
VarNode anonvar,
GraphPatternGroup<IGroupMemberNode> graphPattern) |
Constructor and Description |
---|
JoinOrderExplainHint(String explainHintDescription,
IGroupMemberNode candidate) |
Modifier and Type | Method and Description |
---|---|
LinkedList<IGroupMemberNode> |
ASTJoinGroupPartitions.extractNodeList(boolean includeOptionalOrMinusNode)
Extracts all nodes in all partitions, in order.
|
List<IGroupMemberNode> |
ASTJoinGroupPartition.extractNodeList(boolean includeOptionalOrMinusNode) |
Modifier and Type | Method and Description |
---|---|
void |
ASTJoinGroupPartition.addNonOptionalNonMinusNodeToPartition(IGroupMemberNode node)
Adds a (non-optional non-minus) node to a join group partition and
updates the set of definitely produced variables accordingly.
|
void |
ASTJoinGroupPartitions.placeAtFirstPossiblePosition(IGroupMemberNode node)
Places the node at the first possible position across all partitions.
|
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 void |
ASTPropertyPathOptimizer.addNegateds(GraphPatternGroup<? extends IGroupMemberNode> group,
ArrayList<ConstantNode> constants,
com.bigdata.rdf.sparql.ast.optimizers.ASTPropertyPathOptimizer.PropertyPathInfo ppInfo,
ArbitraryLengthPathNode alpNode,
PropertyPathNode ppNode) |
protected ExistsNode |
AbstractOptimizerTestCase.Helper.exists(VarNode v,
GraphPatternGroup<IGroupMemberNode> jg) |
protected int |
ASTPropertyPathOptimizer.getPositionOfNodeInGroup(PropertyPathNode node,
GraphPatternGroup<? extends IGroupMemberNode> group)
Returns the position in the group.
|
protected NotExistsNode |
AbstractOptimizerTestCase.Helper.notExists(VarNode v,
GraphPatternGroup<IGroupMemberNode> jg) |
protected void |
ASTPropertyPathOptimizer.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 |
ASTPropertyPathOptimizer.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 |
ASTPropertyPathOptimizer.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 |
ASTPropertyPathOptimizer.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 |
ASTPropertyPathOptimizer.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 |
ASTPropertyPathOptimizer.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).
|
void |
ASTJoinGroupPartition.removeNodesFromPartition(List<IGroupMemberNode> nodesToRemove)
Removes the given set of nodes and updates the internal data structures.
|
void |
ASTJoinGroupPartition.replaceNonOptionalNonMinusNodesWith(List<IGroupMemberNode> ordered,
boolean recomputeDefinitelyProduced)
The new ordered list of non-optional non-minus nodes.
|
protected ServiceNode |
AbstractOptimizerTestCase.Helper.service(TermNode serviceRef,
GraphPatternGroup<IGroupMemberNode> groupNode) |
Constructor and Description |
---|
ASTJoinGroupFilterExistsInfo(Iterable<IGroupMemberNode> nodeList) |
ASTJoinGroupPartitions(List<IGroupMemberNode> nodes,
GroupNodeVarBindingInfoMap bindingInfo,
Set<IVariable<?>> externallyKnownProduced)
Constructor, creating partitions for a list of
IGroupMemberNode
objects along OPTIONAL and MINUS nodes. |
Modifier and Type | Class and Description |
---|---|
class |
ServiceNode
An extension point for external service calls which produce solution
multisets (a SPARQL
SERVICE ). |
Modifier and Type | Method and Description |
---|---|
GraphPatternGroup<IGroupMemberNode> |
ServiceNode.getGraphPattern() |
Modifier and Type | Method and Description |
---|---|
void |
ServiceNode.setGraphPattern(GraphPatternGroup<IGroupMemberNode> graphPattern) |
Constructor and Description |
---|
ServiceNode(TermNode serviceRef,
GraphPatternGroup<IGroupMemberNode> groupNode)
Construct a function node in the AST.
|
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.