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

Re: shapes-ISSUE-193 (Focus nodes): Targets can be refined; focus nodes do not change

From: Holger Knublauch <holger@topquadrant.com>
Date: Thu, 3 Nov 2016 11:31:06 +1000
To: RDF Data Shapes Working Group <public-data-shapes-wg@w3.org>
Message-ID: <e764e497-bf91-ae06-7bd1-d6384a3dc7c9@topquadrant.com>


On 28/10/2016 2:50, RDF Data Shapes Working Group Issue Tracker wrote:
> shapes-ISSUE-193 (Focus nodes): Targets can be refined; focus nodes do not change
>
> http://www.w3.org/2014/data-shapes/track/issues/193
>
> Raised by: Karen Coyle
> On product:
>
> Focus nodes are defined as "A node in the data graph that is validated against a shape is called a focus node."
>
> Section 2. further defines focus nodes like this:
>
> "The set of focus nodes for a shape may be identified as follows:
>
> *specified in a shape using targets and filters,
> *specified in any constraint that references a shape in parameters of shape-based constraint components (i.e. sh:shape) or logical constraint components (i.e. sh:or),
> *specified as input to the SHACL processor for validating specific nodes from the data graph against the shape, or
>
> Shapes can also provide non-validating information, such as labels and comments."
>
> (That last sentence is a non sequitur because the section is about focus nodes only.)
>
> Section 2.1 says:
>
> "2.1 Targets
>
> A target provides one way to specify potential focus nodes for a shape."
>
> and
>
> "Not all target nodes become focus nodes. When a shape includes filters, filters can remove nodes specified by targets from the set of the shape’s focus nodes."
>
> This seems to state that the nodes specified by targets ARE focus nodes. I would end this after "targets" in the second sentence.

Done: 
https://github.com/w3c/data-shapes/commit/c1855ed19630c9262bbe058e7880887e86dc56dd

>
> Then, section 2.2 says:
>
> "2.2 Filter Shapes
>
> A filter is a shape in the shapes graph that further refines the focus nodes in the data graph that are validated against a constraint or all the constraints of a shape."
>
> Again, this says that there are focus nodes that are refined - but above it seems to say that only the actual nodes that are validated are focus nodes. Instead, filters act on targets, not focus nodes.

No, filter shapes *do* act on focus nodes, not (only) on targets. 
Filters are *always* evaluated, even if a shape is "directly" 
referenced, e.g. by ShEx-style targetless invocation or when they are a 
result of sh:shape only.

Can we close this ticket?

Thanks
Holger


> This could be changed to:
>
> "A filter is a shape in the shapes graph that further refines the definition of targets."
>
> This type of editing should be continued throughout wherever targets and focus nodes are mentioned.
>
> My reading of the intended sense of focus nodes is that focus nodes are not defined until all targets, shapes and constraints are applied. In this case, the constraints are only those that can further define the targeted nodes, but I'm not sure which constraints are under consideration for this - some of them? all of them?
>
>
>
>
Received on Thursday, 3 November 2016 01:31:41 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 3 November 2016 01:31:41 UTC