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

On Tue, May 3, 2016 at 5:40 PM, Karen Coyle <kcoyle@kcoyle.net> wrote:

> Thanks, Dimitris. But once again I think this uses too many terms that are
> unclear, and could be simplified. Let's go through this:
>
> "The property scope for a property p is defined as the set of subjects
> that appear in a triple with p as a predicate."
>
> --It is unclear to me what graphs are being talked about here. A scope is
> defined in the shapes graph but it references the data graph -- in other
> words, the scope criteria must be found in the data graph. Some set of
> triples in the data graph a "in scope." So the "set of subjects" is in the
> data graph, right? What is being called "property scope" here is a node in
> the shapes graph. I would say that the shapes graph defines a target node
> (for lack of a better word) in the data graph based on the existence of a
> named predicate.
>
> "Property scopes can be set by linking a shape to a resource r of type
> sh:PropertyScope with the sh:scope property."
>
> --A scope is defined in the shapes graph as a property scope by explicit
> declaration of rdf:type sh:PropertyScope (as per the example, below). "can
> be" means "maybe", and this is definitive -- it *is* defined in this way
> and only this way. I'm not clear on why this says "linking a shape to a
> resource... with the sh:scope property". That seems unnecessary to me. In
> fact, I have trouble in general with referring to "linking" - a term that
> is not used in the RDF documentation (except briefly around de-referencing
> vocabularies). A shape *has* a scope and a scope *is an instance of*
> sh:PropertyScope.
>
> ex:PropertyScopeExampleShape
>         a sh:Shape ;
>         sh:scope [
>                 a sh:PropertyScope ;
>                 sh:predicate ex:knows ;
>         ] .
>
>
> "The property p is linked from r with the property sh:predicate."
>
> Again, I think this is unnecessary.
>
> So after all of this, I would suggest something along the lines of:
>

Thanks Karen


> A property scope is a scope in the shapes graph that is of rdf:type
> sh:PropertyScope.


I find this sentence a bit unclear unless you read it in combination with
the introduction of 2.1.3

The object of sh:predicate defines the triples in the data shape that are
> in scope. Triples in the data graph with a predicate matching the object of
> sh:predicate are in scope.
>

I made another attempt to incorporate your feedback but with a little more
prose, can you check that as well?
Otherwise we can switch back to your proposal

https://github.com/w3c/data-shapes/commit/d91acf343fd485d99dc69293ddecbd07a771d6c1
(also online)

Thanks,
Dimitris

>
> (That could undoubtedly be refined.)
> kc
>
> On 5/3/16 7:22 AM, Dimitris Kontokostas wrote:
>
>> Hi Karen,
>>
>> I tried to reformulate 2.1.3.1 Property scopes (sh:PropertyScope)
>> Can you check if this makes it more clear? if it does I will adjust the
>> rest of the sections accordingly
>>
>> https://github.com/w3c/data-shapes/commit/d2d70f5caa72f7911567d7692b58741fe7481625
>> (the edit is also live)
>>
>> Dimitris
>>
>> On Mon, May 2, 2016 at 4:40 PM, Karen Coyle <kcoyle@kcoyle.net
>> <mailto:kcoyle@kcoyle.net>> wrote:
>>
>>
>>
>>     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:
>>
>>             2.1.3.1 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 <code>sh:predicate</code>."
>>
>>     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
>>     validation.
>>
>>     kc
>>
>>
>>
>>         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 <mailto:kcoyle@kcoyle.net> http://kcoyle.net
>>     m: 1-510-435-8234
>>     skype: kcoylenet/+1-510-984-3600 <tel:%2B1-510-984-3600>
>>
>>
>>
>>
>> --
>> Dimitris Kontokostas
>> Department of Computer Science, University of Leipzig & DBpedia
>> Association
>> Projects: http://dbpedia.org, http://rdfunit.aksw.org,
>> http://http://aligned-project.eu <http://aligned-project.eu/>
>> Homepage:http://aksw.org/DimitrisKontokostas
>> Research Group: AKSW/KILT http://aksw.org/Groups/KILT
>>
>>
> --
> Karen Coyle
> kcoyle@kcoyle.net http://kcoyle.net
> m: 1-510-435-8234
> skype: kcoylenet/+1-510-984-3600
>
>


-- 
Dimitris Kontokostas
Department of Computer Science, University of Leipzig & DBpedia Association
Projects: http://dbpedia.org, http://rdfunit.aksw.org, http://
http://aligned-project.eu
Homepage:http://aksw.org/DimitrisKontokostas
Research Group: AKSW/KILT http://aksw.org/Groups/KILT

Received on Tuesday, 3 May 2016 20:59:30 UTC