C and Python RDF library. ALPHA
|
vor 4 Jahren | |
---|---|---|
ext | vor 4 Jahren | |
include | vor 4 Jahren | |
src | vor 4 Jahren | |
test | vor 4 Jahren | |
.gitignore | vor 4 Jahren | |
.gitmodules | vor 4 Jahren | |
CODE_OF_CONDUCT | vor 4 Jahren | |
LICENSE | vor 4 Jahren | |
Makefile | vor 4 Jahren | |
README.md | vor 4 Jahren | |
TODO.md | vor 4 Jahren | |
profile.c | vor 4 Jahren | |
test.c | vor 4 Jahren |
This project is work in progress.
This C library was initially meant to replace RDFLib dependency and Cython code in Lakesuperior in an effort to reduce code clutter and speed up RDF handling; it later became a project for an independent RDF library. Initial experiments with Redland as a more efficient replacement for RDFLib were not successful due to the complexity of the API and the lack of an adequate persistent back end.
This library makes two graph back ends available: a memory one based on hash maps and a disk-based one based on LMDB, an extremely fast and compact embedded key-store value. Graphs can be created independently with either back end within the same program. Triples in the persistent back end are fully indexed and optimized for a balance of lookup speed, data compactness, and write performance (in order of importance).
The API is not yet defined and at the moment this project is only intended for curious developers and researchers.
This is also my first stab at writing a C library (coming from Python) and an unpaid fun project, so don't be surprised if you find some gross stuff.
The short-term goal is to support usage in Lakesuperior and a workable set of features as a standalone library: