public class ExclusiveGroup extends AbstractQueryModelNode implements StatementTupleExpr, FilterTuple, ExclusiveTupleExpr
ExclusiveTupleExpr
that can only produce results at a single endpoint, the
StatementSource
.Modifier and Type | Field and Description |
---|---|
protected QueryBindingSet |
boundFilters |
protected FilterValueExpr |
filterExpr |
protected Set<String> |
freeVars |
protected String |
id |
protected List<ExclusiveTupleExpr> |
owned |
protected Endpoint |
ownedEndpoint |
protected StatementSource |
owner |
protected QueryInfo |
queryInfo |
Constructor and Description |
---|
ExclusiveGroup(Collection<? extends ExclusiveTupleExpr> ownedNodes,
StatementSource owner,
QueryInfo queryInfo) |
Modifier and Type | Method and Description |
---|---|
void |
addBoundFilter(String varName,
Value value)
register a filter that can be directly expressed as a binding, e.g.
|
void |
addFilterExpr(FilterExpr expr)
register a new filter expression.
|
ExclusiveGroup |
clone()
Returns a (deep) clone of this query model node.
|
CloseableIteration<BindingSet,QueryEvaluationException> |
evaluate(BindingSet bindings)
Evaluate this expression using the provided bindings
|
Set<String> |
getAssuredBindingNames()
Gets the names of the bindings that are guaranteed to be present in the results produced by this tuple
expression.
|
Set<String> |
getBindingNames()
Gets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.
|
BindingSet |
getBoundFilters()
Returns bound filter bindings, that need to be added as additional bindings to the final result
|
List<ExclusiveTupleExpr> |
getExclusiveExpressions() |
FilterValueExpr |
getFilterExpr() |
int |
getFreeVarCount() |
List<String> |
getFreeVars() |
String |
getId() |
Endpoint |
getOwnedEndpoint() |
StatementSource |
getOwner() |
QueryInfo |
getQueryInfo()
Retrieve the attached query information of the tuple expression
|
List<StatementSource> |
getStatementSources() |
boolean |
hasFilter() |
boolean |
hasFreeVarsFor(BindingSet bindings)
returns true iff this statement has free variables in the presence of the specified binding set
|
protected void |
init()
Initialize free variables
|
<X extends Exception> |
visit(QueryModelVisitor<X> visitor)
Visits this node.
|
<X extends Exception> |
visitChildren(QueryModelVisitor<X> visitor)
Dummy implementation of
QueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>) that does nothing. |
getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, isGraphPatternGroup, isVariableScopeChange, nullEquals, replaceChildNode, replaceNodeInList, replaceWith, setCostEstimate, setGraphPatternGroup, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, toString
protected final List<ExclusiveTupleExpr> owned
protected final StatementSource owner
protected final String id
protected final transient QueryInfo queryInfo
protected FilterValueExpr filterExpr
protected QueryBindingSet boundFilters
protected transient Endpoint ownedEndpoint
public ExclusiveGroup(Collection<? extends ExclusiveTupleExpr> ownedNodes, StatementSource owner, QueryInfo queryInfo)
protected void init()
public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X extends Exception
AbstractQueryModelNode
QueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>)
that does nothing. Subclasses should override this
method when they have child nodes.visitChildren
in interface QueryModelNode
visitChildren
in class AbstractQueryModelNode
X extends Exception
public <X extends Exception> void visit(QueryModelVisitor<X> visitor) throws X extends Exception
QueryModelNode
visit
in interface QueryModelNode
X extends Exception
public Set<String> getAssuredBindingNames()
TupleExpr
getAssuredBindingNames
in interface TupleExpr
public Set<String> getBindingNames()
TupleExpr
getBindingNames
in interface TupleExpr
public ExclusiveGroup clone()
QueryModelNode
clone
in interface QueryModelNode
clone
in interface TupleExpr
clone
in class AbstractQueryModelNode
public StatementSource getOwner()
getOwner
in interface ExclusiveTupleExpr
public Endpoint getOwnedEndpoint()
public List<ExclusiveTupleExpr> getExclusiveExpressions()
public int getFreeVarCount()
getFreeVarCount
in interface FedXTupleExpr
public List<String> getFreeVars()
getFreeVars
in interface FilterTuple
getFreeVars
in interface VariableExpr
public String getId()
getId
in interface StatementTupleExpr
public List<StatementSource> getStatementSources()
getStatementSources
in interface StatementTupleExpr
public boolean hasFreeVarsFor(BindingSet bindings)
StatementTupleExpr
hasFreeVarsFor
in interface StatementTupleExpr
public CloseableIteration<BindingSet,QueryEvaluationException> evaluate(BindingSet bindings) throws QueryEvaluationException
StatementTupleExpr
evaluate
in interface StatementTupleExpr
QueryEvaluationException
public void addFilterExpr(FilterExpr expr)
FilterTuple
ConjunctiveFilterExpr
.addFilterExpr
in interface FilterTuple
public FilterValueExpr getFilterExpr()
getFilterExpr
in interface FilterTuple
FilterExpr
or
ConjunctiveFilterExpr
public BindingSet getBoundFilters()
FilterTuple
getBoundFilters
in interface FilterTuple
null
public boolean hasFilter()
hasFilter
in interface FilterTuple
public void addBoundFilter(String varName, Value value)
FilterTuple
addBoundFilter
in interface FilterTuple
public QueryInfo getQueryInfo()
QueryRef
getQueryInfo
in interface QueryRef
QueryInfo
Copyright © 2015-2022 Eclipse Foundation. All Rights Reserved.