- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Mon, 20 Feb 2017 07:43:16 -0800
- To: "public-rdf-shapes@w3.org" <public-rdf-shapes@w3.org>
There needs to be a requirement that SHACL implementations provide an interface that signals whether the shapes graph argument to validation conforms to the syntactic requirements of SHACL Core, for SHACL Core implementations, or SHACL-SPARQL, for SHACL-SPARQL implementations. This does not mean that a SHACL implementation has to do this determination every time performs validation, just that the SHACL implementation has to provide an interface that does perform complete syntax checking. For example, it is currently possible for SHACL implementations to implement the following shape as requiring that all SHACL instances of ex:C1 be any of ex:i1, ex:i2, ex:i3; or as requiring that all SHACL instances of ex:C1 be either ex:i1 or ex:i2; or by signalling a syntax error; or indeed by any behaviour whatever. se:s1 rdf:type sh:NodeShape ; sh:targetClass ex:C1 ; sh:in _:b1 . _:b1 rdf:first ex:i1 ; rdf:rest _:b2 ; rdf:rest _:b3 . _:b2 rdf:first ex:i2 ; rdf:rest rdf:nil . _:b3 rdf:first ex:i3 ; rdf:rest rdf:nil . If there is not such a requirement interoperability will be severely compromised. Users of a SHACL implementation will have no way of determining whether their shapes graphs can be interoperably processed by other SHACL implementations. Peter F. Patel-Schneider Nuance Communications
Received on Monday, 20 February 2017 15:43:53 UTC