[redland] Redland Language APIs

Dave Beckett dave.beckett at bristol.ac.uk
Wed Feb 7 12:02:39 GMT 2001


Redland is written in ANSI C (I wasn't starting a new project in K&R C!)
but is also able to be used in other languages.  Here is the current
state of play and thoughts.

C: Native language

Perl:  Supported.
  A full object-orientated API is provided with full POD
  documentation on all the classes and methods -
  http://www.redland.opensource.ac.uk/docs/pod/ 

  State: I use this for all of the web demos, and consider it stable
  and reliable.  I have parsed millions of RDF/XML files and run
  multi-gigabytes of data through the Perl API.

Python: Supported
  A full OO API is provided with no documentation; but it is pretty
  much a translation of the Perl one, with the multiple-constructors
  in Perl changed to a single one.

  State: Should work but I don't use Python day-to-day

Tcl: Newly added
  This is a very light API based on the C API so the C documentation
  is pretty much the same; just replace all the pointers with Tcl
  variables.

  State: will need some Tcl-specific packaging changes but generally
  works fine and will continue to do so.

C++: Planned
  I plan to add a C++ interface in the same style as Perl/Python -
  Redland compiles OK as C++.  This might then develop interesting
  possibilities - makes it easier to use with OO systems such as KDE,
  COM, XML-RPC, SOAP.  I rate this as a few days of work.

Java: Planned
  This is a large job to do since I have to hand-code each of the
  intermediate functions; SWIG doesn't support this at present.  I
  have demonstrated that it can be done.  This is probably several
  weeks of work.


I ought to mention that I spent a lot of time ensuring Redland does
not leak memory.  This means it is suitable for embedding in
long-running applications such as servers.  Apache mod_rdf anyone?

Dave




More information about the redland-dev mailing list