Re: updated draft

On 04/02/2017 04:07 PM, james anderson wrote:
> good morning;
> 
>> On 2017-04-03, at 00:29, Peter F. Patel-Schneider <pfpschneider@gmail.com> wrote:
>> […]
>>>
>>> the text of the recommendation does not require that the operations necessary to implement exists be performed in the lexical domain and, were it to have, in a manner which conflates blank nodes and nondistinguished variables.
>>>
>>> best regards, from berlin,
>>> ---
>>> james anderson | james@dydra.com | http://dydra.com
>>
>> Ok, so there we differ.
> 
> as we have for months.
> 
>>  I do not see any way that
>> https://www.w3.org/TR/sparql11-query/ can be construed in this way.
> 
> try a thought experiment.
> just for a second.
> 
>>  There is
>> nothing in the document at all to support any reading other than the one where
>> substitution works on expressions in the SPARQL algebra, replacing pieces of
>> this algebra by other pieces of this algebra, and the result of substitution
>> is to be treated just like every other construct in the SPARQL algebra.
> 
> imagine that the algebra were to include typing adequate to differentiate between nondistinguished variables and blank nodes.
> just for a second.
> consider the consequences.
> just for a second.
> consider whether that contradicts the recommendation text.
> just for a second.
> i suggest it does not, but i understand, you do not agree.
> should it, consider how the text might conceivably be modified to permit such an interpretation - as  aberrant, unlikely and untenable as it may be.
> if such a revision were to be possible, how would it compare in complexity with the mechanisms suggested by the current “exists” draft?
> 
> best regards, from berlin,
> ---
> james anderson | james@dydra.com | http://dydra.com

That doesn't work because there are limitations on the mappings of variables
in SPARQL.

>From Section 18.1.18

Definition: Solution Mapping
A solution mapping, μ, is a partial function μ : V -> RDF-T [where T is the
set of RDF terms]. The domain of μ, dom(μ), is the subset of V where μ is
defined.

So the only possible things that can be substituted in are RDF terms, i.e.,
blank nodes, IRIs, and RDF literals.  So the only things that can be
substituted for a variable in a BGP are blank nodes, IRIs, and RDF
literals.   There is no room for anything else to be added.   Then blank
nodes substituted in are subject to mapping from the RDF instance mapping
part of pattern instance mappings in Section 18.3.1.



It is certainly possible to modify the definition of SPARQL by 1/ lifting
the limitation on solution mappings so that their range is the union of RDF
terms and a disjoint copy of blank nodes, 2/ changing the definition of
pattern instance mapping so that elements of this disjoint copy are mapped
to the blank node that they are a copy of, and 3/ changing the substitution
function for EXISTS so that elements of the disjoint copy are subsituted in
instead of blank nodes.  However, this would be a non-compatible change to
SPARQL and neither an extension nor an interpretation.

Peter F. Patel-Schneider
Nuance Communications

Received on Monday, 3 April 2017 05:00:57 UTC