Guide
The rules of jaala's query language, one topic per page, each shown by an example you can edit.
The tutorials teach the language in order. These pages are where you look things up afterwards, and each one covers a single topic in full, including what jaala refuses and why. Like everything on this site, every example runs on jaala when the site is built, and you can edit and rerun it in the page. They all use the same fact set as the tutorials.
- Syntax lists every form a query can take.
- Types and constants covers how a constant is read, and how numbers and text compare.
- Arithmetic and units covers expressions, functions that run in any direction, and units; its examples bring their own resistors rather than the shared fact set.
- Negation covers anchoring, existential variables, host-bound values and stratification.
- Aggregation covers groups, rows against values,
having, and what an aggregate answers over nothing. - Ordering covers the default order,
order by,limitandoffset. - Host options covers
Bind,Budget,Explainand the context, pages and tables, sharing a base, and where a parse error is, from Go. - Predicates and generators covers a host’s own Go inside a query: filters, generators, their modes and types.
- Facts from stores covers a source that answers from its own index: lookups, federations, and stores that join, count, page and walk.
- Modules and the vocabulary covers paths, private members, docs, signatures and module errors.
- Absent values covers a field the source didn’t state.
- Versions covers a source serving several versions of its facts,
At,AcrossandDiff, from memory or from stores. - Asking through a model covers what a host hands a model to write a program from a question: the vocabulary card, a grammar, errors it can fix from, the retry loop, local models, a domain pack, and scoring.
- Serving agents covers the MCP server an agent asks through with its own tools, in Datalog or in Cypher.
- Asking in Cypher covers compiling Cypher into a program over a graph view of the vocabulary.
The last nine are written in Go, as Example functions that go test runs, like the Go tutorial.