Package org.eclipse.rdf4j.query.algebra
Class ZeroLengthPath
java.lang.Object
org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
org.eclipse.rdf4j.query.algebra.ZeroLengthPath
- All Implemented Interfaces:
Serializable,Cloneable,GraphPatternGroupable,QueryModelNode,TupleExpr,VariableScopeChange
- Direct Known Subclasses:
FedXZeroLengthPath
A tuple expression that matches a path of length zero 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:
-
Constructor Summary
ConstructorsConstructorDescriptionZeroLengthPath(StatementPattern.Scope scope, Var subject, Var object) Creates a zero-length path that matches a subject-, predicate- and object variable against statements from the specified context scope.ZeroLengthPath(StatementPattern.Scope scope, Var subjVar, Var objVar, Var conVar) Creates a zero-length path that matches a subject-, predicate-, object- and context variable against statements from the specified context scope.ZeroLengthPath(Var subject, Var object) Creates a zero-length path that matches a subject-, predicate- and object variable against statements from all contexts.ZeroLengthPath(Var subject, Var object, Var context) Creates a zero-length path that matches a subject-, predicate-, object- and context variable against statements from all contexts. -
Method Summary
Modifier and TypeMethodDescriptionclone()Returns a (deep) clone of this query model node.booleanReturns true if this query model node and its children are recursively equal to o and its children.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.Returns the context variable, if available.getScope()Gets the context scope for the zero-length path.Default implementation ofQueryModelNode.getSignature()that prints the name of the node's class.<L extends Collection<Var>>
LgetVars(L varCollection) Adds the variables of this statement pattern to the supplied collection.inthashCode()voidreplaceChildNode(QueryModelNode current, QueryModelNode replacement) Default implementation ofQueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode)that throws anIllegalArgumentExceptionindicating that current is not a child node of this node.voidsetContextVar(Var context) voidsetObjectVar(Var object) voidsetScope(StatementPattern.Scope scope) Sets the context scope for the zero-length pathvoidsetSubjectVar(Var subject) <X extends Exception>
voidvisit(QueryModelVisitor<X> visitor) Visits this node.<X extends Exception>
voidvisitChildren(QueryModelVisitor<X> visitor) Dummy implementation ofQueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>)that does nothing.Methods inherited from class org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
getCardinality, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getTotalTimeNanosActual, isCardinalitySet, isGraphPatternGroup, isVariableScopeChange, nullEquals, replaceNodeInList, replaceWith, resetCardinality, setCardinality, setCostEstimate, setGraphPatternGroup, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, shouldCacheCardinality, toStringMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.rdf4j.query.algebra.QueryModelNode
getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getTotalTimeNanosActual, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString
-
Constructor Details
-
ZeroLengthPath
public ZeroLengthPath() -
ZeroLengthPath
Creates a zero-length path that matches a subject-, predicate- and object variable against statements from all contexts. -
ZeroLengthPath
Creates a zero-length path that matches a subject-, predicate- and object variable against statements from the specified context scope. -
ZeroLengthPath
Creates a zero-length path that matches a subject-, predicate-, object- and context variable against statements from all contexts. -
ZeroLengthPath
Creates a zero-length path that matches a subject-, predicate-, object- and context variable against statements from the specified context scope.
-
-
Method Details
-
getScope
Gets the context scope for the zero-length path. -
setScope
Sets the context scope for the zero-length path -
getSubjectVar
-
setSubjectVar
-
getObjectVar
-
setObjectVar
-
getContextVar
Returns the context variable, if available. -
setContextVar
-
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.
-
getVarList
-
getVars
Adds the variables of this statement pattern to the supplied collection. -
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 extends Exception
-
visitChildren
Description copied from class:AbstractQueryModelNodeDummy implementation ofQueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>)that does nothing. Subclasses should override this method when they have child nodes.- Specified by:
visitChildrenin interfaceQueryModelNode- Overrides:
visitChildrenin classAbstractQueryModelNode- Throws:
X extends Exception
-
replaceChildNode
Description copied from class:AbstractQueryModelNodeDefault implementation ofQueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode)that throws anIllegalArgumentExceptionindicating that current is not a child node of this node.- Specified by:
replaceChildNodein interfaceQueryModelNode- Overrides:
replaceChildNodein classAbstractQueryModelNode- Parameters:
current- The current child node.replacement- The new child node.
-
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
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
-
hashCode
public int hashCode() -
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.
-