The tuning values on this page are configured in the in-app App Settings screen
(sidebar footer, sliders icon) and stored in app_settings.jsonc -- not in .env.
A value left in .env is ignored and named once in the startup log; run
chatwalaau settings migrate --write to carry an existing configuration across.
Feature enable-gates and secrets stay in .env.
See Configuration -> Application settings.
Ontology Concept Modeling
The Ontology workspace lets you design concept models -- the essential entities, relationships, and properties of a domain -- as RDF knowledge graphs of Subject-Predicate-Object triples. Each ontology is a standard, self-contained Turtle file you can version, share, and open in any RDF tool.
The feature is on by default since v0.130.2. It costs nothing until you use
it: no secret, no shell, no outbound call, and .ontologies/ is created only on
your first write.
Turning it off
ONTOLOGY_ENABLED=false
# optional: where the ontology files live (created on demand)
ONTOLOGY_DIR=.ontologies
Setting it to false hides the sidebar icon, makes the API return 404, and drops
the read-only query_ontology tool from the agent.
When enabled, a network icon appears in the sidebar footer (next to the Declarative Agents icon). It opens a full-screen workspace with three freely resizable panes.
The workspace
- Left -- catalog. Your ontologies, each with a name and a description (write a
good description: it is how the assistant picks the right ontology). Create a new
one, rename it (name and description, in place -- the ontology and its graph
are preserved), import an RDF file (Turtle
.ttlor RDF/XML.rdf/.owl), export as Turtle, or delete (with a confirmation, a progress indicator, and a backup kept on disk). - Center -- design canvas. Entities are two-ring circles: drag the inner
circle to move the node, and start or end a relationship anywhere on the outer
ring -- a full 360°, so connections attach from any direction and follow the
nodes as you move them. Edges are directional with a cardinality --
1:1,1:N,N:1, orN:M. When two or more relationships connect the same pair of entities they fan out along separate curves (each individually selectable, with its own label); a relationship from an entity to itself draws as a loop. Clicking an entity also lights up its incoming / outgoing relationships and the connected entities (clicking a relationship lights up its endpoints and their edges); click an empty area to clear. Drag from one node to another to create a relationship. Pan and zoom, fit to view, one-click auto-layout, and download the graph as a PNG. - Right -- Detail / Search. Detail edits the selected entity or relationship; each entity property can be marked as a key attribute (a key badge appears on the node). Search runs SPARQL (syntax-highlighted editor, with a Reset button that restores the default query) or a natural-language question -- the send button converts it to SPARQL via the model and puts the generated query in the editor so you can refine it. Table results highlight the matching entities on the canvas in strong color while everything else dims, with connected relationships re-colored.
Saving writes a timestamped backup before atomically replacing the file, and closing with unsaved changes asks for confirmation first.
Ask the assistant
In any chat, the assistant can use the query_ontology tool: it lists your
catalog, picks the right ontology from your descriptions, converts your question
into a read-only SPARQL query, and answers with the matching RDF in a fenced
Turtle block -- capped in size so a large ontology never floods the conversation.
Everything on the query side is read-only by construction: searches and assistant queries can never modify your ontologies.
Settings
| Setting | Default | Meaning |
|---|---|---|
ONTOLOGY_ENABLED | true | Master gate for the whole feature (default was false before v0.130.2) |
ONTOLOGY_DIR | .ontologies | Folder holding the catalog + Turtle files |
ONTOLOGY_MAX_FILE_BYTES | 10485760 | Import/save size cap (10 MiB) |
ONTOLOGY_TOOL_MAX_TRIPLES | 200 | Cap on triples in an assistant answer |
Under DEMO_MODE
On a demo host the ontology workspace is read-only. Creating, importing,
renaming, saving and deleting refuse with 409; browsing, the graph canvas,
export and both SPARQL lanes still work -- a SPARQL query cannot modify the
store, so it is a read.
The store is shared by everyone using the demo: the catalog lists every ontology by name and export returns the whole Turtle, so a writable demo would make one visitor's model readable, editable and deletable by the next.
Two limitations to expect on a demo host: the catalog starts empty (no demo ontology ships with the app), and the natural-language question box returns an error, because the demo runs a stub model whose output is not SPARQL.
The natural-language-to-SPARQL model is assigned in the Model Offering Catalog under
App Settings -> Model Offering Catalog -> Task model assignments (roles.ontology_nl, or chatwalaau models role set ontology_nl <offering-id>); leave it unset to use the default model. The dedicated
ONTOLOGY_NL_MODEL variable was removed in v0.109.0.