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

Re: More wording

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>
Message-ID: <D33BB6CA.9B592%irene@topquadrant.com>
"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

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