Print

Print


I am currently implementing a CQL Parser for .NET / C#. When I studied 
the BNF in the CQL spec, I found something which does not make sense to 
me. The spec says:

term  ::=  identifier | 'and' | 'or' | 'not' | 'prox' | 'sortby' 

this means that the words and, or, not, prox and sortby are valid terms.

The spec also says that

prefix, uri, modifierName, modifierValue, searchTerm, index  ::=  term 

this means that the words and, or, not, prox and sortby are valid as 
prefix, uri, modifierName, modifierValue, searchTerm and index.

Putting all this together, it means that the following strings are all 
valid CQL Queries:

and

and and and

and or not and or not and dino and not not and

Is this an error in the CQL spec?

Kind Regards
Matthias