VocBench Frequently Asked Questions
Building
Q. I see I need to use Maven to build VocBench. I don't know how to use it and, frankly, I don't want to learn a new technology, I just want to use <replace_here_with_your_favourite_IDE>. May I skip this step?
Yes, in theory you can. You can just check all the dependencies written in the pom.xml file of each project, search them on the web, download them (make a prayer hoping you downloaded the exact version of everything, all the required dependencies etc..), then import them in <replace_here_with_your_favourite_IDE>, inside the project that you just created to hold the sources, then import the sources etc...
...though..let us be a bit evangelists...Maven may be a big beast if you start to love it, you get addicted to it, and start thinking things like "I want to prepare a beer with it" (we are sure there is a Maven plugin even for that...), but, if you are an end user of Maven and just need it to build a project, the time you need to download and install it, is so short you will get immediately paid back for the time you would need to build this single project in the traditional way. See the build instructions to see how quick is to build VocBench (and most other projects you will find out there) with Maven.
Last but not the least, Maven is today a de facto standard for releasing source code.
...and..oh, yes, almost probably there is a Maven plugin for <replace_here_with_your_favourite_IDE> !
Installing
Q. I've got problems with MySQL 5.7, getting some obscure exception messages:
ERROR [http-bio-8080-exec-4] (JDBCExceptionReporter.java:78) - 10:53:50.381 - Expression #1 of ORDER BY clause is not in SELECT list, references column 'vocbench.pt.permission_id' which is not in SELECT list; this is incompatible with DISTINCT
This is a MySQL 5.7 issue. A note on the user support mailing list (thanks Thomas Frankart for this!) explains how to sort things out.
Using VB
Q. Why all those URIs in the data, also for labels?
VocBench uses the SKOS-XL standard, which consists in “reified” labels. This means that the labels are described by URIs, and can have properties in turn. This has two advantages:
- You can model labels in turn (adding, for instance, lexical relationships between labels)
- You can provide them with editorial notes and metadata in general
VB already provides some additional metadata automatically, such as creation and modification dates (as it does for concepts), while it is up to the user to add additional notes or, if they want, to adopt vocabularies of lexical relations.
VB also uses reified skos:definitions, a pattern foreseen by the SKOS standard (see second case of the "Advanced Documentation Features" section of the SKOS Primer document).
However, VB provides an export for SKOS which also allows to flatten the reified skos:definitions to simple literals. There are then options for retaining or removing the triples providing the reified descriptions and labels.
If you prefer to handle these transformations offline from VB, these operations are also available as command line utilities through the full distribution of the OWLART library.
Q. I'm not interested in the collaborative aspects of VB, or at least I don't need all that user authentication/permissions/validation part. Can I disable these features?
Also I would like more in-depth control over the data, at triple level, thought not necessarily by having to use SPARQL.
The collaborative and controlled development of VB are more than features. They are the principle upon which VB 1 and 2 have been developed. In environments where contributions come from hundreds of users sparse all over the world (such was the case of FAO, which originally developed the tool) it is important to provide the exact boundaries of allowed actions for each user, and to control and validate their contributions.
Conversely, VocBench 3 has much more versatile settings so that it is possible to use it without validation and to edit any dataset at the grain of single triples (while still keeping facilities for high-level modeling based on OWL and SKOS vocabularies). Please consider moving to VocBench 3 if your editing enviroment fits more this scenario.
Q. Can VocBench be used to publish data other than editing it?
We got this asked many times...and when we receive a request/are asked a question many times, it is a good sign for a new feature to be added. Fact is, with all the best intentions into supporting it, editing and publishing are really two completely different tasks. Some systems may exhibit some publishing feature, but this usually amounts to being able to dump data in a given SPARQL endpoint (used for publication).
Simply, the advantage of using web standards is that, the gap from data management to data publishing is (technically) inexisting. From VocBench, it suffices to export data in any of the available RDF serialization formats, and load it (that same data, as is) into some content publishing framework.
A few caveats and solutions:
- some publishing/visualization systems might be able to properly read only SKOS (and not SKOSXL). VocBench however allows to export data to plain SKOS
- some publishing/visualization systems might be able to read only some RDF serializations. VocBench allows to export data in all common RDF serialization formats.
About which publishing systems to choose, it is not our role to suggest them, so consider the ones below (grouped by publishing modality) our personal advice, with no aim to be exhaustive nor to be optimal:
- Publish data as a sparql endpoint.
Just export all the data and load it into a RDF data server with a sparql endpoint. Sesame and Jena (through Joseki) are just two open source and free solutions, which can in turn backed up by more powerful triple stores.
- Provide HTTP dereferenciation for your published data
One very common solution is Pubby, or this other tool developed again by us: Loddy. Other than being a plain Linked Data Server as Pubby, Loddy provides lot of customization options for reorganizing the information in the HTML presentation. In particular, a template has been specifically provided in the downloadable demo for SKOSXL thesauri - Have a browser for your skos thesaurus published at a given address
a very good SKOS browser is SKOSMOS. Note that it supports SKOS core only (again, just export to plain SKOS from VB and you will get SKOSMOS readable data).
Q.Deprecated concepts cannot be edited anymore?
By default, VB restricts to edit any deprecated concepts. In order to enable editing, The Administrator can:
- go to Group management page
- Select the desired group which will be allowed to edit deprecated concepts
- Select group action (TERM-EDIT)
- Click [+] button from the Group actions box
- Tick the checkbox with the ‘Deprecated' status, and click the [Add] button.
This will allow editing of deprecated terms. After editing, term’s status will be change ‘Revised' and after validation to ‘Published'.
Q. Why all concepts are being exported, and not just the ones with status "published"?
The answer is two fold, depending on the considered statuses.
- for deprecated concepts, the reason is that concepts in a thesaurus are useful references for document bases and anything for which a thesaurus represents a semantic index. Documents tagged with a concept should always retain a valid link to a description of the concept on the Web.
- for proposed/validated concepts, the simple reason is that the validation process is assumed to be completed before an export is done for publication of the thesaurus. In this case there will be simply no proposed/validated concept left
As a side note: the default export procedure of VocBench should always export everything so that it is fast and complete (just a mere export ofthe default graph). However, we might add specific filters for this aspect in the future