haskell-neo4j-client-0.3.2.4: A Haskell neo4j client

Safe HaskellNone
LanguageHaskell98

Database.Neo4j.Types

Synopsis

Documentation

(<>) :: Monoid a => a -> a -> a #

data Val #

Type for a single value of a Neo4j property

Instances

Eq Val # 

Methods

(==) :: Val -> Val -> Bool #

(/=) :: Val -> Val -> Bool #

Show Val # 

Methods

showsPrec :: Int -> Val -> ShowS #

show :: Val -> String #

showList :: [Val] -> ShowS #

ToJSON Val #

Specifying how to convert property single values to JSON

FromJSON Val #

JSON to single property values

data PropertyValue #

Wrapping type for a Neo4j single property or array of properties Using these types allows type checking for only correct properties that is int, double, string, boolean and single typed arrays of these, also nulls are not allowed

class PropertyValueConstructor a where #

This class allows easy construction of property value types from literals

Minimal complete definition

newval

Methods

newval :: a -> PropertyValue #

(|:) :: PropertyValueConstructor a => Text -> a -> (Text, PropertyValue) #

This operator allows easy construction of property value types from literals

type Properties = HashMap Text PropertyValue #

We use hashmaps to represent Neo4j properties

emptyProperties :: HashMap Text PropertyValue #

Shortcut for emtpy properties

urlPath :: Text -> Text #

Tries to get the path from a URL, we try our best otherwise return the url as is

urlMinPath :: Text -> Text #

Path without the dbdata part, useful for batch paths and such

newtype NodeUrl #

Constructors

NodeUrl 

Fields

Instances

Eq NodeUrl # 

Methods

(==) :: NodeUrl -> NodeUrl -> Bool #

(/=) :: NodeUrl -> NodeUrl -> Bool #

Show NodeUrl # 
Generic NodeUrl # 

Associated Types

type Rep NodeUrl :: * -> * #

Methods

from :: NodeUrl -> Rep NodeUrl x #

to :: Rep NodeUrl x -> NodeUrl #

Hashable NodeUrl # 

Methods

hashWithSalt :: Int -> NodeUrl -> Int #

hash :: NodeUrl -> Int #

EntityIdentifier NodeUrl # 
NodeIdentifier NodeUrl # 
NodeBatchIdentifier NodeUrl # 
BatchEntity NodeUrl # 
type Rep NodeUrl # 
type Rep NodeUrl = D1 (MetaData "NodeUrl" "Database.Neo4j.Types" "haskell-neo4j-client-0.3.2.4-7alwluRyigX1pUlPDPCCwe" True) (C1 (MetaCons "NodeUrl" PrefixI True) (S1 (MetaSel (Just Symbol "runNodeUrl") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

data Node #

Representation of a Neo4j node, has a location URI and a set of properties

Constructors

Node 

getNodeProperties :: Node -> Properties #

Get the properties of a node

newtype NodePath #

Constructors

NodePath 

Fields

Instances

Eq NodePath # 
Ord NodePath # 
Show NodePath # 
Generic NodePath # 

Associated Types

type Rep NodePath :: * -> * #

Methods

from :: NodePath -> Rep NodePath x #

to :: Rep NodePath x -> NodePath #

Hashable NodePath # 

Methods

hashWithSalt :: Int -> NodePath -> Int #

hash :: NodePath -> Int #

FromJSON IdPath #

How to decodify an IdPath from JSON

EntityIdentifier NodePath # 
NodeIdentifier NodePath # 
NodeBatchIdentifier NodePath # 
BatchEntity NodePath # 
type Rep NodePath # 
type Rep NodePath = D1 (MetaData "NodePath" "Database.Neo4j.Types" "haskell-neo4j-client-0.3.2.4-7alwluRyigX1pUlPDPCCwe" True) (C1 (MetaCons "NodePath" PrefixI True) (S1 (MetaSel (Just Symbol "runNodePath") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

type RelationshipType = Text #

Type for a relationship type description

data Direction #

Relationship direction

Constructors

Outgoing 
Incoming 
Any 

newtype RelUrl #

Type for a relationship location

Constructors

RelUrl 

Fields

Instances

Eq RelUrl # 

Methods

(==) :: RelUrl -> RelUrl -> Bool #

(/=) :: RelUrl -> RelUrl -> Bool #

Show RelUrl # 
Generic RelUrl # 

Associated Types

type Rep RelUrl :: * -> * #

Methods

from :: RelUrl -> Rep RelUrl x #

to :: Rep RelUrl x -> RelUrl #

Hashable RelUrl # 

Methods

hashWithSalt :: Int -> RelUrl -> Int #

hash :: RelUrl -> Int #

EntityIdentifier RelUrl # 
RelIdentifier RelUrl # 

Methods

getRelPath :: RelUrl -> RelPath #

RelBatchIdentifier RelUrl # 
BatchEntity RelUrl # 
type Rep RelUrl # 
type Rep RelUrl = D1 (MetaData "RelUrl" "Database.Neo4j.Types" "haskell-neo4j-client-0.3.2.4-7alwluRyigX1pUlPDPCCwe" True) (C1 (MetaCons "RelUrl" PrefixI True) (S1 (MetaSel (Just Symbol "runRelUrl") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

data Relationship #

Type for a Neo4j relationship, has a location URI, a relationship type, a starting node and a destination node

Instances

Eq Relationship # 
Ord Relationship # 
Show Relationship # 
FromJSON Relationship #

JSON to Relationship

FromJSON FullPath #

How to decodify an IdPath from JSON

EntityIdentifier Relationship # 
RelIdentifier Relationship # 
Entity Relationship # 
RelBatchIdentifier Relationship # 
BatchEntity Relationship # 
RelBatchIdentifier (BatchFuture Relationship) # 
BatchEntity (BatchFuture Relationship) # 

getRelProperties :: Relationship -> Properties #

Get the properties of a relationship

getRelType :: Relationship -> RelationshipType #

Get the type of a relationship

newtype RelPath #

Constructors

RelPath 

Fields

Instances

Eq RelPath # 

Methods

(==) :: RelPath -> RelPath -> Bool #

(/=) :: RelPath -> RelPath -> Bool #

Ord RelPath # 
Show RelPath # 
Generic RelPath # 

Associated Types

type Rep RelPath :: * -> * #

Methods

from :: RelPath -> Rep RelPath x #

to :: Rep RelPath x -> RelPath #

Hashable RelPath # 

Methods

hashWithSalt :: Int -> RelPath -> Int #

hash :: RelPath -> Int #

FromJSON IdPath #

How to decodify an IdPath from JSON

EntityIdentifier RelPath # 
RelIdentifier RelPath # 
RelBatchIdentifier RelPath # 
BatchEntity RelPath # 
type Rep RelPath # 
type Rep RelPath = D1 (MetaData "RelPath" "Database.Neo4j.Types" "haskell-neo4j-client-0.3.2.4-7alwluRyigX1pUlPDPCCwe" True) (C1 (MetaCons "RelPath" PrefixI True) (S1 (MetaSel (Just Symbol "runRelPath") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

type Label = Text #

Type for a label

data Index #

Type for an index

Constructors

Index 

Instances

Eq Index # 

Methods

(==) :: Index -> Index -> Bool #

(/=) :: Index -> Index -> Bool #

Show Index # 

Methods

showsPrec :: Int -> Index -> ShowS #

show :: Index -> String #

showList :: [Index] -> ShowS #

FromJSON Index #

JSON to Index

data Connection #

Type for a connection

type Port = Int #

newtype Neo4j a #

Neo4j monadic type to be able to sequence neo4j commands in a connection

Constructors

Neo4j 

Fields

Instances

Monad Neo4j # 

Methods

(>>=) :: Neo4j a -> (a -> Neo4j b) -> Neo4j b #

(>>) :: Neo4j a -> Neo4j b -> Neo4j b #

return :: a -> Neo4j a #

fail :: String -> Neo4j a #

Functor Neo4j # 

Methods

fmap :: (a -> b) -> Neo4j a -> Neo4j b #

(<$) :: a -> Neo4j b -> Neo4j a #

Applicative Neo4j # 

Methods

pure :: a -> Neo4j a #

(<*>) :: Neo4j (a -> b) -> Neo4j a -> Neo4j b #

(*>) :: Neo4j a -> Neo4j b -> Neo4j b #

(<*) :: Neo4j a -> Neo4j b -> Neo4j a #

MonadIO Neo4j # 

Methods

liftIO :: IO a -> Neo4j a #

MonadThrow Neo4j # 

Methods

throwM :: Exception e => e -> Neo4j a #

MonadBase Neo4j Neo4j # 

Methods

liftBase :: Neo4j α -> Neo4j α #