W3C home > Mailing lists > Public > public-data-shapes-wg@w3.org > May 2016

Re: Simplification of scopes section (see also ISSUE-148)

From: Holger Knublauch <holger@topquadrant.com>
Date: Fri, 13 May 2016 10:51:36 +1000
To: public-data-shapes-wg@w3.org
Message-ID: <cdfe7b44-4617-947b-cbe8-4d7dfa693caa@topquadrant.com>
I agree the editorial arrangement of these subsections is unhelpful, and 
I have aligned the nesting with this commit:

https://github.com/w3c/data-shapes/commit/fd044c834960c791cc1740509224057d03057567

The naming and syntax issue had been raised before as

https://www.w3.org/2014/data-shapes/track/issues/148

I would find it very unfortunate if we switched to another syntax that 
hard-codes these few scope types and then requires a completely 
different syntax for the general scope mechanism of the extension 
mechanism. Such decisions drive up implementation costs significantly, 
and also require the reader of SHACL to look at a rather arbitrary 
collection of predicates. Also, what would be the object of ex:MyShape 
sh:allObjectsScope triples? So I would vote for keeping the current 
syntax. But I do appreciate you pointing out the editorial inconsistency.

Thanks
Holger


On 13/05/2016 10:16, Karen Coyle wrote:
> Going over the document, it seems to me that this area is problematic:
>
> 2.1.1 Node scopes (sh:scopeNode)
> 2.1.2 Class-based Scopes (sh:scopeClass)
>     2.1.2.1 Implicit Class Scopes
> 2.1.3 General scopes (sh:scope)
>     2.1.3.1 Property scopes (sh:PropertyScope)
>     2.1.3.2 Inverse property scopes (sh:InversePropertyScope)
>     2.1.3.3 All subjects scopes (sh:AllSubjectsScope)
>     2.1.3.4 All objects scopes (sh:AllObjectsScope)
>
> There are a number of problems with this, but the main ones are the 
> difference in treatment between the first two scope types (which are 
> defined as properties) and the "General scopes" section (which defines 
> subclasses of sh:Scope). Not to mention that these general scopes are 
> actually quite specific, so called them "general scopes" isn't helpful.
>
> The designation of these as "General Scopes" seems to come from an 
> implementation decision:
>
> "SHACL includes a general mechanism to select focus nodes. A shape can 
> point to one or more instances of sh:Scope using the sh:scope 
> predicate. SHACL includes four subclasses of sh:Scope that define the 
> core scope types: sh:PropertyScope, sh:InversePropertyScope, 
> sh:AllSubjectsScope and sh:AllObjectsScope. The SHACL language also 
> defines a general scoping mechanism based on SPARQL."
>
> I don't think this belongs here. This section should be a description 
> of the scopes themselves, not of the general scoping mechanism, which 
> should be in part 2 of the document. I also don't think that we should 
> require or imply that these scopes are created using the general 
> scoping mechanism -- this is the section on the Core and these scopes 
> must be core. I don't believe that any other areas in core are tied to 
> a specific implementation method.
> It would make more sense as:
>
> 2.1.1 Node scopes (sh:scopeNode)
> 2.1.2 Class-based Scopes (sh:scopeClass)
> 2.1.3 Property scopes (sh:propertyScope)
> 2.1.4 Inverse property scopes (sh:inversePropertyScope)
> 2.1.5 All subjects scopes (sh:allSubjectsScope)
> 2.1.6 All objects scopes (sh:allObjectsScope)
>
> giving the properties for all of the scopes defined in the core.
>
> kc
>
>
>
Received on Friday, 13 May 2016 00:52:11 UTC

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