os-taxonomy: When the Curriculum Becomes a Directed Acyclic Graph — 1,591 Knowledge Points Forming an AI-Queryable Map
A Locked-Up Dataset
Most national curricula are a PDF or a spreadsheet. Teachers read them to know what to teach this semester; parents read them to know what their child should learn. But if you want to build an AI tutoring system and ask it, "An 8-year-old hasn't mastered addition with carrying — what should they learn next?" — that PDF can't help you. Because a curriculum is a flat list, not a queryable graph.
withmarbleapp/os-taxonomy breaks the entire primary/middle school curriculum into 1,591 "micro-topics", connects them with 3,225 "prerequisite" edges into a directed acyclic graph (DAG), and aligns them to multiple national standards including NGSS, Common Core, and the UK National Curriculum.
The dataset's core insight: learning is not linear, but the curriculum is. A child who fails at "dividing fractions" may not be struggling with fraction division itself — the prerequisites "fraction concepts" or "division concepts" may be unmastered. To diagnose that, you need a dependency graph from foundational to advanced topics, not a teaching plan ordered by semester.
Micro-Topics: The Minimal Teachable Unit
The basic unit of os-taxonomy is the "micro-topic", defined as "a single teachable idea". Examples:
- "Building sentences" — English, ages 4–6
- "Apparent brightness of stars" — Science, ages 9–11
- Type: conceptual / procedural / representational / language / meta
- Description: a plain-language explanation of what the topic is
- Mastery evidence: concrete observable behaviors, e.g. "can distinguish complete sentences from sentence fragments"
- Assessment prompts: how to test whether a child has mastered the topic
- Centrality: the topic's connection density in the dependency graph, measuring how "core" it is
- Strength: hard (cannot learn X without Y) / soft (can learn X without Y, but it's harder)
- Reason: a one-sentence explanation of why Y is a prerequisite
topics.json: 1,591 micro-topic nodesdependencies.json: 3,225 prerequisite edgescurriculum-standards.json: alignments to national curriculum standardsclusters.json: 176 parent-facing subject summariesteaching-research.json: 1,051 teaching research records (strategies, activities, assessment methods) covering current science and math topics
Each micro-topic includes:
The centrality field is clever. It is not a traditional pedagogy concept but degree centrality from graph theory. The more prerequisites and dependents a micro-topic has, the higher its centrality — the more critical it is in learning paths. For instance, "addition" likely has high centrality since many downstream topics depend on it, while "Roman numerals" has low centrality because few later topics use it.
This field lets AI tutoring systems make prioritization decisions: if a child has multiple knowledge gaps, fill the high-centrality ones first, because mastering one high-centrality topic unlocks more downstream learning paths.
3,225 Dependency Edges: The Real Structure of Learning
The most valuable part of os-taxonomy is not the 1,591 nodes but the 3,225 edges. Each edge states "topic X depends on prerequisite topic Y", annotated with:
For example, "dividing fractions" might hard-depend on "fraction concepts" (you can't do fraction division without knowing what a fraction is) and soft-depend on "whole-number division" (understanding integer division makes fraction division easier to grasp, but is not strictly required).
The hard/soft distinction is crucial for AI tutoring systems. If a child is stuck on "dividing fractions", the system must backtrack through the dependency graph to find the root cause: is an unmastered hard dependency (must fix first) or a soft dependency (recommended but can continue)? Without this distinction, a system either over-backtracks (re-teaching every prerequisite) or under-backtracks (looking only at direct prerequisites and missing more foundational gaps).
Why AI Needs This
The core challenge for large language models in education is diagnosis. Given a student's wrong answer, the model must determine:
1. Which micro-topic does this error indicate is unmastered? 2. What is that topic's prerequisite chain? 3. Which prerequisite is the most likely root cause? 4. After fixing the root cause, what should be learned next?
All four questions require a structured knowledge graph to answer — not a textual curriculum outline. os-taxonomy provides exactly that graph, in JSON format that AI systems can query directly.
In fact, someone has already built an MCP server on top of the dataset, letting AI agents query it via tool calls: "given a micro-topic ID, return all its prerequisites", "given an age and subject, return all micro-topics for that age", "find the shortest learning path from the currently mastered topic to a target topic".
Openness of the Data
Another important aspect of os-taxonomy is openness. The README states plainly: "Most curriculum data is either a flat list of standards or locked inside a product."
Marble releases the dataset under a CC-BY license, including:
A Deeper Implication
os-taxonomy raises a deeper question: what form should knowledge representation take in the AI era?
Historically, knowledge was represented as textbooks (linear), encyclopedias (tree-shaped), and curricula (lists). These representations were designed for human reading. But AI agents don't need to "read" knowledge — they need to "query" it: "What are X's prerequisites?" "What is Y's centrality?" "What is the shortest path from A to B?"
These questions require graph structures. os-taxonomy transforms the curriculum from "a document for humans to read" into "a graph for AI to query". This shift may matter more than any single AI model improvement — because no matter how strong a model's reasoning is, if the knowledge it queries is flat and unstructured, its reasoning stays shallow.
1,591 nodes, 3,225 edges, 8 subjects. This is not a timetable — it is a learning map that AI can navigate.
---
*Project: withmarbleapp/os-taxonomy* *Interactive visualization: withmarble.com/curriculum*