Print

Print


Alan Kent wrote:

> > From: Mike Taylor <[log in to unmask]>
> >
> > The second is scruglier.  I don't understand why we have all the
> > and/or/not logic repreoduced in the definition of a term when we
> > already have all that machinery higher up in the grammar.  Can you
> > give an illustrative example of a query that uses both kinds of "and"?
>
> For simplicity, it can be dropped. The sorts of queries we use it for
> are things like:
>
>     title = mary had a little (lamb or sheep or pet)
>
> That is, we allow an OR expression under a PROX node. Its also useful
> as a short hand
>
>     title = (mary or lamb)
> vs
>     title = mary or title = lamb
>

Leaving aside the proximity feature, I have a philosophical question.  Alan says
(above) "it can be dropped" (operators in a term).  Dropping it makes the cql bnf
simpler.  But the feature provides for simpler cql strings.

A number of folks have spoken of  the need for "simplicity". What are we trying to
achieve, simple bnf or simple cql strings?


> > From: "LeVan,Ralph" <[log in to unmask]>
> >
> > What is a quoted-string-literal and why is it a candidate for an
> > index-base-name?
>
> Our system allows spaces and punctuation in field names, so to make
> it possible to type in *any* index name in a query, we allow quotes
> around the index name. It certainly would not be recommended to
> create index names with punctuation in them. CQL could prohibit such
> names, but I generally prefer recommendations against such things,
> but allow whatever someone really wants to do.

I already changed it last week to "identifier" and I'll keep it that way unless
someone  strongly objects.


> > Where did sameSentence and sameParagraph come from?  I'd say that it is
> > broadly unsupported and will require that we add a section to our explain
> > records listing the CQL features that we don't support.
>
> Probably came from my grammar. We support those operators, so they were
> in our grammar. These are not ISO 8777. But there are other PROX operators
> defined in Z39.50, so there is a question of which of the PROX operators
> should be supported?

I've started a new "issues list" for cql,
http://www.loc.gov/z3950/agency/zing/cql.html#issues,
and added this one.

> > I'd prefer W/ and N/ (within and near) to % and !.  I've never seen those
> > characters used for proximity.

>
> I used them (as someone else pointed out) based on the "use an existing
> standard unless there is a good reason not to". They are what are defined
> in ISO 8777. If people think we should invent a new syntax, may I suggest
> that some thought be given to an extensible scheme for all of the different
> prox operators and capabilities?

Added to issues list.

> Has it been decided to use 105 in CQL then? I *personally* prefer using
> ISO 8777 as the starting point unless there is a good reason not to do so.

The reasons would be (1) 105 is better-developed at this point, and (2) 105 is
essentially the replacement for 104 which we earlier had decided to use;  the
(mythical) ISO 8777 attribute, which hasn't been defined yet, is not really a
replacement for 104 but rather an alternative.  (That's how I see it anyway.)

> > (2) Why is relevance a relational operator?
> > For me it is a sort of the result set. If sorting is important just add it.
>
> Changing tack a little, I would prefer fuzzy and relevance etc to be a
> more extensible mechanism. For example, what about 'overlaps' for GEO etc.
> This is why we had the @<name>(...) syntax (which I admit is ugly) for
> applying additional attributes to the terms in the (...). (Note: we allowed
> additional attributes within a word distance expression, which is not
> possible if you tie it to the index name.
>

Added to list.

> > (4)  Are the following the same?
> > 1: nobath.all="zing for you"
> > 2: nobath.all="zing" "for" "you"
>
> To me, yes. They are the same.
>
> > (5) Do we really want:
> > "nobath"."all" relevance zing!1"for"-you
> >
> > I would prefer:
> > 1: nobath.all="zing" w "for-you"
> > (the server knows what he did during indexing "for you" or "foryou" )
> >
> > Which is maybe interpreted as:
> > 1: nobath.all="zing" w "for" w "you"
> > 2: nobath.all="zing" w ("for" and "you")
>
> The ISO 8777 extension we made (which I think people dislike) is
>
>     nobath.all=@relevance(zing !1 "for-you")
>
> But I agree, 'relevance' is weird. Fuzzy and stem make more sense.
>

Can't say I follow all this and I would be happy to remove Relevance is nobody
objects.


>     nobath.all=@fuzzy(zing) !1 @stem("for-you")
>
> > (6) ?6 is cute as wildcard but ?????? generates less problems.
> > nobath.isbd=1234?5678
>
> The only thing about ?6 is it was from ISO 8777. Ralph's 105 proposal
> had a different (simpler) syntax for patterns I think. But no-one probably
> supports it today, so there is a real question on what CQL should
> support - if its goal is to map on to Z39.50 servers that are around
> today!

There's no current proposal on the table that includes an integer in a masking
expression. The current 105 issue is whether ? masks one or "zero of one"
characters. So I'm not sure what the cql issue is here.


> I wonder about resultSet for a different reason. Are we going to allow
> references to the results of previous queries? (Are we going to support
> sessions with history?) If we don't want sessions with history, then
> result sets should be removed. Regardless of state, I think CQL could
> be useful in non-SRW/SRU situations, so I think its worth leaving the
> syntax in.

There aren't sessions in SRW but result sets are supposed to be persistent. So the
result set names need to be URIs.  So we need to accomodate that in the syntax
(i.e. they can't be type "identifier").

--Ray