Interface PathQuery

All Superinterfaces:
Extensible, OsidAggregateableQuery, OsidBrowsableQuery, OsidExtensibleQuery, OsidIdentifiableQuery, OsidObjectQuery, OsidQuery, OsidRelationshipQuery, OsidTemporalQuery, Suppliable

public interface PathQuery extends OsidRelationshipQuery, OsidAggregateableQuery

This is the query for searching paths. Each method match specifies an AND term while multiple invocations of the same method produce a nested OR .

  • Method Details

    • matchComplete

      void matchComplete(boolean match)
      Matches paths that are complete.
      Parameters:
      match - true to match complete paths, false to match inactive paths
      Compliance:
      mandatory - This method must be implemented.
    • clearCompleteTerms

      void clearCompleteTerms()
      Clears the path complete query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchClosed

      void matchClosed(boolean match)
      Matches paths that are closed.
      Parameters:
      match - true to match closed paths, false to match inactive paths
      Compliance:
      mandatory - This method must be implemented.
    • clearClosedTerms

      void clearClosedTerms()
      Clears the path closed query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchStartingNodeId

      void matchStartingNodeId(Id nodeId, boolean match)
      Sets the node Id for this query to match paths with a starting node.
      Parameters:
      nodeId - the node Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - nodeId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearStartingNodeIdTerms

      void clearStartingNodeIdTerms()
      Clears the starting node Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsStartingNodeQuery

      boolean supportsStartingNodeQuery()
      Tests if a NodeQuery is available for a starting node.
      Returns:
      true if a node query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getStartingNodeQuery

      NodeQuery getStartingNodeQuery()
      Gets the query for a starting node. Multiple retrievals produce a nested OR term.
      Returns:
      the node query
      Throws:
      UnimplementedException - supportsStartingNodeQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsStartingNodeQuery()} is {@code true} .
    • clearStartingNodeTerms

      void clearStartingNodeTerms()
      Clears the starting node query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchEndingNodeId

      void matchEndingNodeId(Id nodeId, boolean match)
      Sets the node Id for this query to match paths with an ending node.
      Parameters:
      nodeId - the node Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - nodeId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearEndingNodeIdTerms

      void clearEndingNodeIdTerms()
      Clears the ending node Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsEndingNodeQuery

      boolean supportsEndingNodeQuery()
      Tests if a NodeQuery is available for an ending node.
      Returns:
      true if a node query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getEndingNodeQuery

      NodeQuery getEndingNodeQuery()
      Gets the query for an ending node. Multiple retrievals produce a nested OR term.
      Returns:
      the node query
      Throws:
      UnimplementedException - supportsEndingNodeQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsEndingNodeQuery()} is {@code true} .
    • clearEndingNodeTerms

      void clearEndingNodeTerms()
      Clears the ending node query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchAlongNodeIds

      void matchAlongNodeIds(Id[] nodeIds, boolean match)
      Sets the node Ids for this query to match paths along the given nodes.
      Parameters:
      nodeIds - the node Ids
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - nodeIds is null
      Compliance:
      mandatory - This method must be implemented.
    • clearAlongNodeIdsTerms

      void clearAlongNodeIdsTerms()
      Clears the along node Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchIntersectingPathId

      void matchIntersectingPathId(Id pathId, boolean match)
      Sets the path Id for this query to match paths intersecting with another path.
      Parameters:
      pathId - the path Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - pathId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearIntersectingPathIdTerms

      void clearIntersectingPathIdTerms()
      Clears the intersecting path Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsIntersectingPathQuery

      boolean supportsIntersectingPathQuery()
      Tests if a PathQuery is available for intersecting paths,
      Returns:
      true if a path query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getIntersectingPathQuery

      PathQuery getIntersectingPathQuery()
      Gets the query for an intersecting path, Multiple retrievals produce a nested OR term.
      Returns:
      the path query
      Throws:
      UnimplementedException - supportsIntersectingPathQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsIntersectingPathQuery()} is {@code true} .
    • matchAnyIntersectingPath

      void matchAnyIntersectingPath(boolean match)
      Matches paths with any intersecting path,
      Parameters:
      match - true to match paths with any intersecting path, false to match paths with no intersecting path
      Compliance:
      mandatory - This method must be implemented.
    • clearIntersectingPathTerms

      void clearIntersectingPathTerms()
      Clears the intersecting path query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchHops

      void matchHops(long from, long to, boolean match)
      Matches paths that have a number of hops within the given range inclusive.
      Parameters:
      from - starting range
      to - ending range
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - to is less than from
      Compliance:
      mandatory - This method must be implemented.
    • clearHopsTerms

      void clearHopsTerms()
      Clears the number of hops query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchDistance

      void matchDistance(BigDecimal from, BigDecimal to, boolean match)
      Matches paths that have a distance with the given range inclusive.
      Parameters:
      from - starting range
      to - ending range
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - to is less than from
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyDistance

      void matchAnyDistance(boolean match)
      Matches paths that has any distance assigned.
      Parameters:
      match - true to match paths with any distance, false to match paths with no distance assigned
      Compliance:
      mandatory - This method must be implemented.
    • clearDistanceTerms

      void clearDistanceTerms()
      Clears the distance query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchCost

      void matchCost(BigDecimal from, BigDecimal to, boolean match)
      Matches paths that have a cost with the given range inclusive.
      Parameters:
      from - starting range
      to - ending range
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - to is less than from
      Compliance:
      mandatory - This method must be implemented.
    • clearCostTerms

      void clearCostTerms()
      Clears the cost query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchNodeId

      void matchNodeId(Id nodeId, boolean match)
      Sets the node Id for this query to match paths that pass through nodes.
      Parameters:
      nodeId - the node Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - nodeId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearNodeIdTerms

      void clearNodeIdTerms()
      Clears the node Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsNodeQuery

      boolean supportsNodeQuery()
      Tests if a NodeQuery is available.
      Returns:
      true if a node query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getNodeQuery

      NodeQuery getNodeQuery()
      Gets the query for a node. Multiple retrievals produce a nested OR term.
      Returns:
      the node query
      Throws:
      UnimplementedException - supportsNodeQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsNodeQuery()} is {@code true} .
    • clearNodeTerms

      void clearNodeTerms()
      Clears the node query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchEdgeId

      void matchEdgeId(Id edgeId, boolean match)
      Sets the edge Id for this query to match paths contain the edge.
      Parameters:
      edgeId - the edge Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - edgeId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearEdgeIdTerms

      void clearEdgeIdTerms()
      Clears the edge Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsEdgeQuery

      boolean supportsEdgeQuery()
      Tests if an EdgeQuery is available.
      Returns:
      true if an edge query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getEdgeQuery

      EdgeQuery getEdgeQuery()
      Gets the query for an edge. Multiple retrievals produce a nested OR term.
      Returns:
      the edge query
      Throws:
      UnimplementedException - supportsEdgeQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsEdgeQuery()} is {@code true} .
    • clearEdgeTerms

      void clearEdgeTerms()
      Clears the edge query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchGraphId

      void matchGraphId(Id graphId, boolean match)
      Sets the graph Id for this query to match edges assigned to graphs.
      Parameters:
      graphId - the graph Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - graphId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearGraphIdTerms

      void clearGraphIdTerms()
      Clears the graph Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsGraphQuery

      boolean supportsGraphQuery()
      Tests if a GraphQuery is available.
      Returns:
      true if a graph query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getGraphQuery

      GraphQuery getGraphQuery()
      Gets the query for a graph. Multiple retrievals produce a nested OR term.
      Returns:
      the graph query
      Throws:
      UnimplementedException - supportsGraphQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsGraphQuery()} is {@code true} .
    • clearGraphTerms

      void clearGraphTerms()
      Clears the graph terms.
      Compliance:
      mandatory - This method must be implemented.
    • getPathQueryRecord

      PathQueryRecord getPathQueryRecord(Type pathRecordType) throws OperationFailedException
      Gets the path query record corresponding to the given Path record Type .Multiple record retrievals produce a nested OR term.
      Parameters:
      pathRecordType - a path record type
      Returns:
      the path query record
      Throws:
      NullArgumentException - pathRecordType is null
      OperationFailedException - unable to complete request
      UnsupportedException - hasRecordType(pathRecordType) is false
      Compliance:
      mandatory - This method must be implemented.