- From: Holger Knublauch <holger@topquadrant.com>
- Date: Mon, 14 Nov 2016 16:31:51 +1000
- To: public-rdf-shapes@w3.org
On 11/11/2016 14:55, Peter F. Patel-Schneider wrote: > Comments on editors' draft of 8 November > > There are still serious problems with the description of the basic > terminology and operation of SHACL. Among other problems, it is unclear > what a constraint or constraint component is, how constraints are validated, > how targets are determined, when targets are used, and how focus nodes are > determined. There needs to be a complete and thorough examination of the > document by the working group to check for problems in the definition of the > basic notions underlying SHACL. > > > Here are some specific problems that I noticed in a quick read of the first > two sections of the document. > > "A constraint component is an IRI in the shapes graph." However, most of > the IRIs that are constraint components do not show up in shapes graphs. I have switched to "A constraint component has an IRI". > > "A constraint is a node in the shapes graph". The first example, in Section > 1.4, talks about four constraints. Three of these are obvious nodes in example > shapes graph, but the node for the fourth is unclear. Switched to "The shape itself is also a constraint on the focus nodes...". > > "The validation report is the result of the validation process". Section > 1.4 states that a particular graph *is* the result of validation, indicating > that no additional information can be included in the validation report. > How then can properties, like sh:name, that seem to have optional status be > useful? The intended interpretation of the spec is that the validation report graph may include other triples. Is there a specific sentence which excludes this possibility? I don't see such a sentence, esp not in 1.4. > > "Targets MUST be ignored when a shape is processed as a value of parameters > of shape-based constraint components (i.e. sh:shape), logical constraint > components (i.e. sh:or), or filter shapes (sh:filterShape)." This notion of > processing is not defined in the document. Switched to "Targets MUST be ignored when a shape is *used in a validation process* as a value of parameters ... ". > > "A node target is defined with the sh:targetNode predicate. Each value of > sh:targetNode can be an IRI or a literal. Each value of a node target > defines a node to validate in the data graph." This doesn't say how a node > target specifies targets for a shape. We have used similar prose for the other built-in target types, and I believe it's sufficiently clear with the additional sentence below: > > "The following SPARQL query specifies the semantics of node targets. The > variable targetNode is assumed to be pre-bound to the given value of > sh:targetNode." This also doesn't say how a node target specifies targets > for a shape. > > "SPARQL DEFINITION > SELECT DISTINCT ?this # ?this is the focus node > WHERE { > BIND ($targetNode AS ?this) # $targetnote is pre-bound to ex:Alice > }" This also doesn't say how a node target specifies targets for a shape. I have added a sentence to all of these SPARQL queries: "All <a>bindings</a> of the variable <code>this</code> from the <a>solution</a> become target nodes." > > "A filter is a shape in the shapes graph that further refines which nodes in > the data graph are validated against a constraint or all the constraints of > a shape. A filter is specified as an object in a triple with sh:filterShape > as the predicate. Only those nodes that successfully validate against all > the filters of a constraint or a shape become focus nodes for the constraint > or the constraints of the shape." This doesn't say how filters interact > with targets. It appears that filters do *not* filter out focus nodes that > come from parameters that have a shape as value, as the focus nodes in this > case are specified by the referring constraint. I don't see why this specific paragraph that you quote needs to mention targets. Filters are independent from targets (or sh:shape constraints) - they always apply. I don't understand your point about the referring constraint. Maybe an example would help. > > "The subjects of these triples can be constraints or shapes." This doesn't > mention expected type so the values of sh:filterShape may need explicit > typing. In particular, the example in Section 2.3 would need to have an > explicit type triple. I don't see that connection. The sentence about the subjects is about the surrounding shape, e.g. ex:ExampleFilteredShape. You state that the values of sh:filterShape may need rdf:type triples. We also don't state that shapes or constraints need an rdf:type. > > "Note that during the validation against filter shapes, the targets of these > filters are ignored." This means that the targets of any shape that is a > value for sh:filterShape are always ignored as that shape is a filter shape. I believe "during the validation against filter shapes" makes this clear enough, but if you have specific suggestions on how to make this clearer, I'd be happy to integrate them. > > "The objects of triples with sh:property as predicate have > sh:PropertyConstraint as expected type." "The values of sh:shape must be > IRIs or blank nodes. The expected type of these values is sh:Shape." So a > property that is a value of both sh:property and sh:shape is both a property > constraint and a shape. So > ex:s1 rdf:type sh:Shape ; > sh:targetClass ex:Student ; > sh:property ex:s2 . > ex:s0 sh:shape ex:s2 . > ex:s2 sh:predicate ex:p ; > sh:class ex:Person . > would fail on > ex:i1 rdf:type ex:Student . I think this is the same example as in: https://lists.w3.org/Archives/Public/public-rdf-shapes/2016Nov/0005.html and I have responded there. > > "The class sh:Shape is defined as rdfs:subClassOf sh:Constraint. Thus, every > shape is also a focus node constraint." This doesn't follow. I have dropped the "Thus, ". You can review my edits at https://github.com/w3c/data-shapes/commit/ec1ae4fdf03e8ed8e0330cf4c9f129b355f8620a Please follow up where you consider these edits insufficient. Thanks Holger > > > Peter F. Patel-Schneider > Nuance Communications > >
Received on Monday, 14 November 2016 06:32:24 UTC