- From: Graham Klyne <gk@ninebynine.org>
- Date: Wed, 14 Jul 2004 16:46:58 +0100
- To: RDF Interest group <www-rdf-interest@w3.org>
As part of my ongoing Swish project [11], I've created an RDF/XML parser
(HARP) in Haskell [7][8]. The parser is a moderately complete
implementation of RDF/XML; the shortcomings are an incomplete handling of
XML literals (these are not perfectly canonicalized per the RDF
specifications), and failure to detect some cases of invalid RDF.
I've used test data based on Dave Beckett's Raptor [12] test suite, and my
parser passes almost all of the positive parser tests and over half of the
negative parser tests.
The code is still rather rough (not packaged, properly document, etc.), but
it is accessible if any intrepid Haskell programmer wants to have a play.
In order to support the RDF parser, I've made extensive enhancements to
(one of) the Haskell common library XML parsers, HaXml. Some discussion of
my changes can be seen at [1][2][3][4]. The modified XML parser code can
be found at [5][6] with URI and HTTP support provided by [9][10].
The enhanced XML parser requires a Haskell compiler version that supports
Unicode character values. The Nov-2003 release of Hugs does not have this
support, but I have built a later version of Hugs for Windows [13] which
does include Unicode support (and a larger code storage area to support
larger Haskell programs). This version should be used with prelude source
files from the later version of Hugs [[[I must fix up my "fathugs" page to
cover this]]].
I have yet to integrate the new RDF/XML parser into the Swish program.
#g
--
[1] http://www.haskell.org//pipermail/libraries/2004-June/002243.html
[2] http://www.haskell.org//pipermail/libraries/2004-June/002266.html
[3] http://www.haskell.org//pipermail/libraries/2004-June/002276.html
[4] http://www.haskell.org//pipermail/libraries/2004-June/002282.html
[5] http://www.ninebynine.org/Software/HaskellUtils/20040713-Haxml-1.12.zip
[6] http://www.ninebynine.org/Software/HaskellUtils/HaXml-1.12/
[7] http://www.ninebynine.org/Software/HaskellRDF/20040713-HaskellRDF.zip
http://www.ninebynine.org/Software/HaskellUtils/20040713-HaskellUtils.zip
[8] http://www.ninebynine.org/Software/HaskellRDF/
http://www.ninebynine.org/Software/HaskellUtils/
[9] http://www.ninebynine.org/Software/HaskellUtils/20040609-Network.zip
[10] http://www.ninebynine.org/Software/HaskellUtils/Network/
[11] http://www.ninebynine.org/RDFNotes/Swish/Intro.html
[12] http://www.redland.opensource.ac.uk/raptor/
[13] http://www.ninebynine.org/Software/FatHugs.html
------------
Graham Klyne
For email:
http://www.ninebynine.org/#Contact
Received on Wednesday, 14 July 2004 11:46:21 UTC