hasbolt-0.1.3.2: Haskell driver for Neo4j 3+ (BOLT protocol)

Safe HaskellNone
LanguageHaskell2010

Database.Bolt

Synopsis

Documentation

type BoltActionT = ReaderT Pipe #

Monad Transformer to do all BOLT actions in

connect :: MonadIO m => BoltCfg -> m Pipe #

Creates new Pipe instance to use all requests through

close :: MonadIO m => Pipe -> m () #

Closes Pipe

reset :: MonadIO m => Pipe -> m () #

Resets current sessions

run :: Pipe -> BoltActionT m a -> m a #

Runs BOLT action on selected pipe

queryP :: MonadIO m => Text -> Map Text Value -> BoltActionT m [Record] #

Runs Cypher query with parameters and returns list of obtained Records. Strict version

query :: MonadIO m => Text -> BoltActionT m [Record] #

Runs Cypher query and returns list of obtained Records. Strict version

queryP_ :: MonadIO m => Text -> Map Text Value -> BoltActionT m () #

Runs Cypher query with parameters and ignores response

query_ :: MonadIO m => Text -> BoltActionT m () #

Runs Cypher query and ignores response

data Pipe #

data BoltCfg #

Configuration of driver connection

Constructors

BoltCfg 

Fields

Instances
Default BoltCfg # 
Instance details

Defined in Database.Bolt.Connection.Type

Methods

def :: BoltCfg #

class BoltValue a where #

The BoltValue class describes values, that can be packed and unpacked for BOLT protocol.

Minimal complete definition

pack, unpackT

Methods

pack :: a -> ByteString #

Packs a value to ByteString

unpackT :: Monad m => UnpackT m a #

Unpacks in a State monad to get values from single ByteString

unpack :: Monad m => ByteString -> m a #

Unpacks a ByteString to selected value

Instances
BoltValue Bool # 
Instance details

Defined in Database.Bolt.Value.Instances

Methods

pack :: Bool -> ByteString #

unpackT :: Monad m => UnpackT m Bool #

unpack :: Monad m => ByteString -> m Bool #

BoltValue Double # 
Instance details

Defined in Database.Bolt.Value.Instances

Methods

pack :: Double -> ByteString #

unpackT :: Monad m => UnpackT m Double #

unpack :: Monad m => ByteString -> m Double #

BoltValue Int # 
Instance details

Defined in Database.Bolt.Value.Instances

Methods

pack :: Int -> ByteString #

unpackT :: Monad m => UnpackT m Int #

unpack :: Monad m => ByteString -> m Int #

BoltValue () # 
Instance details

Defined in Database.Bolt.Value.Instances

Methods

pack :: () -> ByteString #

unpackT :: Monad m => UnpackT m () #

unpack :: Monad m => ByteString -> m () #

BoltValue Text # 
Instance details

Defined in Database.Bolt.Value.Instances

Methods

pack :: Text -> ByteString #

unpackT :: Monad m => UnpackT m Text #

unpack :: Monad m => ByteString -> m Text #

BoltValue Value # 
Instance details

Defined in Database.Bolt.Value.Instances

Methods

pack :: Value -> ByteString #

unpackT :: Monad m => UnpackT m Value #

unpack :: Monad m => ByteString -> m Value #

BoltValue Structure # 
Instance details

Defined in Database.Bolt.Value.Instances

Methods

pack :: Structure -> ByteString #

unpackT :: Monad m => UnpackT m Structure #

unpack :: Monad m => ByteString -> m Structure #

BoltValue a => BoltValue [a] # 
Instance details

Defined in Database.Bolt.Value.Instances

Methods

pack :: [a] -> ByteString #

unpackT :: Monad m => UnpackT m [a] #

unpack :: Monad m => ByteString -> m [a] #

BoltValue a => BoltValue (Map Text a) # 
Instance details

Defined in Database.Bolt.Value.Instances

Methods

pack :: Map Text a -> ByteString #

unpackT :: Monad m => UnpackT m (Map Text a) #

unpack :: Monad m => ByteString -> m (Map Text a) #

data Value #

The Value datatype generalizes all primitive BoltValues

Constructors

N () 
B Bool 
I Int 
F Double 
T Text 
L [Value] 
M (Map Text Value) 
S Structure 
Instances
Eq Value # 
Instance details

Defined in Database.Bolt.Value.Type

Methods

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

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

Show Value # 
Instance details

Defined in Database.Bolt.Value.Type

Methods

showsPrec :: Int -> Value -> ShowS #

show :: Value -> String #

showList :: [Value] -> ShowS #

BoltValue Value # 
Instance details

Defined in Database.Bolt.Value.Instances

Methods

pack :: Value -> ByteString #

unpackT :: Monad m => UnpackT m Value #

unpack :: Monad m => ByteString -> m Value #

RecordValue (Map Text Value) # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m (Map Text Value) #

data Structure #

The Structure datatype describes Neo4j structure for BOLT protocol

Constructors

Structure 

Fields

Instances
Eq Structure # 
Instance details

Defined in Database.Bolt.Value.Type

Show Structure # 
Instance details

Defined in Database.Bolt.Value.Type

BoltValue Structure # 
Instance details

Defined in Database.Bolt.Value.Instances

Methods

pack :: Structure -> ByteString #

unpackT :: Monad m => UnpackT m Structure #

unpack :: Monad m => ByteString -> m Structure #

type Record = Map Text Value #

Result type for query requests

class RecordValue a where #

Get exact type from Value

Minimal complete definition

exact

Methods

exact :: Monad m => Value -> m a #

Instances
RecordValue Bool # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m Bool #

RecordValue Double # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m Double #

RecordValue Int # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m Int #

RecordValue () # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m () #

RecordValue Text # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m Text #

RecordValue Path # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m Path #

RecordValue URelationship # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m URelationship #

RecordValue Relationship # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m Relationship #

RecordValue Node # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m Node #

RecordValue a => RecordValue [a] # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m [a] #

RecordValue a => RecordValue (Maybe a) # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m (Maybe a) #

RecordValue (Map Text Value) # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m (Map Text Value) #

at :: Monad m => Record -> Text -> m Value #

data Node #

Constructors

Node 

Fields

Instances
Eq Node # 
Instance details

Defined in Database.Bolt.Value.Type

Methods

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

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

Show Node # 
Instance details

Defined in Database.Bolt.Value.Type

Methods

showsPrec :: Int -> Node -> ShowS #

show :: Node -> String #

showList :: [Node] -> ShowS #

RecordValue Node # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m Node #

data Relationship #

Constructors

Relationship 

Fields

Instances
Eq Relationship # 
Instance details

Defined in Database.Bolt.Value.Type

Show Relationship # 
Instance details

Defined in Database.Bolt.Value.Type

RecordValue Relationship # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m Relationship #

data URelationship #

Constructors

URelationship 

Fields

data Path #

Constructors

Path 

Fields

Instances
Eq Path # 
Instance details

Defined in Database.Bolt.Value.Type

Methods

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

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

Show Path # 
Instance details

Defined in Database.Bolt.Value.Type

Methods

showsPrec :: Int -> Path -> ShowS #

show :: Path -> String #

showList :: [Path] -> ShowS #

RecordValue Path # 
Instance details

Defined in Database.Bolt.Record

Methods

exact :: Monad m => Value -> m Path #