public abstract class SubqueryBase extends QueryBase implements IGroupMemberNode
QueryBase.Annotations
IQueryNode.Annotations
DEFAULT_INITIAL_CAPACITY
Constructor and Description |
---|
SubqueryBase(BOp[] args,
Map<String,Object> anns)
Shallow copy constructor.
|
SubqueryBase(QueryType queryType) |
SubqueryBase(SubqueryBase queryBase)
Deep copy constructor.
|
Modifier and Type | Method and Description |
---|---|
TermNode |
getContext()
Return the context for the group graph pattern dominating this node.
|
Set<IVariable<?>> |
getDesiredBound(StaticAnalysis sa)
Get variables that are not required to be bound, but desired in the
sense that we want them to be bound when evaluating the construct.
|
IGroupNode<IGroupMemberNode> |
getParent()
Return the group to which this node belongs.
|
GraphPatternGroup<IGroupMemberNode> |
getParentGraphPatternGroup()
Return the lowest
GraphPatternGroup which dominates this node. |
JoinGroupNode |
getParentJoinGroup()
Return the lowest
JoinGroupNode which dominates this node. |
Set<IVariable<?>> |
getRequiredBound(StaticAnalysis sa)
Return the variables used in the node that *must* be bound prior to
evaluating the node.
|
void |
setParent(IGroupNode<IGroupMemberNode> parent)
Set the group to which this bindings producer node belongs.
|
getBindingsClause, getConstruct, getGraphPattern, getGroupBy, getHaving, getIncludeInferred, getOrderBy, getProjectedVars, getProjection, getQueryType, getSelectExprVars, getSlice, getTimeout, getWhereClause, hasSlice, hasWhereClause, setBindingsClause, setConstruct, setGraphPattern, setGroupBy, setHaving, setIncludeInferred, setOrderBy, setProjection, setQueryType, setSlice, setTimeout, setWhereClause, toString
getQueryHints, toString
addExplainHint, getExplainHints, getQueryHint, getQueryHint, getQueryHintAsBoolean, getQueryHintAsBoolean, getQueryHintAsInteger, replaceAllWith, setQueryHint, setQueryHints
addArg, addArg, addArgIfAbsent, annotations, annotationsEqual, argIterator, args, arity, clearProperty, copyAll, get, getProperty, indexOf, removeArg, replaceWith, setArg, setArgs, setId, setProperty, setUnboundProperty, toArray, toArray
annotationsEqual, annotationsToString, annotationsToString, annotationValueToString, checkArgs, clone, equals, getEvaluationContext, getId, getProperty, getRequiredProperty, hashCode, indent, isController, mutation, shortenName, toShortString
finalize, getClass, notify, notifyAll, wait, wait, wait
toString
annotations, argIterator, args, arity, clone, get, getEvaluationContext, getId, getProperty, getRequiredProperty, isController, setProperty, toArray, toArray, toShortString, toString
getProperty
public SubqueryBase(SubqueryBase queryBase)
public SubqueryBase(QueryType queryType)
public final IGroupNode<IGroupMemberNode> getParent()
IGroupMemberNode
getParent
in interface IGroupMemberNode
public final void setParent(IGroupNode<IGroupMemberNode> parent)
IGroupMemberNode
setParent
in interface IGroupMemberNode
public TermNode getContext()
IGroupMemberNode
getContext
in interface IGroupMemberNode
null
if there is no graph pattern
dominating this node.public JoinGroupNode getParentJoinGroup()
IGroupMemberNode
JoinGroupNode
which dominates this node. Note
that some kinds of IGroupMemberNode
s do not appear within a
JoinGroupNode
context. For example, NamedSubqueryRoot
and
ConstructNode
.getParentJoinGroup
in interface IGroupMemberNode
JoinGroupNode
-or- null
if there is no
such parent join group.public GraphPatternGroup<IGroupMemberNode> getParentGraphPatternGroup()
IGroupMemberNode
GraphPatternGroup
which dominates this node.
Note that some kinds of IGroupMemberNode
s do not appear within a
GraphPatternGroup
context. For example, NamedSubqueryRoot
and ConstructNode
.getParentGraphPatternGroup
in interface IGroupMemberNode
GraphPatternGroup
-or- null
if there is
no such parent group.public Set<IVariable<?>> getRequiredBound(StaticAnalysis sa)
IVariableBindingRequirements
IVariableBindingRequirements#getRequiredBound()
interface cannot be satisified, the query may still be valid and return
results (for the SPARQL 1.1 service example mentioned above, it may not,
for the FILTER it may).
The set of these variables must be disjoint from
IVariableBindingRequirements#getRequiredUnound()
.getRequiredBound
in interface IVariableBindingRequirements
public Set<IVariable<?>> getDesiredBound(StaticAnalysis sa)
IVariableBindingRequirements
IVariableBindingRequirements.getRequiredBound(StaticAnalysis)
.getDesiredBound
in interface IVariableBindingRequirements
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.