- From: Lee Feigenbaum <lee@thefigtrees.net>
- Date: Thu, 12 May 2011 08:49:41 -0400
- To: SPARQL Working Group <public-rdf-dawg@w3.org>
I'm reviewing the latest set of changes.
In the section on boundedness (2.4) there is this note:
"""
Note that this condition does not capture passing bindings between
SERVICE pattern, e.g. in
{ ?X :p :o SERVICE ?X { ?Y :p :o } SERVICE ?Y { ?Z :p :o } }, SERVICE
?Y {...} is not service-safe, since ?Y is not strongly bounded here. In
order to capture the previous case, either SERVICE semantics have to be
order-dependent, or the engine has to determine an implicit order of
SERVICE calls that guarantees passing binding in the right-order:
{ ?X :p :o SERVICE ?Y { ?Z :p :o } SERVICE ?X { ?Y :p :o } }
The above query can be "emulated" with a nested SERVICE call as follows:
{ ?X :p :o SERVICE ?X { ?Y :p :o SERVICE ?Y { ?Z :p :o } } }
This only works if the called services support (nested) SERVICE patterns.
"""
If I understand correctly, the intent of our current effort at including
the notion of strongly bound is to prohibit a query that uses SERVICE
like this. Is this correct? If so, I will change the wording to reflect
this and to suggest that implementations might extend SERVICE by
detecting an execution order that guarantees variables used with SERVICE
are strongly bound.
thanks,
Lee
Received on Thursday, 12 May 2011 12:50:01 UTC