I dislike using indexes because they are usually much broader than fields.
If I get a request to sort on 'name' and I have a dozen fields that look
like names, what do I do? How do I keep the user from being surprised? But
if the user asks for DC.Creator (probably nearly as broad as 'name' when I
map a USMARC record to DC) the user will get a record back where they will
see the records being sorted on the fields that they see.
From: Alan Kent [mailto:[log in to unmask]]
Sent: Thursday, June 20, 2002 8:46 PM
To: [log in to unmask]
Subject: Re: sort
> The sort parameter should be a tagpath (or list of paths) meaningful in
> requested schema.
Robert Sanderson wrote:
> For compatability, a CQL index would be nice as well in my opinion.
I prefer Roberts proposal for two reasons
(1) I like it ;-)
(2) Looking at the Z39.50 spec, I was not sure how to turn a 'tag path
meaningful in the requested schema' (by which it means the SRW schema??
I might be missing something here) into a Z39.50 sort operation.
To expand on (1), I like it because it has some relation to what you
write in queries. That is, you can use the same set of names.
To expand on (2), using a CQL index name, it will have an attribute list
associated with it. An attribute list can be plugged directly into
sortAttributes of the Z39.50 SortKey ASN.1 type.
But ZeeRex/explain might come in here too maybe. How do you 'explain'
what you can sort on in SRW. Maybe from the SRW point of view it should
be an independent set of 'named sort keys' where it is up to the
gateway implementation to specify how to turn the named sort keys into
sort specifications for a particular Z39.50 server. Looking at the Z39.50
sort request, there are lots of different ways to specify a sort key.
Allowing the gateway to choose whichever way it chooses to map the
sort key name to a Z39.50 sort request seems most flexible.
Note: sort keys can be given exactly the same name as indexes (you can
have an index name of 'title' and a sort key of 'title') which would
be good practice, but I can imagine having index names that are not
sortable, in which case that index name must not be a valid sort key.
But keeping sort key names and index names the same simplifies SRW
which is a good thing.
* I like using sort key names
* I don't care if they are the same as index names or different
(complexity versus power)