This makes some amount of sense, thanks.

I actually kind of liked the sorting as part of CQL in SRU 1.2. I see how XPath sorting can be convenient too.

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. 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].

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 (whether a given server supports one or both of them is a different question -- but they are both legal to spec, yes?).

I'd actually strongly encourage you to leave both of them as legal to spec in SRU 2.0, they make things much simpler to work with (although also less flexible; that's generally the trade-off) then requiring XPath's to be specified. Especially when a corpus being searched may include records in diverse and varied and inconsistent record schemas.

Jonathan

Ray Denenberg, Library of Congress wrote:
From: "Jonathan Rochkind" <rochk...@jhu.edu>
Another question though. I note when looking up schemaInfo... I'm a bit confused by the "sort" attribute. How could you sort by a schema? What is this attribute actually for?


Well indulge me, this is best explained by the current OASIS SRU draft.

(The current and earlier specs don't do a good job here. But for background if interested: sorting as an SRU function was supported in SRU 1.1 and taken out of version 1.2, replaced by sorting as a function of the query language rather than the protocol. For the OASIS work it's in both. For the current spec at LC, which reflects 1.2, the attribute doesn't even make sense. If you go back to the 1.1 archive it does. Still, the OASIS document treats it more clearly.)

See http://www.loc.gov/standards/sru/oasis/sru-2-0-draft-most-current.doc See section 9.1.

So essentially, when you sort in SRU, you provide an XPath expression. The XPath expression is meaningful in the context of a schema, but the *record schema* may not be the most meaningful schema for purposes of sorting, there may be another schema more meaningful. So, you have the capability to specify not only a record schema but an auxiliary sort schema.

A given schema that an Explain file lists will usually be one that is used as a record schema, but it may also be usable as a sort schema. That's what the sort attribute tells you.

--Ray

Reply via email to