Interface TopologyTraversalSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface TopologyTraversalSession extends OsidSession

This session defines methods to traverse through a graph.

  • Method Details

    • getGraphId

      Id getGraphId()
      Gets the Graph Id associated with this session.
      Returns:
      the Graph Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getGraph

      Gets the Graph associated with this session.
      Returns:
      the graph
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canTraverseTopology

      boolean canTraverseTopology()
      Tests if this user can traverse the topology. A return of true does not guarantee successful authorization. A return of false indicates that it is known all methods in this session will result in a PERMISSION_DENIED . This is intended as a hint to an application that may not offer lookup operations to unauthorized users.
      Returns:
      false if topology methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeNodeView

      void useComparativeNodeView()
      The returns from the traversal methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.
      Compliance:
      mandatory - This method is must be implemented.
    • usePlenaryNodeView

      void usePlenaryNodeView()
      A complete view of the method returns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.
      Compliance:
      mandatory - This method is must be implemented.
    • useFederatedGraphView

      void useFederatedGraphView()
      Federates the view for methods in this session. A federated view will include edges in graphs which are children of this graph in the graph hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedGraphView

      void useIsolatedGraphView()
      Isolates the view for methods in this session. An isolated view restricts retrievals to this graph only.
      Compliance:
      mandatory - This method is must be implemented.
    • getConnectedEdges

      EdgeList getConnectedEdges(Id nodeId, long hops) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets all the edges for a given node.
      Parameters:
      nodeId - the given node Id
      hops - the number of hops to include. 0 returns an empty list. 1 returns the immediate connected edges.
      Returns:
      a list of edges
      Throws:
      NotFoundException - nodeId is not found
      NullArgumentException - nodeId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getNeighboringNodes

      NodeList getNeighboringNodes(Id nodeId, long hops) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the neighboring nodes of the given node.
      Parameters:
      nodeId - the given node Id
      hops - the number of hops to include. 0 returns the given node. 1 returns the immediate neighbors.
      Returns:
      the list of neighboring nodes
      Throws:
      NotFoundException - nodeId is not found
      NullArgumentException - nodeId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getInboundEdges

      EdgeList getInboundEdges(Id nodeId, long hops) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets a list of directional edges into the given node.
      Parameters:
      nodeId - the given node Id
      hops - the number of hops to include. 0 returns an empty list. 1 returns the immediate connected edges.
      Returns:
      a list of inbound edges
      Throws:
      NotFoundException - nodeId is not found
      NullArgumentException - nodeId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getOutboundEdges

      EdgeList getOutboundEdges(Id nodeId, long hops) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets a list of directional edges out of the given node.
      Parameters:
      nodeId - the given node Id
      hops - the number of hops to include. 0 returns an empty list. 1 returns the immediate connected edges.
      Returns:
      a list of outbound edges
      Throws:
      NotFoundException - nodeId is not found
      NullArgumentException - nodeId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDisconnectedNodes

      Gets the nodes with no edges.
      Returns:
      the list of neighboring nodes
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.