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

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:
  • Constructor Details

    • 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 Details

    • 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: 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 interface TupleExpr
      Returns:
      A set of binding names.
    • 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 interface TupleExpr
      Returns:
      A set of binding names.
    • visit

      public <X extends Exception> void visit(QueryModelVisitor<X> visitor) throws X
      Description copied from interface: QueryModelNode
      Visits this node. The node reports itself to the visitor with the proper runtime type.
      Specified by:
      visit in interface QueryModelNode
      Throws:
      X
    • visitChildren

      public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X
      Description copied from interface: QueryModelNode
      Visits the children of this node. The node calls QueryModelNode.visit(QueryModelVisitor) on all of its child nodes.
      Specified by:
      visitChildren in interface QueryModelNode
      Throws:
      X
    • 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 interface QueryModelNode
      Parameters:
      current - The current child node.
      replacement - The new child node.
    • getSignature

      public String getSignature()
      Description copied from class: AbstractQueryModelNode
      Default implementation of QueryModelNode.getSignature() that prints the name of the node's class.
      Specified by:
      getSignature in interface QueryModelNode
      Overrides:
      getSignature in class AbstractQueryModelNode
      Returns:
      The node's signature, e.g. SLICE (offset=10, limit=10).
    • equals

      public boolean equals(Object other)
      Description copied from interface: QueryModelNode
      Returns true if this query model node and its children are recursively equal to o and its children.
      Specified by:
      equals in interface QueryModelNode
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • clone

      public ArbitraryLengthPath 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 interface QueryModelNode
      Specified by:
      clone in interface TupleExpr
      Overrides:
      clone in class AbstractQueryModelNode
      Returns:
      A deep clone of this query model node.