Shapes Constraint Language is a World Wide Web Consortium specification for validating graph-based data against a set of conditions. Among others, SHACL includes features to express conditions that constrain the number of values that a property may have, the type of such values, numeric ranges, string matching patterns, and logical combinations of such constraints. SHACL also includes an extension mechanism to express more complex conditions in languages such as SPARQL.
A SHACL validation engine takes as input a data graph and a graph containing shapes declarations and produces a validation report that can be consumed by tools. All these graphs can be represented in any Resource Description Framework serialization formats including JSON-LD or Turtle. The adoption of SHACL may influence the future of linked data.
World Wide Web Consortium published the following SHACL Specifications: