- 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>
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