isaitb/shacl-validator

By isaitb

Updated 9 days ago

Web application for the validation of RDF data based on SHACL shapes.

Image
Integration & Delivery
Monitoring & Observability
Developer Tools

1M+

Introduction

A web application to validate RDF content against SHACL shapes. Validation is possible via several channels:

  • Web user interface for manual use by users.
  • REST API for machine-to-machine integration.
  • SOAP API for machine-to-machine integration and use in GITB TDL conformance test cases.

This image acts as a generic foundation for specific validator instances which are provided with the configuration to apply. This configuration includes:

  • The validation artefacts to use (one or more SHACL shape files).
  • Configuration to customise the validator (e.g. look and feel, validation types and options).

Alternatively you can also use this image to create a generic validator with minimal default settings that expects SHACL shapes to be provided alongside the input to validate.

This image is maintained by the European Commission's DIGIT and specifically the Interoperability Test Bed, a conformance testing service for projects involved in the delivery of cross-border public services. Find out more here.

Usage

This image provides the basis upon which you can build a specific validator for your own configuration, or used as-is to create a generic validator that expects validation artefacts to be provided alongside the content to validate (such as this existing service).

Option 1: Create a specific validator

Creating a specific validator can be done either by building a custom image that includes your configuration or by passing the configuration to a container built from the base image. In any case the validator's application is internally exposed to port 8080.

In terms of the image version to use you can use either the latest tag to receive rapid updates, or a specific tagged release milestone if ensuring stability is most important.

Approach 1: Use custom image

Assuming you are building this from a folder that includes all configuration resources in subfolder resources, a sample Dockerfile would be as follows:

FROM isaitb/shacl-validator:latest
COPY resources /validator/resources/
ENV validator.resourceRoot /validator/resources/
Approach 2: Use the base image directly

Using this approach you would need to make use of a volume (named or unnamed). Using an unnamed volume your container can be created as follows:

docker run -d --name my-validator -p 8080:8080 \
             -v /validator/resources:/validator/resources/ \
             -e validator.resourceRoot=/validator/resources/  \
             isaitb/shacl-validator

Option 2: Create a generic validator

A generic validator instance is one that has no predefined configuration. Such a validator comes with a default minimal configuration and expects SHACL shapes to be provided alongside the input to validate. To create a generic validator instance simply use the current image without providing any configuration:

docker run -d --name my-validator -p 8080:8080 isaitb/shacl-validator

Documentation

For full details on how to setup, configure and manage a validator built using this image please refer to the Test Bed's RDF validation guide.

Source code

The RDF validator is published as open-source software on GitHub.

Change history

The list of changes in the latest snapshot and individual milestone releases is available in the documentation's changelog.

Licence

This tool is shared using the European Union Public Licence (EUPL) version 1.2.

Licences and attributions for the third party libraries included in this software can be found here.

Legal notice

The authors of this tool waive any and all liability linked to its usage or the interpretation of its results. In terms of data, the tool does not harvest, collect or process in any way data that could be linked to the tool's user or workstation, nor does it maintain any state or statistics resulting from its usage.

Contact

To get in touch for feedback or questions please use one of the following channels:

See also

If you find this image interesting you may also be interested by our similar validators for other syntaxes. Specifically:

Docker Pull Command

docker pull isaitb/shacl-validator