VocBench Logo

Home Documentation Downloads Support About us

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:

  1. You can model labels in turn (adding, for instance, lexical relationships between labels)
  2. 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 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 has 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.

However, VB has a desktop counterpart, stripped out of all the user authentication, user management and content validation and publishing workflow, and only focused on plain editing. It has also more fine grained functionalities than VB, so that you can work at the level of single triples, still with a nice user interface.
This system is the Firefox interface for Semantic Turkey (the same RDF Management server you start behind VB). This brings in another advantage: if you still want to use VB, but want to make some fixes which are not allowed by its strict publication workflow, you can still do them through the Semantic Turkey Firefox interface, by accessing the same projects that you are managing through VB.

Just download Semantic Turkey, install the xpi client in Firefox, and use it to connect to the same ST server that you are using for VB (if you want to use it to modify your VB projects, otherwise you can use its own server). In case you are connecting the Firefox client to the ST distributed with VB, just check that they are the same version.

P.S. a forthcoming new major version of VocBench, VocBench 3, will be completely based on Semantic Turkey (not just interfaced with it) and will allow to disable the validation and publication workflow.

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:

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:

  1. 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.

  2. 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

  3. 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:

  1. go to Group management page
  2. Select the desired group which will be allowed to edit deprecated concepts
  3. Select group action (TERM-EDIT)
  4. Click [+] button from the Group actions box
  5. 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.

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