You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<h2>Changes between SHACL 1.0 Core and SHACL 1.2 Core</h2>
7756
+
<h2>Changes between the original SHACL Core and SHACL 1.2 Core</h2>
7757
7757
<ul>
7758
7758
<li>Introduced <a>node expressions</a> as an extension point to dynamically compute lists of nodes. Generalized <code>sh:targetNode</code>, <code>sh:deactivated</code> and <code>sh:defaultValue</code>, and introduced <code>sh:values</code> to support node expressions.</li>
7759
7759
<li>Added the new constraint component <ahref="#SingleLineConstraintComponent"><code>sh:singleLine</code></a>, see <ahref="https://github.com/w3c/data-shapes/issues/177">Issue 177</a></li>
Copy file name to clipboardExpand all lines: shacl12-overview/index.html
+15-12Lines changed: 15 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -373,10 +373,13 @@ <h2>Introduction</h2>
373
373
<sectionid="whatsnew">
374
374
<h2>What's New in SHACL 1.2</h2>
375
375
<p>
376
-
SHACL 1.2 covers <ahref="https://www.w3.org/TR/rdf12-new/">new developments in RDF 1.2 and SPARQL 1.2</a>, formalizes versions of original SHACL documents published only as Notes, and takes SHACL into new areas such as rules for inferencing and profile definition.
376
+
SHACL 1.2 covers <ahref="https://www.w3.org/TR/rdf12-new/">new developments</a> in RDF 1.2 and <ahref="https://www.w3.org/TR/sparql12-new/">new developments</a> in SPARQL 1.2. It formalizes versions of original SHACL documents published only as Notes, and takes SHACL into new areas such as rules for inferencing and profile definition.
377
+
</p>
378
+
<pclass="note">
379
+
While SHACL 1.2 does aim to cater for all aspects of [[[rdf12-concepts]]] and [[[sparql12-query]]], those specifications are not finalised while this note remains here, so coverage may not yet be complete.</p>
377
380
</p>
378
381
<p>
379
-
The original SHACL specifications, published in 2015 and now considered SHACL 1.1 as they were aligned with RDF 1.1, are listed in the <ahref="#shacl-1.1">SHACL 1.1</a> section below. The SHACL 1.2 specifications are also listed below, in the <ahref="#shacl-1.2">SHACL 1.2</a> section.
382
+
The original SHACL specifications were published in 2017 and were aligned with [[[rdf11-concepts]]] and [[[sparql11-query]]]. They are listed in the <ahref="#shacl-orig">SHACL Original</a> section below. The SHACL 1.2 specifications are also listed below, in the <ahref="#shacl-1.2">SHACL 1.2</a> section.
380
383
</p>
381
384
<p>
382
385
Following are the major new things in SHACL 1.2 and the specifications in which they appear.
@@ -399,7 +402,7 @@ <h2>What's New in SHACL 1.2</h2>
399
402
Derived Properties
400
403
</td>
401
404
<td>
402
-
In SHACL 1.1, 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.
405
+
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.
@@ -411,7 +414,7 @@ <h2>What's New in SHACL 1.2</h2>
411
414
Flexible Target Nodes
412
415
</td>
413
416
<td>
414
-
In SHACL 1.2, node expressions can be used in more places than derived properties, to which they were limited in SHACL 1.1. Particularly, they can now also be used to compute the target nodes of a shape. This provides greater flexibility than the built-in target types such as <code>sh:targetClass</code> and <code>sh:targetSubjectsOf</code>.
417
+
In SHACL 1.2, node expressions can be used in more places than derived properties, to which they were limited in the original SHACL specifications. Particularly, they can now also be used to compute the target nodes of a shape. This provides greater flexibility than the built-in target types such as <code>sh:targetClass</code> and <code>sh:targetSubjectsOf</code>.
@@ -424,7 +427,7 @@ <h2>What's New in SHACL 1.2</h2>
424
427
The new <em>Inferencing Rules</em> specification allows the representation and execution of <ahref="https://en.wikipedia.org/wiki/Datalog">Datalog</a>-like inference rules which have a straight-forward mapping to SPARQL <code>CONSTRUCT</code> statements for execution, and integrate with other SHACL features such as node expressions.
425
428
</p>
426
429
<p>
427
-
This work was inspired by the SPARQL-based rules introduced by the <ahref="https://www.w3.org/TR/shacl-af/">SHACL 1.1 Advanced Features</a> note (commonly referred to as "SHACL-AF") and older technologies such as <ahref="https://spinrdf.org/">SPIN</a>.
430
+
This work was inspired by the SPARQL-based rules introduced by the <ahref="https://www.w3.org/TR/2017/NOTE-shacl-af-20170608/">SHACL Advanced Features</a> note (commonly referred to as "SHACL-AF") and older technologies such as <ahref="https://spinrdf.org/">SPIN</a>.
428
431
</p>
429
432
</td>
430
433
<td>
@@ -436,7 +439,7 @@ <h2>What's New in SHACL 1.2</h2>
436
439
Better Syntax for Unions of Datatypes and Classes
437
440
</td>
438
441
<td>
439
-
In SHACL 1.1, when you wanted to express that the datatype of a property was either <code>xsd:string</code>, <code>rdf:langString</code>, or <code>rdf:HTML</code>, you needed to use a verbose, repetitive construct. In SHACL 1.2, this can be written as a single list.
442
+
In the original SHACL specifications, when you wanted to express that the datatype of a property was either <code>xsd:string</code>, <code>rdf:langString</code>, or <code>rdf:HTML</code>, you needed to use a verbose, repetitive construct. In SHACL 1.2, this can be written as a single list.
@@ -458,7 +461,7 @@ <h2>What's New in SHACL 1.2</h2>
458
461
Use of Reification in Constraint Definitions
459
462
</td>
460
463
<td>
461
-
In SHACL 1.1, 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.
464
+
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.
@@ -493,7 +496,7 @@ <h2>What's New in SHACL 1.2</h2>
493
496
</td>
494
497
<td>
495
498
<p>
496
-
The SHACL Community Group, which formed after the publication of SHACL 1.1, produced an informal <ahref="https://w3c.github.io/shacl/shacl-compact-syntax/">SHACL Compact Syntax Report</a> which defines a compact syntax (sometimes referred to as SHACL-C) for core elements of SHACL 1.1.
499
+
The SHACL Community Group, which formed after the publication of the original SHACL specifications, produced an informal <ahref="https://w3c.github.io/shacl/shacl-compact-syntax/">SHACL Compact Syntax Report</a> which defines a compact syntax (sometimes referred to as SHACL-C) for core elements of the original SHACL specifications.
497
500
</p>
498
501
<p>
499
502
We now have a formalization of that syntax with updates to aline with the other SHACL 1.2 specifications.
@@ -508,7 +511,7 @@ <h2>What's New in SHACL 1.2</h2>
508
511
A formal SHACL UI
509
512
</td>
510
513
<td>
511
-
Industry has used SHACL 1.1 for user interface generation since publication, with non-W3C extensions such as <ahref="https://www.datashapes.org/">DASH</a>. This is now formalized in a new specification.
514
+
Industry has used the original SHACL specifications for user interface generation since publication, with non-W3C extensions such as <ahref="https://www.datashapes.org/">DASH</a>. This is now formalized in a new specification.
512
515
</td>
513
516
<td>
514
517
<ahref="https://www.w3.org/TR/shacl12-ui/">UI</a>
@@ -557,11 +560,11 @@ <h3>
557
560
<dd>defines the use of SHACL for profiling data, including SHACL data</dd>
558
561
</dl>
559
562
</section>
560
-
<sectionid="shacl-1.1">
563
+
<sectionid="shacl-orig">
561
564
<h3>
562
-
SHACL 1.1
565
+
SHACL Original
563
566
</h3>
564
-
<p><em>The original SHACL specifications listed below, now referred to as SHACL 1.1, are deprecated in favor of the SHACL 1.2 specifications, listed above.</em></p>
567
+
<p><em>The original SHACL specifications published in 2017 are listed below. They are now deprecated in favor of the SHACL 1.2 specifications, listed above.</em></p>
<h2>Changes between SHACL 1.0 SPARQL and SHACL 1.2 SPARQL Extensions</h2>
2281
+
<h2>Changes between the original SHACL specifications and SHACL 1.2 SPARQL</h2>
2281
2282
<ul>
2282
2283
<li>Added the <a>node expression function</a><ahref="#SelectExpression"><code>sh:SelectExpression</code></a>, see <ahref="https://github.com/w3c/data-shapes/issues/288">Issue 288</a></li>
2283
2284
<li>Added support for <a>annotation properties</a>, see <ahref="https://github.com/w3c/data-shapes/issues/327">Issue 327</a></li>
0 commit comments