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, toStringequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitequals, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, replaceChildNode, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toStringprotected 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
AbstractQueryModelNodeQueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>) that does nothing. Subclasses should override this
method when they have child nodes.visitChildren in interface QueryModelNodevisitChildren in class AbstractQueryModelNodeX extends Exceptionpublic <X extends Exception> void visit(QueryModelVisitor<X> visitor) throws X extends Exception
QueryModelNodevisit in interface QueryModelNodeX extends Exceptionpublic Set<String> getAssuredBindingNames()
TupleExprgetAssuredBindingNames in interface TupleExprpublic Set<String> getBindingNames()
TupleExprgetBindingNames in interface TupleExprpublic ExclusiveGroup clone()
QueryModelNodeclone in interface QueryModelNodeclone in interface TupleExprclone in class AbstractQueryModelNodepublic StatementSource getOwner()
getOwner in interface ExclusiveTupleExprpublic Endpoint getOwnedEndpoint()
public List<ExclusiveTupleExpr> getExclusiveExpressions()
public int getFreeVarCount()
getFreeVarCount in interface FedXTupleExprpublic List<String> getFreeVars()
getFreeVars in interface FilterTuplegetFreeVars in interface VariableExprpublic String getId()
getId in interface StatementTupleExprpublic List<StatementSource> getStatementSources()
getStatementSources in interface StatementTupleExprpublic boolean hasFreeVarsFor(BindingSet bindings)
StatementTupleExprhasFreeVarsFor in interface StatementTupleExprpublic CloseableIteration<BindingSet,QueryEvaluationException> evaluate(BindingSet bindings) throws QueryEvaluationException
StatementTupleExprevaluate in interface StatementTupleExprQueryEvaluationExceptionpublic void addFilterExpr(FilterExpr expr)
FilterTupleConjunctiveFilterExpr.addFilterExpr in interface FilterTuplepublic FilterValueExpr getFilterExpr()
getFilterExpr in interface FilterTupleFilterExpr or
ConjunctiveFilterExprpublic BindingSet getBoundFilters()
FilterTuplegetBoundFilters in interface FilterTuplenullpublic boolean hasFilter()
hasFilter in interface FilterTuplepublic void addBoundFilter(String varName, Value value)
FilterTupleaddBoundFilter in interface FilterTuplepublic QueryInfo getQueryInfo()
QueryRefgetQueryInfo in interface QueryRefQueryInfoCopyright © 2015-2020 Eclipse Foundation. All Rights Reserved.