NOTE: this copy of the VocPrez codebase is now inactive, please see the active codebase at https://github.com/RDFLib/VocPrez/.
A read-only web delivery system for Simple Knowledge Organization System (SKOS)-formulated RDF vocabularies.
VocPrez is used by:
Geological Survey of Queensland | Geoscience Australia | |
Instance | https://vocabs.gsq.digital | coming! |
Figure 1: An overview diagram of where VocPrez fits in relation to sources of vocab data.
VocPrez can get vocabularies from one or more sources and any instance can be tuned to use any set of sources. This allows for use with a wide range of back-end vocabulary management.
Technically, the tool is a SKOS-specific implementation of the pyLDAPI. pyLDAPI is a generic tool for the deliver of RDF data online in both human- and machine-readable formats; it turns RDF data into Linked Data.
pyLDAPI needs deployment-specific templates for registers & classes that present the data of interest in that deployment. VocPrez is pre-configured with templates for SKOS' core data classes - ConceptScheme
, Collection
& Concept
- and registers of them. It also assumes that a ConceptScheme
is synonymous with a Vocabulary.
This tool is not a SKOS data editor! It is expected to be used with a SKOS data source (any sort of datasource can be configured and three come pre-loaded) and its only role is to publish that SKOS data online as Linked Data.
The design goal for this tool was to provide an easily configurable template-based SKOS presenter since many of the other SKOS editing and presentation tools, available as of November 2018, are pretty complex instruments and make life difficult for normal web development tasks such as institutional branding of vocabulary data.
Since this tool is preconfigured for SKOS data, it is ready for use with SKOS-only vocabularies. Forks of this codebase can be made to enhance it for SKOS+ features. SKOS+ is a general term for SKOS data plus some other bits.
As per other pyLDAPI deployments, this tool uses the Jinja2 Python templating engine to generate HTML and other files which are called fro use through Python's Flask, a small HTTP framework.
Standard templates for ConceptScheme
, Collection
, Concept
& Register
are contained within this repository, as is a Model-View-Controller-style deployment of Flask, pre-configures for SKOS.
- follow the instructions as per pyLDAPI (see its documentation)
- ensure your config file is correct
- you need to copy the file
_config/template.py
to_config/__init__.py
and configure carables within it. See the template.py` file for examples
- you need to copy the file
- configure your data source(s)
- you will need to supply this tool with SKOS data from any sort of data source: a triplestore, a relational database or even a local file
- see the DATA_SOURCES.md file for examples
See the requirements.txt standard Python dependency listing file.
This code is licensed using the GPL v3 licence. See the LICENSE file for the deed.
We use pytest as our testing framework. Tests live in the tests directory. These tests ensure that the endpoints are functioning as intended. See the README.md for the tests for more information.
Author:
Nicholas Car
Data Systems Architect
SURROUND Australia Pty Ltd
nicholas.car@surroundaustralia.com
Geoscience Australia contacts:
GA's Data Manager: dataman@ga.gov.au