swish-0.10.0.9: A semantic web toolkit.
Copyright(c) 2003 Graham Klyne 2009 Vasili I Galchin 2011 2012 2013 2014 2018 Douglas Burke
LicenseGPL V2
MaintainerDouglas Burke
Stabilityexperimental
PortabilityCPP, OverloadedStrings
Safe HaskellNone
LanguageHaskell2010

Swish.RDF.Parser.Utils

Description

Support for the RDF Parsing modules.

Synopsis

Documentation

type SpecialMap = Map String ScopedName Source #

Type for special name lookup table

prefixTable :: [Namespace] Source #

Define default table of namespaces

specialTable Source #

Arguments

:: Maybe ScopedName

initial base URI, otherwise uses defaultBase

-> [(String, ScopedName)] 

Define default special-URI table.

runParserWithError Source #

Arguments

:: Parser a b

parser (carrying state) to apply

-> a

starting state for the parser

-> Text

input to be parsed

-> Either String b 

Run the parser and return the successful parse or an error message which consists of the standard Polyparse error plus a fragment of the unparsed input to provide context.

type ParseResult = Either String RDFGraph Source #

The result of a parse, which is either an error message or a graph.

ignore :: Applicative f => f a -> f () Source #

Run the parser and ignore the result.

char :: Char -> Parser s Char Source #

Match the character.

ichar :: Char -> Parser s () Source #

Match the character, ignoring the result.

string :: String -> Parser s String Source #

Match the text.

stringT :: Text -> Parser s Text Source #

Match the text.

symbol :: String -> Parser s String Source #

Match the given string and any trailing whiteSpace.

isymbol :: String -> Parser s () Source #

As symbol but ignoring the result.

lexeme :: Parser s a -> Parser s a Source #

Convert a parser into one that also matches, and ignores, trailing whiteSpace.

notFollowedBy :: (Char -> Bool) -> Parser s () Source #

Succeed if the next character does not match the given function.

whiteSpace :: Parser s () Source #

Match white space: a space or a comment (# character and anything following it up to to a new line).

skipMany :: Parser s a -> Parser s () Source #

Run the parser many times and ignore the result.

skipMany1 :: Parser s a -> Parser s () Source #

Run the parser many1 times and ignore the result.

endBy Source #

Arguments

:: Parser s a

parser

-> Parser s b

separator

-> Parser s [a] 

Match zero or more occurences of parser followed by separator.

sepEndBy Source #

Arguments

:: Parser s a

parser

-> Parser s b

separator

-> Parser s [a] 

Match zero or more occurences of the parser followed by the separator.

sepEndBy1 Source #

Arguments

:: Parser s a

parser

-> Parser s b

separator

-> Parser s [a] 

Accept one or more occurences of the parser separated by the separator. Unlike endBy the last separator is optional.

manyTill Source #

Arguments

:: Parser s a

parser

-> Parser s b

delimiter

-> Parser s [a] 

Accept zero or more runs of the parser ending with the delimiter.

noneOf :: String -> Parser s Char Source #

Accept any character that is not a member of the given string.

eoln :: Parser s () Source #

Match the end-of-line sequence ("\n", "\r", or "\r\n").

fullStop :: Parser s () Source #

Matches ..

hex4 :: Parser a Char Source #

A four-digit hex value (e.g. 1a34 or 03F1).

hex8 :: Parser a Char Source #

An eight-digit hex value that has a maximum of 0010FFFF.

appendURIs Source #

Arguments

:: URI

The base URI

-> URI

The URI to append (it can be an absolute URI).

-> Either String URI 

Append the two URIs. Given the change in signature of relativeTo in version 2.4.0.0 of network, it is not clear that this function is necessary. At the very least, it should be changed to just return a URI.