This is built if --with-ruby is given to the configure line, or --with-ruby=ruby1.8 to use a particular Ruby version/program. The standard 'make' at the top level will build it.
You can also compile the Ruby interface by hand as follows:
cd ruby make # optional (some tests require test/unit.rb - ships with ruby 1.8.0+) make check
To install it system wide do this as root (or maybe via sudo make install):
root# make install
The Ruby interface was originally written by Dominic Sisneros at the rdf-redland project on RubyForge. The interface here is an update of that with some fixes.
The Ruby interface has been tested with Ruby 1.8.3, 1.8.2, 1.8.1, 1.8. The minimum version is likely 1.8 although older ones may work.
The example program provided parses an RDF/XML source file into a model. It should be run with two arguments - the URI of the content (as file:/path/to/content) and the syntax name (say, rdfxml):
# If installed ruby example.ruby file:../data/dc.rdf rdfxml # In source tree ruby -I. -Ilib example.ruby file:../data/dc.rdf rdfxml
Read the Ruby Doc Redland Ruby Doc API for details of the classes and methods provided wrapping the C API.
The Ruby API is an object-based API reflecting the same structure of the Redland objects with simple mappings between them:
Concept | Redland Class | Ruby Class | Purpose |
---|---|---|---|
Resource / Literal | librdf_node | Redland::Node Redland::BNode Redland::Literal |
RDF Model & Syntax nodes |
Statement / Triple | librdf_statement | Redland::Statement | RDF Model & Syntax arcs (statements, triples) [isa Resource] |
Model | librdf_model | Redland::Model | Set of Statements usually held in one Storage. |
Storage | librdf_storage | Redland::TripleStore Redland::FileStore Redland::HashStore Redland::MemoryStore |
Storage for Models either persistant or in-memory. |
Stream | librdf_stream | Redland::Stream | Providing sequences of Statements from Parsers, queries. |
Parser | librdf_parser | Redland::Parser | Syntaxes parsers delivering Stream of Statements or writing to a Model |
Query | librdf_query | Redland::Query | Querying of an Model delivering a QueryResults |
QueryResults | librdf_query_results | Redland::QueryResults | Results of applying an Query to a Model giving either variable bindings with Node values or Stream of Statements |
Serializer | librdf_serializer | Redland::Serializer | Serializes a Model into a syntax such as RDF/XML |
Iterator | librdf_iterator | Enumerating lists (of Node) from queries. | |
URI | librdf_uri | Redland::Uri | Provides URIs for Resources, Parsers, ... |
World | Redland::World | RDF wrapper class handling Redland startup/shutdown | |
Digest | librdf_digest | Internal content digest class | |
Hash | librdf_hash | Internal key:value maps class |
Copyright (C) 2002-2007 Dave Beckett, Copyright (C) 2002-2005 University of Bristol