Redland

Dave Beckett

 
 
Hosted by
Dreamhost

since 2005.

Data

DOAP
(See DOAP Project)

Redland librdf Language Bindings

Redland-bindings 1.0.17.1 changes

Not yet released.

Synchronise with Redland 1.0.17 (release notes). This release requires Redland 1.0.16 or newer which requires Rasqal 0.9.25 and Raptor 2.0.7 or newer.

Python Bindings changes

Added Python 3.0 support (continue supporting python 2) with patch from Diane Trout - thanks. Fixes Issue #0000549

Generate recommended files: _Redland.socode> (or .dylib) wrapped by Redland.py. This will likely cause distribution packaging changes.

Added examples of MySQL storage - patch from Olivier Berger, thanks.

Configuration changes

Removed old tests

Use python distutils get_python_inc() to get includes path.

Redland-bindings 1.0.16.1 changes

Synchronise with Redland 1.0.16 (release notes). This release requires Redland 1.0.16 which requires Rasqal 0.9.25 and Raptor 2.0.7 or newer.

Issues Fixed:

  • 0000243: Ruby bindings emit lots of warnings when loading library
  • 0000444: Ruby bindings installation is incomplete (redland.bundle missing)
  • 0000480: installation for ruby could still be improved
  • 0000498: 'parse_string_into_model' calls 'parse_string_as_stream' with an incorrect number of parameters in Ruby binding

Ruby bindings changes

Update ruby configuration for newer 1.9 config macros and variables using ruby arch include directory if it exists.

Set the ruby build suffix at configure time and add an option to make it configurable with configure argument --with-ruby-linking taking values 'so', 'dylib' or 'bundle'

Added configure --with-ruby-install-dir-variable to set non-arch ruby install var. Fixes Issue #0000480

Make Parser class method parse_string_into_model() work properly.

Fix ruby -w warnings - commenting out literals. Fixes Issue #0000243

Other changes

Remove all RDQL test queries since support is being removed from Rasqal.

autogen.sh now supports the NOCONFIGURE variable like Lib{XML2,XSLT}, aborts the run if an progrma fails and creates the NEWS if it does not exist to aid building from GIT and 'make dist'.

Redland-bindings 1.0.15.1 changes

Never released.

Redland-bindings 1.0.14.1 changes

Synchronise with Redland 1.0.14 (release notes). This release requires Redland 1.0.14 which requires Rasqal 0.9.25 and Raptor 2.0.0 or newer.

SWIG 2.0.0 or newer is now recommended. Not tested with SWIG 1.x series.

Issues Fixed:

  • 0000473: Python API objects can not be sub-classed.

Perl changes

Perl 5.7.3 or newer is required now.

Node and URI class: set utf8 flag on scalars in Node->literal_value and URI->as_string. (Gregory Todd Williams)

Added a hack to prevent false runtime warnings about a variable used once.

PHP changes

PHP logging and error handling enhancements. (Joe Presbrey)

Python changes

Change all 'type(arg) is T' to 'isinstance(arg, T)' to allow subclassing of the Redland python classes. Fixes Issue #00000473

Redland librdf Language Bindings 1.0.13.1 Changes

Synchronise with Redland 1.0.13 (release notes). This release requires Redland 1.0.13 which requires Rasqal 0.9.25 and Raptor 2.0.0 or newer. Raptor V1 support was removed.

Issues Fixed:

  • Issue #0000390: Ruby Redland::Model#triples_with_context exception
  • Issue #0000398: configure.ac hardcodes part of the python module path, which breaks 64 bit
  • Issue #0000401: behaviour of RDF.QuerySet has changed since 1.0.7.1 or later
  • Issue #0000403: destructor for RDF.Query throws an exception
  • Issue #0000411: Perl installs to /usr/lib/perl5/site_perl/ openSUSE want's it under /usr/lib/perl5/vendor_perl
  • Issue #0000412: when building packages, ruby gems should go in sitearchdir
  • Issue #0000413: Licensing of source code is unclear to distributions

Python changes

Validate all constructors set attributes to None so that early destruction does not give undefined attribute errors.

Node class methods __str__() and __unicode__() methods now return simple string results.

Node class method __unicode__() no longer returns a formatted result (in N-Triples) but grabs a simple string value for literal, blank and uri.

Node class gains a blank property returning a Unicode blank node ID.

Node class gains a literal property returning a tuple of (string, language, datatype URI).

Query constructor now accepts Unicode querystrings argument values. Issue #0000403

QueryResults method to_string() was fixed to return bindings results when given a base URI.

Using len() on an iterable QueryResults now returns an exception since this breaks the idea of an iterable object; it has no well defined length. Issue#0000401

Ruby changes

Model class method triples_with_context() now returns both the statement and context properly. Issue #0000390

Fixed a number of Ruby tests by restoring Redland::Node#to_s to it's old behavior of returning string values without quotes.

Made the Ruby tests less noisy.

Improved Ruby serialiser tests.

Configuration changes

Removed redland-config support; use only pkg-config redland.

Removed --with-redland option and support for compiling against a non-installed redland.

configure now warns if the system redland is newer than our version and errors out if it is older.

The python configuration in configure now uses distutils.sysconfig function get_python_lib() to get the library binary directory. Added option --with-python-get-python-lib-args to set the parameters if necessary. Issue#0000398

The perl configuration in configure was updated to use a new --with-perl-makemaker-args option to allow the builder or packager to configure the perl build and installation using standard ExtUtils::MakeMaker options. Issue #0000411

The ruby configuration in configure was updated to add --with-ruby-install-dir, --with-ruby-arch-install-dir and --with-ruby-arch-install-dir-variable options to configure Ruby installation paths for architecture independent and architecture-dependent files. Issue #0000412

Other changes

All files are now recorded that they are available under the three license alternatives (or any newer version) using the current text from LICENSE.html at the root of this package. In addition python/RDF.py is also available under the BSD License without advertising (aka MIT license), the license text is included in the file. Issue #0000413

Redland librdf Language Bindings 1.0.11.1 Changes

Issues Fixed:

  • 0000292: Method Redland::Resource.type? always return true

Lua binding

Added experimental Lua language binding. Use --with-lua=lua5.1 etc. to select a particular binary and version. This same name will be used with pkg-config(1) to get the include and link lines.

Python binding

Fix Unicode conversion for strings to use correct functions and throw better runtime errors exceptions.

Fix linking parameter order for python to help with newer GCC that force -Wl,--as-needed link args.

Ruby binding

Fixed method Redland::Resource.type? to not always return true: Issue #0000292

Redland Bindings 1.0.10.1 Changes

Issues Fixed:

  • 0000257: Make PYTHON_LIB installation directory configurable
  • 0000313: Unicode to UTF8 buffer overflows

PHP binding changes

Make PHP bindings link again by restoring LDFLAGS.

Fix PHP C interface librdf_php_check_exception to work when compiled with "ZTS mode". Whatever that is!

Python binding changes

Added Parser class method namespaces_seen

Allocate enough bytes for storing an UTF-8 encoded version of a python UCS-2 encoded Unicode string - up to 3 bytes per codepoint. Fixes Issue#000313

Added PYTHON_LDFLAGS, PYTHON_LIBEXT, PYTHON_INCLUDES and PYTHON_LIB configureenvariables to override/set the python build parameters. Thanks to 'normang' for inspring this change from the patch in the Issue#0000257 that it fixes.

Ruby binding changes

Model class method delete: allow wildcards in s,p,o to delete a set of statements from a Model.find call. Patch from Aria Stewart.

Model class method load: added

Parser class methods parse_into_model and parse_string_into_model: add documentation to note argument orders are different.

Resource class method type?: Use return value of model.find - a sequence and count it's size rather than just compare value to nil. Addresses Issue#000292 but may not fix it.

Alter linking to put LDFLAGS at end of line so that they can be overridden by user/distro. Patch from Aria Stewart.

Other changes

Redland Bindings 1.0.9.1 Changes

Never released.

Redland Bindings 1.0.8.1 Changes

The main change in this release is to synchronise with Redland 1.0.8 (Redland 1.0.8 release Notes) and provide a few other fixes and improvements.

Changed the configuration to prefer using pkg-config details over redland-config. This is the future and also makes linking work better on OSX.

Perl Bindings Changes

The Parser and Serializer class feature methods now cast values to/from Node for set/get when needed.

Python Bindings Changes

Modified linking to use new configure options --with-python-ldflags and --with-python_libext options to help systems such as Cygwin where the shared libraries are not .so

Ruby Bindings Changes

Updates to tests for expected SPARQL XML Results.

Redland Bindings 1.0.7.1 Changes

The main change in this release is to synchronise with Redland 1.0.7 (Redland 1.0.7 release Notes) and provide a few other fixes and improvements.

Removed Tcl, Java and C# APIs from the release as promised in Feb 2007

PHP Bindings Changes

Throws proper PHP5 exceptions when errors happen, passing along location information to the caller.

Null URIs and Redland nodes can be given with a PHP null.

Probably does not work on PHP4 anymore.

Python Bindings Changes

Parser class: Do not set rdfxml as default parser, let Redland figure that out.

Parser class: add method set_uri_filter to set the URI rejection filter function.

GRDDLParser class: added as a convenience class to create a parser of name 'grddl'.

Fixed Issue#0000212 : QueryResults.to_string is not working

Other changes

Updated SPARQL CONSTRUCT in perl example and test code Fixes Issue#0000247: Actuall v is 1.0.6.1 ; example.pl ends with an error

Updated autogen.sh to handle better vesioning, OSX glibtoolize and ltdl.

Some C# build fixes.

Redland Bindings 1.0.6.1 Changes

The main change in this release is to synchronise with Redland 1.0.6 (Redland 1.0.6 release Notes) and provide several other fixes and improvements.

Packaging and Configuration Changes

C# bindings changes

None

Java bindings changes

None

Perl bindings changes

Parser class gains namespaces_seen method to return hash of namespace prefix/uris seen during a parse.

PHP bindings changes

None

Python bindings changes

QueryResults class method __len__: Return 0 when the count is not 0 Fixes Issue #0000166

Model class method add_statement now raises an error if adding statement fails.

Node class constructor: Convert literals from Unicode to UTF-8 for redland n=RDF.Node(literal= u'this is unicode') now works Fixes Issue #0000147

Query class now raises an error if construction fails.

Serializer class constructor now defaults to none name, mime_type and raises an error if construction fails.

Ruby bindings changes

Apply patch from #0000121 again not properly fixed in previous patching owl.rb Fixes Issue #0000121

Uri, NodeIterator and QueryResults classes gain a finalizer to close and free up the redland objects on destruction.

Model, Parser, Query, Serializer and Store classes: Apply patch to comment out log .info calls. Fixes Issue #0000170 and Issue #0000172

Serializer class feature methods: Fix use of Node constructor. Fixes Issue #0000140

Serializer class method model_to_string: Fix null base_uri (Patch from Jeff Dutton)

Strem class fixed incorect call to librdf_free_model(stream) Fixes Issue #0000171

Tcl bindings changes

None

Redland Bindings 1.0.5.1 Changes

The main change in this release is to synchronise with Redland 1.0.5 (Redland 1.0.5 release Notes) and provide several other fixes and improvements.

Packaging and Configuration Changes

Patched configure to remove un-necessary tests for C++ or F77++ compilers that libtool stupidly insists on.

Added --with-python-ldflags for working around installing python in odd places.

Create directories before make install. Fixes Issue #0000126

C# bindings changes

Model class methods getSource, getArc and getTarget now return null rather than try to create a Node with null value.

Parser class constructors now working again, defaulting to RDF/XML parser.

Java bindings changes

Add Java Query and QueryResults classes and example of using them. Added Serializer method setNamespace.

Perl bindings changes

Parser class now allows undef arguments for base URIs.

PHP bindings changes

None.

Python bindings changes

Subclass python class Warning defined in C for making a RedlandWarning. Fixes Issue #0000109

Storage class gained some update docs.

Ruby bindings changes

Model class added method to_string. Removed several puts in methods. Method save now works when using default serializer and not filename.

Node class method from_node now calls Uri constructor properly.

Node class now defines bnode and anon to match docs Fixes Issue #0000122

Parser class now has constructor for a turtle parser.

QueryResults class added method bindings_count.

QueryResults class methods binding_value, binding_value_by_name now handle nil values.

Serializer class modified method set_namespace to use prefix, uri_ordering. Constructor now defaults to rdfxml syntax.

Storage class no longer echos storage options to stdout.

Added OWL_NS to owl.rb. Fixes Issue #0000121

Example gains query and serializer test code.

Removed some recursive includes of Redland.

Tcl bindings changes

None

Redland Bindings 1.0.4.1 Changes

The main change in this release is to synchronise with Redland 1.0.4 (Redland 1.0.4 release Notes) and provide some other minor fixes.

Packaging and Configuration Changes

Now using Subversion for version control and the Redland bindings installation instructions explain how to get Redland from Subversion.

C# bindings changes

Return null in more cases when a redland function returns 0/NULL for a function result..

Java bindings changes

Rename the SWIG accessor java functions for the constants which changed in some previous SWIG verison.

Perl bindings changes

No changes.

PHP bindings changes

No changes.

Python bindings changes

Fix module cleanup to ensure Redland.librdf_free_world lives till the end.

NS Class: Rename method node and local variables to __-prefixed names less likely to be used in a namespace.

Edit to allow omitting a literal language and make the default work with the updated typed literal fix in Redland 1.0.3

Ruby bindings changes

Build fixes for newer SWIG.

Tcl bindings changes

Update build configuration to record redland name/version correctly.

Redland Bindings 1.0.3.1 Changes

The main changes in this release are:

Synchronises with Redland 1.0.3 (Redland 1.0.3 release Notes)

Many fixes across multiple binding languages.

Version Control change: Redland Bindings will be switching to use Subversion for version control after the 1.0.2.1 release. Please check the Redland Subversion site for the latest status or the online Redland Bindings installation notes for the Redland Bindings specific subversion installation information.

Packaging and Configuration Changes

The build now generates a bindings.rdf DOAP file.

The autogen.sh script for building from a soruce code checkout was revamped to be more modular.

RPM spec file was updated. It now defines perl_sitearch, python_libdir, ruby_dir and ruby_libdir at RPM build time. The build requirements were split out and now declare minimum versions. Uses newer %configure and %{__make} macros and License header field.

C# bindings changes

Namespace fixes patch from John Barstow.

Update nunit console to newer.

Update C# syntax for Mono 1.8.x+.

Java bindings changes

No changes.

Perl bindings changes

QueryResults.to_string: return boolean format results.

Storage constructor: Improve storage options handling by allowing a perl hash options in addition to the current form of a string of redland options. Patch from Kjetil Kjernsmo.

PHP bindings changes

Insert phpinfo and module shutdown using SWIG alone which might work better.

Python bindings changes

  • win32 fixes
  • Model.load returns a boolean
  • Parser.parse_into_model and Parser.parse_string_into_model now return boolean success/failure
  • Improve default arguments for Parser and Serializer convienence classes, keeping the same defaults
  • Added test testSPARQLQueryTwiceOverwriteVar which fails due to current Rasqal implementation.
  • Remove use of SWIGEXPORT macro which breaks on newer SWIGs
  • World.__del__: Added hack to prevent death if python destroys the Redland module before the RDF module. Fixes Issue #0000044
  • URI.__hash__: Use hash of str(self) to make a working URI hash allowing Redland URIs to be stored in Python dicts. Fixes Issue #0000047
  • QueryResults.make_results_hash, QueryResults.get_binding_value and QueryResults.get_binding_value_by_name: Check for a None value and set it in the results correctly. Fixes Issue #0000059
  • Parser.parse_string_as_stream and Parser.parse_string_into_model: Convert a Python unicode string to the UTF-8 bytes Redland expects. Fixes Issue #0000061
  • Make Python exceptions RedlandError and RedlandWarning properly returned from the RDF module by importing them correctly from C. Fixes Issue #0000068
  • QueryResults.to_file and QueryResults.to_string now use the default format when given None.

Ruby bindings changes

  • Remove mention of log4r not really ever used
  • Serializer class method model_to_string added.
  • Query class method initialize - add missing base_uri arg
  • QueryResults class: added, separate from query class.
  • Statement class method ==(other) added
  • Model class method query_execute added
  • Parser class: Use rdfxml as parser name
  • Resource class method initialize: Make it work with a Uri argument. Fixes Issue #0000048.
  • Model class method get_resource): Handle find returning nil for no result. Fixes Issue #0000049

Tcl bindings changes

No changes.

Redland Bindings 1.0.2.1 Changes

This release is mainly to synchronise with Redland 1.0.2

Perl bindings changes

Query results are now serialized to the latest SPARQL XML format.

A $VERSION variable is exported by the perl binding so that you can do use RDF::Redland 1.00_02 to ensure you get a certain version or newer.

Node class method new_literal modified to accept several classes of perl URI and fixed to promote them correctly to a redland URI.

Python bindings changes

Query results are now serialized to the latest SPARQL XML format.

Ruby bindings changes

Update the bindings for newer SWIG and re-order requires to make irb -r rdf/redland work (aredridel)

Redland Bindings 1.0.1.1 Changes

General Changes

The query demonstrations written in Perl now use the revised SPARQL syntax.

C# bindings changes

No changes.

Objective-C / Cocoa bindings changes

No changes.

Perl bindings changes

Perl. Added RDF::Redland methods set_log_handler and reset_log_handler to get structured error messages. Prefer this to the older handler.

Perl. Added convienience Node subclasses RDF::Redland::URINode, RDF::Redland::XMLLiteralNode, RDF::Redland::BlankNode and RDF::Redland::LiteralNode

PHP bindings changes

When returning NULL librdf_node* objects, convert them also to a PHP null.

Python bindings changes

Serializer class gains set_namespace method.

Adjust Node, Statement class comparisons to not assume the other parameter is of the right type. Remove 'return' from constructors. (Daniel Larsson).

Ruby bindings changes

Generate html documentation using rdoc (Nikolas Coukouma).

Tcl bindings changes

No changes.

Redland Bindings 1.0.0.2 Changes

General Changes

Removed bogus C include of the ../librdf dir from all bindings build; always just use whatever redland-config --cflags returns.

Perl bindings changes

Added methods for returning query results as RDF graphs, boolean results and as a syntax format such as RDF/XML for graphs, SPARQL Variable Binding Results XML Format for bindings. .

The error handling was altered for parsing methods class RDF::Redland::Model method load, class RDF::Redland::Parser methods parse_into_model and parse_string_into_model which now take an optional handler parameter that is a subroutine handler providing detailed log information. This can be used to capture or store detailed info on possibly multiple problems in parsing.

PHP bindings changes

Fix for swig calling zend_rsrc_list_get_rsrc_type incorrectly. Added PHP_MINFO_FUNCTION to report that Redland was loaded, the version of redland and the PHP bindings.

Python bindings changes

Change the way that redland errors and warnings are reported. There are now two choices. By default warnings are now generated immediately as a Python PyRedland_Warning warning. The first error generated is saved and thrown as an PyRedland_Error exception after the redland function returns. If multiple errors are generated, the remaining ones are left to the default redland error handler, which prints them to stderr.

The alternative is in parsing methods model.load, parser.parse_into_model and parser.parse_string_into_model which now take an optional handler parameter that is a subroutine handler providing detailed log information.

This change has a disadvantage in no longer allowing user-registration of callbacks but it does seem to work better with Python than the former mechanism of python calling C calling Python.

Redland Bindings 1.0.0.1 Changes

The main changes for this release are to provide additional query results formats, in Python only at present and to synchronise with Redland 1.0.0

C# bindings changes

Correct marshalling .NET strings to and from UTF-8 inside Redland correctly. (Edd Dumbill)

Improve and correct the destruction of internal iterator objects (Edd Dumbill)

Use HandleRef to improve the references to redland World to prevent premature destruction of redland objects. (Edd Dumbill)

See the csharp/ChangeLog in the source tree for more details of these changes.

Objective-C / Cocoa bindings changes

This binding is for the Objective-C (Obj-C) language with the Cocoa Framework on the Apple OSX platform. It was created and is developed by René Puls who provides it at the Cocoa Bindings for Redland site

Perl bindings changes

No changes.

PHP bindings changes

No changes.

Python bindings changes

Added convienience classes for making RDQL and SPARQL queries. Added methods for returning query results as RDF graphs and boolean results. Added unittests for those.

Ruby bindings changes

Updated to rdf-redland 0.5.3.1 and made the installation work standalone from ruby gem. Fixed some test cases so the testsuite passes now.

Tcl bindings changes

No changes.

Redland Bindings 0.9.19.1 Changes

Redland binding's License was changed from LGPL 2.1/MPL 1.1 to LGPL 2.1/Apache 2 (except for the C# binding).

Rebuild for Redland 0.9.19

General Changes

Fixes to lose Makefile use of $< syntax for better make(1) portability.

configure was updated to try harder to find Java JNI headers, looking in $JAVA_HOME, or using --with-jdk argument.

C# binding changes

Assign the logging delegate to a private member to stop it being prematurely garbage collected. (Edd Dumbill)

Perl binding changes

Rewrote $uri=$uri->{URI} style code to prevent premature object destruction.

Class Model: Added to_string() method.

Classes Query, QueryResults: Made documentation and examples to match the code.

PHP binding changes

Added a typemap to provide a proper PHP ZVAL_NULL value when returning a NULL librdf_stream* or librdf_iterator* object pointer, rather than a swig-typed NULL pointer.

Python binding changes

Rewrote uri=uri._reduri style code to prevent premature object destruction.

Class Model: Added method to_string.

Class Node: Documented literal language and other literal_language method dictionary keys.

Redland Bindings 0.9.18-1 Changes

Rebuild for Redland 0.9.18 - no API changes

Redland Bindings 0.9.17-1 Changes

This is the first release of Redland Bindings separate from Redland and includes the following changes compared to the language bindings in Redland 0.9.16

General Changes

The main change is to split the API that Redland exports in the redland package from the language specific parts in the redland-bindings package.

For most of the language bindings, the interface between them is using the swig interface generator tool. This is now defined by the Redland.i file provided by the redland package (in binary packages inside redland-devel rpm or librdf-dev debs). This can also be found via redland-config --swig and then used to generate the C wrappers for the bindings. There may be need for language-specific changes which can be used via #included .i files triggered by calling swig and the C compiler with defines like -DREDLAND_PRE_I to #include redland-pre.i from the Redland.i.

The last paragraph does not apply to C# (Redland#) which uses the built in P/Invoke feature of the language and runtime to call the Redland functions directly.

Packaging changes

C# API (Redland#) Changes

This is an entirely new API for 0.9.17 originally created by Cesar Lopez Nataren. It was updated by Dave Beckett to work with the released Mono 1.0 and substantially improved by Edd Dumbill. Changes since Cesar's version are given in detail in the csharp directory ChangeLog but include:

  • Namespace changed from Rdf to Redland
  • Added marshalling of strings between Redland and Redland#
  • Freeing of native Redland objects by implementing the C# IDisposable interface, the Dispose method
  • Query and QueryResults Classes: Added for new Redland 0.9.17 librdf_query and librdf_query_results classes.
  • Added strong naming of Redland.dll
  • Class Model. Added methods Execute, GetContexts, GetFeature, SetFeature, Load.
  • Class World. Updated to use new Redland 0.9.17 logging API especially for parsing errors and warnings
  • Class Parser: ParserError for parsing exceptions
  • Classes Errors, Locator, LogMessage: Added for wrapping structured error messages returned from parsing.
  • Classes Node, Statement, Uri: Added Equals, operator==, operator !=
  • Classes Stream and Iterator: Fixes for the IEnumerable interface
  • Class Node: Added methods for types - Type, IsResource, IsLiteral, IsBlank
  • Class Node: Added method Uri.
  • Fixed handling of null / IntPtr.Zero in several methods

Java API Changes

This API has not been updated for all Redland 0.9.17 changes.

Class Statement. Added equals method.

Perl API changes

This API has been updated for all Redland 0.9.17 changes.

  • Class Statement. Added equals method.
  • Classes Query, QueryResults: Added for new Redland 0.9.17 librdf_query and librdf_query_results classes.
  • Class Model: Added execute method.

PHP API Changes

No changes needed as this is a bare API directly using Redland functions.

Added some PHP 4.3 compatible defines to the test program.

Python API changes

This API has been updated for all Redland 0.9.17 changes. The main changes are as follows:

  • Another attempt to return errors and warnings from parsing better.
  • Class Model. Added new method load.
    Added new method execute to invoke querying on a model.
  • Class NS: Copy librdf_node each time since sharing the C pointers is wrong.
  • Class Parser. Method parse_string_as_stream example fixed to show the required base_uri parameter.
  • Clases Query, QueryResults: Added for new Redland 0.9.17 librdf_query, librdf_query_results including unit tests (Matt Biddulph)
  • Class Statement. Added equality and inequality operators.
    Added matches operator for comparing an incomplete statement with None values against a complete one
  • Class TurtleParser, NTriplesParser: Added convenience classes to create parsers for the Turtle and N-Triples syntaxes.(Matt Biddulph)

Ruby API changes

Replaced with a fuller API rdf-redland written by by Dominic Sisneros. See the rdf-redland project site.

This API has not been updated for all Redland 0.9.17 changes but may have newer version at the URI above.

Class statement. Added == operator.

Tcl API changes

No changes needed as this is a bare API directly using Redland functions.