Purpose
Inspect and change Auto Ontology's semantic layer without confusing a successful API call with correct business meaning or durable publication. The machine-readable inputs, outputs, statuses, gates, and handoffs are in runtime-contract.yaml.
Choose the focused workflow before acting:
- routine inspection or metadata edits: continue below and use write-api.md;
- concepts, relationships, measures, units, grain, or policies: use modeling.md;
- model promotion or reusable analytical results: use publication.md.
MCP tools only read. Create, patch, import, and compile-reset go through
the Next.js /api/... gateway. Governed result rows require an approved source
writer; Auto Ontology has no generic result-row writeback endpoint. Request bodies and
field types live in docs/openapi/auto-ontology-api.json; this skill names operations and
permissions only.
Prerequisites
Use a running, authenticated Auto Ontology deployment. Use nvidia-ontology-setup when
the deployment or semantic layer is not ready.
Limitations
MCP is read-only, Auto Ontology has no generic result-row writeback endpoint, and current model import and certification APIs do not prove atomic promotion. Follow the publication gates below and fail closed when exact readback is unavailable.
Auth
Scripts use an API token (x-api-key or Authorization: Bearer). Mint it in
the UI (user menu → API Tokens). A token acts as its owner — a viewer's
token cannot do admin things. Creating and revoking tokens requires a signed-in
session; a token cannot mint another token.
Writes below need catalog:edit unless noted. 403 means the owner's role
lacks that permission, not that the path is wrong.
Instructions
- Discover current meaning via MCP (
search_terms,get_term,get_term_columns,get_term_sql_attributes,describe_table) or REST if MCP is absent (GET /api/terms,GET /api/terms/{term_id},GET /api/exploration/tables/{table_id}/details). - Resolve the semantic contract when meaning changes. Record source binding, identity, population, relationship cardinality, measure expression, unit, grain, denominator, time, validity, and counterexamples; see modeling.md.
- State the proposed change to the user (term rename, new SQL attribute, import, and so on). Do not silently rewrite the glossary.
- Validate SQL before create/update:
POST /api/sql-attributes/validate. A parse failure is HTTP 422, notvalid: false. - Apply the smallest write that matches the request (see write-api.md).
- Compilation is not a hidden side effect. Check
GET /api/semantic-compilation/status. Do not callPOST /api/semantic-compilation/resetas cleanup — it is an asynchronous, destructive rebuild of every database's compiled layer, returns 202, and requiressemanticCompilation:manage. - Verify the persisted change, not merely request success. Model imports
require a scoped backup and exact re-export comparison; see
publication.md. Then use MCP
check_answerable/ask_question(or RESTPOST /api/question-entity-coverageandPOST /api/chat/completions) for positive and negative behavior checks.
Semantic relationships and "what does this dataset mean"
Stay on the semantic layer. Do not browse raw schemas to answer meaning.
- Term → columns: MCP
get_term_columnsorGET /api/terms/{term_id}/column-attributes - Term → derived SQL: MCP
get_term_sql_attributes - Table → terms and SQL attributes: MCP
describe_tableorGET /api/exploration/tables/{table_id}/details - Semantic hop chain between two terms:
GET /api/exploration/terms/{term_id}/path/{other_term_id} - Semantic graphs:
GET /api/exploration/graph,GET /api/exploration/semantic-graph
These are semantic relationship paths, not generation provenance, source revision, certification history, or version lineage.
Bulk import / export
POST /api/model/export— YAML of catalog + semantic layer. PermissionmodelInterchange:export. Body may set catalog database IDs indatabases(empty = all) andformat(auto_ontologyorossie).POST /api/model/import— multipart YAML; native Auto Ontology (data_layer/semantic_layer) or Apache Ossie (version,name,datasetsat the root). Queryreplace(default true) andembed(default true). PermissionmodelInterchange:import. Can replace existing data — confirm with the user beforereplace=true, apply first in isolation, and use the exact readback workflow in publication.md.
Examples
- To define a run-grain measure, follow the evidence and counterexample workflow in modeling.md.
- To revise and promote a model, back up the exact scope and follow the staged readback workflow in publication.md.
Troubleshooting
For write failures, verify the authenticated owner's permission, distinguish HTTP 422 parse failures from validation results, and inspect compilation status before changing the model or resetting compilation.
See also
- write-api.md
- modeling.md
- publication.md
nvidia-ontology-query— how to call Auto Ontology and validate query resultsnvidia-ontology-setup— deployment not readymcp/auto_ontology_mcp/tools.py— live read-tool allow-list