Safe Haskell | None |
---|---|
Language | Haskell98 |
Database.Neo4j.Traversal
Contents
Description
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
Constructors
NodeGlobal | |
RelationshipGlobal | |
NodePathUnique | |
RelationshipPath |
Instances
data TraversalOrder Source #
Traversal mode
Constructors
BreadthFirst | |
DepthFirst |
Instances
Eq TraversalOrder Source # | |
Show TraversalOrder Source # | |
ToJSON TraversalOrder Source # | How to codify traversalDesc values into JSON |
data ReturnFilter Source #
Built-in return filters
Constructors
ReturnAll | |
ReturnAllButStartNode |
Instances
Eq ReturnFilter Source # | |
Show ReturnFilter Source # | |
ToJSON ReturnFilter Source # | How to codify ReturnFilter values into JSON |
type RelFilter = (RelationshipType, Direction) Source #
data TraversalDesc Source #
Type containing all info describing a traversal request
Constructors
TraversalDesc | |
Fields |
Instances
Additional types for configuring a paged traversal
data TraversalPaging Source #
Description of a traversal paging
Constructors
TraversalPaging | |
Fields
|
Instances
Types used when returning paths
data ConcreteDirection Source #
Direction without possibility of ambiguity
Instances
Eq ConcreteDirection Source # | |
Ord ConcreteDirection Source # | |
Show ConcreteDirection Source # | |
FromJSON IdPath Source # | How to decodify an IdPath from JSON |
FromJSON ConcreteDirection Source # | |
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
Instances
Eq a => Eq (PagedTraversal a) Source # | |
Ord a => Ord (PagedTraversal a) Source # | |
Show a => Show (PagedTraversal a) Source # | |
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