[Koha-zebra] Incomplete CQL Support in Net-Z3950-ZOOM

Mike Taylor mike at miketaylor.org.uk
Wed Dec 21 01:24:54 CET 2005


> Date: Fri, 16 Dec 2005 15:05:01 +0100
> From: Thomas D <koha at alinto.com>
>
> I have found some issues with Net-Z3950-ZOOM for the use of CQL, as
> the underlying query syntax for Koha in 3.0 and beyond.

Hi, Thomas, thanks for your comments.

> "scan()"
> ...
> "All of this is done by using a single term from the PQF query as
> the scan() argument. (At present, only PQF is supported, although
> there is no reason in principle why CQL and other query syntaxes
> should not be supported in future)."
> 
> Scan has many potential very important applications for guiding user
> queries based on the contents of the record instead of requiring the
> user to do more guessing for what query terms may be actually
> present in the index for the database of records.

I agree.  I have added support for CQL scanning to ZOOM-Perl (and
therefore to the underlying ZOOM-C).  It's tested, working and checked
into CVS, and should be released some time in the next few days.  So
now you can say:

	($ss, $n) = $conn->scan(new ZOOM::Query::CQL('dc.title=dinosaur');

(You may applaud.)

> "sortby()"
> ...
> "It ought to be possible to sort by CQL query, too, but at present
> limitations in the underlying ZOOM-C library make this impossible."

Yeah, I was talking complete cheese there, sorry.  Sort specification
in ZOOM-C (and therefore ZOOM-Perl) are in a completely separate
language that has nothing to do with either CQL or RPN.  The comment
in the documentation is meaningless.  (It'll be fixed in v1.01.)

> Is the lack of sortby() support for CQL merely a significant
> inconvenience rather than something that would absolutely prevent
> the use of CQL when sorting records by some element is needed?

I see the the documentation is unclear as well as incorrect :-)  
There is no problem at all with using CQL to search and then sorting
the result.  What I was lamenting was that CQL can't be used to
specify the sort criteria themselves.  Well, duh!  Neither can FORTRAN
or Serbo-Croat.  That's because none of them are sort-specification
languages.

So there is no problem here.

In the medium term, plans are afoot to extend the CQL specification
with syntax for sorting like this:
	dc.author=Adams sortby dc.date dc.title
Once this is agreed, ZOOM-C will no doubt implement it, and therefore
so will ZOOM-Perl.  "Great things are afoot."

> It would be a shame if these issues mitigated against using CQL, the
> otherwise best tool for the job.

Agreed.

 _/|_	 ___________________________________________________________________
/o ) \/  Mike Taylor  <mike at miketaylor.org.uk>  http://www.miketaylor.org.uk
)_v__/\  "Connery doesn't act anymore, he just plays Sean Connery" --
	 Richard Sherbaniuk.






More information about the Koha-zebra mailing list