W3C home > Mailing lists > Public > public-data-shapes-wg@w3.org > April 2016

Re: More wording

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>
Message-ID: <571571F3.8010703@gmail.com>
>
> 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

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:30:31 UTC