$shapesGraph and sh:hasShape

The third argument to sh:hasShape is "The IRI of the current shapes graph."
This doesn't make sense in a number of ways.

What happens if the current shapes graph has more than one IRI?  What happens
if the current shapes graph does not have an IRI?  What does it mean for a
graph to have an IRI at all?

What happens if the third argument to a call to sh:hasShape is not the IRI of
the current shapes graph?

The current shapes graph is known to SHACL, so there is really no need at all
to make it an argument to sh:hasShape.


This then brings up a larger issue.

It appears that the SHACL specification is assuming that the shapes graph, at
least, is a named graph in an RDF dataset or store.  However, there is no
discussion of this assumption.  Either the assumption has to be made explicit
or the need for it removed.


Also, sh:hasShape does not take SHACL parameters, as incorrectly stated in
Appendix A.


Peter F. Patel-Schneider
Nuance Communications

Received on Saturday, 24 September 2016 22:41:46 UTC