rdf4h-3.0.0: A library for RDF processing in Haskell

Safe HaskellNone
LanguageHaskell98

Data.RDF.Query

Contents

Synopsis

Query functions

equalSubjects :: Triple -> Triple -> Bool Source #

Determine whether two triples have equal subjects. Note that it doesn't perform namespace expansion!

equalPredicates :: Triple -> Triple -> Bool Source #

Determine whether two triples have equal predicates. Note that it doesn't perform namespace expansion!

equalObjects :: Triple -> Triple -> Bool Source #

Determine whether two triples have equal objects. Note that it doesn't perform namespace expansion!

subjectOf :: Triple -> Node Source #

Answer the subject node of the triple.

predicateOf :: Triple -> Node Source #

Answer the predicate node of the triple.

objectOf :: Triple -> Node Source #

Answer the object node of the triple.

isEmpty :: Rdf a => RDF a -> Bool Source #

Determines whether the RDF contains zero triples.

rdfContainsNode :: Rdf a => RDF a -> Node -> Bool Source #

Answer if rdf contains node.

tripleContainsNode :: Node -> Triple -> Bool Source #

Answer if triple contains node. Note that it doesn't perform namespace expansion!

subjectsWithPredicate :: Rdf a => RDF a -> Predicate -> [Subject] Source #

Lists of all subjects of triples with the given predicate.

objectsOfPredicate :: Rdf a => RDF a -> Predicate -> [Object] Source #

Lists of all objects of triples with the given predicate.

RDF graph functions

isIsomorphic :: (Rdf a, Rdf b) => RDF a -> RDF b -> Bool Source #

This determines if two RDF representations are equal regardless of blank node names, triple order and prefixes. In math terms, this is the simeq latex operator, or ~=

isGraphIsomorphic :: (Rdf a, Rdf b) => RDF a -> RDF b -> Bool Source #

Compares the structure of two graphs and returns True if their graph structures are identical. This does not consider the nature of each node in the graph, i.e. the URI text of UNode nodes, the generated index of a blank node, or the values in literal nodes.

expandTriples :: Rdf a => RDF a -> Triples Source #

Expand the triples in a graph with the prefix map and base URL for that graph.

fromEither :: Rdf a => Either ParseFailure (RDF a) -> RDF a Source #

Convert a parse result into an RDF if it was successful and error and terminate if not.

expansion functions

expandTriple :: PrefixMappings -> Triple -> Triple Source #

Expand the triple with the prefix map.

expandNode :: PrefixMappings -> Node -> Node Source #

Expand the node with the prefix map. Only UNodes are expanded, other kinds of nodes are returned as-is.

expandURI :: PrefixMappings -> Text -> Text Source #

Expand the URI with the prefix map. Also expands "a" to "http://www.w3.org/1999/02/22-rdf-syntax-ns#type".

absolutizing functions

absolutizeTriple :: Maybe BaseUrl -> Triple -> Triple Source #

Prefixes relative URIs in the triple with BaseUrl.

absolutizeNode :: Maybe BaseUrl -> Node -> Node Source #

Prepends BaseUrl to UNodes with relative URIs.