- From: Holger Knublauch <holger@topquadrant.com>
- Date: Fri, 13 May 2016 10:51:36 +1000
- To: public-data-shapes-wg@w3.org
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