traverse

lightdb.traverse.TransactionTraversalSupport.traverse
object traverse

Provides traversal functionality

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
traverse.type

Members list

Value members

Concrete methods

def allPaths[E <: EdgeDocument[LazyRef(...), From, From], From <: Document[LazyRef(...)]](from: Id[From], to: Id[From], maxDepth: Int, bufferSize: Int, edgeFilter: E => Boolean)(implicit ev: Doc =:= E): Stream[TraversalPath[E, From, From]]
def bfs[E <: EdgeDocument[LazyRef(...), N, T], N <: Document[LazyRef(...)], T <: Document[LazyRef(...)]](startId: Id[N])(implicit ev: Doc =:= E): EdgeTraversalBuilder[E, N, T]

Create a traversal for BFS with a single starting node

Create a traversal for BFS with a single starting node

Attributes

def bfs[E <: EdgeDocument[LazyRef(...), N, T], N <: Document[LazyRef(...)], T <: Document[LazyRef(...)]](startId: Id[N], maxDepth: Int)(implicit ev: Doc =:= E): EdgeTraversalBuilder[E, N, T]

Create a traversal for BFS with a single starting node and specified depth

Create a traversal for BFS with a single starting node and specified depth

Attributes

def bfs[E <: EdgeDocument[LazyRef(...), N, T], N <: Document[LazyRef(...)], T <: Document[LazyRef(...)]](startIds: Set[Id[N]])(implicit ev: Doc =:= E): EdgeTraversalBuilder[E, N, T]

Create a traversal for BFS with multiple starting nodes

Create a traversal for BFS with multiple starting nodes

Attributes

def bfs[E <: EdgeDocument[LazyRef(...), N, T], N <: Document[LazyRef(...)], T <: Document[LazyRef(...)]](startIds: Set[Id[N]], maxDepth: Int)(implicit ev: Doc =:= E): EdgeTraversalBuilder[E, N, T]

Create a traversal for BFS with multiple starting nodes and specified depth

Create a traversal for BFS with multiple starting nodes and specified depth

Attributes

def collectReachableIds[E <: EdgeDocument[LazyRef(...), N, N], N <: Document[LazyRef(...)]](startId: Id[N], maxDepth: Int)(implicit ev: Doc =:= E): Task[Set[Id[N]]]

Compatibility method for legacy code - uses the new traversal API internally but returns a backward-compatible result wrapped in a Task

Compatibility method for legacy code - uses the new traversal API internally but returns a backward-compatible result wrapped in a Task

Attributes

def dfs[E <: EdgeDocument[LazyRef(...), N, T], N <: Document[LazyRef(...)], T <: Document[LazyRef(...)]](startId: Id[N])(implicit ev: Doc =:= E): EdgeTraversalBuilder[E, N, T]

Create a traversal for DFS

Create a traversal for DFS

Attributes

def dfs[E <: EdgeDocument[LazyRef(...), N, T], N <: Document[LazyRef(...)], T <: Document[LazyRef(...)]](startId: Id[N], maxDepth: Int)(implicit ev: Doc =:= E): EdgeTraversalBuilder[E, N, T]

Create a traversal for DFS with specified depth

Create a traversal for DFS with specified depth

Attributes

def dfs[E <: EdgeDocument[LazyRef(...), N, T], N <: Document[LazyRef(...)], T <: Document[LazyRef(...)]](startIds: Set[Id[N]])(implicit ev: Doc =:= E): EdgeTraversalBuilder[E, N, T]

Create a traversal for DFS with multiple starting nodes

Create a traversal for DFS with multiple starting nodes

Attributes

def dfs[E <: EdgeDocument[LazyRef(...), N, T], N <: Document[LazyRef(...)], T <: Document[LazyRef(...)]](startIds: Set[Id[N]], maxDepth: Int)(implicit ev: Doc =:= E): EdgeTraversalBuilder[E, N, T]

Create a traversal for DFS with multiple starting nodes and specified depth

Create a traversal for DFS with multiple starting nodes and specified depth

Attributes

def edgesFor[E <: EdgeDocument[LazyRef(...), From, To], From <: Document[LazyRef(...)], To <: Document[LazyRef(...)]](fromId: Id[From])(implicit ev: Doc =:= E): Stream[E]

Get a stream of edges for the specified from ID

Get a stream of edges for the specified from ID

Attributes

def from[D <: Document[LazyRef(...)]](id: Id[D]): DocumentTraversalBuilder[D]

Start a traversal from a single document ID

Start a traversal from a single document ID

Attributes

def from[D <: Document[LazyRef(...)]](ids: Set[Id[D]]): DocumentTraversalBuilder[D]

Start a traversal from a set of document IDs

Start a traversal from a set of document IDs

Attributes

def reachableFrom[E <: EdgeDocument[LazyRef(...), From, To], From <: Document[LazyRef(...)], To <: Document[LazyRef(...)]](from: Id[From], maxDepth: Int)(implicit ev: From =:= To): Stream[E]

Find all nodes reachable from a starting ID by following edges

Find all nodes reachable from a starting ID by following edges

Attributes

def shortestPaths[E <: EdgeDocument[LazyRef(...), From, To], From <: Document[LazyRef(...)], To <: Document[LazyRef(...)]](from: Id[From], to: Id[To], maxDepth: Int, bufferSize: Int, edgeFilter: E => Boolean)(implicit ev: Doc =:= E): Stream[TraversalPath[E, From, To]]

Find shortest paths between two nodes

Find shortest paths between two nodes

Attributes