Package org.eclipse.rdf4j.query.algebra
Class ArbitraryLengthPath
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
-
- org.eclipse.rdf4j.query.algebra.ArbitraryLengthPath
-
- All Implemented Interfaces:
Serializable,Cloneable,QueryModelNode,TupleExpr,VariableScopeChange
- Direct Known Subclasses:
ExclusiveArbitraryLengthPath,FedXArbitraryLengthPath
public class ArbitraryLengthPath extends AbstractQueryModelNode implements TupleExpr
A tuple expression that matches a path of arbitrary length against an RDF graph. They can can be targeted at one of three context scopes: all contexts, null context only, or named contexts only.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ArbitraryLengthPath()ArbitraryLengthPath(StatementPattern.Scope scope, Var subject, TupleExpr pathExpression, Var object, long minLength)Creates a arbitrary-length path that matches a subject-, predicate- and object variable against statements from the specified context scope.ArbitraryLengthPath(StatementPattern.Scope scope, Var subjVar, TupleExpr pathExpression, Var objVar, Var conVar, long minLength)Creates a arbitrary-length path that matches a subject-, predicate-, object- and context variable against statements from the specified context scope.ArbitraryLengthPath(Var subject, TupleExpr pathExpression, Var object, long minLength)Creates a arbitrary-length path that matches a subject-, predicate- and object variable against statements from all contexts.ArbitraryLengthPath(Var subject, TupleExpr pathExpression, Var object, Var context, long minLength)Creates a arbitrary-length path that matches a subject-, predicate-, object- and context variable against statements from all contexts.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ArbitraryLengthPathclone()Returns a (deep) clone of this query model node.booleanequals(Object other)Returns true if this query model node and its children are recursively equal to o and its children.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.VargetContextVar()Returns the context variable, if available.longgetMinLength()VargetObjectVar()VargetOrder()TupleExprgetPathExpression()StatementPattern.ScopegetScope()Gets the context scope for the arbitrary-length path.StringgetSignature()Default implementation ofQueryModelNode.getSignature()that prints the name of the node's class.VargetSubjectVar()Set<Var>getSupportedOrders(AvailableStatementOrder tripleSource)inthashCode()voidreplaceChildNode(QueryModelNode current, QueryModelNode replacement)Replaces one of the child nodes with a new node.voidsetContextVar(Var context)voidsetMinLength(long minLength)voidsetObjectVar(Var object)voidsetOrder(Var var)voidsetPathExpression(TupleExpr pathExpression)voidsetScope(StatementPattern.Scope scope)Sets the context scope for the arbitrary-length pathvoidsetSubjectVar(Var subject)<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, 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.query.algebra.QueryModelNode
getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getTotalTimeNanosActual, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString
-
-
-
-
Constructor Detail
-
ArbitraryLengthPath
public ArbitraryLengthPath()
-
ArbitraryLengthPath
public ArbitraryLengthPath(Var subject, TupleExpr pathExpression, Var object, long minLength)
Creates a arbitrary-length path that matches a subject-, predicate- and object variable against statements from all contexts.
-
ArbitraryLengthPath
public ArbitraryLengthPath(StatementPattern.Scope scope, Var subject, TupleExpr pathExpression, Var object, long minLength)
Creates a arbitrary-length path that matches a subject-, predicate- and object variable against statements from the specified context scope.
-
ArbitraryLengthPath
public ArbitraryLengthPath(Var subject, TupleExpr pathExpression, Var object, Var context, long minLength)
Creates a arbitrary-length path that matches a subject-, predicate-, object- and context variable against statements from all contexts.
-
ArbitraryLengthPath
public ArbitraryLengthPath(StatementPattern.Scope scope, Var subjVar, TupleExpr pathExpression, Var objVar, Var conVar, long minLength)
Creates a arbitrary-length path that matches a subject-, predicate-, object- and context variable against statements from the specified context scope.
-
-
Method Detail
-
getScope
public StatementPattern.Scope getScope()
Gets the context scope for the arbitrary-length path.
-
setScope
public void setScope(StatementPattern.Scope scope)
Sets the context scope for the arbitrary-length path
-
getSubjectVar
public Var getSubjectVar()
-
setSubjectVar
public void setSubjectVar(Var subject)
-
getPathExpression
public TupleExpr getPathExpression()
-
setPathExpression
public void setPathExpression(TupleExpr pathExpression)
-
getObjectVar
public Var getObjectVar()
-
setObjectVar
public void setObjectVar(Var object)
-
setMinLength
public void setMinLength(long minLength)
-
getMinLength
public long getMinLength()
-
getContextVar
public Var getContextVar()
Returns the context variable, if available.
-
setContextVar
public void setContextVar(Var context)
-
getBindingNames
public Set<String> 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
public Set<String> 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.
-
visit
public <X extends Exception> void visit(QueryModelVisitor<X> visitor) throws X extends Exception
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 extends Exception
-
visitChildren
public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X extends Exception
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 extends Exception
-
replaceChildNode
public void replaceChildNode(QueryModelNode current, QueryModelNode replacement)
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.
-
getSignature
public String getSignature()
Description copied from class:AbstractQueryModelNodeDefault implementation ofQueryModelNode.getSignature()that prints the name of the node's class.- Specified by:
getSignaturein interfaceQueryModelNode- Overrides:
getSignaturein classAbstractQueryModelNode- Returns:
- The node's signature, e.g. SLICE (offset=10, limit=10).
-
equals
public boolean equals(Object other)
Description copied from interface:QueryModelNodeReturns true if this query model node and its children are recursively equal to o and its children.- Specified by:
equalsin interfaceQueryModelNode- Overrides:
equalsin classObject
-
clone
public ArbitraryLengthPath 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.
-
getSupportedOrders
public Set<Var> getSupportedOrders(AvailableStatementOrder tripleSource)
- Specified by:
getSupportedOrdersin interfaceTupleExpr
-
-