ICV (Integrity Constraint Validation)
VocBench features a set of Integrity Constraint Validation (ICV) checks that can be run on the ontologies and thesauri being edited, in order to validate their content.
Currently, most of the checks are for SKOS and SKOS-XL thesauri, as the SKOS standard includes many constraints which are not expressed through OWL axioms and which need thus dedicated machinery in order to be verified. We also implemented consistency check for OWL ontologies.
All of the available entries are actually not just validation checks, but each of them provide fixing utilities for any inconsistency found.
Basically in VB the ICVs are separated in three main set of checks:
- Structural checks: these checks verify that the integrity of the structure of the dataset (hierarchy, relations etc..) is not broken. In case, dedicated fixing tools are provided for each check
- Labeling checks: label-focused checks. Different checks are proposed depending on the lexicalization model of the dataset
- Generic checks: anything not falling in any of the above categories
Structural checks
The structural checks (available only for SKOS projects), as the name suggests, allow to identify and fix structural problems as the presence of dangling concepts in any scheme (i.e. concepts that, for any given scheme, have no broader concept belonging to the same scheme and that are not top concepts of that scheme ), structural cycles, skos schemes that have no top concept and so on. Note that, despite their name, not all checks correspond to a real integrity corruption. In the following figure, the used check reports that a concept is both a top concept of a scheme and has a broader concept in the same scheme. This situation is perfectly legal in SKOS, though many thesauri developers might want to avoid this situation, so we have provided the test, and it is up to the project administrator decide what is admitted and what is not in the thesaurus they manage.
For OWL ontologies (hosted on Ontotext GraphDB), it is instead available a consistency check.
Labeling checks
The labeling checks concerns integrity breaks such as: resources that haven't a label in a given language, resources that have a label without language tag, concepts that haven't a preferred label, concepts with more than one preferred label in the same language, concepts with identical labels in the same language and so on.
Generic checks
The generic checks deal with broken alignments, broken definitions and invalid URI local resources.