📄️ Basics
Every ONQL query starts the same way: a database name, a dot, and a table name.
📄️ Filters
Filters narrow down which rows are returned. Wrap them in square brackets [ ].
📄️ Slicing & Paging
ONQL borrows Python's slice syntax for paging through results.
📄️ Relations
Once relations are declared in the protocol, you can walk them inside any projection — at any depth.
📄️ Aggregates
Aggregate functions start with an underscore. They're called like methods after a table or column.
📄️ Context — the killer feature
This is the page where ONQL stops being "a query language" and starts being "you can delete your API layer."