- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Mon, 17 Apr 2017 06:36:09 -0700
- To: Holger Knublauch <holger@topquadrant.com>, "public-rdf-sha." <public-rdf-shapes@w3.org>
On 04/16/2017 05:55 PM, Holger Knublauch wrote: > Hi Peter, > > thanks for submitting 3 new test cases [1]. I made a couple of syntactic > corrections which you can track on github. Among the more critical changes were: > > - the sh:value of the values.ttl test is ex:i, not 5, because the query does > not return ?value and in that case the engine reverts to using the value node > (which is the focus node in this case), see [2] Yes, I forgot to set value. Thanks for the fix, and the fix to sh:sourceConstraint. I added another test where both $this and ?value are set from one VALUES construct. > - I have deactivated the bind.ttl test case [3] because it is unclear what it > is supposed to demonstrate. My current Jena-based engine returns no violation > there, while your test seems to expect one violation. Could you explain the > motivation for the test and the reason for your expected result? This is a complex example. The empty BGP at the start of the query is removed because of the simplification step 18.2.2.8 so $this is not bound at the beginning of the query. The SELECT * WHERE { } does not bind $this because $this is not in-scope in it, even though $this has a value from the empty BGP in it. Because $this does not have a value the BIND leaves ?that unbound. Because ?that is unbound, the BGP matches against the triple ex:j a ex:bad in the data graph. As there is a solution there is a violation of the shape. I modified the test to use ?value instead of ?that and to return ?value to better utilize the behaviour of pre-binding. > - I have deactivated the shared.ttl test case [4] because it does not reflect > the SHACL spec. The given validation result expects that the sh:node > constraint is producing a violation with sh:ClassConstraintComponent as > sourceConstraintComponent. However, the validation of sh:node (as explained in > [5]) produces results with sh:NodeConstraintComponent as results. In other > words, the results only report on conformance of the sh:node, and do not > "walk" into it. Please feel free to submit an update to that test. Yes, I was incorrectly thinking that sh:node constraints also reported their component violations, not just an overall violation. I have modified the test to demonstrate the shared violation. > Regards, > Holger > > > [1] > https://github.com/w3c/data-shapes/pull/50/files/f857d2014900854ea1a0cf2ad498c9d0ae03cc0b..de60116e88470f51320e2442cce8698d7a44c6c8 > > [2] https://www.w3.org/TR/shacl/#sparql-constraints-variables > [3] > https://github.com/w3c/data-shapes/tree/gh-pages/data-shapes-test-suite/tests/sparql/pre-binding > > [4] > https://github.com/w3c/data-shapes/tree/gh-pages/data-shapes-test-suite/tests/core/validation-reports > > [5] https://www.w3.org/TR/shacl/#NodeConstraintComponent > peter
Received on Monday, 17 April 2017 13:36:44 UTC