Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Quad = Quad {}
- defaultCayleyConfig :: CayleyConfig
- connectCayley :: CayleyConfig -> IO CayleyConnection
- query :: CayleyConnection -> Query -> IO (Either String Value)
- write :: CayleyConnection -> Quad -> IO (Maybe Value)
- writeQuad :: CayleyConnection -> Subject -> Predicate -> Object -> Maybe Label -> IO (Maybe Value)
- writeQuads :: CayleyConnection -> [Quad] -> IO (Maybe Value)
- writeNQuadFile :: (MonadThrow m, MonadIO m) => CayleyConnection -> FilePath -> m (Maybe Value)
- delete :: CayleyConnection -> Quad -> IO (Maybe Value)
- deleteQuad :: CayleyConnection -> Subject -> Predicate -> Object -> Maybe Label -> IO (Maybe Value)
- deleteQuads :: CayleyConnection -> [Quad] -> IO (Maybe Value)
- createQuad :: Subject -> Predicate -> Object -> Maybe Label -> Maybe Quad
- isValid :: Quad -> Bool
- successfulResults :: Maybe Value -> IO (Either String Int)
Documentation
Connect & query
defaultCayleyConfig :: CayleyConfig Source
CayleyConfig { serverPort = 64210 , serverName = "localhost" , apiVersion = V1 , queryLang = Gremlin }
connectCayley :: CayleyConfig -> IO CayleyConnection Source
Get a connection to Cayley with the given configuration.
λ> conn <- connectCayley defaultCayleyConfig
query :: CayleyConnection -> Query -> IO (Either String Value) Source
Perform a query, in Gremlin graph query language per default (or in MQL).
λ> query conn "graph.Vertex('Humphrey Bogart').In('name').All()" Right (Array (fromList [Object (fromList [("id",String "/en/humphrey_bogart")])]))
REST API operations
writeQuad :: CayleyConnection -> Subject -> Predicate -> Object -> Maybe Label -> IO (Maybe Value) Source
Write a Quad
with the given subject, predicate, object and optional
label. Throw result or extract amount of query successfulResults
from it.
λ> writeQuad conn "Humphrey" "loves" "Lauren" (Just "In love") Just (Object (fromList [("result",String "Successfully wrote 1 quads.")]))
writeQuads :: CayleyConnection -> [Quad] -> IO (Maybe Value) Source
Write the given list of Quad
(s).
writeNQuadFile :: (MonadThrow m, MonadIO m) => CayleyConnection -> FilePath -> m (Maybe Value) Source
Write a N-Quad file.
λ> writeNQuadFile conn "testdata.nq" Just (Object (fromList [("result",String "Successfully wrote 11 quads.")]))
deleteQuad :: CayleyConnection -> Subject -> Predicate -> Object -> Maybe Label -> IO (Maybe Value) Source
Delete the Quad
defined by the given subject, predicate, object
and optional label.
deleteQuads :: CayleyConnection -> [Quad] -> IO (Maybe Value) Source
Delete the given list of Quad
(s).