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: Wed, 4 May 2016 07:51:42 -0700
To: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
Message-ID: <572A0C7E.8010202@kcoyle.net>
Ah, yes. That's it! Thanks. So, can we now extend this to the other scopes?

kc

On 5/3/16 9:57 PM, Dimitris Kontokostas wrote:
>
>
> On Wed, May 4, 2016 at 4:23 AM, Karen Coyle <kcoyle@kcoyle.net
> <mailto:kcoyle@kcoyle.net>> wrote:
>
>     Unless I'm not seeing the right section, this has many of the same
>     problems as before. Here's what I see:
>
>
> I think you are looking at the opposite part of the diff, can you read
> it from the online version?
> http://w3c.github.io/data-shapes/shacl/#PropertyScope
>
>
>     --copy--
>
>     "The property scope for a property <code>p</code> is defined as the
>     set of subjects that appear in a triple with <code>p</code> as a
>     predicate.
>       -                                                      Property
>     scopes can be set by linking a shape to a resource <code>r</code> of
>     type <code>sh:PropertyScope</code> with the <code>sh:scope</code>
>     property.
>       -                                                      The
>     property <code>p</code> is linked from <code>r</code> with the
>     property <code>sh:predicate</code>.
>       +                                                      A property
>     scope for property <code>p</code> is defined as the set of subjects
>     in the data graph that appear in a triple with <code>p</code> as a
>     predicate."
>
>     --/copy--
>
>     Comments:
>
>     "the set of subjects that appear in a triple..." It is necessary to
>     say that this refers to the data graph.
>
>     "Property scopes can be set ..." what does it mean to "set" a
>     property scope? I don't think they are set, I think they are
>     *defined* in the shapes graph. Any 'setting' is done by an
>     application. Graphs don't act.
>
>     "... by linking a shape to a resource..." Linking again. I don't
>     think that we can talk about linking. And that segment I believe is
>     talking about the shapes graph, so these statements have moved back
>     and forth between the shapes graph and the data graph.
>
>     Let me try to make a few edits to your wording:
>
>     The property scope, designated by property <code>p</code>, is
>     defined in the shapes graph, and will identify as "in scope' a set
>     of triples in the data graph that have <code>p</code> as a predicate.
>       -                                                      Property
>     scopes are defined in the shapes graph for a resource <code>r</code>
>     of type <code>sh:PropertyScope</code> with the <code>sh:scope</code>
>     property.
>       -                                                      The
>     property <code>p</code> is the value of <code>sh:predicate</code>.
>
>     (Without the markup... easier to read)
>
>     The property scope, designated by property p, is defined in the
>     shapes graph, and will identify as "in scope" a set of triples in
>     the data graph that have p as a predicate.
>     - Property scopes are defined in the shapes graph for a resource r
>     of type sh:PropertyScope with the sh:scope property.
>     - The property p is the value of sh:predicate.
>
>     I hope we're getting closer :-)
>
>     kc
>
>     On 5/3/16 1:58 PM, Dimitris Kontokostas wrote:
>
>
>
>         On Tue, May 3, 2016 at 5:40 PM, Karen Coyle <kcoyle@kcoyle.net
>         <mailto:kcoyle@kcoyle.net>
>         <mailto:kcoyle@kcoyle.net <mailto: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>
>                  <mailto:kcoyle@kcoyle.net <mailto:kcoyle@kcoyle.net>>
>                  <mailto:kcoyle@kcoyle.net <mailto:kcoyle@kcoyle.net>
>         <mailto: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>
>         <mailto:kcoyle@kcoyle.net <mailto:kcoyle@kcoyle.net>>
>                  <mailto:kcoyle@kcoyle.net <mailto:kcoyle@kcoyle.net>
>         <mailto: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> <tel:%2B1-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 <mailto:kcoyle@kcoyle.net>
>         <mailto: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>
>         <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 <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
Received on Wednesday, 4 May 2016 14:52:10 UTC

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