- From: Gregory Williams <greg@evilfunhouse.com>
- Date: Thu, 16 Jun 2016 15:44:42 -0700
- To: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>
- Cc: public-sparql-dev@w3.org
On Jun 16, 2016, at 3:38 PM, Peter F. Patel-Schneider <pfpschneider@gmail.com> wrote:
>
> The definition of EXISTS in SPARQL 1.1 Query uses the substitute function.
> There are multiple problems with substitute already reported. Here is
> another one.
>
>
> Consider
>
> SELECT ?x WHERE {
> :s :p ?x .
> FILTER EXISTS { ?x :p ?y . }
> }
>
> on the graph
>
> :s :p _:x .
>
> The EXISTS gets { { (x,_:x) } } and then does a substitute which results in
> BGP( _:x :p ?y )
> This has a solution of
> { { (y,:x) } }
> because the blank node that is the mapping of x can itself be further mapped
> to :s in the RDF instance mapping part of a pattern instance mapping.
Peter,
Can you expand on why you believe "the blank node that is the mapping of x can itself be further mapped to :s”? I’m not sure I follow.
thanks,
.greg
Received on Thursday, 16 June 2016 22:45:07 UTC