About RDF validator


This is 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 validator, offered as a public Docker image on the Docker Hub with its source published on GitHub, 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).

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.


The validator is primarily intended to be used as a Docker container (although alternative approaches are also possible). The base Docker image provides the basis upon which you can build a specific validator instance. This 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/  \


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.

Change history

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


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

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 other than the report files that it produces as output.


To get in touch for feedback or questions you are invited to use one of the following channels:

Owner/Contact Information

European Commission / DG Informatics (DIGIT) - Interoperability solutions for public administrations, businesses and citizens (ISA²)
Supra-national authority
Contact information


Solution type
Conformance Testing Component
Conformance Testing Service



Only facilitators and authors can create content.
Non moderated

TRR Information

Document Validator
Business process
Test Specification
Product type
Software package and information systems
Standardization level
Level 1