on property paths in SHACL

Following up one of the recent responses to my comments on Shapes Constraint
Language (SHACL) lead me to look at how property paths work in Shapes Constraint
Language (SHACL), W3C Editor's Draft 22 September 2016.


The definition of property paths includes:
"A valid SHACL property path p is represented by an IRI or a blank node that
can be correctly traversed recursively using the following rules."

The use of "recursively" is incorrect here.  There is no need to use a
recursive process here at all.  The use of "traversed" is incorrect here.
There is no need to traverse anything here at all.

A much better wording is
"A valid SHACL property path p is represented by an IRI or a blank node that
satisfies the following conditions."

It is possible for a node to both be a valid property path and an invalid
property path, which does not seem to make any sense.

It is possible for a non-invalid property path to satisfy both rule 4 and
one of the other rules. What happens then?

The definition of property paths contains a use-mention error.  A property
path is represented by a node but then the path itself is treated as if it
were a node in an RDF graph.

As a not-invalid property path cannot have multiple outgoing edges it is
hard to add extra information to property paths.

The SPARQL path resulting from rule 2 is not defined.  As well, "value of
path" is not defined.   It appears that the intent is that p itself is an
RDF list, but that would make p be an invalid SHACL property path.

The entire section needs to be completely rewritten.



Peter F. Patel-Schneider
Nuance Communications

Received on Friday, 23 September 2016 15:26:12 UTC