Expression
Identifier
A key, e.g. "name"
Array index / slicing
[1]
[-1] the last one
[0:5]
[start:stop:step]
Sub-expressions (.) somewhat like a pipe but passes through projection
evaluates the left
use the result of the left to evaluate the right
Projections
List & Slice projection - list[*] or list[2:3]
follow by sub-expression, apply to each member of the array
Object projection - obj.*
convert each property of obj, into array of values (lost field names)
Flatten Projection
multiple list / object projections
Filter projection
[?fieldName=='value']
Pipe Expressions
like sub-expression but do not pass through projection
MultiSelect