C and Python RDF library. ALPHA
|
преди 4 години | |
---|---|---|
cpython | преди 4 години | |
ext | преди 4 години | |
include | преди 4 години | |
src | преди 4 години | |
test | преди 4 години | |
.gitignore | преди 4 години | |
.gitmodules | преди 4 години | |
CODE_OF_CONDUCT | преди 4 години | |
LICENSE | преди 4 години | |
Makefile | преди 4 години | |
README.md | преди 4 години | |
TODO.md | преди 4 години | |
profile.c | преди 4 години | |
setup.py | преди 4 години | |
test.c | преди 4 години |
lsup_rdf
This project is work in progress.
Embedded RDF (and maybe later, generic graph) store and manipulation library.
The goal of this library is to provide extremely efficient and compact handling of RDF data. At least a C API and Python bindings are planned.
This library can be thought of as SQLite or BerkeleyDB for graphs. It can be embedded directly in a program and store persistent data without the need of running a server.
Two graph back ends are 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).
This 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 is now a project for an independent RDF library, but unless the contributor base expands, it will remain focused on serving Lakesuperior.
Pre-alpha. The API is not yet defined and may change radically. The code may not compile, or throw a fit when run. 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:
(Unless provided and maintained by external contributors)