module Data.JLD.Model.URI (parseUri, uriToIri) where import Data.JLD.Prelude import Data.RDF (IRIRef, parseIRI) import Text.Megaparsec (MonadParsec (..), Parsec, runParser) import Text.URI (URI, parser, render) parseUri :: Text -> Maybe URI parseUri = runParser (parser <* eof :: Parsec Void Text URI) "" .> either (const Nothing) Just uriToIri :: URI -> Maybe IRIRef uriToIri = render .> parseIRI .> either (const Nothing) Just