- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Thu, 28 May 2015 13:39:33 -0700
- To: Holger Knublauch <holger@topquadrant.com>, Data Shapes Working Group <public-data-shapes-wg@w3.org>
-----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