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

Re: shapes-ISSUE-159: [Editorial] Eliminate "scope class" from 2.1.n [SHACL Spec]

From: Karen Coyle <kcoyle@kcoyle.net>
Date: Mon, 2 May 2016 08:40:48 -0700
To: public-data-shapes-wg@w3.org
Message-ID: <57277500.50701@kcoyle.net>

On 5/1/16 6:49 PM, Holger Knublauch wrote:
> Hi Karen,
> yes these are good points. The use of "scope class" here is confusing,
> also due to the overlap with the unrelated sh:scopeClass property. The
> proper term for them would be "scope type", which is also used in
> section 8.2
> Please review my edits:
> https://github.com/w3c/data-shapes/commit/4f74748b0637eeb5406abfce2797335baad6e33a
> On 1/05/2016 10:27, RDF Data Shapes Working Group Issue Tracker wrote:
>> shapes-ISSUE-159: [Editorial] Eliminate "scope class" from 2.1.n
>> [SHACL Spec]
>> http://www.w3.org/2014/data-shapes/track/issues/159
>> Raised by: Karen Coyle
>> On product: SHACL Spec
>> I would like to clarify 2.1.3 and its subsections by eliminating the
>> phrase "scope class". The current description in the introduction is:
>> 2.1.3 (sentence 3)
>> "SHACL includes four built-in scope classes: sh:PropertyScope... etc."
>> The pattern for each subsections reads:
>> Property scopes (sh:propertyScope)
>> "The scope class sh:PropertyScope selects all subjects that have at
>> least one value for a given property sh:predicate."
>> I would suggest that we replace sentence 3 in 2.1.3 with:
>> "SHACL includes four subclasses of sh:Scope that define the core scope
>> types:...."
>> And the pattern first statement for the subsections would be:
>> "The class sh:PropertyScope is the class of those subjects that have
>> at least one value for a given property sh:predicate."
> In the latter case I diverged a bit from your suggestion to the pattern
> "represents the class of scopes of XY". I prefer this because a scope
> does not represent a class of subjects - the term class is already
> overloaded with different meaning IMHO. Scopes "represent" sets of nodes
> in my opinion.

For the latter statement you have:

"The scope type <code>sh:PropertyScope</code> represents the class of 
scopes of all subjects that have at least one value for a given property 

This introduces a new concept "scope type" which isn't defined, and 
includes "class of scopes" which is a grammatical rewording of "scope 
class". Also, The sentence is too dense to be readable. Let's first talk 
about what we want it to mean, then we can develop wording.

-First is sh:PropertyScope a class? I believe that is the case. To what 
extent that matters here is another matter.

-Next, what is the "thing" (in the RDF sense) that is a member of that 
class? First, "class of scopes" is as vague as our original "scope 
class". What is the thing, and in which graph (shapes graph or data 
graph) is that thing to be found?

-What is meant here by "subject"? I believe that this refers to a node 
in the data graph. Is that the case?

-Finally, in editorial mode, "represents" should be "is". If there is a 
type "sh:PropertyScope" it *is* a class.

If I understand correctly, the shapes graph can have a subject (aka 
"node") that is defined as being of rdfs:type sh:PropertyScope. That 
subject has a predicate "sh:predicate" whose value is the predicate in 
the data graph that is the target of the validation rules that are 
linked to this shapes graph node.

Or, to put this in simple English, the shapes graph states (or 
"indicates") the predicate in the data graph that is the target of 


> Are these edits addressing your issue?
> Thanks
> Holger
>> Reasons: this eliminates the vague phrase "scope class", and also does
>> not ascribe agency to the subclasses (subclasses do not SELECT).

Karen Coyle
kcoyle@kcoyle.net http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet/+1-510-984-3600
Received on Monday, 2 May 2016 15:41:14 UTC

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