Excellent, thanks Ray. I approve of OASIS/SRU 2.0's approach in this
area. :)
Jonathan
Ray Denenberg, Library of Congress wrote:
From: "Jonathan Rochkind" <rochk...@jhu.edu>
But you will leave sorting as part of CQL too in any changes to CQL specs,
I hope? I think CQL has a lot of use even outside of SRU proper, so I
encourage you to leave it's spec not too tightly coupled to SRU.
The OASIS TC firmly supports this approach (and by "firmly" I mean 100%) so
the only way this could get changed is via public comment.
I think there are at least three ways to sort as part of (different
versions of?) SRU now!
1) An actual separate "&sortKeys" query paramater
2) Included in the CQL expression in "&query", using the "sortBy" keyword.
3) In draft not finalized, OASIS/SRU 2.0 methods of specifying XPaths for
sorting. [Thanks for including the link to the current SRU 2.0 draft, I
didn't know that was publically available anywhere, it's not really
googlable].
As you corrected yourself in a subsequent message:
Ah, I think I was wrong below. I must have been looking at different
versions of the SRU spec without realizing it.
SRU 1.1 includes a "&sortKeys" parameter, and CQL 1.1 does not include a
"sortBy" clause.
SRU 1.2 does NOT include a "&sortKeys" parameter, and CQL 1.2 does include
a "sortBy" clause.
Yes, that's correct.
Do I have this right? As SRU 1.2 is the only actual spec I have to work
with... am I right that either top-level "&sortKeys", or embedded in CQL
with "sortBy" would both be legal in SRU 1.2
No. Legal in 2.0 - the OASIS version, not legal in 1.2. In 1.2 it is not
legal to have a sort parameter in the request.
OASIS is standardizing SRU and CQL "loosely coupled" that is, SRU can use
other query languages and CQL may be invoked by other protocols, but they
are generally oriented towards being used together. But since SRU may be
used with a query language that might not have sort capability, the TC felt
it necessary to include sorting as part of the protocol. Conversely since
CQL may be used by a protocol that doesn't support sorting, similarly CQL
should support sorting. There is a section in the draft standard that
discusses what to do if a request has conflicting sort specifications.
--Ray