Querying ontology data
Ask Chat questions about your structured data — ontology object types backed by data sources answer lookups, filters, and summaries directly in the conversation.
Chat can answer questions about your organization's structured data — any ontology object type backed by a data source (incident reports, installations, observations, sensor readings, …). Ask in natural language; Chat discovers what data exists, filters it, and summarizes the matching records.
Queryable data requires an ontology object type with a silver_table binding to a live data source. Both usually ship together in a pack. See Authoring: Ontologies for how to declare bindings.
How it works
Two chat tools work together:
ontology_list_types— discovers the queryable surface: every object type across your readable ontologies that is backed by a data source. Chat calls this first when it doesn't know what data is installed.ontology_query— fetches matching records for one or more object types, with optional filters and a row limit. Chat then reasons over the returned rows to answer your question.
No configuration is required — installing a pack that ships data sources and an ontology makes its object types queryable immediately.
Asking questions
Ask Chat naturally. Examples that trigger a data query:
- "How many critical drone incursions were detected this month?"
- "List the defense installations in Estonia"
- "Which incidents mention GPS jamming? Summarize the latest three."
- "Compare incursion counts per country since June 1st"
For geospatial questions ("show them on a map"), Chat uses the map visualization tool instead — the two compose: ask for a filtered summary first, then "plot those on a map".
Filters
Chat translates your question into filter clauses, combined with AND:
| Operator | Meaning |
|---|---|
eq / neq | Exact (in)equality, tolerant of string/number representations |
contains | Case-insensitive substring match |
gt / gte / lt / lte | Numeric comparison when both sides are numbers; otherwise lexicographic — ISO-8601 timestamps compare correctly |
Result limits
Responses are kept compact so the conversation stays fast:
- Up to 100 rows per object type per query (Chat defaults to 25).
- Long text fields are trimmed in tool results.
- When more records match than are shown, Chat is told the honest totals ("Found 70 incursions. Showing the first 25.") so it can refine the filter or aggregate instead of guessing.
Access control
Queries run under your workspace scope: only ontologies readable in your workspace are searched, and rows come from the same governed projection that powers the rest of the platform — there is no side channel to the underlying tables.