Installation

At the time of writing, this package requires a patch for pyodbc to support the Virtuoso extensions for SPARQL. You only need this if you want to use the RDFLib store. It is not required for SQLAlchemy. The patch is documented at: http://river.styx.org/ww/2010/10/pyodbc-spasql/index

NOTE there has been a backwards-incompatible change with version 0.11 of this package and it requires the newest pyodbc patches from the above link.

For straightforward usage, it should be sufficient to simply install the package using easy_install or pip:

pip install virtuoso

this should fetch and install the prerequisites. This may fail if you do not already have iODBC or unixODBC installed on your system. If it succeeded you are now hopefully ready to go!

If you would like to use this with SQLAlchemy you will need to install it in the usual way:

pip install sqlalchemy

And likewise for rdflib:

pip install rdflib

ODBC

Connecting to Virtuoso requires pyodbc. A simple configuration is to have an odbc.ini containing something like:

[VOS]
Description     = Virtuoso
Driver          = /usr/local/lib/virtodbc.so
Servername      = localhost
Port            = 1111
UserName        = dba

If you are installing this package and intend to run the unit tests, you must have a DSN with the name VOS configured.

If you use unixODBC instead of iODBC installed, your ODBC configuration files might need to be slightly different and in any case the location is system dependent and configurable via environment variables. A complete guide to setting up and configuring ODBC is beyond the scope of this document, please refer to your vendor’s documentation for additional guidance.

Development

This is a general guide, not a set of hard and fast rules. It assumes that you have virtualenv and pip installed on the development system.:

# create a working environment
virtualenv vdev

# activate the environment
. ./vdev/bin/activate

# install some useful modules
pip install mercurial
pip install nose
# for working with the documentation
pip install sphinx
pip install Sphinx-PyPi-upload

# install from the mercurial respository
pip install -e hg+http://bitbucket.org/ww/virtuoso#egg=virtuoso

Once installed you can run the unit tests by changing into the vdev/src/virtuoso directory and running:

% nosetests -v -s
test_sqlalchemy.Test01Basic.test_01_table ... ok
test_sqlalchemy.Test01Basic.test_02_fkey ... ok
test_sqlalchemy.Test02Object.test_01_insert ... ok
test_sqlalchemy.Test02Object.test_02_update ... ok
test_sqlalchemy.Test02Object.test_03_delete ... ok
test_sqlalchemy.Test03Relation.test_01_create ... ok
test_sqlalchemy.Test03Relation.test_02_update ... ok
test_sqlalchemy.Test03Relation.test_03_fkey_violation ... ok
test_sqlalchemy.Test03Relation.test_04_delete ... ok

----------------------------------------------------------------------
Ran 9 tests in 0.356s

OK

Table Of Contents

Previous topic

Virtuoso from Python

Next topic

Virtuoso Support for SQLAlchemy

This Page