Skip to content

Shacl12 overview #438

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Aug 4, 2025
141 changes: 103 additions & 38 deletions shacl12-shacl-shacl/index.html → shacl12-overview/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<meta charset="utf-8" />
<meta name="color-scheme" content="light dark">
<title>SHACL 1.2 SHACL Validator</title>
<title>SHACL 1.2 Overview</title>
<script src="https://www.w3.org/Tools/respec/respec-w3c" class="remove"></script>
<script class="remove">
var respecConfig = {
Expand All @@ -14,8 +14,8 @@
group: "wg/data-shapes",
github: "w3c/data-shapes",
//preProcess: [ ],
edDraftURI: "https://w3c.github.io/data-shapes/shacl-shacl/",
shortName: "shacl12-shacl-shacl",
edDraftURI: "https://w3c.github.io/data-shapes/shacl12-overview/",
shortName: "shacl12-overview",
copyrightStart: "2025",
xref: ["SHACL-CORE"],
//xref: ["RDF12-CONCEPTS"],
Expand Down Expand Up @@ -346,70 +346,135 @@

<body>
<section id="abstract">
<p>This document describes the Shapes Constraint Language (SHACL) validator for SHACL data, referred to as "SHACL-SHACL".</p>
<p>
This specification is published by the <a href="https://www.w3.org/groups/wg/data-shapes/">Data Shapes Working Group</a>.
The <em>Shapes Constraint Language</em>, "SHACL", is a language for validating RDF graphs against a set
of conditions. SHACL has a core specification, extensions for related query languages, User Interface
generation, rule-based reasoning and a data profiling mechanism. This document overviews all these
parts of SHACL and serves as an introduction to all of them and related on-going work such as libraries
of examples.
</p>
<p>
This documentation is published by the <a href="https://www.w3.org/groups/wg/data-shapes/">Data Shapes Working Group</a>.
</p>
</section>

<section id="sotd"></section>

<section id="introduction">
<h2>Introduction</h2>
<p class="todo">TODO</p>
<p>
This document provides a non-normative, high-level, overview of the various Shapes Constraint Language (SHACL) specifications.
</p>
<p>
The second iteration of the World Wide Web Consortium's <a href="https://www.w3.org/groups/wg/data-shapes/">Data Shapes Working Group</a> aimed to "...update data shapes standards in line with the versions of core Semantic Web standards that cater for RDF-star and to extend the applications of data shapes with new packaging and use specifications". The outcome of the Working Group's operations was a set of specifications - W3C 'Recommendations' - that cover core SHACL elements, extended elements for advanced validation and SHACL functions beyond validation, such as User Interface generation.
</p>
<p>
The <em>What's new in SHACL 1.2</em> section below describes the changes between SHACL, as published in 2017 and SHACL 1.2, including all the new SHACL elements such as SHACL for User Interface generation.
</p>
<p>
The <em>Specifications</em> section below lists all the Data Shapes Working Group's specifications which are also listed in each specification's Introduction.
</p>
<p>
The appendixes below contain material supporting the set of SHACL specifications and provide SHACL users with additional support, such as validators for shapes graphs.
</p>
</section>

<section id="shapes">
<h2>Shapes</h2>
<p class="todo">TODO: This section will describe the Shapes created for SHACL-SHACL.</p>
<section id="whatsnew">
<h2>What's New in SHACL 1.2</h2>
<p class="todo">
The main information about SHACL 1.0 &rarr; 1.2 will be added here.
</p>
<h4>SHACL-SHACL</h4>
<p>
These shapes are available in the RDF resource at <a href="http://www.w3.org/ns/shacl-shacl">http://www.w3.org/ns/shacl-shacl</a>.
SHACL 1.0 included all the information about SHACL-SHACL at the time inline, within an Appendix, consisting of an
introductory paragraph and the SHACL-SHACL RDF data only. SHACL 1.2 has moved this information to an appendix in this Overview..
</p>
<p>
A note about this new SHACL-SHACL location is retained in SHACL 1.2 Core.
</p>
</section>

<section id="governance">
<h2>Governance</h2>
<p class="todo">TODO: This section will describe the governance arrangements in place for the continued maintenance of this NOTE.</p>
<section id="specifications">
<h2>Specifications</h2>
<h3>
SHACL 1.2:
</h3>
<dl>
<dt>SHACL 1.2 Overview (this document)</dt>
<dd>overviews the set of SHACL specifications</dd>
<dt><a href="https://w3c.github.io/data-shapes/shacl12-core/">SHACL 1.2 Core</a></dt>
<dd>defines the Core of SHACL</dd>
<dt><a href="https://w3c.github.io/data-shapes/shacl12-sparql/">SHACL 1.2 SPARQL Extensions</a></dt>
<dd>defines SPARQL-related extensions of the SHACL</dd>
<dt><a href="https://w3c.github.io/data-shapes/shacl12-node-expr/">SHACL 1.2 Node Expressions</a></dt>
<dd>defines graph expressions used to determine focus nodes in SHACL</dd>
<dt><a href="https://w3c.github.io/data-shapes/shacl12-inf-rules/">SHACL 1.2 Inference Rules</a></dt>
<dd>defines SHACL's methods of rule-based inference</dd>
<dt><s><a href="https://w3c.github.io/data-shapes/shacl12-ui/">SHACL 1.2 UI</a></s></dt>
<dd>defines SHACL's use for User Interface generation</dd>
<dt><s><a href="https://w3c.github.io/data-shapes/shacl12-profiling/">SHACL 1.2 Profiling</a></s></dt>
<dd>defines the use of SHACL for profiling data, including SHACL data</dd>
</dl>

<h3>
SHACL 1.0:
</h3>
<p><em>The original SHACL specifications, now deprecated in favour of SHACL 1.2 specifications, above.</em></p>
<dl>
<dt><a href="https://www.w3.org/TR/shacl/">SHACL</a></dt>
<dd></dd>
<dt><a href="https://www.w3.org/TR/shacl-af/">SHACL Advanced Features</a></dt>
<dd></dd>
<dt><a href="https://www.w3.org/TR/shacl-js/">SHACL Javascript Extensions</a></dt>
<dd></dd>
</dl>
</section>

<section id="security" class="appendix informative">
<h2>Security and Privacy Considerations</h2>
<section id="x">
<h2>Section X</h2>
<p class="todo">TODO: This section will describe...</p>
</section>

<section id="governance">
<h3>Governance</h3>
<p class="todo">TODO: This section will describe the governance arrangements in place for the continued maintenance of SHACL-SHACL resources, i.e., handling updates beyond the time frame of the Working Group's Charter.</p>
</section>

<section id="shacl-shacl" class="appendix informative">
<h2>SHACL-SHACL</h2>
<p>
This Shapes graph does not import into or alter the data it is evaluating so will not affect an
organisation's information if applied to it, only report on its SHACL Core validity. It will also not
automatically export results anywhere beyond a SHACL processor's standard output channel.
The <a href="https://www.w3.org/groups/wg/data-shapes/">Data Shapes Working Group</a> maintains SHACL graphs that can be used to validate other SHACL Shapes graphs, called "SHACL-SHACL". There is more than one to allow for the validation of subsets of the total body of SHACL elements defined in the various SHACL specifications.
</p>
<p>
For these reasons, this content is expected to present minimal security and privacy concerns.
Each SHACL-SHACL graph corresponds to the scope of individual SHACL specifications and are available as RDF resources:
</p>
<dl>
<dt><a href="">SHACL-SHACL all</a></dt>
<dd>the union of all other SHACL-SHACL graphs</dd>
<dt><a href="">SHACL-SHACL Core</a></dt>
<dt><a href="">SHACL-SHACL SPARQL</a></dt>
<dt><a href="">SHACL-SHACL Node Expressions</a></dt>
<dt><a href="">SHACL-SHACL Inference Rules</a></dt>
<dt><a href="">SHACL-SHACL UI</a></dt>
<dt><a href="">SHACL-SHACL Profiling</a></dt>
</dl>
</section>

<section id="validator" class="appendix normative">
<h2>Validator</h2>
<section id="security" class="appendix informative">
<h2>Security and Privacy Considerations</h2>
<p>
The shapes graph of SHACL-SHACL is available as an RDF resource at <a href="http://www.w3.org/ns/shacl-shacl">http://www.w3.org/ns/shacl-shacl</a>.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What will this link be? I missed some of the nuance about whether we need to have "shacl12" somewhere in this path.

If we need to reflect SHACL 1.2 outside of the link and instead inlined in the graph-file, would owl:versionIRI be an option?

Please feel free to split this comment out to its own Issue if that'll be a big discussion. I somewhat suspect it will be.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This info's location is actually already superseded with the Appendix called "SHACL-SHACL", not "Validator", but the question about the IRI remains.

There is a plan to harmonise all SHACL namespaces into one, after development slows down/ceases, but I'm not sure if SHACL-SHACL will live in there with the rest of SHACL's definitions. I think we will retain /shacl-shacl, since it's already there.

I suggest we will make SHACL-SHACL all (the comprehensive 1.2 validator) be the default at http://www.w3.org/ns/shacl-shacl, that we create other IRIs for the part validators and that we point a versionIRI, as you say, at the soon-to-be old validator from 1.0.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Understood on the superseding.

I think SHACL-SHACL should remain in its own namespace. It is an adopter of SHACL, making it distinct enough in purpose (to me, anyway) from the definitions of SHACL.

And, already having the namespace helps the decision.

The SHACL-SHACL Shapes graphs do not import into or alter the data they are evaluating, so will not affect an
organisation's information if applied to it, only report on its validity according to the vocabulary-subset of SHACL corresponding to the used Shapes graph and its imports of other SHACL-SHACL Shapes graphs. (E.g., all SHACL-SHACL shapes graphs will import SHACL-SHACL Core.) It will also not
automatically export results anywhere beyond a SHACL processor's standard output channel.
</p>
<p>
For these reasons, this content is expected to present minimal security and privacy concerns.
</p>
</section>

<section id="ack" class="appendix informative">
<h2>Acknowledgements</h2>
<p>Many people contributed to this document, including members of the RDF Data Shapes Working Group.</p>
</section>

<section class="appendix informative" id="changes-12">
<h2>Changes between SHACL 1.0 Core and SHACL 1.2 Core</h2>
<p>
SHACL 1.0 included the total information about SHACL-SHACL inline, within an Appendix, consisting of an
introductory paragraph and the SHACL-SHACL RDF data only. SHACL 1.2 has dedicated this entire Note to
define and describe SHACL-SHACL.
</p>
<p>
A reference to this Note is retained in SHACL 1.2 Core.
</p>
</section>

<!-- <section class="appendix" id="issue-summary">-->
<!-- &lt;!&ndash; A list of issues will magically appear here &ndash;&gt;-->
<!-- </section>-->
</body>
</html>