Re: Qualifier Combinations in CQL (Was: Bib-2 and the DC-Lib)

On Wed, Apr 24, 2002 at 09:45:02AM -0400, LeVan,Ralph wrote:
> Claim #1.  Users think about indexes and databases think about indexes.  So
> why are we putting attribute combinations on the wire?
> 
> Claim #2.  Supporting arbitrary attribute combinations from clients does not
> improve interoperability.  That's why we're busy creating profiles now.

Having just tried to build my first Bath conformant database, I agree
with the basic sentaments of the above. My first job was to try and
work out which attribute types to use to identify an index, and then
which other attribute types to bind on to operators that modified the
behaviour of the query. I drew up a big table of all the Bath queries
and attribute combinations, then tried to look for patterns in the
table to see which attribute types to look at to pick which index to
use.

I ended up using position-in-field to decide between a keyword index
and a complete value index - completness turned out not to be idea
because of certain combinations of some of the attributes did not
map nicely to the right indexes.

The other attributes that I used to choose an operator for (for example,
relation and truncation) are a bit weird really. They are in different
attributge types, but you can either use relation:equal with any
truncation value, or do-not-truncate with any relation. Mixing the
two is weird (give me all values greater than than the left
truncated string "foo"). You can contrive some semantics for it, but
no-one ever issues the query so why bother?

So I would extend the above claim 1 only slightly to say the people
doing queries care about indexes *and* how to use the index (a single
operator such as relation, truncation, stemming etc). I agree with claim 2.
Sure there is power, but for most people its just too confusing and too
hard to exactly agree what it means.

Alan

Received on Wednesday, 24 April 2002 23:59:26 UTC