on focus nodes

The notion of focus nodes is poorly defined in the SHACL document.

The first mention of focus nodes is:

"Focus Node
A node in the data graph that is validated against a shape is called a focus
node."

This indicates that any node that is validated against a shape is a focus
node but doesn't say how they are determined.

Right after, there is

"Target
A target relates a shape with its focus nodes."

This indicates that the only focus nodes are those that come via targets.

Later there is

"Shapes define constraints that a set of focus nodes can be validated
against. The set of focus nodes for a shape may be defined explicitly in a
shape using targets and filters. The focus nodes may also be determined as
part of the validation of constraints that include references to shapes
using properties such as sh:shape and sh:or."

This states that here are two ways of determining the focus nodes of a
shape.  Either all the focus nodes come from targets and filters or all
the focus nodes are determined during validation.

The diagram just after then shows targets selecting focus nodes, counter to
having both targets and filters selecting focus nodes.



This is another example of loose terminology in the SHACL document.  The
entire document needs to be closely examined to ensure that the term focus
node is defined clearly and coherently.  This needs to be accompanied by a
repeated examination of the document for loose terminology that only
terminates when no examples of loose terminology are present.


Peter F. Patel-Schneider
Nuance Communications

Received on Tuesday, 4 October 2016 14:27:22 UTC