Class TripleRefJoinGroup
java.lang.Object
org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
org.eclipse.rdf4j.federated.algebra.TripleRefJoinGroup
- All Implemented Interfaces:
Serializable, Cloneable, FedXTupleExpr, QueryRef, VariableExpr, QueryModelNode, TupleExpr, VariableScopeChange
A join group around a
TripleRefStatementPattern: besides the TripleRefStatementPattern it contains
the list of StatementPattern sharing the same subject (typically a blank node).
TripleRefJoinGroup can be associated to multiple StatementSources, where on each it gets executed in
a single expression.- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionTripleRefJoinGroup(TripleRefStatementPattern tripleRef, List<StatementPattern> stmts, List<StatementSource> statementSources, QueryInfo queryInfo) -
Method Summary
Modifier and TypeMethodDescriptionclone()Returns a (deep) clone of this query model node.Gets the names of the bindings that are guaranteed to be present in the results produced by this tuple expression.Gets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.Retrieve the attached query information of the tuple expressionvoidreplaceChildNode(QueryModelNode current, QueryModelNode replacement) Replaces one of the child nodes with a new node.<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 AbstractQueryModelNode
clearQueryModelMetadata, getCardinality, getCostEstimate, getDoubleMetricActual, getDoubleMetricPlanned, getDoubleMetricsActual, getDoubleMetricsPlanned, getHasNextCallCountActual, getHasNextTimeNanosActual, getHasNextTrueCountActual, getJoinLeftBindingsConsumedActual, getJoinRightBindingsConsumedActual, getJoinRightIteratorsCreatedActual, getLongMetricActual, getLongMetricPlanned, getLongMetricsActual, getLongMetricsPlanned, getNextCallCountActual, getNextTimeNanosActual, getParentNode, getQueryModelMetadata, getResultSizeActual, getResultSizeEstimate, getSignature, getSourceRowsFilteredActual, getSourceRowsMatchedActual, getSourceRowsScannedActual, getStringMetricActual, getStringMetricPlanned, getStringMetricsActual, getStringMetricsPlanned, getTotalTimeNanosActual, isCardinalitySet, isRuntimeTelemetryEnabled, isVariableScopeChange, nullEquals, removeQueryModelMetadata, replaceNodeInList, replaceWith, resetCardinality, setCardinality, setCostEstimate, setDoubleMetricActual, setDoubleMetricPlanned, setHasNextCallCountActual, setHasNextTimeNanosActual, setHasNextTrueCountActual, setJoinLeftBindingsConsumedActual, setJoinRightBindingsConsumedActual, setJoinRightIteratorsCreatedActual, setLongMetricActual, setLongMetricPlanned, setNextCallCountActual, setNextTimeNanosActual, setParentNode, setQueryModelMetadata, setResultSizeActual, setResultSizeEstimate, setRuntimeTelemetryEnabled, setSourceRowsFilteredActual, setSourceRowsMatchedActual, setSourceRowsScannedActual, setStringMetricActual, setStringMetricPlanned, setTotalTimeNanosActual, setVariableScopeChange, shouldCacheCardinality, toStringModifier and TypeMethodDescriptionvoidClears all transient optimizer metadata attached to this query model node.doubledoubledoublegetDoubleMetricActual(String metricName) doublegetDoubleMetricPlanned(String metricName) longlonglonglonglonglonglonggetLongMetricActual(String metricName) longgetLongMetricPlanned(String metricName) longlongGets the node's parent.Returns transient optimizer metadata attached to this query model node for the supplied key.longdoubleReturns the number of tuples that this QueryNode predicts will be outputted.Default implementation ofQueryModelNode.getSignature()that prints the name of the node's class.longlonglonggetStringMetricActual(String metricName) getStringMetricPlanned(String metricName) longbooleanbooleanbooleanindicates if the node represents a variable scope change.protected booleannullEquals(Object o1, Object o2) Removes transient optimizer metadata from this query model node.protected <T extends QueryModelNode>
booleanreplaceNodeInList(List<T> list, QueryModelNode current, QueryModelNode replacement) voidreplaceWith(QueryModelNode replacement) Default implementation ofQueryModelNode.replaceWith(QueryModelNode)that throws anIllegalArgumentExceptionindicating that current is not a child node of this node.voidvoidsetCardinality(double cardinality) voidsetCostEstimate(double costEstimate) voidsetDoubleMetricActual(String metricName, double metricValue) voidsetDoubleMetricPlanned(String metricName, double metricValue) voidsetHasNextCallCountActual(long hasNextCallCountActual) voidsetHasNextTimeNanosActual(long hasNextTimeNanosActual) voidsetHasNextTrueCountActual(long hasNextTrueCountActual) voidsetJoinLeftBindingsConsumedActual(long joinLeftBindingsConsumedActual) voidsetJoinRightBindingsConsumedActual(long joinRightBindingsConsumedActual) voidsetJoinRightIteratorsCreatedActual(long joinRightIteratorsCreatedActual) voidsetLongMetricActual(String metricName, long metricValue) voidsetLongMetricPlanned(String metricName, long metricValue) voidsetNextCallCountActual(long nextCallCountActual) voidsetNextTimeNanosActual(long nextTimeNanosActual) voidsetParentNode(QueryModelNode parent) Sets the node's parent.voidsetQueryModelMetadata(Object key, Object value) Attaches transient optimizer metadata to this query model node.voidsetResultSizeActual(long resultSizeActual) voidsetResultSizeEstimate(double resultSizeEstimate) voidsetRuntimeTelemetryEnabled(boolean runtimeTelemetryEnabled) voidsetSourceRowsFilteredActual(long sourceRowsFilteredActual) voidsetSourceRowsMatchedActual(long sourceRowsMatchedActual) voidsetSourceRowsScannedActual(long sourceRowsScannedActual) voidsetStringMetricActual(String metricName, String metricValue) voidsetStringMetricPlanned(String metricName, String metricValue) voidsetTotalTimeNanosActual(long totalTimeNanosActual) voidsetVariableScopeChange(boolean isVariableScopeChange) Set the value ofVariableScopeChange.isVariableScopeChange()to true or false.protected booleantoString()Returns an indented print of the node tree, starting from this node.Methods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface FedXTupleExpr
getFreeVarCountMethods inherited from interface QueryModelNode
equalsMethods inherited from interface TupleExpr
getOrder, getSupportedOrders, setOrderModifier and TypeMethodDescriptiondefault VargetOrder()getSupportedOrders(AvailableStatementOrder tripleSource) default void
-
Constructor Details
-
TripleRefJoinGroup
public TripleRefJoinGroup(TripleRefStatementPattern tripleRef, List<StatementPattern> stmts, List<StatementSource> statementSources, QueryInfo queryInfo)
-
-
Method Details
-
getBindingNames
Description copied from interface:TupleExprGets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.- Specified by:
getBindingNamesin interfaceTupleExpr- Returns:
- A set of binding names.
-
getAssuredBindingNames
Description copied from interface:TupleExprGets the names of the bindings that are guaranteed to be present in the results produced by this tuple expression.- Specified by:
getAssuredBindingNamesin interfaceTupleExpr- Returns:
- A set of binding names.
-
getStatementSources
-
getTripleRefStatementPattern
-
getStatementPatterns
-
visit
Description copied from interface:QueryModelNodeVisits this node. The node reports itself to the visitor with the proper runtime type.- Specified by:
visitin interfaceQueryModelNode- Throws:
X
-
visitChildren
Description copied from interface:QueryModelNodeVisits the children of this node. The node callsQueryModelNode.visit(QueryModelVisitor)on all of its child nodes.- Specified by:
visitChildrenin interfaceQueryModelNode- Throws:
X
-
replaceChildNode
Description copied from interface:QueryModelNodeReplaces one of the child nodes with a new node.- Specified by:
replaceChildNodein interfaceQueryModelNode- Parameters:
current- The current child node.replacement- The new child node.
-
getFreeVars
- Specified by:
getFreeVarsin interfaceVariableExpr- Returns:
- a list of free (i.e. unbound) variables in this expression
-
getQueryInfo
Description copied from interface:QueryRefRetrieve the attached query information of the tuple expression- Specified by:
getQueryInfoin interfaceQueryRef- Returns:
- the
QueryInfo
-
clone
Description copied from interface:QueryModelNodeReturns a (deep) clone of this query model node. This method recursively clones the entire node tree, starting from this nodes.- Specified by:
clonein interfaceQueryModelNode- Specified by:
clonein interfaceTupleExpr- Overrides:
clonein classAbstractQueryModelNode- Returns:
- A deep clone of this query model node.
-