- From: Karen Coyle <kcoyle@kcoyle.net>
- Date: Tue, 3 May 2016 09:40:50 -0700
- To: Dimitris Kontokostas <kontokostas@informatik.uni-leipzig.de>
- Cc: public-data-shapes-wg <public-data-shapes-wg@w3.org>
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: A property scope is a scope in the shapes graph that is of rdf:type sh:PropertyScope. 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. (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
Received on Tuesday, 3 May 2016 16:41:16 UTC