- From: Ivan Herman <ivan@w3.org>
- Date: Fri, 1 May 2015 16:06:06 +0200
- To: "Denenberg, Ray" <rden@loc.gov>
- Cc: W3C Public Annotation List <public-annotation@w3.org>
- Message-Id: <D74E6F0C-FAB3-4AC7-8AB1-21096185D0CE@w3.org>
Thanks Ray, it is much clearer now.
Ivan
> On 01 May 2015, at 15:58 , Denenberg, Ray <rden@loc.gov> wrote:
>
> Hi Ivan;
>
> > Is my understanding correct that CQL is some sort of a framework?
> > Framework in the sense that we have to define which indexes are usable in
> > our environment and how they translate onto the model?
>
> While I would not characterize CQL as a "framework" (it has substantial teeth), it is true, you define indexes for your particular environment. These sets of indexes (and other objects) are called "context sets". A list of known context sets (those I know about) are at http://www.loc.gov/standards/sru/cql/contextSets/listOfContextSets.html
>
>
> > Another question/comment is on the '=' operator like 'body = cat' in your
> > example. Is this defined to be an exact match, or a submatch, or something
> > similar?
>
> There is both "=" and "==". Here is what the spec says about these:
>
> "=
> This is the default relation, and the server can choose any appropriate relation or means of comparing the query term with the terms from the data being searched."
>
> ==
> This relation is used for exact equality matching. The term in the data is exactly equal to the term in the search. A relation modifier may be included to specify how whitespace (trailing, preceding, or embedded) is to be treated (for example, the CQL relation modifier ‘honorWhitespace’). "
>
>
>
> .... I would expect that some sort of a (possibly simplified) regular
> > expression match may be more useful for our purposes. I do not know
> > whether CQL has this facility.
>
> Yes, CQL has several built-in matching functions, including:
>
> "
> * A single asterisk (*) is used to mask zero or more characters.
>
> ? A single question mark (?) is used to mask a single character, thus N consecutive question-marks means mask N characters.
>
> ^ Carat/hat (^) is used as an anchor character for terms that are word lists, that is, where the relation is 'all' or 'any', or 'adj'. It may not be used to anchor a string, that is, when the relation is '==' (string matches are, by default, anchored). It may occur at the beginning or end of a word (with no intervening space) to mean right or left anchored."^" has no special meaning when it occurs within a word (not at the beginning or end) or string but must be escaped nevertheless.
>
> \ Backslash (\) is used to escape '*', '?', quote (") and '^' , as well as itself. Backslash not followed immediately by one of these characters is an error.
>
> "
>
> Ray
----
Ivan Herman, W3C
Digital Publishing Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
ORCID ID: http://orcid.org/0000-0003-0782-2704
Received on Friday, 1 May 2015 14:06:16 UTC