- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Fri, 21 Apr 2017 11:43:01 -0700
- To: Irene Polikoff <irene@topquadrant.com>
- Cc: public-rdf-shapes@w3.org
A SHACL implementation that silently ignores sh:sparql constructs produces an interoperability nightmare. For example, such an implementation will produce no violations for the shape ex:sparql a sh:NodeShape ; sh:targetNode ex:i ; sh:sparql "SELECT ?this WHERE { }" . A SHACL-SPARQL implementation will instead produce a violation. peter On 04/21/2017 03:39 AM, Irene Polikoff wrote: > Peter, > > If your implementation is SHACL Core only, how could SHACL-SPARQL constructs affect it? It would seem to me that the values in the sh:spraql triples would be no different to it than values in the ex:foo (or any user defined predicate) triples. > > Sent from my iPhone > >> On Apr 21, 2017, at 12:45 AM, Peter F. Patel-Schneider <pfpschneider@gmail.com> wrote: >> >> My alt-SHACL implementation does complete syntax checking, signalling whenever >> in encounters a shape or path or list that is not correctly formed. My >> implementation has a strict mode that signals whenever the putative shapes >> graph contains anything that violates any of the SHACL Core syntax rules or >> contains a recursive shape or contains SHACL-SPARQL constructs that could >> affect validation. To test this checking I had put together an RDF graph >> containing a comprehensive set of constructs that need to be checked. >> >> I just updated this graph, and the associated checking code, to incorporate >> the numerous additional syntax rules that were added when the SHACL document >> became a candidate recommendation. I include the graph here. It can be >> turned into a comprehensive set of syntax test cases for SHACL Core by just >> separating it into small graphs each containing one of the test shapes. >> >> The amount of code required to do complete syntax checking was quite modest. >> Running my implementation over the graph was helpful in finding bugs such as >> incorrect recursion checks in the path code. I strongly recommend that every >> SHACL implementation be run on every shape in this graph. >> >> Peter F. Patel-Schneider >> Nuance Communications >> <syntax.ttl>
Received on Friday, 21 April 2017 18:43:36 UTC