- From: Dimitris Kontokostas <kontokostas@informatik.uni-leipzig.de>
- Date: Tue, 19 Apr 2016 23:23:31 +0300
- To: Karen Coyle <kcoyle@kcoyle.net>
- Cc: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>, "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
- Message-ID: <CA+u4+a0eVdvv=efNJu=AGs=zm5=BAhnxFxTVqGGAaoEeM9y3Yw@mail.gmail.com>
Thank you Karen for offering editing suggestions. On Tue, Apr 19, 2016 at 7: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. > I recently changed all examples and split the shapes & data graph to make such cases more clear and in section 2 all selected focus nodes are marked as green to further highlight how scopes & filters work. in this case ex:Alice is referenced from the shapes graph and the node should exist in the data graph as well > 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. > This is a typo, "shape" should be used > Again, I'd like to see editorial changes of this nature made, but am > unclear how to coordinate with the current editors. > What Arnaud suggested is a good approach & faster but we can also transfer your edits if you are not comfortable with pull requests. let us know what you prefer Best, Dimitris > > 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 > > -- Dimitris Kontokostas Department of Computer Science, University of Leipzig & DBpedia Association Projects: http://dbpedia.org, http://rdfunit.aksw.org, http:// http://aligned-project.eu Homepage:http://aksw.org/DimitrisKontokostas Research Group: AKSW/KILT http://aksw.org/Groups/KILT
Received on Tuesday, 19 April 2016 20:24:27 UTC