Class ExclusiveArbitraryLengthPath
java.lang.Object
org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
org.eclipse.rdf4j.query.algebra.ArbitraryLengthPath
org.eclipse.rdf4j.federated.algebra.ExclusiveArbitraryLengthPath
- All Implemented Interfaces:
Serializable
,Cloneable
,ExclusiveTupleExpr
,ExclusiveTupleExprRenderer
,FedXTupleExpr
,QueryRef
,VariableExpr
,QueryModelNode
,TupleExpr
,VariableScopeChange
public class ExclusiveArbitraryLengthPath
extends ArbitraryLengthPath
implements ExclusiveTupleExprRenderer
An
ArbitraryLengthPath
node which can be evaluated at a single node.- Author:
- Andreas Schwarte
- See Also:
-
Constructor Summary
ConstructorDescriptionExclusiveArbitraryLengthPath
(ArbitraryLengthPath path, StatementSource owner, QueryInfo queryInfo) -
Method Summary
Modifier and TypeMethodDescriptionclone()
Returns a (deep) clone of this query model node.getOwner()
Retrieve the attached query information of the tuple expressiontoQueryAlgebra
(Set<String> varNames, BindingSet bindings) Returns a SPARQL algebra representation of this expression that can be inserted into a SELECTTupleExpr
toQueryString
(Set<String> varNames, BindingSet bindings) Returns a SPARQL string representation of this expression that can be inserted into a SELECT query.Methods inherited from class org.eclipse.rdf4j.query.algebra.ArbitraryLengthPath
equals, getAssuredBindingNames, getBindingNames, getContextVar, getMinLength, getObjectVar, getPathExpression, getScope, getSignature, getSubjectVar, hashCode, replaceChildNode, setContextVar, setMinLength, setObjectVar, setPathExpression, setScope, setSubjectVar, visit, visitChildren
Methods inherited from class org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
getCardinality, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getTotalTimeNanosActual, isCardinalitySet, isVariableScopeChange, nullEquals, replaceNodeInList, replaceWith, resetCardinality, setCardinality, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, shouldCacheCardinality, toString
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.rdf4j.federated.algebra.FedXTupleExpr
getFreeVarCount
Methods inherited from interface org.eclipse.rdf4j.query.algebra.QueryModelNode
equals, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, replaceChildNode, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString, visit, visitChildren
Methods inherited from interface org.eclipse.rdf4j.query.algebra.TupleExpr
getAssuredBindingNames, getBindingNames
-
Constructor Details
-
ExclusiveArbitraryLengthPath
public ExclusiveArbitraryLengthPath(ArbitraryLengthPath path, StatementSource owner, QueryInfo queryInfo)
-
-
Method Details
-
getOwner
- Specified by:
getOwner
in interfaceExclusiveTupleExpr
- Returns:
- the owner for this expression
-
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 classArbitraryLengthPath
- Returns:
- A deep clone of this query model node.
-
toQueryString
Description copied from interface:ExclusiveTupleExprRenderer
Returns a SPARQL string representation of this expression that can be inserted into a SELECT query.Implementations are required to create a valid query string for this expression where the given bindings are inserted.
- Specified by:
toQueryString
in interfaceExclusiveTupleExprRenderer
- Parameters:
varNames
- the set of resulting (unbound) variables from this expressionbindings
- the optional input bindings- Returns:
- the query string part
-
toQueryAlgebra
Description copied from interface:ExclusiveTupleExprRenderer
Returns a SPARQL algebra representation of this expression that can be inserted into a SELECTTupleExpr
Implementations are required to create a new equivalent expression or clone, where any provided input bindings are inserted. The free variable names after insertion need to be added to the provided set.
- Specified by:
toQueryAlgebra
in interfaceExclusiveTupleExprRenderer
- Parameters:
varNames
- the set of resulting (unbound) variables from this expressionbindings
- the input bindings that need to be inserted- Returns:
- the algebra expression
-
getFreeVars
- Specified by:
getFreeVars
in interfaceVariableExpr
- Returns:
- a list of free (i.e. unbound) variables in this expression
-
getQueryInfo
Description copied from interface:QueryRef
Retrieve the attached query information of the tuple expression- Specified by:
getQueryInfo
in interfaceQueryRef
- Returns:
- the
QueryInfo
-