VocBench System Administration Manual

This manual supports System Administrators in all task related to installation and maintenance of the tool, usually including tasks which cannot be performed by the VocBench Administrator through the UI

Installation Options

Semantic Turkey Installation Options

The Installation Options section of Semantic Turkey's site provides many details on how to customize the configuration of the system for various environments or according to specific requirements. Please refer to that page for ST-specific configuration options.

Separate HTTP Server

The standalone distribution contains everything needed to start playing with the system. Depending on the system administrator preference, organization policies, load balance optimization etc..., it might be desired to separate the RDF services managed by Semantic Turkey from the VocBench Web Application. In particular, since the Web Application contains only static assets, any standard http server can be adopted.

The VocBench web application is available as a web archive (.war file) in the /deploy directory of the distribution, with name: vocbench3-<versionnumber>.war

In both cases, it might be necessary to have the VocBench web application explicitly pointing to the Semantic Turkey server, as explained in the following section.

Further Configuration for reaching Semantic Turkey on a different host/port

Note that the custom settings below are not possible when running VocBench from inside the Karaf container as in the standalone distribution. You might want to have VocBench installed as a separate web application in a dedicated server, as explained in the previous section

In vbconfig.js (under src/ of the source package, or under the root folder of the built distribution) it is possible to configure the SemanticTurkey host resolution. By default VocBench3 resolves the IP address of the SemanticTurkey server dynamically by using the same IP address of the VocBench host machine. This is determined by the configuration property dynamic_st_host_resolution (by default set to true).

 * Tells if the system should use the IP of the machine which is serving the VB3 content to query the ST server.   
 * N.B. This can be left to true only if VocBench3 and SemanticTurkey are running on the same machine,   
 * otherwise, set this to false and change the value of the st_host parameter   

var dynamic_st_host_resolution = true;  

In case VocBench3 and SemanticTurkey run on two different hosts, it is possible to provide the SemanticTurkey IP address statically by setting the previous property to false and modifying the property st_host with the address of the target host (the property st_host is ignored if dynamic_st_host_resolution is true).

var dynamic_st_host_resolution = false;  

 * IP address/logical host name of the machine which hosts SemanticTurkey.
 * Configure this parameter only if dynamic_st_host_resolution is set to false.   

var st_host = "";  

It is also possible to change the port where SemanticTurkey is listening (the default is 1979) by changing st_port property.

  * Port where SemanticTurkey server is listening   

var st_port = "1979";  

Running VocBench on HTTPS

The last part of the vbconfig.js file concerns is related to the protocol for connecting to the Semantic Turkeyserver, either http or https.

  * Protocol - either http or https   

var st_protocol = "http";  

Please note that the Karaf container for the ST server must be configured for HTTPS, as explained in the ST documentation.

Running VocBench as a System Service

It is possible to run Semantic Turkey as a system service. Instructions for doing so are reported on a dedicated section of the ST system administration manual.

Serving the VocBench web application as a service mostly depends on where it is installed. In the typical ST installation package, the web application is provided as an set of static assets embedded in the same Karaf container hosting Semantic Turkey, so there is no other action to perform and ST and VB will be both started through the Karaf service. If the client is hosted on any other HTTP server, the relevant documentation for that server should be verified.

Maintenance and Settings

VocBench allows Administrators and other authenticated users to perform most of the fine tuning of the system, through the UI of the platform. This section deals with all the hidden tricks and tunings which need to work under the hood


Data Management

Separate Triple Store

VocBench (or better, its RDF Backend Semantic Turkey), comes with an embedded distribution of RDF4J, which includes a couple of storage solutions: in-memory store and native store. Creating local repositories with this embedded solution is very convenient for quickly playing with the platform without any additional installation.

However, to the purpose of having full control over your data, we recommed to adopt a separate triple store and connect to it remotely.

VocBench requires a triple store compliant with the RDF4J client API and, in order to support the more advanced features of the system such as history and validation, compliant with the RDF4J's Sail Stack mechanism.

Current available options are:

Using history & validation: deploying the change-tracking sail component in the connected triple store

If the history or validation functionalities are required for projects connected to the separate triple store, then the component of Semantic Turkey for tracking changes in the repositories has to be deployed inside the connected store.

The component, which is implemented as a sail layer for triple stores compliant with RDF4J's Sail Stack mechanism, is available as a jar file called st-changetracking-sail-<version>.jar, deployed inside the system/it/uniroma2/art/semanticturkey/st-changetracking-sail/<version> directory of Semantic Turkey.

This jar file has to be copied inside the lib directory of the connected triple store in order to enable the history validation functionalities.

Warning for those using GraphDB: we have noticed that the loading of deployed sails on the triple store only works for the standalone version, not the os-specific installation package. Please take this into account when choosing which version of GraphDB to use

Configuring VocBench and GraphDB for large quantities of data

When large quantities of data (hundreds of megabytes if not gigabytes) are being loaded, Semantic Turkey (the RDF management platform behind VB) might require higher memory settings in order to work properly.

The following environment variables can be setup for improving performance with large quantities of data:

JAVA_MAX_MEM and JAVA_MIN_MEM: general Java settings, that will be used by Semantic Turkey

GDB_MAX_MEM and GDB_MIN_MEM: specific settings read by GraphDB

The following one is a recommended configuration for a PC with 16Gb of RAM. The values can be increased upon need.