- From: Irene Polikoff <irene@topquadrant.com>
- Date: Mon, 18 Apr 2016 15:15:39 -0600
- To: kcoyle@kcoyle.net
- Cc: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
The 'groups' language only works given the context. It wouldn't work in a more general sense. One would not say that a Person groups names - this doesn't make sense, but one may say that a Family groups family members or People. In any case, Karen's proposed language works for me. Sent from my iPhone > On Apr 18, 2016, at 2:11 PM, Karen Coyle <kcoyle@kcoyle.net> 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 Monday, 18 April 2016 21:16:15 UTC