Roteva – Linked Data Validator

Documentation

All Roteva-related user documentation can be found here.

Table of Contents

  1. 1 Data insertion
  2. 2 Data presentation and navigation
  3. 3 Constraints
  4. 4 Validation process
  5. 5 Validation report
  6. 6 Data manipulation
  7. 7 Data download
  8. 8 REST API
  9. 9 Keyboard shortcuts

1 Data insertion

Blobs of data can be inserted into software either via either file upload found in 'RDF and SHACL dataset' view (File → Open File...) or, via free-form data entry. Please note that there is a 10,000 rows limitation currently. Loading large batches of data may take a while, so please be patient. Encountered prefix → namespace mappings will be added to 'Used prefixes', from which they can be added/removed, if necessary.

Single triples/quads can be added via Edit → Add a Row in the 'RDF and SHACL dataset' view.

Back to top

2 Data presentation and navigation

Loaded/created data is presented in a Slickgrid grid in the 'RDF / Shapes' block. Grid options are changeable via Options in menu bar. There are two perspectives supported: traditional RDF and SHACL (Perspective → RDF & Perspective → SHACL, respectively). The former offers a row-based view of data, whilst the latter presents a SHACL-centered view of objects (subjects of triples).

Navigation of data is provided by the grid (please see extra keyboard shortcuts); in SHACL perspective, clicking a row in SHACL constraints opens its data, wherein a click on a link makes the browser to navigate to clicked value item (if one exists), making navigation quick and easy. Additionally, filtering is provided to limit values to SHACL constraints only, and for subjects, whilst in RDF perspective it is possible (besides filtering) to change the view to have a paging behavior. Also, please note that in the latter perspective columns may be reordered, resized and sorted for the best of the user.

Back to top

3 Constraints

Constraints, also implemented and called as 'Shapes' in the SHACL terminology, are the centerpiece of SHACL. Roteva supports creating them on the fly via Edit → Add a Shape in the 'RDF and SHACL dataset' view.

Back to top

4 Validation process

Validation process is initiated via clicking the green Validate button. The data and constraints (shapes) set in it are sent to a server, processed (validated), and lastly the result is returned to user. Whilst this process is in run, the button remains yellow, but as soon as the request is completed, it will either turn green or flash in red (in case of a failure) before finally turning back to green.

A successful validation will open another view below the button, containing the validation report.

Back to top

5 Validation report

Validation report contains the result (i.e., is the data conforming to the shapes) as well as the possible validation results raised by the shapes whilst validating the data.

Roteva displays the validation report data in another Slickgrid grid. This grid has mostly the same features as the RDF and SHACL dataset grid, however, it also provides a way to group validation results by shapes and severities of the issues. The user can filter visible results via Show (menu bar).

Back to top

6 Data manipulation

Easy data manipulation, including editing of data is a key part of Roteva software design. In RDF perspective, the user may double click a value, change it in the appearing dialog, and continue work. Removing rows is likewise made easy; selected rows can be removed by simply clicking Edit → Remove. The only downside of this is that it is fairly easy to make invalid RDF, e.g., by breaking an RDF list. In SHACL perspective, data is in a more structured form, and such issues can be taken care of. By selecting a row, and clicking Edit → Edit a Shape, the whole shape can be changed in a single action.

In order to assist the process of repairing corrupted linked data, the design of 'Validate & Repair' was made to support iterative build-validate-repair workflow. The user gets vital information on the data violations of the shapes from the validation report as well as a violation path containing a direct navigation link to fix the issue in the dataset. Also, if some shape is not working correctly, it can be followed to from there.

Changing the dataset whilst having a validation report will add an unsynchronized label to the report. The user can get rid of this by initiating another validation process and, thus, replacing the old report with a new, synchronized report. This makes it easy to iteratively improve the dataset data, violation by violation.

Back to top

7 Data download

Data download is provided for both validation report and dataset data (Download & File → Download, respectively). Please note that Turtle and TriG formats by Roteva software are not pretty printed, however, there are existing (open-source) conversion softwares capable of that in case it is required.

Back to top

8 REST API

The public Roteva REST API can be found from the base IRI of the Roteva instance followed by /rest/api/. Please note that it is currently only listening for POST requests.

Methods

/validate

Validates the given data and returns the resulting validation report in user's preferred format.

Headers

Content-Type
Optional, possible values are application/json (default), application/x-www-form-urlencoded and multipart/form-data.
Accept

Optional, Roteva supports all APACHE Jena RIOT conforming values. May be overridden with to parameter.

Parameters

data

Required. The data to be validated in the format of from parameter.

from

Optional, sets the data format. Default: JSON-LD.

to

Optional. Validation report format, overrides Accept header if set. Default: JSON-LD.

Response codes and values

HTTP/1.1 200 OK

Headers: Content-Type

Payload: Validation report.

HTTP/1.1 400 Bad Request

Headers: Content-Type: text/plain; charset=utf-8

Payload: The error that has occurred whilst processing the request.

Back to top

9 Keyboard shortcuts

Whilst the web interface supports most browser and SlickGrid default actions, some features have been left behind and require special attention. Additionally, for the sake of usability, the following (extra) keyboard shortcuts have been defined:

Shortcut Context Function
DDocumentSet focus to (D)ataset grid.
RDocumentSet focus to (R)eport grid.
VDocumentSet focus to (V)alidate button.
TDocumentSet focus to Free-form (t)ext editor.
PDocumentSet focus to (P)refixes.
MGridsSet focus to (M)enubar.
FGridsSet focus to (F)ilter.
SpaceGrids (SHACL perspective)Open/Close active group.
EDataset grid(E)dit active row/group.
DelDataset grid(D)elete active row/group.
Esc+TabGrids, Free-form text editorNext focusable element.
Shift+EscGrids, Free-form text editorPrevious focusable element.

Please note that all shortcuts are case-insensitive and require the focus to be in a non-capturing element.

Back to top