Robert Sanderson wrote:
>> searchClause ::= '(' cqlQuery ')' | index relation 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.
I just added support for this extended syntax to my CQL parser and the
BNF that I assumed was something like:
searchClause ::= '(' cqlQuery ')'
| index relation searchTerm
| index relation '(' searchTermGroup ')'
searchTermGroup ::= searchTermGroup booleanGroup searchTerm
> ,'/:. 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