- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Fri, 9 Dec 2016 09:19:35 -0800
- To: Andy Seaborne <andy@apache.org>, public-rdf-shapes@w3.org
There is also divergence for se:s1 on the data graph ex:n rdf:type ex:c ; ex:p _:m . where the textual definition does not produce conformance and the SPARQL one does. Here the problem is with the SPARQL definition of EXISTS. peter On 12/09/2016 08:09 AM, Peter F. Patel-Schneider wrote: > Remember that the definition of pre-binding is as in the SHACL document, > Appendix A. The definition involves evaluation of SPARQL variables, which > does not happen when matching BGPs. > > peter > > On 12/09/2016 02:19 AM, Andy Seaborne wrote: >> Peter, >> >> On 09/12/16 02:46, Peter F. Patel-Schneider wrote: >> ... >>> The SPARQL definition here uses the following SPARQL query >>> >>> SELECT DISTINCT $this ?value >>> WHERE { >>> $this ex:p ?value . >>> FILTER NOT EXISTS >>> { $value rdf:type/rdfs:subClassOf* $class . } >>> } >>> >>> with this pre-bound to ex:n and class pre-bound to ex:c. >>> >>> According to the SHACL document >>> evaluating this SPARQL query will produce a non-empty solution sequence, >>> namely >>> { { (this, ex:m), (value,ex:l) } } >>> because >>> $this ex:p ?value . >>> will produce the set of solutions >>> { { (this, ex:n), (value,ex:m) } , >>> { (this, ex:m), (value,ex:l) } } >> >> I don't follow this part. >> >> On just the " $this ex:p ?value ." pattern, why, when ?this=ex:n, is the >> second solution present? >> >> I think there is only one match. { { (this, ex:n), (value,ex:m) } } >> and then the overall result is zero rows. >> >> >> For both proposal-A and proposal-B used for pre-binding, that seems to be the >> case. $this is restricted before the FILTER is applied. >> >> (NB I acknowledge that Proposal-A is not proposed for pre-binding and wasn't >> suggested as such) >> >> Andy >>
Received on Friday, 9 December 2016 17:20:17 UTC