StackMap
Subscribe

EvoOntology vs ktx

Renmin University's self-evolving ontology layer for data agents: builds a workload-grounded ontology over tables, files and databases, serves it via MCP, and evolves it from agent trajectories. — versus — Self-improving context layer for data agents — ingests dbt/Looker/wikis, maps your warehouse, builds a semantic layer with approved metrics, and serves Claude Code/Codex via CLI and MCP.

The curated verdict

Both are self-improving context layers for data agents served over MCP; ktx builds a governed semantic layer from dbt, Looker and wikis, EvoOntology grows an ontology from agent trajectories with evaluation-gated versions.

EvoOntologyktx
Stars4931.6k
Forks41106
LanguagePythonTypeScript
LicenseMITApache-2.0
Last activitytoday17 days ago
Topicsdata, knowledge-graphsrag, agents
Curated connections48

EvoOntology — the curator's take

The research answer to stale semantic layers: instead of hand-maintained definitions, EvoOntology builds an ontology from your data and real workload, lets agents fetch only the semantics a step needs through MCP, and proposes targeted updates from execution trajectories, publishing a new version only when paired evaluation beats its parent. Claude Code and Codex plugins make it easy to try. It is two-week-old research code from a university lab: treat the evolution loop as an experiment, keep versions reviewable, and give it read-only credentials. If you want definitions humans own and govern, a curated semantic layer (ktx, neocarta) is the conservative choice.

ktx — the curator's take

Reach for it when agents re-explore your warehouse on every question and invent their own metric logic: ktx samples tables, detects joinable columns (resolving chasm/fan traps), absorbs dbt/MetricFlow/LookML/Notion knowledge into one searchable surface, and flags contradictions for human review. Read-only by design; runs locally on your own LLM keys or your Claude Code / Codex login. Skip it if you have no SQL warehouse to sit on, or for one ad-hoc query. It ingests your existing semantic layers rather than replacing them. YC-backed (Kaelio); telemetry is on by default with opt-out.