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

  • Method Details

    • getOwner

      public StatementSource getOwner()
      Specified by:
      getOwner in interface ExclusiveTupleExpr
      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 interface QueryModelNode
      Specified by:
      clone in interface TupleExpr
      Overrides:
      clone in class ArbitraryLengthPath
      Returns:
      A deep clone of this query model node.
    • toQueryString

      public String toQueryString(Set<String> varNames, BindingSet bindings)
      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 interface ExclusiveTupleExprRenderer
      Parameters:
      varNames - the set of resulting (unbound) variables from this expression
      bindings - the optional input bindings
      Returns:
      the query string part
    • toQueryAlgebra

      public TupleExpr toQueryAlgebra(Set<String> varNames, BindingSet bindings)
      Description copied from interface: ExclusiveTupleExprRenderer
      Returns a SPARQL algebra representation of this expression that can be inserted into a SELECT TupleExpr

      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 interface ExclusiveTupleExprRenderer
      Parameters:
      varNames - the set of resulting (unbound) variables from this expression
      bindings - the input bindings that need to be inserted
      Returns:
      the algebra expression
    • getFreeVars

      public List<String> getFreeVars()
      Specified by:
      getFreeVars in interface VariableExpr
      Returns:
      a list of free (i.e. unbound) variables in this expression
    • getQueryInfo

      public QueryInfo getQueryInfo()
      Description copied from interface: QueryRef
      Retrieve the attached query information of the tuple expression
      Specified by:
      getQueryInfo in interface QueryRef
      Returns:
      the QueryInfo