- From: Irene Polikoff <irene@topquadrant.com>
- Date: Tue, 19 Apr 2016 10:22:29 -0400
- To: <kcoyle@kcoyle.net>, "Peter F. Patel-Schneider" <pfpschneider@gmail.com>, "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
"The scope of a shape is defined with (?by?) the sh:scopeNode predicate.² I would say either ³by the sh:scopeNode² or ³using the sh:scopeNode² or even ³by using" Irene On 4/19/16, 12:13 PM, "Karen Coyle" <kcoyle@kcoyle.net> wrote: >Thanks, Peter. I see places in the spec where shapes are given agency in >odd ways: > >"2.1.1 Node scopes (sh:scopeNode) > >Shapes define node scopes with the sh:scopeNode predicate" > >I would be more comfortable with: > >"The scope of a shape is defined with (?by?) the sh:scopeNode predicate." > >Also, I find places where it isn't clear whether a statement is about >the shape graph or the data graph, such as: > >2.1 >"Node scopes define a specific RDF node as scope." > >The RDF node in this case is a node in the data graph,* but that may not >be clear to the reader. > >Also, in some places I see "shape" and in others "Shape", and I believe >these are referring to the same thing, so one form should be chosen. > >Again, I'd like to see editorial changes of this nature made, but am >unclear how to coordinate with the current editors. > >kc >* Yes, the data graph can be a SHACL document. That doesn't change this. > >On 4/18/16 1:19 PM, Peter F. Patel-Schneider wrote: >> Yeah, I can see how that might be confusing. You have to think that the >> constraints of a shape are those that are (somehow) connected, or >>close, to >> the shape node, which is not what one might think of if one was making >>an >> analogy to programming languages or even SPARQL. >> >> Your suggested wording looks promising to me. >> >> peter >> >> >> On 04/18/2016 01:11 PM, Karen Coyle wrote: >>> OK, thanks, Peter. That truly wasn't clear, so I'll read further to >>>see if >>> this definition is followed in the text. >>> >>> But as an example, to me, the definition does not fit with the >>>statement: >>> "SHACL groups descriptive information and constraints that apply to a >>>given >>> data node into shapes. This document defines what it means for an RDF >>>graph, >>> referred to as the "data graph", to conform to a graph containing SHACL >>> shapes, referred to as the "shapes graph"." >>> >>> I have trouble with "groups ... constraints ... into shapes" if a >>>shape is an >>> IRI/bnode. That is what made me think that shapes were intended to be >>>graphs, >>> not things (graphs being groups of 1 or more triples). (You wouldn't >>>say: >>> "groups names into Persons".) Perhaps: >>> >>> "A shape is an instance of the class sh:Shape, either an IRI or a >>>blank node. >>> The descriptive information and constraints that apply to a given data >>>node >>> are defined as the properties of a shape. A set of shapes that defines >>> validation rules for a data graph (?or a portion of a data graph?) is >>>called a >>> 'shapes graph'. A shapes graph consists of one or more shapes." >>> >>> Closer? >>> >>> kc >>> >>> On 4/18/16 9:40 AM, Peter F. Patel-Schneider wrote: >>>> There may be some misunderstanding here. Shapes in SHACL are IRIs or >>>>blank >>>> nodes and come from RDF graphs that are to be considered as shapes >>>>graphs. >>>> RDF graphs are generally not considered to be instances of classes. >>>> >>>> SHACL documents should be clear that SHACL shapes are IRIs or blank >>>>nodes >>>> and not graphs or sets of triples. >>>> >>>> >>>> >>>> Here is some Turtle syntax for an RDF graph >>>> >>>> @prefix ex: <http://example.com/> . >>>> @prefix ex: <http://www.w3.org/ns/shacl#> . >>>> >>>> ex:s1 a sh:Shape ; >>>> sh:scopeClass ex:Person ; >>>> ex:property [ a sh:PropertyConstraint ; >>>> ex:predicate ex:p1 ; >>>> ex:valueShape ex:s2 ] ; >>>> ex:constraint [ a sh:PropertyConstraint ; >>>> ex:predicate ex:p2 ; >>>> ex:valueShape [ a sh:Shape ; >>>> ex:constraint [ a sh:NodeConstraint ; >>>> sh:class ex:Student ] ] ] . >>>> ex:s2 a sh:Shape ; >>>> sh:constraint [ a sh:NodeConstraint ; >>>> sh:nodeKind sh:IRI ] . >>>> >>>> When treated as a shapes graph, an RDF graph that results from this >>>>Turtle >>>> syntax has three shapes in it >>>> 1. http://example.com/s1 >>>> 2. http://example.com/s2 >>>> 3. the blank node that is allocated when matching >>>> [ a sh:Shape ; >>>> ex:constraint [ a sh:NodeConstraint ; >>>> sh:class ex:Student ] ] >>>> >>>> peter >>>> >>>> >>>> On 04/18/2016 09:03 AM, Karen Coyle wrote: >>>>> 2. Shapes >>>>> >>>>> Is: "Shapes are instances of the class sh:Shape and define a group of >>>>> constraints that a set of focus nodes can be validated against." >>>>> >>>>> Suggest: "Shapes are graphs that are instances of the the class >>>>>sh:Shape. >>>>> Shapes define one or more focus nodes in a data graph and >>>>>constraints on >>>>> triples in those focus nodes. The triples in the focus nodes are >>>>>validated >>>>> against the constraints in the shape." >>>>> >>>>> I also suggest that we define "shape" as "an RDF graph of type >>>>>sh:Shape" and >>>>> not use "shape graph" but always use "shape" since "shape graph" is >>>>>redundant. >>>>> >>>>> I can make this change if we have agreement on it. If I don't hear >>>>>back I may >>>>> make this definition an issue. >>>>> >>>>> kc >>>> >>> >> > >-- >Karen Coyle >kcoyle@kcoyle.net http://kcoyle.net >m: 1-510-435-8234 >skype: kcoylenet/+1-510-984-3600 >
Received on Tuesday, 19 April 2016 17:23:05 UTC