proposal to close ISSUE-75 with a result vocabulary extension

Issue 75 needs a way to distinguish violations from errors

The reason the current result vocabulary cannot handle such cases is
because it is centered around the actual violation instances and thus, when
an error that cannot produce a violation instance occurs the current
modeling cannot capture it.
I do not suggest to change the current design which I find helpful in many
use cases but we can provide an alternative representation that captures
the result executions. This is also related to my proposed resolution of

I suggest we create a new class sh:StatusResult rdfs:subClassOf
that inherits the sh:source from sh:AbstractResult (based on my proposal in
and additionally has a property sh:status that represents the status of a
shape/facet execution:

The values it can take can be:
sh:Success # no errors found
sh:Fail # one or more errors found
sh:Error # an error during execution occurred
sh:timeout # a timeout occurred

The user can request the preferred result type at execution time. or maybe
there is a default format (e.g. the current) if no input is given.

This suggestion is based on the following diagram

In RDFUnit this result type is also extended with a second class (e.g.
sh:AggregatedResult) to provide the number of errors found and the error
prevalence. This is open to the WG to accept or not.


Dimitris Kontokostas
Department of Computer Science, University of Leipzig & DBpedia Association
Projects:, http://,
Research Group:

Received on Saturday, 1 August 2015 13:40:20 UTC