on sh:resultPath

>>>>>>>>>>>>>>>>ISSUE<<<<<<<<<<<<<<<<<<
The requirements for values of sh:resultPath in validation results are
impossible to achieve, poorly defined, contradictory, and problematic for
applications that consume validation reports..
>>>>>>>>>>>>>>>>ISSUE<<<<<<<<<<<<<<<<<<


3.4.2.2 Path (sh:resultPath)
Validation results may have a value for the property sh:resultPath pointing
at a well-formed property path starting with the given sh:focusNode. For
results produced by a property constraint, this path is always identical to
either the sh:predicate or sh:path of the constraint.


A property path is a "possible route in a graph between two graph nodes".
There is no definition of route to be found in the document.  It is thus not
possible to point to a property path, well-formed or not.

The values of sh:predicate and sh:path in shapes graphs are SHACL property
paths.  As objects of triples in a graph these values are nodes in the
graph, and certainly not routes of any kind.

Identity of RDF terms is not defined in RDF, so it is not completely clear
what the second sentence in the description above means.  The only
reasonable interpretation appears to be that value of sh:resultPath is the
same as the object of the sh:predicate or sh:path triple, which implies that
validation results will contain nodes taken from shapes graphs.  This is
contradictory as nodes are not paths.

This is also problematic for applications that consume validation reports as
it requires the ability to take a blank node from one graph and find the
same blank node in another graph, which is not always possible in RDF.


This is yet another case of malformed descriptions in the document.  The
document needs to be changed to provide a well-formed description for the
value of sh:resultPath in validation results.  A complete examination of the
document by a competent member of the working group is needed to find and
eliminate other similar problems in the document.


Peter F. Patel-Schneider
Nuance Communications

Received on Friday, 9 December 2016 01:30:32 UTC