Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
CFFI Common Lisp bindings for Redland RDF Library
Common Lisp
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
synopses
README.markdown
bindings.lisp
do-query.lisp
libraries.lisp
package.lisp
redland-grovel.lisp
redland-iterate.lisp
redland.asd
scan-synopsis.lisp
sparql-macro.asd
sparql-macro.lisp
sparql.lisp
test.lisp
wrapper.lisp

README.markdown

CFFI bindings for Redland RDF Library.

Dependencies

  • cffi
  • iterate
  • alexandria
  • trivial-garbage

Overview

The low-level bindings are partially written by hand and parially automatically generated. They cover almost all of the library, although I have not verified that all strings are handled correctly. There might remain some confusion between new-string/:string/:pointer.

Mid level bindings, wrapping all Redland objects with CLOS objects are somewhat complete. They are fairly raw, mostly handling wrapping/unwrapping pointers. They are pretty close to C functions, so Redland API reference can be used as documentation.

There are no mid-level bindings for hashes and lists. CL has pretty good versions of those already.

There are drivers for ITERATE, for Redland streams, iterators, models and query-results. Note that iteration object is shared and has to be copied to be used outside the loop.

Low-level bindings are unexported symbols prefixed with %. Mid-level bindings are exported. There are some minimal tests in test.lisp.

Status

I wrote those bindings as part of figuring out what is this RDF thing I saw mentioned, since I find that retyping APIs help me understand things. Unfortunately, I have no project to actually use it in, so it is unlikely that I will do more complete testing or write any higher level lispy framework on top in foreseeable future. I just hope someone might find these a helpful basis.

Something went wrong with that request. Please try again.