- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Thu, 29 Oct 2015 10:43:29 -0700
- To: Holger Knublauch <holger@topquadrant.com>, public-data-shapes-wg@w3.org
On 10/28/2015 10:29 PM, Holger Knublauch wrote: > On 10/29/2015 14:14, Peter F. Patel-Schneider wrote: [...] >> I here propose several changes the normative bits of the version of Part 2 >> that was prepared for ISSUE-95, >> http://w3c.github.io/data-shapes/shacl/index-ISSUE-95.html, that fix many of >> the problems there. I have not proposed changes for any of the bits marked [...] >> >> SHACL also includes a more general superclass sh:Template that may be used >> for other kinds of templates (rules, stored queries etc). Well-defined, >> non-abstract templates must provide at least one body using a property such >> as sh:sparql. >> -> >> Well-defined templates must provide at least one body using a property such >> as sh:sparql. > > Why drop sh:Template? It is already used as shared superclass of > sh:ConstraintTemplate and sh:ScopeTemplate, plus we have various other types > of templates in production and having a shared superclass streamlines the > infrastructure to manage them. The uses of sh:Template in the spec are: 1/ SHACL also includes a more general superclass sh:Template that may be used for other kinds of templates (rules, stored queries etc). This doesn't add anything to the spec at all. 2/ sh:Template is subclass of rdfs:Class, which means that templates can be instantiated via rdf:type. Make the appropriate subclasses directly be subclass of rdfs:Class. 3/ If a sh:Template has a value for sh:sparql, then the corresponding instances need to follow the same execution rules as outlined for SPARQL-based Constraints and SPARQL-based Scopes. I don't think that this is correct. In any case it can just be stated on the appropriate subclasses. In sum, sh:Template doesn't add anything to SHACL.
Received on Thursday, 29 October 2015 17:44:01 UTC