implementing today's resolution

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Here is my list of some differences between
https://w3c.github.io/data-shapes/shacl/ (SHACL) and
https://www.w3.org/2014/data-shapes/wiki/Shacl-sparql (SHACL-SPARQL) and my
proposals on how to make improvements as per the resolution of today.

peter




The Language

Top-Level Constructs: The top-level construct in SHACL-SPARQL is uniformly
the combination of a scope and a shape, with other information permissible.
Shapes are uniformly local.  Global constraints are different from shapes.
Proposal: Use the uniform SHACL-SPARQL construct.  There are naming issues
that then would need to be resolved.

Scopes: SHACL-SPARQL has more ways of providing scope (although SHACL may
have recently incorporated most of them).
Proposal:  Use SHACL-SPARQL scope mechanism.

Classes: SHACL-SPARQL does not do anything special for any SHACL construct
that is also an instance of rdfs:Class.

Recursion: SHACL permits certain kinds of recursion, but does not correctly
specify  how recursion works.  SHACL-SPARQL forbids recursion.
Proposal: Forbid recursion, waiting for a proposal on how it can be done
correctly and effectively.

Templates: SHACL has a template mechanism.
Proposal: Keep the template mechanism.

Functions: SHACL has a function mechanism.

Non-SPARQL: SHACL permits other execution mechanisms.


The Interface

Invoking SHACL: SHACL has a set of supported operations.  SHACL-SPARQL has
one call, with a control graph and a data graph.  Note: There is a proposal
for a more flexible design.


The Semantics

Access to control graph: SHACL uses access to the control graph from
constraint to define constructs.  SHACL permits access to the control graph
when determining constraint violations.
Proposal;  Define the semantics without accessing the control graph.

Extensions to SPARQL: SHACL requires certain extra functions; SHACL-SPARQL
does not.
Proposal:  Define the semantics of SHACL without using extra functions.

Mapping to SPARQL: SHACL and SHACL-SPARQL have different mappings to SPARQL,
mostly because SHACL uses the extra functions.
Approach:  If the extra functions are not used, then a mapping more like the
SHACL-SPARQL one is probably needed.

RDFS Inference:  SHACL does not use RDFS inference.  SHACL-SPARQL does.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJVZ30FAAoJECjN6+QThfjzaggH/0DB3yTU7g7YXpWzJ/KXGrc1
dd+8l7MC1F3We7E7sKiHYVQKoIoNjISDy8010o9xv6g64Ddq4aj+u2Jj73cH5t6L
2tfCAo4bnlhf53Zh2p+Og3SdExpecI/H0cznk04EiTf89OKAbXwpAGQ5V3ShPbR+
nM7ZM+knsHjAeu5z6COY39jI2jRlw4wVm8U6UQzKe24EOu1pZfdCsY72bpHYhqAV
fdRFTa/er8G/Jj5OS0lJbu1Amh82J4J8e5SzKqM79xF4VPyERFmMxXYFGBk6gnpV
NZHYnacmj+CFIcv7QrPFQ7dBEcyXa7cRQKxsbk5Wqb43JUZFXoCrX/ljW3o3JGY=
=Ytz6
-----END PGP SIGNATURE-----

Received on Thursday, 28 May 2015 20:40:04 UTC