- From: Alan Kent <ajk@mds.rmit.edu.au>
- Date: Thu, 25 Apr 2002 13:58:53 +1000
- To: www-zig@w3.org
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