Safe Haskell | None |
---|---|
Language | Haskell98 |
Module to manage traversal operations
- data Uniqueness
- data TraversalOrder
- data ReturnFilter
- type RelFilter = (RelationshipType, Direction)
- data TraversalDesc = TraversalDesc {}
- data TraversalPaging = TraversalPaging {}
- data ConcreteDirection
- data Path a b
- type IdPath = Path NodePath (RelPath, ConcreteDirection)
- type FullPath = Path Node Relationship
- data PagedTraversal a
- pathNodes :: Path a b -> [a]
- pathRels :: Path a b -> [b]
- traverseGetNodes :: NodeIdentifier a => TraversalDesc -> a -> Neo4j [Node]
- traverseGetRels :: NodeIdentifier a => TraversalDesc -> a -> Neo4j [Relationship]
- traverseGetPath :: NodeIdentifier a => TraversalDesc -> a -> Neo4j [IdPath]
- traverseGetFullPath :: NodeIdentifier a => TraversalDesc -> a -> Neo4j [FullPath]
- pagedTraverseGetNodes :: NodeIdentifier a => TraversalDesc -> TraversalPaging -> a -> Neo4j (PagedTraversal Node)
- pagedTraverseGetRels :: NodeIdentifier a => TraversalDesc -> TraversalPaging -> a -> Neo4j (PagedTraversal Relationship)
- pagedTraverseGetPath :: NodeIdentifier a => TraversalDesc -> TraversalPaging -> a -> Neo4j (PagedTraversal IdPath)
- pagedTraverseGetFullPath :: NodeIdentifier a => TraversalDesc -> TraversalPaging -> a -> Neo4j (PagedTraversal FullPath)
- getPagedValues :: PagedTraversal a -> [a]
- nextTraversalPage :: FromJSON a => PagedTraversal a -> Neo4j (PagedTraversal a)
- pagedTraversalDone :: PagedTraversal a -> Bool
Types for configuring the traversal
data Uniqueness Source
Different types of uniqueness calculations for a traversal
Eq Uniqueness | |
Show Uniqueness | |
ToJSON (Maybe Uniqueness) | How to codify uniqueness values into JSON |
data TraversalOrder Source
Traversal mode
Eq TraversalOrder | |
Show TraversalOrder | |
ToJSON TraversalOrder | How to codify traversalDesc values into JSON |
data ReturnFilter Source
Built-in return filters
Eq ReturnFilter | |
Show ReturnFilter | |
ToJSON ReturnFilter | How to codify ReturnFilter values into JSON |
type RelFilter = (RelationshipType, Direction) Source
Additional types for configuring a paged traversal
data TraversalPaging Source
Description of a traversal paging
Types used when returning paths
data ConcreteDirection Source
Direction without possibility of ambiguity
Eq ConcreteDirection | |
Ord ConcreteDirection | |
Show ConcreteDirection | |
FromJSON IdPath | How to decodify an IdPath from JSON |
FromJSON ConcreteDirection |
Data type to describe a path in a graph, that is a single node or nodes interleaved with relationships
type FullPath = Path Node Relationship Source
Path that its data are full nodes and relationships, not only their id's
Types used when returning paged results
data PagedTraversal a Source
Data type that holds a result for a paged traversal with the URI to get the rest of the pages
Eq a => Eq (PagedTraversal a) | |
Ord a => Ord (PagedTraversal a) | |
Show a => Show (PagedTraversal a) |
Traversal operations
traverseGetNodes :: NodeIdentifier a => TraversalDesc -> a -> Neo4j [Node] Source
Perform a traversal and get the resulting nodes
traverseGetRels :: NodeIdentifier a => TraversalDesc -> a -> Neo4j [Relationship] Source
Perform a traversal and get the resulting relationship entities
traverseGetPath :: NodeIdentifier a => TraversalDesc -> a -> Neo4j [IdPath] Source
Perform a traversal and get the resulting node and relationship paths IMPORTANT! In pre 2.2 Neo4j versions the directions in each relationship ID returned have a default value (The API does not provide them)
traverseGetFullPath :: NodeIdentifier a => TraversalDesc -> a -> Neo4j [FullPath] Source
Perform a traversal and get the resulting node and relationship entities
Paged traversal operations
pagedTraverseGetNodes :: NodeIdentifier a => TraversalDesc -> TraversalPaging -> a -> Neo4j (PagedTraversal Node) Source
Perform a paged traversal and get the resulting nodes
pagedTraverseGetRels :: NodeIdentifier a => TraversalDesc -> TraversalPaging -> a -> Neo4j (PagedTraversal Relationship) Source
Perform a paged traversal and get the resulting relationships
pagedTraverseGetPath :: NodeIdentifier a => TraversalDesc -> TraversalPaging -> a -> Neo4j (PagedTraversal IdPath) Source
Perform a paged traversal and get the resulting id paths, IMPORTANT! In pre 2.2 Neo4j versions the directions in each relationship ID returned have a default value (The API does not provide them)
pagedTraverseGetFullPath :: NodeIdentifier a => TraversalDesc -> TraversalPaging -> a -> Neo4j (PagedTraversal FullPath) Source
Perform a paged traversal and get the resulting paths with full entities
Operations to handle paged results
getPagedValues :: PagedTraversal a -> [a] Source
Get the values of a paged traversal result
nextTraversalPage :: FromJSON a => PagedTraversal a -> Neo4j (PagedTraversal a) Source
Get the next page of values from a traversal result
pagedTraversalDone :: PagedTraversal a -> Bool Source
Whether a paged traversal is done