- 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>
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