on validation reports

There is a lot of wording like
  A validation result MUST be produced for each value node that ...
in Shapes Constraint Language (SHACL) W3C Editor's Draft 02 December 2016.

It's not immediately clear just what a validation result is, but
  After validation, SHACL processors MUST return a validation report
  containing all validation results.
implies that a validation result includes an RDF node.
It's fairly obvious that a validation report is an RDF graph although this is not
explicitly stated, even in
  The result of a validation process is an RDF graph with exactly one SHACL
  instance of sh:ValidationReport.

So when validating the data graph
  ex:j rdf:type ex:d ;
    ex:q ex:i ;
  ex:i ex:p ex:i1 , ..., ex:i1000000000 .
against the shapes graph
  se:s rdf:type sh:Shape ;
    sh:targetNode ex:j ;
    sh:property [ sh:path ex:q ; sh:shape se:t ] .
  se:t rdf:type sh:Shape ;
    sh:property [ sh:path ex:p ; sh:class ex:c ] .
a SHACL processor MUST create an RDF graph with over one billion nodes.


There are lots of other problems related to this one.

For sh:ShapeConstraintComponent
  A validation result MUST be produced for each value node where validating
  the value node against the shape specified by sh:shape produces any
  validation results.
So a validation result is produced for the outermost shape in the shapes
graph below when validating the data graph
  ex:i rdf:type ex:c ; ex:p ex:j .
against the shapes graph
  se:s rdf:type sh:Shape ;
    sh:targetNode ex:i ;
    sh:shape [ sh:property ex:p ;
            sh:not [ sh:class ex:x ] ] .
because a validation result is produced from the innermost shape during the
validation of the middle shape.


Peter F. Patel-Schneider
Nuance Communications

Received on Saturday, 3 December 2016 04:09:56 UTC