Re: DAML Query Language (August 2002) released

> What's the thinking behind must- vs. may-bind? I gather this isn't altering
> the result at all, but just telling the server its options when returning
> the results to the client. Is that right? I can see the utility of bind vs
> no-bind but why is it necessary/desirable to distinguish between must and
> may?

The may-bind variables enable a client to ask for bindings if the server
can produce them but still allow the server to produce answers when it
can only infer the existence of the answer and not the binding.  For
example, a client might ask for the father of a particular person P with
a query pattern of the form "(hasFather P ?x)", and say that ?x is a
may-bind variable.  If the server can determine a value of hasFather for
P, then it can return an answer with a binding for ?x.  However, if it
cannot determine a value, but knows from a cardinality restriction that
such a value exists, then it can still return an answer but without a
binding for ?x.

> Is it allowable to pass an empty answer KB pattern if a query premise is
> included? seem this might be useful for dumb clients that want to bounce
> their data + queries off of a query server.

We didn't explicitly allow for that option, but I don't think the answer
KB being empty (or the answer KB pattern consisting of an empty list of
KB references) is inconsistent with the spec.  We can consider making
that option explicit in the next version of the spec.

Richard

Received on Friday, 30 August 2002 14:24:26 UTC