- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Mon, 18 Apr 2016 16:46:59 -0700
- To: Irene Polikoff <irene@topquadrant.com>, kcoyle@kcoyle.net
- Cc: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
> > A graph of triples representing shapes is called a 'shapes graph'. appears to rule out triples in the graph that are not part of shapes. peter On 04/18/2016 03:04 PM, Irene Polikoff wrote: > Come to think of this some more, I don't like > >>> A set of shapes that defines validation rules for a data graph (?or a >>> portion of a data graph?) is called a 'shapes graph'. > > It sounds like there could be a set of shapes defining validation rules and > then a set of shapes defining something else. Also, not sure about using the > term 'validation rules'. > > Any reason we can't simply say: > > A graph of triples representing shapes is called a 'shapes graph'. > > Sent from my iPhone > > On Apr 18, 2016, at 2:15 PM, Irene Polikoff <irene@topquadrant.com > <mailto:irene@topquadrant.com>> wrote: > >> 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 >>> <mailto: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 <mailto:kcoyle@kcoyle.net> http://kcoyle.net >>> m: 1-510-435-8234 >>> skype: kcoylenet/+1-510-984-3600 >>>
Received on Monday, 18 April 2016 23:47:29 UTC