swish-0.9.1.7: A semantic web toolkit.

Copyright | (c) 2003, Graham Klyne, 2009 Vasili I Galchin, 2011, 2012, 2013, 2014 Douglas Burke
License | GPL V2
Maintainer | Douglas Burke
Stability | experimental
Portability | OverloadedStrings
Safe Haskell | None
Language | Haskell98

Swish.RDF.Parser.Utils

Description

Support for the RDF Parsing modules.

Synopsis

- type SpecialMap = Map String ScopedName
- prefixTable :: [Namespace]
- specialTable :: Maybe ScopedName -> [(String, ScopedName)]
- runParserWithError :: Parser a b -> a -> Text -> Either String b
- type ParseResult = Either String RDFGraph
- ignore :: Applicative f => f a -> f ()
- char :: Char -> Parser s Char
- ichar :: Char -> Parser s ()
- string :: String -> Parser s String
- stringT :: Text -> Parser s Text
- symbol :: String -> Parser s String
- isymbol :: String -> Parser s ()
- lexeme :: Parser s a -> Parser s a
- notFollowedBy :: (Char -> Bool) -> Parser s ()
- whiteSpace :: Parser s ()
- skipMany :: Parser s a -> Parser s ()
- skipMany1 :: Parser s a -> Parser s ()
- endBy :: Parser s a -> Parser s b -> Parser s [a]
- sepEndBy :: Parser s a -> Parser s b -> Parser s [a]
- sepEndBy1 :: Parser s a -> Parser s b -> Parser s [a]
- manyTill :: Parser s a -> Parser s b -> Parser s [a]
- noneOf :: String -> Parser s Char
- eoln :: Parser s ()
- fullStop :: Parser s ()
- hex4 :: Parser a Char
- hex8 :: Parser a Char
- appendURIs :: URI -> URI -> Either String URI

# 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`.