Resource Rendering

VocBench allows for rendering of RDF resources (i.e. showing them in different, usually more human-friendly, ways wrt their URI) accordng to different policities.

By first, rendering is a functionality based on an extension point, so that very specific policies can always be covered by developing and plugging a dedicated rendering engine.

However, VocBench (more specifically, its backing server Semantic Turkey) comes bundled with an already configurable rendering engine, which is satisfying most of the common (and less common) needs.

The rendering engine can be configured at project creation (in the advanced settings) or later on, by the administrator, by closing the project and selecting its context option "Edit Project Settings".

Whichever the origin, the section for configuring the rendering engine will look like this:

selecting the rendering engine

From this menu it is then possible to select which rendering engine to use and, in case, customize its behavior through the "configure" option. Please notice that the initial selection will be automatically set basing on the lexicalization model chosen for the project and it will mostly affect the rendering based on labels (if labels are chosen to be adopted for rendering, otherwhise it is irrelevant).

Once the configure button is clicked, the next window will appear as in the following picture:

configuring the rendering engine

The fields above contribute to the configuration in this way:

In the following example:

configuring the rendering engine to use skos:notation

we see how the property skos:notation is bound to the variable notation. Furthermore, the group feature of the template is being shown; the template is meant to represent resources with their skos:notation value, followed by a colon (":"), a space and the list of labels, according to the user preferences for visualization, so that the concept tree would look like this:

an example of rendering with skos:notation configured in the EuroVoc thesaurus

However, what if the skos:notation property is not valued for a certain concept? Instead of the ugly representation with an empty string followed by the colon, it is possible to bind the colon to the existence of the skos:notation value, with the group expression (...)?. This way, if the skos:notation is missing, only the labels will be represented, with no colon separator.