innoq/iqvoc — pull request #142 by FND (2012-10-30 15:13:17+00:00)
Title: RDF (triplestore) synchronization

replaces old RDF synchronization with something more modern (and - hopefully - functional): allows pushing data to a triplestore (i.e. one-way synchronization), clearing existing data on the respective resource beforehand (quadstores only)

triplestore connection requires setup via the instance configuration

once that's done, there are two ways to push data to the triplestore:

* batch operation (all published, unsync'd records) via the UI at `/triplestore_sync`
* if autosync is activated, publishing a record (e.g. concept) also triggers synchronization for this record

caveats:

* all HTTP requests to the triplestore are synchronous, which might be an issue for huge thesauri - I intentionally kept it simple for now in order to keep auxiliary requirements to a minimum
* currently only supports concepts - [SKOS-XL](https://github.com/innoq/iqvoc_skosxl) integration might require some refactoring for extensibility
* only a single triplestore is supported per instance
* currently only supports Virtuoso

thorough review (including [iq_triplestorage](https://github.com/innoq/iq_triplestorage)) would be appreciated (/cc @mrreynolds, @tillsc)