query:

entity where conditions directive

query    ::= entity ( 'where' conditions )? directive*

no references


entity:

word

entity   ::= word

referenced by:


directive:

groupBy sample ;

directive
         ::= groupBy
           | sample
           | ';'

referenced by:


groupBy:

group by word ,

groupBy  ::= 'group' 'by' word ( ',' word )*

referenced by:


sample:

sample NUMBER seed NUMBER

sample   ::= 'sample' NUMBER ( 'seed' NUMBER )?

referenced by:


conditions:

operand connective

conditions
         ::= operand ( connective operand )*

referenced by:


connective:

and or

connective
         ::= 'and'
           | 'or'

referenced by:


operand:

not ( conditions ) clause

operand  ::= 'not'* ( '(' conditions ')' | clause )

referenced by:


clause:

booleanClause valueClause searchClause

clause   ::= booleanClause
           | valueClause
           | searchClause

referenced by:


booleanClause:

it's its it not doesn't doesnt has have a an the from word

booleanClause
         ::= ( "it's" | 'its' | 'it' ) 'not'? ( "doesn't" | 'doesnt' )? ( 'has' | 'have' )? ( 'a' | 'an' | 'the' | 'from' )* word+

referenced by:


valueClause:

field operator value

valueClause
         ::= field operator value

referenced by:


field:

word

field    ::= word+

referenced by:


operator:

is not in collection similar to has does not doesn't doesnt have >= <= > <

operator ::= 'is' ( 'not'? ( 'in' 'collection' )? | 'similar' 'to' )
           | 'has'
           | ( 'does' 'not' | "doesn't" | 'doesnt' ) 'have'
           | '>='
           | '<='
           | '>'
           | '<'

referenced by:


value:

valueGroup unknown null scalar

value    ::= valueGroup
           | 'unknown'
           | 'null'
           | scalar

referenced by:


valueGroup:

( valueExpr )

valueGroup
         ::= '(' valueExpr ')'

referenced by:


valueExpr:

valueItem connective

valueExpr
         ::= valueItem ( connective valueItem )*

referenced by:


valueItem:

not valueGroup scalar

valueItem
         ::= 'not'? ( valueGroup | scalar )

referenced by:


scalar:

WORD NUMBER STRING ANNOT

scalar   ::= ( WORD | NUMBER | STRING ) ANNOT?

referenced by:


searchClause:

searchField has does not doesn't doesnt have searchExpr is similar to STRING

searchClause
         ::= searchField ( ( 'has' | ( 'does' 'not' | "doesn't" | 'doesnt' ) 'have' ) searchExpr | 'is' 'similar' 'to' STRING )

referenced by:


searchField:

word & and

searchField
         ::= word ( ( '&' | 'and' ) word )*

referenced by:


searchExpr:

termRun connective

searchExpr
         ::= termRun ( connective termRun )*

referenced by:


termRun:

not ( searchExpr ) searchAtom

termRun  ::= ( 'not'* ( '(' searchExpr ')' | searchAtom ) )+

referenced by:


searchAtom:

near term proximity

searchAtom
         ::= 'near'? term proximity?

referenced by:


proximity:

within NUMBER words word of STRING

proximity
         ::= 'within' NUMBER ( 'words' | 'word' ) ( 'of' STRING )?

referenced by:


term:

STRING word

term     ::= STRING
           | word

referenced by:


word:

WORD NUMBER

word     ::= WORD
           | NUMBER

referenced by:


WORD:

wordChar

WORD     ::= wordChar+

referenced by:


NUMBER:

[0-9]

NUMBER   ::= [0-9]+

referenced by:


STRING:

" [#x20-#x10FFFF] "

STRING   ::= '"' [#x20-#x10FFFF]* '"'

referenced by:


ANNOT:

[ [#x20-#x10FFFF] ]

ANNOT    ::= '[' [#x20-#x10FFFF]* ']'

referenced by:


wordChar:

[#x21-#x10FFFF]

wordChar ::= [#x21-#x10FFFF]

referenced by:



  ... generated by RR - Railroad Diagram Generator R R