Documentation
All Roteva-related user documentation can be found here.
Table of Contents
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 top2 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 top3 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 top4 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 top5 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 top6 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 top7 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 top8 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 top9 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 |
D | Document | Set focus to (D)ataset grid. |
R | Document | Set focus to (R)eport grid. |
V | Document | Set focus to (V)alidate button. |
T | Document | Set focus to Free-form (t)ext editor. |
P | Document | Set focus to (P)refixes. |
M | Grids | Set focus to (M)enubar. |
F | Grids | Set focus to (F)ilter. |
Space | Grids (SHACL perspective) | Open/Close active group. |
E | Dataset grid | (E)dit active row/group. |
Del | Dataset grid | (D)elete active row/group. |
Esc+Tab | Grids, Free-form text editor | Next focusable element. |
Shift+Esc | Grids, Free-form text editor | Previous focusable element. |
Please note that all shortcuts are case-insensitive and require the focus to be in a non-capturing element.
Back to top