Re: ISSUE-95: Template Simplifications

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