W3C home > Mailing lists > Public > public-data-shapes-wg@w3.org > March 2015

Re: On the inevitability of SPARQL/SPIN for SHAQL

From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
Date: Mon, 02 Mar 2015 19:04:21 -0800
Message-ID: <54F524B5.3040207@gmail.com>
To: kcoyle@kcoyle.net, public-data-shapes-wg@w3.org
Hash: SHA1

On 03/01/2015 08:44 PM, Karen Coyle wrote:
> On 3/1/15 2:12 PM, Holger Knublauch wrote:
>> Which parts of SHACL do *depend* on SPARQL?
> "    SPARQL is a built-in execution language in SHACL, but other
> languages may be supported in the future or by third parties."
> At the f2f meeting, we resolved:
> "RESOLUTION: Define semantics using SPARQL as much as possible"
> I read that as being different from a "built-in execution language." As
> it seemed at the time, we were agreeing on providing the document with
> examples and explanations using SPARQL. We did not agree that we were
> defining SPARQL as the built-in execution language -- our discussion was
> about the document, not the implementation of SHACL.
> This would also mean the removal of section 15 to a separate document
> that defines a SPARQL implementation. Each "execution language" would
> then be defined in a document separate from the primary SHACL document.
> All of that assumes that other execution languages are possible. If they
> are not, then we should give up the facade of being "execution language
> neutral."
> kc

Even if other execution languages for SHACL are possible, an execution
language selector in SHACL will only balkanize SHACL.  I am not in favour of
allowing alternative execution languages in the specification of SHACL.

The benefit of basing SHACL on SPARQL is that the extra implementation cost
is low.   It would be possible to have a zero extra implementation cost for
SHACL by defining SHACL as follows:

In SHACL, certain
results of the evaluation of SPARQL 1.1 Query Language queries on an RDF
graph or dataset
are interpreted as constraint violations.
In a SELECT query, each separate mapping is interpreted as a
separate violation of the constraint.  In a CONSTRUCT query, each
instance of shacl:violation (node whose denotation is in the class extension
of shacl:violation in all RDFS models of the constructed graph) is a
separate violation of the constraint.  In an ASK query, a true result is
interpreted as a constraint violation and a false result is interpreted as
no violation.   DESCRIBE queries are not used in SHACL.

I'm not advocating this minimal version of SHACL, but the implementation
cost of a full version of SHACL could be very small.


Version: GnuPG v1

Received on Tuesday, 3 March 2015 03:04:53 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:30:17 UTC