wismill / rdf4h

rdf4h is a library for working with RDF in Haskell

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rdf4h - An RDF library for Haskell

Available on Hackage License BSD3 Build Status

rdf4h is a library for working with RDF in Haskell.

For details see the GitHub project page:

http://robstewart57.github.io/rdf4h/

RDF formats

The coverage of the W3C RDF standards are:

Format Parsing Serialising
NTriples complete complete
Turtle complete complete
RDF/XML partial (115/162 W3C tests) not supported

These results are produced with version 3.1.0 of this library.

These tests are run on the W3C unit tests for RDF formats: https://github.com/w3c/rdf-tests.

Feature requests

  1. Pull requests are welcome to fix the remaining W3C RDF/XML parser bugs. The xmlbf branch is working on a reimplementation of the XmlParser module with the xmlbf library.

  2. The parsers in this library parse large files/strings contents entirely before generating RDF triples. This doesn't scale for very large files. Implementing stream based RDF parsers would overcome this problem, e.g. by creating input streams enabling output streams in the io-streams library to consume triples on-the-fly during parsing. This is discussed here: robstewart57#44 (comment)

Running tests

To run all the tests (parsers and the library API):

$ git submodule update --init --recursive
$ git submodule foreach git pull origin gh-pages
$ stack test --test-arguments="--quickcheck-tests 1000"

To run specific parser tests when bug fixing:

$ stack test --test-arguments="--pattern /parser-w3c-tests-ntriples/"
$ stack test --test-arguments="--pattern /parser-w3c-tests-turtle/"
$ stack test --test-arguments="--pattern /parser-w3c-tests-xml/"

Running benchmarks

To run the bencharks:

$ wget https://www.govtrack.us/data/rdf/bills.099.actions.rdf.gz
$ gzip -d bills.099.actions.rdf.gz
$ stack bench

About

rdf4h is a library for working with RDF in Haskell

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Haskell 98.4%Language:HTML 1.4%Language:Makefile 0.2%