Introduction
------------

The sqltriples package provides an RDF triple store residing in an
SQL-accessible database system with an API similar to that provided by rdflib.

Quick Start
-----------

Run the sqltriples module directly, specifying a database name and the
arguments for the initialisation of the store and the clean closure of the
database connection:

python sqltriples.py --database testdb --init --close

You can also add the --test argument to run a test of the store:

python sqltriples.py --database testdb --init --test --close

Or, after initialisation:

python sqltriples.py --database testdb --test --close

The --names argument followed by a table name and a sequence name permits the
usage of different database objects than those chosen by default:

python sqltriples.py --database testdb --names mytriples mysequence ...

It can be interesting to start Python in interactive mode and to manipulate
the store interactively:

python -i sqltriples.py --database testdb

To see the statements being sent to the database system, the --debug argument
can be given to the test program.

Contact, Copyright and Licence Information
------------------------------------------

The current Web page for sqltriples at the time of release is:

http://www.boddie.org.uk/python/sqltriples.html

Copyright and licence information can be found in the docs directory - see
docs/COPYING.txt and docs/LICENCE.txt for more information.

Dependencies
------------

sqltriples has the following basic dependencies:

Package                     Release Information
-------                     -------------------

pyPgSQL                     Tested with 2.4.0

It is anticipated that generic database system support will be introduced, but
currently the executed SQL is specific to (or, more particularly, only
supported by) PostgreSQL. Generally, the DB-API is exclusively used to access
database systems.

Release Procedures
------------------

Update the sqltriples/__init__.py __version__ attributes.
Change the version number and package filename/directory in the documentation.
Change code examples in the documentation if appropriate.
Update the release notes (see above).
Check the setup.py file and ensure that all package directories are mentioned.
Check the release information in the PKG-INFO file and in the package
changelog (and other files).
Tag, export.
Generate the API documentation.
Remove generated .pyc files: rm `find . -name "*.pyc"`
Archive, upload.
Upload the introductory documentation.
Update PyPI, PythonInfo Wiki, Vaults of Parnassus entries.

Generating the API Documentation
--------------------------------

In order to prepare the API documentation, it is necessary to generate some
Web pages from the Python source code. For this, the epydoc application must
be available on your system. Then, inside the distribution directory, run the
apidocs.sh tool script as follows:

./tools/apidocs.sh

Some warnings may be generated by the script, but the result should be a new
apidocs directory within the distribution directory.

Making Packages
---------------

To make Debian-based packages:

  1. Create new package directories under packages if necessary.
  2. Make a symbolic link in the distribution's root directory to keep the
     Debian tools happy:

     ln -s packages/ubuntu-hoary/python2.4-sqltriples/debian/

  3. Run the package builder:

     dpkg-buildpackage -rfakeroot

  4. Locate and tidy up the packages in the parent directory of the
     distribution's root directory.
