[Ex-plain] ZeeRex - add 'operators'?
ajk at mds.rmit.edu.au
Wed May 22 03:52:42 CEST 2002
On Tue, May 21, 2002 at 12:14:23PM +0100, Mike Taylor wrote:
> > > > My feeling is that we are well past the point of diminishing
> > > > returns here. Remember, everyone, that one of our main goals
> > > > was to make Less is more.
> > >
> > > I agree with Mike here - which is why I proposed it at a global
> > > level. I agree its not perfect, but repeating the information per
> > > index seemed so highly redundant that I did not like it either. A
> > > server can always reject the query if the combination is not
> > > valid.
> > Then why bother having it at all?
Because without it,
* I cannot express a greater than query
* I cannot express a truncation query
I have a database that supports the GEO attribute set, but not Bib-1.
That is, no Bib-1 attributes are supported at all. How do I do a query
on it? I know the attribute list for index names that I can search on.
But I do not know the attribute to add to do right truncation.
The context I am looking at is turning a CCL or CQL query into an
RPN tree. ZeeRex now has wonderful names on indexes that I can use
in a CCL or CQL query. But I do not know how to do truncation or
greater than, unless I hard code in Bib-1 knowledge. I am trying
to avoid mandating Bib-1 knowledge in CCL/CQL -> RPN conversions.
I agree - you can come up with weird queries. The trade off is between
being exhaustive (which would be formally correct - just very long
in terms of the XML file), and pragmatic. If formal correctness is
required (and I have no complaints with this), how about something
New section listing all operators and the attribute lists they bind
to for this database (right-truncate, greater-than, overlaping-region)
(as I proposed previously).
For each index, list all the operator names supported by that index.
(This is in addition to my previous proposal.)
That is, don't repeat the attribute lists for each index, just the
operator names. That way legal combinations for each index are formally
defined (someone can omit them all by the way - just a CCL/CQL to RPN
converter might not do such a good job).
This would prohibit any queries not supported by a server, and avoid
*too* much bloat to a ZeeRex record. And its all optional: if not
defined, the server does not advertise how to implement greater than,
right truncation etc.
More information about the Ex-plain