Installation of Skosprovider_sqlalchemy is easily done using pip.
$ pip install skosprovider_sqlalchemy
Creating a database¶
Since Skosprovider_sqlalchemy implements the SkosProvider interface with a relational database as a backend, you first need to create this database. To do this, please follow the instructions of your database software. If you’re working with SQLite, you don’t need to do anything.
Because Skosprovider_sqlalchemy uses SQLAlchemy as an ORM layer, it’s not tailored to any specific database. The codebase is continuously tested on both SQLite and PostgreSQL. Other databases are untested by us, but as long as they are supported by SQLAlchemy, they should work.
Once your database has been created, you can initialise it with the necessary database tables that will contain your SKOS vocabularies and concepts.
$ init_skos_db sqlite:///vocabs.db
Let’s have a look at what this script did.
$ sqlite3 vocabs.db SQLite version 3.7.9 2011-11-01 00:52:41 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .tables collection_concept conceptscheme_note concept label concept_hierarchy_collection labeltype concept_hierarchy_concept language concept_label match concept_note matchtype concept_related_concept note conceptscheme notetype conceptscheme_label visitation
Upgrading from skosprovider_sqlalchemy 1.x to 2.x¶
A change in the models has been made which requires a database upgrade. The “concept” table’s “concept_id” column has changed from being an int to a string.
Existing databases will therefor require a small change to update table scheme. Typically this will look like:
ALTER TABLE concept ALTER COLUMN concept_id TEXT NOT NULL;