Class NTuple
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
-
- org.eclipse.rdf4j.federated.algebra.NTuple
-
- All Implemented Interfaces:
Serializable
,Cloneable
,QueryRef
,QueryModelNode
,TupleExpr
,VariableScopeChange
- Direct Known Subclasses:
EmptyNJoin
,EmptyNUnion
,NJoin
,NUnion
public abstract class NTuple extends AbstractQueryModelNode implements TupleExpr, QueryRef
Base class for any nary-tuple expression- Author:
- Andreas Schwarte
- See Also:
NJoin
,NUnion
, Serialized Form
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NTuple
clone()
Returns a (deep) clone of this query model node.TupleExpr
getArg(int i)
List<TupleExpr>
getArgs()
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.int
getNumberOfArguments()
Var
getOrder()
QueryInfo
getQueryInfo()
Retrieve the attached query information of the tuple expressionSet<Var>
getSupportedOrders(AvailableStatementOrder tripleSource)
void
replaceChildNode(QueryModelNode current, QueryModelNode replacement)
Replaces one of the child nodes with a new node.void
setOrder(Var var)
<X extends Exception>
voidvisit(QueryModelVisitor<X> visitor)
Visits this node.<X extends Exception>
voidvisitChildren(QueryModelVisitor<X> visitor)
Visits the children of this node.-
Methods inherited from class org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
getCardinality, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, isCardinalitySet, isVariableScopeChange, nullEquals, replaceNodeInList, replaceWith, resetCardinality, setCardinality, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, shouldCacheCardinality, toString
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.rdf4j.query.algebra.QueryModelNode
equals, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString
-
-
-
-
Method Detail
-
getArg
public TupleExpr getArg(int i)
-
getNumberOfArguments
public int getNumberOfArguments()
-
visitChildren
public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X extends Exception
Description copied from interface:QueryModelNode
Visits the children of this node. The node callsQueryModelNode.visit(QueryModelVisitor)
on all of its child nodes.- Specified by:
visitChildren
in interfaceQueryModelNode
- Throws:
X extends Exception
-
clone
public NTuple clone()
Description copied from interface:QueryModelNode
Returns a (deep) clone of this query model node. This method recursively clones the entire node tree, starting from this nodes.- Specified by:
clone
in interfaceQueryModelNode
- Specified by:
clone
in interfaceTupleExpr
- Overrides:
clone
in classAbstractQueryModelNode
- Returns:
- A deep clone of this query model node.
-
getAssuredBindingNames
public Set<String> getAssuredBindingNames()
Description copied from interface:TupleExpr
Gets the names of the bindings that are guaranteed to be present in the results produced by this tuple expression.- Specified by:
getAssuredBindingNames
in interfaceTupleExpr
- Returns:
- A set of binding names.
-
getBindingNames
public Set<String> getBindingNames()
Description copied from interface:TupleExpr
Gets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.- Specified by:
getBindingNames
in interfaceTupleExpr
- Returns:
- A set of binding names.
-
replaceChildNode
public void replaceChildNode(QueryModelNode current, QueryModelNode replacement)
Description copied from interface:QueryModelNode
Replaces one of the child nodes with a new node.- Specified by:
replaceChildNode
in interfaceQueryModelNode
- Parameters:
current
- The current child node.replacement
- The new child node.
-
visit
public <X extends Exception> void visit(QueryModelVisitor<X> visitor) throws X extends Exception
Description copied from interface:QueryModelNode
Visits this node. The node reports itself to the visitor with the proper runtime type.- Specified by:
visit
in interfaceQueryModelNode
- Throws:
X extends Exception
-
getQueryInfo
public QueryInfo getQueryInfo()
Description copied from interface:QueryRef
Retrieve the attached query information of the tuple expression- Specified by:
getQueryInfo
in interfaceQueryRef
- Returns:
- the
QueryInfo
-
getSupportedOrders
public Set<Var> getSupportedOrders(AvailableStatementOrder tripleSource)
- Specified by:
getSupportedOrders
in interfaceTupleExpr
-
-