Print

Print


> > That gives three options: index (Rob), element path (Ralph), or sort
> > key name (Alan).

> I think having 3 would be bad - overly complex. I think we all want to
> try and keep it simple.

> If you want sorting in SRU, doesn't this mean the sort specifications
> should be able to be reduced to a simple list of strings? (XML encoding
> parameters I think is ugly).

Ugly in general or Ugly in SRU?  I assume the second (otherwise you'd not
be bothering with SOAP at all) which I agree with.


> Using element paths I dislike because I don't know how to turn it into
> a Z39.50 sort request. It also relies on the XML structure of the

Element Spec is what we use.

> returned XML. What if I use an XSLT etc stylesheet to tranform the
> database stored XML into the returned XML (for supporting different
> schemas). In order to support the sorting as specified, I need to
> map the element names in the returne XML structure back to the database
> stored XML structure, then work out how to turn that into a Z39.50
> sort request which does not have element paths (if I am understanding
> the request).

Why wouldn't you use element paths?
Equally if you're doing XSLT at the SRW level, then this is where you'd
need to do the sorting as well for the different elements. Not pretty, but
that's what you get :)

I still believe that it would be useful to be able to do this, but not
essential if there's a sort by arbitrary string.
(Eg, for known XPATH supporting servers I can still send my XPATH request
and it'll know what to do)

> My final proposal (case 3) is not to have a direction attribute, but
> rather have it implied by the sort key name. That is, a single name
> I hesitate to say 'lets support asending/descending, but not case
> sensitivity or missing value action', only because someone may come
> along later and want it. But I also dislike putting too much complexity

Is there anyone who has a -need- which they can express in one sentence
where either of these are crucial?  Ascending/Descending -is- very
important (eg sort by date, sort by some number in the record) but case
and missing value seem less vital to me.

If there is a real need for them, then I think we should have them all as
separate parameters. If not, then I'm happy with titleAscending.

If the parameter is a single string, then we get useful side effects such
as:

Server supports a title index, but can't sort it internally. However it
can do a title sort somehow else, so supports a title keyword sort.  The
request for either will look like titleAscending, so the server doesn't
need to know which way the client thinks it should do it, it just goes off
and processes the request.

Theo says in a later email (paraphrased)
> There shouldn't be an error if it can't do the sort.

I disagree. There should be an something saying that the results aren't
sorted as you expect them to be.
No good having a server apparently honour a request for a search on title,
sorted by date and then getting back the unsorted results.

This can be very important if you only want one record back. For example
in a service that updates frequently (1/2 hourly) but not all records are
updated each iteration (eg some records update on the hour or every other
hour) then you can't predict whether or not the result has been correctly
sorted or not.
(For example weather report data from NOAA... no good sending up pilots
into what you think will be a clear blue sky only to have it not be
properly sorted by time and have it be a snow storm!)


Rob


--
      ,'/:.          Rob Sanderson ([log in to unmask])
    ,'-/::::.        http://www.o-r-g.org/~azaroth/
  ,'--/::(@)::.      Special Collections and Archives, extension 3142
,'---/::::::::::.    Twin Cathedrals:  telnet: liverpool.o-r-g.org 7777
____/:::::::::::::.              WWW:  http://liverpool.o-r-g.org:8000/
I L L U M I N A T I