Changes in DQL (April 2003)
Richard Fikes
provided this summary of the differences between
DQL (August 2002)
and
DQL (April 2003).
This new version of DQL might
appropriately be characterized as a "minor revision" of the first version.
- The DQL specification is abstract in the sense that it does not
describe a normative external syntax for the language. However, the
language has a simple structure for which external syntaxes for various
usage environments can easily be constructed. Specifically, the
language is a collection of object types (e.g., query, query answer,
etc.) such that each instance of an object type consists of a set of
property-value pairs. The new specification explicitly points out that
structure of DQL and provides a pointer to a proposed XML syntax for the
language.
- A don't-bind variables list was added to a query so that all query
variables are explicitly listed in either the must-bind variables list,
the may-bind variables list, or the don't-bind variables list. That
change alleviates the need for variables to be syntactically
distinguishable in a query pattern.
- The term "answer set" was incorrectly used in the initial DQL
specification to refer to both the collection of answers in an answer
bundle and to the largest set of answers to a query that are entailed by
the answer KB such that no answer in the set is entailed by any other
answer in the set. In the new specification, the former has been
renamed "answer collection".
- As is common practice in data base query languages, a DQL query can
now optionally contain an "answer pattern" containing all of the
variables that the server is being asked to provide bindings for, and
each query answer contains an "answer pattern instance" that implicitly
specifies the bindings to those variables.
- Minor changes were made in the protocol for a query-answering dialogue
to strengthen its extensibility and to simplify its structure. In
particular, a "server continuation" was changed from being a component
of an answer bundle consisting of either a process handle or one or more
termination tokens to being an object containing a process handle and
optionally other property-value pairs that a client sends to a server.
Thus, now a server sends a client an answer bundle containing an answer
collection and either a process handle or a non-empty set of termination
tokens, and a client sends a server a server continuation in order to
request that the server produce additional answers. Also, a "server
termination" object type was added to the protocol enabling a client to
explicitly inform a server that no more requests for answers will be
made in a given query-answering dialogue.
$Id: changes.html,v 1.2 2003/04/07 19:21:40 mdean Exp $