> searchClause ::= '(' cqlQuery ')' | index relation searchTerm | searchTerm > i.e. the middle "searchTerm" should be "searchClause". Please note that this allows for: dc.title = (dc.identifier any fish) Which to my mind is meaningless and the grammar shouldn't allow it, but to Mike's mind is equivalent to just: dc.identifer any fish As per the previous time this was discussed, the only situation it's actually useful is: dc.title = (a or b and c) which otherwise has to be spelt out as: dc.title = a or dc.title = b and dc.title = c which is still not very difficult, especially for code generated queries, which is and will be the majority of them, I suspect. Rob ,'/:. Dr Robert Sanderson ([log in to unmask]) ,'-/::::. http://www.o-r-g.org/~azaroth/ ,'--/::(@)::. Dept. of Computer Science, Room 805 ,'---/::::::::::. University of Liverpool ____/:::::::::::::. L5R Shop: http://www.cardsnotwords.com/ I L L U M I N A T I