LISTSERV mailing list manager LISTSERV 16.0

Help for ZNG Archives


ZNG Archives

ZNG Archives


ZNG@C4VLPLISTSERV01.LOC.GOV


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

ZNG Home

ZNG Home

ZNG  February 2002

ZNG February 2002

Subject:

Re: CQL - what do people want?

From:

Reply-To:

Z39.50 Next-Generation Initiative

Date:

Thu, 14 Feb 2002 12:37:55 +1100

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (121 lines)

On Wed, Feb 13, 2002 at 07:44:25AM -0500, LeVan,Ralph wrote:

In general I agree with what Ralph has said, so I am only replying
to areas I don't necessarily agree with.

> > Do people want to be able to take one query and issue it against
> > multiple collections without change?
>
> I don't think so.  All our queries are explicitly against a single database.

Personally I think it is useful to be able to take one query and fire
it against multiple servers, as some others have also mentioned.
SRW does not address distribution, but a client (as now in Z39.50)
I think certainly will want to be able to do distribution.

The only ramification of this on CQL is that the approach of profiles
is a good thing. Having consistent naming is good. In one way, I see
this as a chance to "get it right" compared to Z39.50. It is
unfortunate that different Z39.50 servers interpret the same
query in different ways. I would hope with CQL that there would
be a single interpretation of all the query operators. There may
be different mappings made by servers when mapping to Z39.50
attribute lists, but a profile at the CQL level (which may be
sharable with CCL by the way) would be great.

> > - All text to be searched to always be inside quotes. This allows new
> >   reserved words to be added later without breaking old queries.
>
> Sorry, but the "easily human enterable" argues against this one.  Certainly
> optional, but not mandatory.

The reason I propose this is based on our experience over the past
years using CCL. There may be other good solutions, so I will expand
on the problem and see if anyone else has a good suggested solution.

With CCL, there are a set of reserved words. But the CCL standard I
have is *very* vague about grammar. There is no BNF-style grammar.
It just gives examples. So you can refer to old result sets using S1,
S2 etc. But Z39.50 allows set names to be any string (not just numbers).
So we allowed S=default or S1. But set names can contain spaces,
so we allowed S="this or that", S=default, S1. But then there is
punctuation (comma, parenthsis, etc). So what is an identifier?
I dislike having context senstitive tokenization rules. Its makes
like much easier to implement (well, more options anyway) if tokens
are not context senstive. So, instead of saying 'set name after S=
is any char to next non-whitespace' you say "S" is a reserved word,
set names are a sequence of alphanumeric, for more you have to quote
them.

CCL fails badly in this area because of S1 by the way. If it was
intead S=1 it would have been better. But note, this looks like
a query for a index field called "S" equaling the value "1".
And so on.

My point is really I think a tight grammar is needed.

> > - All reserved words to be upper case only (debatable).
>
> No...

Ok, so reserved words are case insensitive.

A problem we had with CCL was things like later we wanted to
add a new local extension. For example, there was not within
sentence operator in CCL, so we added SAME. But this broke any
old queries that had the word 'same' in them that was not quoted.

Local exensions might not be an issue, but CQL may want to be
extended later by us. In that case, I think its a worthy goal
to ensure that such extensions do not break old queries.

One approach is to only use punctuation for operators (| = or,
& = and, ! = not, +#@ = same sentence, $*# = same paragraph, etc).
But it does not feel very extensible. Another way is to use special
symbols in front of operators. @and @or @not etc.

> > I am not sure if I would want to use the current exact Z39.50
> > attribute sets etc for mapping onto CQL field names. (opinions?)
>
> Absolutely not.  What the creators of Index Sets will need to do is describe
> each index in terms of Z39.50 attributes.  Then the mapping is available for
> gateways.

This is exactly what we do now with our private CCLInfo explain
category. So I guess I will agree with this idea :-)

To make things compatible with CCL (to get double value out of
new explain categories), it could instead be that dc.title is a
single identifier (so you cannot omit the prefix, but a database
could just define 'title'). That way the same field names could be
used with CCL as well as CQL. Explain would then just list a set
of available index field names - index sets would not be a necessary
concept. Just a thought.

> > Then how to manage the population of field-set names? Should there
> > be a central CQL registry of such names? If it can change per server,
> > then reusing a query against multiple servers seems doomed.
> > Should sites be able to define their own new, local sets without
> > going to the global registry? Instead of 'dc.Title', should it be
> > a URL? That is, dublin core XML namespace URI + DC element name?
> > Or should queries be CQL text plus a set of definitions for mapping
> > "dc" to "Dublin Core URI" etc.
>
> It goes into Explain.  You provide the URL in Explain that points the
> user/application to the Index to Attribute Set mapping.

I am wary about putting too much hope in Explain. I think its a bit
of a failure really with Z39.50. To support one query against multiple
targets easily (my goal), then the CQL query itself needs to be
standardized as much as possible (via profiles etc). Explain is useful,
but I think more to understand what subset is supported by a server.
I would rather humans be able to type in a single CQL query and have
it sent to multiple targets verbatim. I dislike the client having
to tweak the query (using explain) for each target. Its going back
to RPN for Z39.50. So Explain is useful, but I think standardization
of index field names should be an encouraged thing independent to
Explain. Explain then does not have to define as much in terms
of semantics - just what is supported.

Alan

Top of Message | Previous Page | Permalink

Advanced Options


Options

Log In

Log In

Get Password

Get Password


Search Archives

Search Archives


Subscribe or Unsubscribe

Subscribe or Unsubscribe


Archives

July 2017
October 2016
July 2016
August 2014
February 2014
December 2013
November 2013
October 2013
February 2013
January 2013
October 2012
August 2012
April 2012
January 2012
October 2011
May 2011
April 2011
November 2010
October 2010
September 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
December 2009
October 2009
September 2009
August 2009
July 2009
May 2009
April 2009
March 2009
February 2009
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
January 2007
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001

ATOM RSS1 RSS2



LISTSERV.LOC.GOV

CataList Email List Search Powered by the LISTSERV Email List Manager