This is built if --with-python is given to the configure line, or --with-python=python2.3 to use a particular python version/program. The standard 'make' at the top level will build it.
You can also compile the python interface by hand as follows:
cd python make # optional, but it may require a top-level 'make install # first depending on the operating system and how it # handles shared libraries make check
To install it system wide do this as root (or maybe via sudo make install):
root# make install
The python interface for Redland is mature and requires Python 2.2 or 2.3. It has been tested with the following versions:
2.2 on Linux/x86
2.3 on OSX/PPC
2.3.3 on FreeBSD/x86
2.3.3 on Linux/x86
If you did the install above, run the python example program with:
python example.py
(Using the same chosen earlier)
Otherwise, to run it in the source tree you need to find out the architecture-specific sub-directory it created in the build directory such as build/lib.linux-i686-2.2 and run it with:
PYTHONPATH=build/lib.linux-i686-2.3 python example.py
and the result should be:
found statement: {[http://purl.org/net/dajobe/], [http://purl.org/dc/elements/1.1/creator], "Dave Beckett"} Parsing URI (file) ../perl/dc.rdf Parsing added 3 statements Printing all statements Statement: {[http://purl.org/net/dajobe/], [http://purl.org/dc/elements/1.1/description], "The generic home page of Dave Beckett."} Statement: {[http://purl.org/net/dajobe/], [http://purl.org/dc/elements/1.1/title], "Dave Beckett's Home Page"} Statement: {[http://purl.org/net/dajobe/], [http://purl.org/dc/elements/1.1/creator], "Dave Beckett"} Statement: {[http://purl.org/net/dajobe/], [http://purl.org/dc/elements/1.1/creator], "Dave Beckett"} Writing model to test-out.rdf as rdf/xml
The pydoc Redland Python API contains full details of the classes and methods provided.
The Python API is an object-based API reflecting the same structure of the Redland objects with simple mappings between them:
Concept | Redland Class | Python Class | Purpose |
---|---|---|---|
Resource / Literal | librdf_node | RDF.Node | RDF Model & Syntax nodes |
Statement / Triple | librdf_statement | RDF.Statement | RDF Model & Syntax arcs (statements, triples) [isa Resource] |
Model | librdf_model | RDF.Model | Set of Statements usually held in one Storage. |
Storage | librdf_storage | RDF.Storage | Storage for Models either persistant or in-memory. |
Stream | librdf_stream | RDF.Stream | Providing sequences of Statements from Parsers, queries. |
Parser | librdf_parser | RDF.Parser | Syntaxes parsers delivering Stream of Statements or writing to a Model |
Serializer | librdf_serializer | RDF.Serializer | Serializes a Model into a syntax such as RDF/XML |
Iterator | librdf_iterator | RDF.Iterator | Enumerating lists (of Node) from queries. |
URI | librdf_uri | RDF.Uri | Provides URIs for Resources, Parsers, ... |
World | RDF.World | RDF wrapper class handling Redland startup/shutdown | |
Digest | librdf_digest | Internal content digest class | |
Hash | librdf_hash | Internal key:value maps class | |
List | librdf_list | Internal list class |
Copyright 2000-2004 Dave Beckett, Institute for Learning and Research Technology, University of Bristol