module Database.Bolt.Extras.Query
  ( GraphGetRequest
  , GraphGetResponse
  , GraphPutRequest
  , GraphPutResponse
  , NodeGetter (..)
  , NodeName
  , PutNode (..)
  , PutRelationship (..)
  , RelGetter (..)
  , ToCypher (..)
  , getGraph
  , putGraph
  , setNode
  , deleteNodes
  ) where

import           Database.Bolt.Extras.Query.Cypher (ToCypher (..))
import           Database.Bolt.Extras.Query.Get    (GraphGetRequest,
                                                    GraphGetResponse,
                                                    NodeGetter (..),
                                                    RelGetter (..), getGraph)
import           Database.Bolt.Extras.Query.Put    (GraphPutRequest,
                                                    GraphPutResponse,
                                                    PutNode (..),
                                                    PutRelationship (..),
                                                    putGraph)
import           Database.Bolt.Extras.Query.Set    (setNode)
import           Database.Bolt.Extras.Query.Delete (deleteNodes)
import           Database.Bolt.Extras.Query.Utils  (NodeName)