Re: bnodes as answer bindings

It turns out that DQL in fact has the standard distinguished/non- 
distinguished variable distinction (though it doesn't call it that  
must-/may-bind vs. don't-bind, where "may" bind are a kind of  
optional thingy), does not allow for semi-distinguished variables,  
and requires non-redundancy.

 From <http://www.daml.org/2003/04/dql/dql>:

"""   An answer pattern instance that is the answer pattern with each  
of the must-bind variables and zero or more of the may-bind variables  
(and none of any other variables that occur in the answer pattern)  
replaced by a URIref or literal."""

That's the restriction to the active domain. Since the values of a  
don't-bind variable aren't part of the answer pattern instance, they  
are not part of the answer.

"""5.      Suppose Q is the query pattern for the query of which this  
is an answer, and B is the subset of the binding set consisting of  
all the bindings to variables in Q.  We write B(Q) to refer to the KB  
obtained by applying the bindings B to Q, i.e., by substituting the  
URIref or literal that is associated with v for every variable v that  
has a binding in B.  B(Q) may contain some variables from Q that are  
not replaced by B; we refer to these variables as remaining  
variables."""

*Remaining*! But, they are *just variables*! Yet they called them foo- 
variables. When, like in algebra and the lambda calculus, they are  
*nothing more or less* than *variables*.

(Just for the record, I don't object to this qualification of  
"variable" :) And while I think Pat's windging about "semi- 
distinguished" is  just off base, it's not as off base as this :))

"""An interpretation I satisfies B(Q) if there is a mapping C from  
the remaining variables of B(Q) to the universe of I such that I+C  
satisfies B(Q); that is, if the interpretation can be extended to  
provide interpretations of the remaining variables in some way that  
makes B(Q) true."""

And there is binding to arbitrary elements of the domain.

"""Then, in the usual way, we say that the answer KB entails B(Q)  
just in case B(Q) is true in every interpretation that makes the  
answer KB true.  Intuitively, this means that the remaining variables  
are treated as existential 'blanks', which indicate that something  
exists without saying what it is.  The condition, then, that must be  
satisfied by the binding set is that the answer KB entails B(Q).""""

I think it's unfortunate that they introduced this new terminology,  
but ok. "Don't-bind" is a little funny, but eh.

"""The answer set of a query is the largest set of query answers that  
are entailed by the answer KB such that no answer in the set is  
entailed by any other answer in the set."""

Non-redundancy.

Pat  Hayes is listed as an editor, but, of course, it shouldn't be  
construed that he endorsed these distinctions and approaches, or that  
he wordsmithed these passages.

I'm ready to take the historical debate off list, if people so  
desire. Or you can just delete the messages.

Cheers,
Bijan.

Received on Monday, 7 August 2006 16:22:13 UTC