The Projects page

VocBench is a collaborative platform. As such, different users may collaborate on a same project with different editing privileges. Above all users, the administrator is in charge of creating projects and of assigning them managers.

There are mainly two pages related to projects:

Listing, Creating, Deleting Projects

Projects can be listed, created and deleted by the administrator through the Landing Page, that is reached by the administrator right after they log into the system

ProjectsLanding Page

The pages shows a table that will be filled with the projects created inside VocBench. Here follows a description of the table headers:

Projects context menu

Through the buttons on the panel heading it is possible to:

Which kind of project best suits my needs?

In VocBench we introduced the notion of semantic model, or simply model, implying the core modeling vocabulary that is being used. Roughly speaking:

Project Creation

To create a new project click on "Create" button. You will be prompted with a window like the one in figure below:

New Project

Here you have to fill (in order of appearance) the following fields:

Section Create Project:

Section Data Store:

Section Optional Settings:

This section is initially hidden, because the default configuration will be fine in most circumstances. The figure below shows the content of the section, after the user clicked on the collapse/expand (rotating) triangle near the section name.

Optional Settings for project creation

There are four subsections here.

Both the URIGenerator and the Rendering Engine is configured by the system automatically, by choosing an implementation suitable for the indicated lexicalization model. To choose a different implementation, do the following:

The documentation of Semantic Turkey lists the predefined URIGenerator and RenderingEngine implementations, together with their configuration options.

A final Other options section contains:

Repository Configuration

Each triple store may support different type of configurations. Currently there are configurable settings for RDF4J and GraphDB stores.

In particular, RDF4J offers three kind of connections:

The Configuration menu provides a list of properties which depend on the chosen triple store. These properties are declared by the connector itself and are thus dynamically fed to the user interface. The documentation for the parameters of RDF4J is available in a dedicated section of the RDF4J user manual. Same for GraphDB Sail Configuration.

However, a tooltip over each of the shown parameters should provide enough explanation to understand its use.

Also, in case of a remote connection, if any of History or Validation (or both) has been selected during the initial part of the project configuration, the changetracking-sail jar should be dropped onto the target triple store, see instructions in the system-administration manual. Similarly, if Trivial Inference Engine has been selected, the trivial-inference-sail jar should be dropped onto the target triple store

Project settings

Some of the settings configured during the project creation procedure can be changed once the project is already activated. From the projects list page, by clicking on the Edit project settings option in the project context menu, the following dialog is prompted.

Some settings, in order to be edited, strictly require the project to be inactive, so the above editor is available only for closed projects.

From such editor it is possible to:

Note: in order to make the changes effective it may be necessary to restart the repository. This operation can be executed automatically on remote repositories by ticking the dedicated checkbox (see the figure above), or, in case of local projects, it has to be executed manually.

Project labels

Project renaming is an operation not allowed in VocBench. This limitation is due to the fact that the project name is actually an identifier which is widely referenced in the data structure of SemanticTurkey. In order to overcome this limitation, VocBench offers the possibility to set multilingual labels to projects. From the context menu of the project, by clicking on Edit labels entry, the following dialog is prompted where you can set a label to show for a specific language.

User can enabled/disable the visualization of the labels through the rendering button placed on the top bar of the project list. The label shown when rendering is enabled depends on the active localization language. If no label is set for the active language, the project rendering falls back on the project name.

Further actions

Once a project has been created, by selecting it, it is possible to enable further actions. It is possible in fact to delete a project, just clicking on the button with the trashbin icon under the Actions column.

By clicking on the Properties entry in the project context menu a modal dialog shows basic properties of the project

Projects properties

Only for remote (and close) projects is also possible to show and edit the information to access to the remote repository. The following dialog can be open by clicking on the Edit remote Repo configuration entry in the project context menu.

Projects remote repositories

Project facets

In case of large amount of projects loaded in VocBench, the default view, which consists in a flat list of projects, may result poorly organized and difficult to read. This is where the new facts-based view, available from version 9.0.0, comes useful. This view allows you to group projects according a chosen facet in order to make the view cleaner and organized efficiently.

The facets are aspects and attributes that characterize a project. VocBench provides six pre-defined facets: Model, Lexicalization, History and Validation, which are unmodifiable attributes chosen during the creation of the project, Category and Organization.

In addition to such pre-defined facets, VocBench allows the administrator to define custom facets.

Clicking the "cog" button in the top right corner of the panel and selecting the entry Custom project facets schema settings, the following dialog is prompted.

A new facet can be added through the "plus" button. Then the editor shows several fields that can be filled in order to define a new facet:

Clicking on the Edit facets entry in the project context menu (under Actions column), the following dialog shows up and it allows the editing of the project facets. As you can see, there are the built-in facets Category and Organization plus the custom one just defined.

Now that we know what facets are, how to define customs and how to set them in a project, let's see how can they be used to organize the project view. As we have already seen, the "cog" button, placed on the topbar of the project list, opens a menu. Selecting Project view settings, user can customize the visualization of the project view.

Here it is possible to choose between two visualization mode: List, namely the "classic" flat list of projects, and Facet based. Selecting the latter, it appears a Facet selector which allows the selection of the facet on which the projects have to be grouped.

Additionally, in the same dialog, it is possible to customize the info shown in the list by changing the columns order or hiding some of them.

Here it is an example of facets-based visualization based on Category. The categories here shown have been assigned arbitrarily by the administrator. The last one "Unclassified" is a dedicated group that collects those projects where the category (or in general the chosen facet) has not been specified.

Note: projects facets can be created, edited and assigned only by administrator users, which are the only users who can access the Projects page. Anyway the possibility to change the visualization preferences through the Projects view settings dialog, is also available for non-admin users through the project selection dialog (the one accessible through the button on the topmost bar of the screen).

Project Access Control

Each project in VB contains an Access Control List, representing the consumers that can access its content. This enables a permission-by-delegation mechanism for which a project can automatically grant access to its content to users logged on another project, providing that this second project has been allowed to access the content of the first.