1k likes | 1.02k Views
CQL. “Common Query Language”. Ray Denenberg March 2005. CQL’s Goals. Combine the simplicity and intuitiveness of google searching with the expressive power of Xquery. Support very simple queries; and arbitrarily complex expressions as necessary. Example: search on “cat”. cat. cat.
E N D
CQL “Common Query Language” Ray Denenberg March 2005
CQL’s Goals • Combine the simplicity and intuitiveness of google searching with the expressive power of Xquery. • Support very simple queries; • and arbitrarily complex expressions as necessary. Example: search on “cat”
cat (That’s it. The whole query.)
Simple CQL Queries • cat • cat and dog • title = cat
Simple CQL Queries • cat (simplest) • cat and dog (simple boolean) • title = cat (index)
Simple CQL Queries • cat (simplest) • cat and dog (simple boolean) • title = cat (index) • dc.title = cat(index qualified)
Boolean • cat and dog • cat or dog • Cat not dog
Boolean • cat and dog • cat or dog • Cat not dog • cat not dog and fish or frog
Boolean • cat not dog and fish or frog • evaluates to:(((cat not dog) and fish) or frog)
Boolean • cat not dog and fish or frog • evaluates to:(((cat not dog) and fish) or frog) • Not:(cat not dog) and (fish or frog)
index Search • title = cat
Qualified index • title = cat • dc.title = cat • bib.title = cat • Bath.keyTitle
Fielded/index Search • dc.title = cat • bib.title = cat
dc.title A name given to the resource • bib.title(fictitious)A word, phrase, character, or group of characters, normally appearing in an item, that names the item or the work contained in it.
Zthes Indexes zthes.nt=sauropod and zthes.bt=macronaria narrower than sauropod but broader than macronaria.
Relations The triple: <index> <relation> <search term> (e.g. title = cat) Is called a: Search Clause
Relations <index> <relation> <search term>
Simple Relations • Title = "the complete dinosaur" • title all "complete dinosaur“ • title any "dinosaur bird reptile" • title exact "the complete dinosaur"
the = relation • Title = "the complete dinosaur“ (find these three words, adjacent and in this order)
Title = "the complete dinosaur“ • matches “a day in the life of the complete dinosaur“ • and“the complete dinosaur goes to Paris“
= • Title = "the complete dinosaur“ • matches “a day in the life of the complete dinosaur“ • and“the complete dinosaur goes to Paris“ • but not “the complete and unabridged dinosaur"
All • Title all "complete dinosaur“ • matches “the complete and unabridged dinosaur“ • does not match “the unabridged dinosaur“
Title all "dinosaur bird reptile“ • does not match “the completedinosaur"
Any • Title any "dinosaur bird reptile“ • doesmatch “the complete dinosaur" and • “the unabridged dinosaur"
Exact • title exact "the complete dinosaur" matches "the complete dinosaur"
Exact • title exact "the complete dinosaur" matches "the complete dinosaur" Does not match: “a day in the life of the complete dinosaur or“the complete dinosaur goes to Paris“ or“the complete and unabridged dinosaur “
Relations …. observations • Observation 1: Shorthand
title all "old man sea" same as • title="old" and title="man" and title="sea"
Relations …. observations • Observation 2: Anchoring ^ The anchor character
Recall ……. • Title = "the complete dinosaur“ • matches “a day in the life of the complete dinosaur“
Anchoring • title="^the complete dinosaur"would not match “a day in the life of the complete dinosaur”
Anchoring • title="^the complete dinosaur" would not match “a day in the life of the complete dinosaur” • title="the complete dinosaur^"would not match “the complete dinosaur goes to Paris”
Relations …. observations • Observation 3: Index and Relation go together
Index and Relation go together • Cat • Title = cat
Index and Relation go together • Cat • Title = cat • Title cat • = cat
Index and Relation go together • Cat • Title = cat • Title cat • = cat
BNF searchClause ::='(' cqlQuery ')‘ | index relation searchTerm | searchTerm
Basic Relations …. summary • Title = "the complete dinosaur" • title all "complete dinosaur“ • title any "dinosaur bird reptile" • title exact "the complete dinosaur"
A few more relations … • < less • > greater • <= less or equal • >=greater or equal • = (see next) • <> not equal
= relation = means: • word adjacency, when the term is a list of words. • Equality, otherwise.
RelationModifiers • Stem • relevant • Fuzzy • phonetic
Stemming • title =/stem"these completed dinosaurs“ matches • The Complete Dinosaur.
Relevance subject any/relevant "fish frog" would find records whose subject field included words like shark, tuna, coelocanth, toad, amphibian, etc.
Relation Modifiers • Stem • relevant • Fuzzy • phonetic
fuzzy • Fuzzy means: • “be liberal in what you count as a match … details left to the server. Might include permutations of character order, off-by-one for numerical terms.” • Title =/fuzzy “sharlot simmins” might match “I am Charlotte Simmons” • telephoneNumber exact/fuzzy “303 441 1319"
Relation Modifiers • Stem • relevant • Fuzzy • phonetic
Phonetic • Match words that sound the same e.g. Hostel might match “hostile”