rdf4h-5.1.0: A library for RDF processing in Haskell
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.RDF.State

Synopsis

Documentation

newtype RdfST rdfImpl m a Source #

StateT monad which allows to combine more easily functions from Rdf typeclass, eg.:

import Data.RDF
import qualified Data.RDF.State as RDFS

main :: IO ()
main = do
  let myEmptyGraph = empty :: RDF TList
  newGraph <- execStateT (unRdfST createGraph) myEmptyGraph
  putStrLn (showGraph newGraph)

createGraph :: (Rdf rdfImpl, Monad m) => RdfST rdfImpl m ()
createGraph = do
  -- add a triple to the empty graph
  let triple1 = triple (unode "http://www.example.com/rob")
                       (unode "http://xmlns.com/foaf/0.1/interest")
                       (unode "http://dbpedia.org/resource/Scotch_whisky")
  RDFS.addTriple triple1

  -- add another triple to the graph
  let triple2 = triple (unode "http://www.example.com/rob")
                       (unode "http://xmlns.com/foaf/0.1/interest")
                       (unode "http://dbpedia.org/resource/Haskell_(programming_language)")
  RDFS.addTriple triple2

  -- remove one of my interests
  RDFS.removeTriple triple1

Constructors

RdfST 

Fields

Instances

Instances details
MonadTrans (RdfST rdfImpl) Source # 
Instance details

Defined in Data.RDF.State

Methods

lift :: Monad m => m a -> RdfST rdfImpl m a #

Monad m => MonadState (RDF rdfImpl) (RdfST rdfImpl m) Source # 
Instance details

Defined in Data.RDF.State

Methods

get :: RdfST rdfImpl m (RDF rdfImpl) #

put :: RDF rdfImpl -> RdfST rdfImpl m () #

state :: (RDF rdfImpl -> (a, RDF rdfImpl)) -> RdfST rdfImpl m a #

MonadIO m => MonadIO (RdfST rdfImpl m) Source # 
Instance details

Defined in Data.RDF.State

Methods

liftIO :: IO a -> RdfST rdfImpl m a #

Monad m => Applicative (RdfST rdfImpl m) Source # 
Instance details

Defined in Data.RDF.State

Methods

pure :: a -> RdfST rdfImpl m a #

(<*>) :: RdfST rdfImpl m (a -> b) -> RdfST rdfImpl m a -> RdfST rdfImpl m b #

liftA2 :: (a -> b -> c) -> RdfST rdfImpl m a -> RdfST rdfImpl m b -> RdfST rdfImpl m c #

(*>) :: RdfST rdfImpl m a -> RdfST rdfImpl m b -> RdfST rdfImpl m b #

(<*) :: RdfST rdfImpl m a -> RdfST rdfImpl m b -> RdfST rdfImpl m a #

Functor m => Functor (RdfST rdfImpl m) Source # 
Instance details

Defined in Data.RDF.State

Methods

fmap :: (a -> b) -> RdfST rdfImpl m a -> RdfST rdfImpl m b #

(<$) :: a -> RdfST rdfImpl m b -> RdfST rdfImpl m a #

Monad m => Monad (RdfST rdfImpl m) Source # 
Instance details

Defined in Data.RDF.State

Methods

(>>=) :: RdfST rdfImpl m a -> (a -> RdfST rdfImpl m b) -> RdfST rdfImpl m b #

(>>) :: RdfST rdfImpl m a -> RdfST rdfImpl m b -> RdfST rdfImpl m b #

return :: a -> RdfST rdfImpl m a #

baseUrl :: (Rdf rdfImpl, Monad m) => RdfST rdfImpl m (Maybe BaseUrl) Source #

Same as baseUrl

prefixMappings :: (Rdf rdfImpl, Monad m) => RdfST rdfImpl m PrefixMappings Source #

addPrefixMappings :: (Rdf rdfImpl, Monad m) => PrefixMappings -> RdfST rdfImpl m () Source #

Same as addPrefixMappings, but with the Bool arg as False

replacePrefixMappings :: (Rdf rdfImpl, Monad m) => PrefixMappings -> RdfST rdfImpl m () Source #

Same as addPrefixMappings, but with the Bool arg as True

empty :: (Rdf rdfImpl, Monad m) => RdfST rdfImpl m () Source #

Same as empty

mkRdf :: (Rdf rdfImpl, Monad m) => Triples -> Maybe BaseUrl -> PrefixMappings -> RdfST rdfImpl m () Source #

Same as mkRdf

addTriple :: (Rdf rdfImpl, Monad m) => Triple -> RdfST rdfImpl m () Source #

Same as addTriple

removeTriple :: (Rdf rdfImpl, Monad m) => Triple -> RdfST rdfImpl m () Source #

Same as removeTriple

triplesOf :: (Rdf rdfImpl, Monad m) => RdfST rdfImpl m Triples Source #

Same as triplesOf

uniqTriplesOf :: (Rdf rdfImpl, Monad m) => RdfST rdfImpl m Triples Source #

select :: (Rdf rdfImpl, Monad m) => NodeSelector -> NodeSelector -> NodeSelector -> RdfST rdfImpl m Triples Source #

Same as select

query :: (Rdf rdfImpl, Monad m) => Maybe Node -> Maybe Node -> Maybe Node -> RdfST rdfImpl m Triples Source #

Same as query

showGraph :: (Rdf rdfImpl, Monad m) => RdfST rdfImpl m String Source #

Same as showGraph