- 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