/*https://www.bottlecaps.de/rr/ui*/

query ::= ( begriff | expliziter_ausdruck | option | operation) *
begriff ::= ([a-z] | [A-Z] | [0-9] | '_') ([a-z] | [A-Z] | [0-9] | '_' | '-' |) +
expliziter_ausdruck ::= '"' (( [#x00-#x21#x23-#x30000] | '\"' ) *) '"'
option ::= attribut | feld | typ | rolle | sort
attribut ::= 'attr' ':' schlüssel (('=' | '<' | '<=' | '>' | '>=' | '~=' | '^=' | '$=' | '@=') (begriff | expliziter_ausdruck)) ?
feld ::= 'field' ':' schlüssel (('=' | '<' | '<=' | '>' | '>=' | '~=' | '^=' | '$=' | '@=') (begriff | expliziter_ausdruck)) ?
typ ::= 'type' ':' ( 'interview' | 'person' | 'file' )
rolle ::=  'role' ':' (begriff | expliziter_ausdruck)
sort ::= 'sort' ':' ('none' | ('score' | ('attr' | 'field') ':' schlüssel) (':' ('asc' | 'desc'))?)

operation ::= negation | bool_operation | gruppe | auflistung
negation ::= ('-' | '!') query
bool_operation ::= query (('&' query) + | ('&&' query) + | ('|' query) + | ('||' query) + | ('^' query) +)
gruppe ::= '(' query ')'
auflistung ::= query (' ' query) +
