Print

Print


Ralph wrote:
> The sort parameter should be a tagpath (or list of paths) meaningful in the
> 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.

So:
* I like using sort key names
* I don't care if they are the same as index names or different
  (complexity versus power)

Alan