#1166: WG Revision: SHACL 1.2 Core

Visit on Github.

Opened Nov 6, 2025

Specification

https://w3c.github.io/data-shapes/shacl12-core/

Explainer

https://w3c.github.io/data-shapes/shacl12-overview/#whatsnew

Links

  • The WG's request for this TAG review: https://www.w3.org/2025/11/03-data-shapes-minutes.html
  • TAG review of the previous version of this specification, if any: I can't find links to the review back in 2017
  • A description of what has changed since our previous review: As per the features below.

Feature 1:
Derived Properties
In the original SHACL specifications, shapes and constraints could only operate on asserted triples in a graph, and inferencing was left as an optional pre-processing step using languages like RDF Schema and OWL. SHACL 1.2 introduces its own inferencing and reasoning capabilities, which make SHACL more self-contained and cover different use cases than RDFS/OWL.

Feature 2:
Better Syntax for Unions of Datatypes and Classes In the original SHACL specifications, when you wanted to express that the datatype of a property was either xsd:string, rdf:langString, or rdf:HTML, you needed to use a verbose, repetitive construct. In SHACL 1.2, this can be written as a single list.

Feature 3:
Constraints on RDF 1.2 Reification
The major new feature in RDF 1.2 is reification, enabling RDF statements to be easily made about other RDF statements. SHACL 1.2 introduces new constraint properties (sh:reifierShape and sh:reificationRequired) which allow a shape targeting a triple to be chained to another shape targeting reification elements.

Feature 4:
Use of Reification in Constraint Definitions
In the original SHACL specifications, the severity and messages of a constraint had to be declared for the surrounding shape, sometimes requiring artificial intermediate shapes to be introduced to change only the severity or a message. SHACL 1.2 syntax is more flexible, allowing severity and messages to be directly attached to individual constraint triples.

Feature 5:
The sh:ShapeClass Metaclass
A new class, sh:ShapeClass, comparable to owl:Class, is used to define classes that can declare constraints that apply to all instances of the class. It is equivalent to OWL syntax for declaring a class that may hold OWL axioms. This allows SHACL to be a more self-contained ontology modeling language.

Feature 6:
Cleaner Separation between Core and SPARQL
We now have a cleaner separation of Core and SPARQL concerns into separate specifications. This helps indicate SHACL Core is not dependent on SPARQL, clarify other dependencies, and make some implementations easier.

The specification

Where and by whom is the work is being done?

  • GitHub repo:
  • Primary contacts:
    • $name (@-mention), $organization/s, $role in developing specification
    • <!-- repeat as necessary, we recommend including group chairs and editors in this list -->
  • Organization/project driving the specification:
  • This work is being funded by:
  • Primary standards group developing this feature:
  • Incubation and standards groups that have discussed the design:
    • {{ABC CG}} <!-- Include a link to minutes or issues in this group if possible. -->
    • {{DEF WG}}

Feedback so far

  • Active horizontal reviews: https:// <!-- Link to an issue like https://github.com/webmachinelearning/webnn/issues/239, https://github.com/WebAssembly/spec/issues/1804, or https://github.com/w3c/did/issues/885, which itself links to the other horizontal reviews. If you haven't started the rest of the horizontal reviews, please consider doing so. -->
  • Multi-stakeholder feedback:
  • Major unresolved issues with or opposition to this specification:
  • Status/issue trackers for implementations: <!-- Include links to [Chrome Status](https://chromestatus.com/), [Mozilla's](https://bugzilla.mozilla.org/), [WebKit's Bugzilla](https://bugs.webkit.org/), and trackers for other implementations if those are known to you. -->

You should also know that...

No response

<!-- Content below this is maintained by @w3c-tag-bot -->

Track conversations at https://tag-github-bot.w3.org/gh/w3ctag/design-reviews/1166

Discussions