Skip to content
This repository has been archived by the owner on Jan 20, 2024. It is now read-only.
/ shacl Public archive
forked from TopQuadrant/shacl

An open source implementation of the evolving W3C Shapes Constraint Language (SHACL) based on the Jena API

License

Notifications You must be signed in to change notification settings

mulesoft-labs/shacl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TopBraid SHACL API

An open source implementation of the W3C Shapes Constraint Language (SHACL) based on Apache Jena.

Contact: Holger Knublauch (holger@topquadrant.com)

Can be used to perform SHACL constraint checking and rule inferencing in any Jena-based Java application. This API also serves as a reference implementation developed in parallel to the SHACL spec. The code is not really optimized for performance, just for correctness.

Coverage:

See SHACL-JS for a pure JavaScript implementation.

The same code is used in the TopBraid products (currently aligned with the upcoming TopBraid 5.4 release). For interoperability with TopBraid this library uses code from org.topbraid.spin packages. These will eventually be refactored. Meanwhile, please don't rely on any class from the org.topbraid.spin packages directly.

Feedback and questions should become GitHub issues or sent to TopBraid Users mailing list: https://groups.google.com/forum/#!forum/topbraid-users Please prefix your messages with [SHACL API]

To get started, look at the class ValidationUtil in the package org.topbraid.shacl.validation. There is also an Example Test Case

Command Line Usage

Download the latest release from the Release tab.

Two command line utilities are included: validate (performs constraint validation) and infer (performs SHACL rule inferencing).

To use them, set up your environment similar to https://jena.apache.org/documentation/tools/ (note that the SHACL download includes Jena).

For example, on Windows:

SET SHACLROOT=C:\Users\Holger\Desktop\shacl-1.0.0-bin

SET PATH=%PATH%;%SHACLROOT%\bin

Both tools take the following parameters, for example:

shaclvalidate.bat -datafile myfile.ttl -shapesfile myshapes.ttl

whereby -shapesfile is optional and falls back to using the data graph as shapes graph.

Currently only Turtle (.ttl) files are supported.

The tools print the validation report or the inferences graph to the output screen.

About

An open source implementation of the evolving W3C Shapes Constraint Language (SHACL) based on the Jena API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 93.2%
  • JavaScript 6.2%
  • Other 0.6%