[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