Towards a CQL Test Suite

21st October 2002

Document version 0.1 (21st October 2002)
$Id: test.html,v 1.3 2003/01/31 11:29:11 mike Exp $

1. Simple
2. Index, Relation, Term
3. Boolean
4. Index, Relation, Term plus Boolean
5. Proximity
6. Special Characters
7. Nesting Parentheses
8. Lame searches
9. Invalid searches

The initial set of test searches was contributed by Rob Sanderson <azaroth@liverpool.ac.uk>

1. Simple

	cat
	"cat"
	comp.os.linux
	xml:element
	"<xml:element>"
	=
	"prox/word/>=/5"
	("cat")
	((dog))
  

2. Index, Relation, Term

	title = "fish"
	title exact fish
	title any fish
	title all fish
	title > 9
	title >= 23
	dc.title any "fish chips"
	dc.title any/stem fish
	dc.fish all/stem/fuzzy "fish chips"
	(title any frog)
	((dc.title any/stem "frog pond"))
  

3. Boolean

	cat or dog
	cat and fish
	cat not frog
	(cat not frog)
	"cat" not "fish food"
	xml and "prox/word/"
	fred and any
	((fred or all))
	a or b and c not d
  

4. Index, Relation, Term plus Boolean

	bath.author any fish and dc.title all "cat dog"
	(title any/stem "fish dog" or and)
  

5. Proximity

	cat prox hat
	cat prox/word/=/3/ordered hat
	cat prox///3 hat
	"fish food" prox/sentence and
	title all "chips frog" prox/word//5 any
	(dc.author exact "jones" prox///5 title >= "smith")
	((cat prox hat))
  

6. Special Characters

	(cat)
	"cat"
	"cat says \"fish\""
	=
	>
	<
	"cat*fish"
	cat?dog
	(("cat*fishdog\"horse?"))
  

7. Nesting Parentheses

	(((cat or dog) or horse) and frog)
	(cat and dog) or (horse and frog)
	(cat and (horse or frog)) and chips
  

8. Lame searches

	any or all:stem and all exact any prox/word prox=fuzzy
	===
	(((((((((any)))))))))
  

9. Invalid searches

	cat or
	index any
	index any/wrong term
	a prox/wrong b
	()
	(a
	index any fish)
	(cat any dog or ())
	cat any dog or (fish))
	sorry = (mike)
  

Feedback to <mike@indexdata.com> is welcome!