Architecture of nvidia/auto-ontology
nvidia/auto-ontology is 995 source files holding 8,271 symbols across 6 modules, written mainly in Python, TypeScript, Dockerfile. The largest module is auto_ontology, with 446 files, and 8 files are entry points into the dependency graph.
How auto-ontology fits together
Source databases are read by the ingestion service, whose entry point is auto_ontology/ingestion_service/__main__.py, which extracts schemas, profiles columns and samples values into the catalog. The auto_ontology/catalog module records each database's structure and the SQL run against it as nodes and edges in a graph store. The auto_ontology/dal module holds every database query behind the catalog, the glossary of Terms, tags and the exploration graph. The generated ontology is stored in Postgres with embeddings in pgvector for retrieval, and alembic keeps the schema migration history that moves that database from one revision to the next. The frontend directory is the Next.js web app where people chat with the data, browse the catalog and refine terms.
Largest modules
- auto_ontology: 446 files and 97,573 lines of code
- frontend: 420 files and 32,498 lines of code
- mcp: 16 files and 1,917 lines of code
- alembic: 11 files and 1,588 lines of code
- dev_tools: 10 files and 471 lines of code
- root: 2 files and 242 lines of code
Languages
By file count: Python 481 files, TypeScript 416 files, Dockerfile 3 files, JavaScript 2 files, Shell 2 files, Makefile 1 file.
Documentation
Repowise documents auto-ontology in 929 pages generated from the source, 56 of them written explanations of the repository and its modules.
More on auto-ontology: summary and FAQ, codebase overview, code health.
Related guide: Best dependency graph tools for monorepos