Looking at the current proposals for SHACL

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

There was some spirited discussion at the WG teleconference today, and then
some spirited IRC chat afterwards.  This all prompted me to take another
look at what proposals for SHACL that are being put forward in the WG at
this point in time.

I see four relevant documents.

1/ http://w3c.github.io/data-shapes/semantics/

This document contains an informal description of a core for SHACL

Significant Features:
- - It does not contain a formal specification.
- - It presents only a core of SHACL.
- - The core contains potentially recursive shapes, but not closed shapes or
  global constraints.
- - The description of recursive shapes appears to be ill-founded.
- - It does not discuss violation reporting.
- - It only has a few methods for controlling evaluation of shapes.
- - It does not describe an API.

2/ http://w3c.github.io/data-shapes/semantics/Axiomatic

This document contains an axiomatic semantics for the core in 1/ above.

Significant Features:
- - It provides a formal specification for a core of SHACL in terms of an
  axiomatization.
- - The core contains potentially recursive shapes, but not closed shapes or
  global constraints.
- - Some of the low-level portions are under-specified.
- - It has errors.
- - It is incomplete.
- - It does not match the description in 1/ above.

3/ http://w3c.github.io/data-shapes/shacl/

This document contains a formal specification of SHACL based on SPARQL with
extra functionality.

Significant Features:
- - It provides a formal specification for SHACL in terms of an extended
  version of SPARQL.
- - It presents a full SHACL (modulo some of the non-validation portions).
- - Its version of SHACL has all the expressive power of SPARQL.
- - Its version of SHACL permits global constraints and recursive shapes but
  not closed shapes.
- - It provides a macro-expansion language.
- - It provides violation reporting.
- - The specification of recursive shapes appears to be ill-founded.
- - It does not define a core, but the high-level constructs can act as such.
- - The core does not need to be implemented using a SPARQL engine.
- - It defines several methods for controlling evaluation of shapes.
- - It defines a limited API.

4/ https://www.w3.org/2014/data-shapes/wiki/Shacl-sparql

This document contains a formal specification of SHACL directly based on
SPARQL.

Significant Features:
- - It provides a formal specification for SHACL in terms of SPARQL.
- - It presents a full SHACL (modulo some of the minor features and some of
  the non-validation portions).
- - Its version of SHACL has all the expressive power of SPARQL.
- - Its version of SHACL permits global constraints but not recursive shapes
  or closed shapes.
- - It provides violation reporting.
- - It does not define a core, but the high-level constructs can act as such.
- - The core does not need to be implemented using a SPARQL engine.
- - It defines several methods for controlling evaluation of shapes.
- - It defines a flexible API.



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJVC2PAAAoJECjN6+QThfjzeEMIAMfI18HI7JP6vh7GF5gXD1z9
tq7hRe7GiCpslvxYcKdA8PNkyjOerY+xMMSrUjiMU+zUkqQR36VBJkFfwDLhyBpN
7gAHL8fB0HGfcxeBAlHddhKXs07YiRnhKuG4/7p01vMMmY9SEMFJjFogf2BgplDF
RZ2ZZfMmQDk4/V9Jhy7dhNkQWd/NDTWhRquZgbSIZTXV0TWX7IIYnZ2Jiyz6rtSh
us6xGK5psFxeWDCkzSVSfM7eGp57I/kGAUWpIpWR8ZiL8zqWr8A3L4M5RRLTukwb
IIzMK4oFBHau4luXfHu5mJwVsF/fDENXnPTHeQYXJqQJOjqVUVtCNSUBmImKuCg=
=kUVd
-----END PGP SIGNATURE-----

Received on Friday, 20 March 2015 00:03:43 UTC