Although RDF supports using IRIs, the use of
URI here precludes this.
There is currently no attempt to convert from an IRI into a URI.
A qualified name, consisting of a namespace URI and the local part of the identifier, which can be empty. The serialisation of a QName is formed by concatanating the two components.
Prelude> :set prompt "swish> " swish> :set -XOverloadedStrings swish> :m + Swish.QName swish> let qn1 = "http://example.com/" :: QName swish> let qn2 = "http://example.com/bob" :: QName swish> let qn3 = "http://example.com/bob/fred" :: QName swish> let qn4 = "http://example.com/bob/fred#x" :: QName swish> map getLocalName [qn1, qn2, qn3, qn4] ["","bob","fred","x"] swish> getNamespace qn1 http://example.com swish> getNamespace qn2 http://example.com swish> getNamespace qn3 http://example.com/bob/ swish> getNamespace qn4 http://example.com/bob/fred#
Equality is determined by a case sensitive comparison of the URI.
At present the ordering is based on a comparison of the
The format used to display the URI is
This is not total since it will fail if the input string is not a valid URI.
Converts from a Resource.
Converts to a Resource.
A local name, which can be empty.
At present, the local name can not contain spaces or the '#', ':', or '/' characters. This restriction is experimental.
The additional restriction of
isAscii was added in version
Create a new qualified name with an explicit local component.
The URI will be deconstructed to find if it contains a local component.
|-> Maybe QName|
The failure case may be removed.
Create a new qualified name.
Return the URI of the namespace stored in the QName. This does not contain the local component.
Returns the full URI of the QName (ie the combination of the namespace and local components).
Convert a filepath to a file: URI stored in a QName. If the input file path is relative then the current working directory is used to convert it into an absolute path.
If the input represents a directory then it *must* end in
the directory separator - so for Posix systems use
"/foo/bar/" rather than
This has not been tested on Windows.