The current repository defines the configuration of the SHACL shape validator provided by the Interoperability Test Bed, that allows validation of SHACL shapes against the SHACL specification, covering both core and extended features. Besides validating against the specification, this validator also allows validation against best practices curated by the Test Bed team.
This validator is a configuration of the Test Bed's RDF validator.
The service is accessible:
- Via UI at https://www.itb.ec.europa.eu/shacl/shacl/upload
- Via REST API at https://www.itb.ec.europa.eu/shacl/swagger-ui/index.html (use "shacl" when prompted for a "domain")
- Via SOAP API at https://www.itb.ec.europa.eu/shacl/soap/shacl/validation?wsdl
The validator's configuration is located under resources
, and specifically within file config.properties
. Any changes merged to this repository result in the live service being updated within 1-2 minutes.
Validation is driven through SHACL shapes (located under shapes
), as well as by means of a custom plugin for assertions not possible through native SHACL. The resources for this custom plugin validator are available
here.
You can replicate this validator on your own environment by following these steps:
- Clone the current repository (in e.g.
MY_LOCAL_REPO
). - Start a new RDF validator instance by using the isaitb/shacl-validator Docker image, and providing the
resources
folder as the validator's resource root.
docker run -d --name my-validator -p 8080:8080 \
-v /MY_LOCAL_REPO/resources:/validator/resources/ \
-e validator.resourceRoot=/validator/resources/ \
-e validator.domainName.resources=shacl
isaitb/shacl-validator
Using the above command your validator will be available:
- Via UI at http://localhost:8080/shacl/shacl/upload
- Via REST API: http://localhost:8080/shacl/swagger-ui/index.html (use "shacl" when prompted for a "domain")
- Via SOAP API: http://localhost:8080/shacl/soap/shacl/validation?wsdl
This configuration is shared using the European Union Public Licence (EUPL) version 1.2.
The authors of this repository and the resulting validator waive any and all liability linked to its usage or the interpretation of its results. In terms of data, the resulting validator does not harvest, collect or process in any way data that could be linked to the user or workstation.
To get in touch for feedback or questions please send an email to DIGIT-ITB@ec.europa.eu.