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

Re: More wording

From: Karen Coyle <kcoyle@kcoyle.net>
Date: Mon, 18 Apr 2016 13:11:00 -0700
To: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
Message-ID: <57153F54.1060302@kcoyle.net>
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 20:11:30 UTC

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