项目详情

Marble Skill Taxonomy

孩子到底要学会什么?1,590 个微主题连成一张带先修关系的学习图谱——开放数据集

GitHub 地址 交互探索器 ODbL 1.0 + CC BY-SA 4.0 4.2k Stars 纯 JSON 数据集

更新于 2026-09-03

← 返回汇总
项目速览

一句话定位

把「学什么」变成一张图

教育公司 Marble 开放的 K-6(小学)课程知识图谱:1,590 个可教学的微主题(「搭建句子」「恒星的视星等」这种颗粒度)作为节点,3,221 条带理由的先修依赖作为边,构成有向无环图,并对齐 NGSS / Common Core / 英国国家课标。纯 JSON 数据、零运行时、可商用。适合做自适应学习、教育测评、AI 导师产品的底层数据,也是知识图谱工程的多层许可范本。

项目速览

核心数据

1,590
微主题(节点)
3,221
先修依赖边
8
学科
183
领域聚类摘要
4.2k
Stars
749
Forks
1.6MB
topics.json 体积
2026-07-08
发布(至今唯一版本)

数据来源:GitHub API,采集于 2026-09-03。7 个 commit 集中在发布当天,18 个 open issues,近两个月无代码更新。

它是什么

课标是列表,这是图谱

传统课程数据
  • 扁平标准清单:一条条 outcome,彼此关系靠人脑补
  • 锁定在产品里:教材公司、学习 App 各自封闭维护
  • 颗粒度粗:一条标准覆盖数周教学内容
  • 无法回答「学 X 之前必须会什么」
这份 taxonomy
  • 连接图:每个微主题知道自己的前置与解锁关系
  • 开放:ODbL 可商用,share-alike 只约束数据库本身
  • 微颗粒:一个主题 = 一个可教、可测的单点概念
  • 带证据:每个主题附掌握判据 + 自然语言测评问句

README 的第一句话就点破了定位:大多数课程数据要么是扁平的标准清单,要么锁在产品里。这份数据集是「学习的连接图」——点开任意概念,能追溯学会它之前必须掌握的一切。

数据模型

四个 JSON 文件 + 一张图

图谱本体(核心资产) topics.json · 节点 1,590 个微主题 name / 描述 / 类型 / 年龄段 evidence 掌握判据 / centrality standards 课标对齐键 dependencies.json · 边 3,221 条有向依赖(DAG) topicId depends on prerequisiteId strength: hard / soft reason: 一行人类可读理由 配套层 curriculum-standards.json NGSS / Common Core / UK NC 源课标全文,按课程分组 clusters.json 183 个家长友好摘要 按 学科×领域×年龄段 分组 工程保障 · schema/ 四份 JSON Schema 逐文件结构约束 · scripts/validate.mjs 结构 + 引用完整性校验 · manifest.json 计数 + 每文件 SHA-256 · CITATION.cff 学术引用 · PROVENANCE.md 源课标的上游许可记录 CHANGELOG 声明不包含: 语义嵌入(可再生)与任何 儿童数据(永不发布)
图谱本体(节点 + 边) 配套数据层 工程与许可保障
源码解剖

一个微主题长什么样

{
  "id": "mt_N8CpN1EJrP",                    // 稳定 ID,被依赖边引用
  "type": "CONCEPTUAL",                    // 概念/程序/表征/语言/元认知 五类
  "subject": "English", "domain": "Grammar & Punctuation",
  "name": "Building sentences",
  "description": "Understand that words combine to make sentences —
                a sentence expresses a complete thought…",
  "ageRangeStart": 4, "ageRangeEnd": 6,
  "centrality": 0.257,                    // 图中心度:被多少后续主题依赖
  "evidence": [                           // 掌握判据(可观察行为)
    "Distinguish between complete sentences and fragments",
    "Compose a complete sentence with a subject and verb" ],
  "assessmentPrompt": "If {{name}} says something like
    \"The dog\", can they tell you that's not a complete sentence…?",  // 测评问句模板
  "standards": ["ccss-ela:L.K.1f", "uk-nc-2013:Eng.App2.Y1.Sent.1"]  // 课标对齐
}

关键设计:evidence 是行为判据不是知识点复述(「能区分完整句与残句」),assessmentPrompt 带 {{name}} 占位符直接面向儿童测评——数据天生为自适应学习系统设计。

核心机制

依赖边:为什么这是 DAG 而不是标签

{
  "topicId": "mt__00ZSLnB7p",
  "prerequisiteId": "mt_VBl1T1sFCM",
  "strength": "hard",
  "reason": "Must understand vibrations
    make sound before finding
    volume patterns"
}
  • 方向语义:topicId「依赖」prerequisiteId;反向读就是「解锁」——同一份数据支撑排课与诊断两个方向
  • hard / soft:硬依赖(不会就学不了)与软依赖(先学更顺)分层,排课算法可用不同约束
  • reason 必填:每条边带一行人类可读理由——审计、纠错、教学解释三用
能回答的问题
  • 「学分数乘法之前,必须掌握哪些概念?」→ 沿边回溯先修闭包
  • 「这个孩子卡住了,最可能的缺口在哪?」→ 图上反向定位
  • 「哪两个主题最值得提前教?」→ centrality 高的枢纽节点
  • 「这周教学内容依赖上周吗?」→ 子图同构检查
DAG 约束的意义

有向无环 = 学习路径可拓扑排序。一旦出现环(A 依赖 B、B 又依赖 A),整个排课体系崩溃——validate.mjs 校验的不只是引用完整性。

数据分布

八个学科,1,590 个微主题

Science 科学
547
Mathematics 数学
503
English 英语
286
History 历史
90
个人与社会发展
88
Life Skills 生活技能
37
Computing 计算机
21
Learning to Learn 元学习
18

观察:科学 + 数学占 2/3(1,050 个)——STEM 重心与美英课标的颗粒度差异有关;「元学习」作为独立学科存在(「学会如何学习」18 个主题)是这份分类学少见的设计。

许可架构

三层许可:share-alike 但商业友好

第 1 层 · 数据库整体 —— ODbL 1.0 集合结构 / ID / 关系(topic↔topic、topic↔standard)。研究 + 商用免费,需署名; 衍生数据库(扩展/修改 taxonomy)必须同样开放 —— share-alike 只锁定这一层 第 2 层 · Marble 撰写的文本 —— CC BY-SA 4.0 name / description / evidence / assessmentPrompt / reason / cluster 摘要。署名 + 相同方式共享 即:拿去改写进自己的教材没问题,改后的文本内容也要开放 第 3 层 · 上游课标原文 —— 各自的原有许可 curriculum-standards.json 里的 NGSS / Common Core / UK NC 内容不是 Marble 的,不能转授权 PROVENANCE.md 逐条记录上游许可 —— 用之前自己核对
数据库层(ODbL:改库必须回流开放) 内容层(CC BY-SA) 上游层(不属 Marble)

精妙之处:ODbL 区分「衍生数据库」与「产出作品」——用它做商业 App/模型不用开源你的产品,只有对 taxonomy 本身的修改必须开放。这是 OpenStreetMap 同款打法。

快速上手

纯数据,import 即用

// 零依赖:load JSON 就够了
import topics from './data/topics.json' with { type: 'json' };
import deps from './data/dependencies.json' with { type: 'json' };

const byId = new Map(topics.topics.map(t => [t.id, t]));
// 「Building sentences」的全部先修:
const prereqs = deps.dependencies
  .filter(d => d.topicId === 'mt_N8CpN1EJrP')
  .map(d => byId.get(d.prerequisiteId).name);

# 校验结构与引用完整性:
node scripts/validate.mjs
战略解读

教育公司为什么白送核心资产

  • Marble 是谁:Generative Spark, Inc. 旗下的儿童教育产品公司(K-6 自适应学习方向),数据集由产品内部 taxonomy 抽出开放
  • 开放 ≠ 慈善:ODbL 的 share-alike 意味着任何竞品改进这份图谱都必须回流——社区越繁荣,Marble 的底座越厚,OpenStreetMap 模式的教育版
  • 标准卡位:自适应学习产品最缺的就是机器可读的先修图谱;谁定义它,谁的 AI 导师产品就有先发数据优势
  • 传播验证:发布当天 4.2k stars,靠 README 里的 3D 旋转图可视化出圈——数据集也要靠 demo 卖
与同类开放教育数据对比
本数据集典型课标库
结构带先修边的 DAG扁平文本清单
颗粒度单概念微主题年级/学期级
测评判据每主题 evidence通常无
许可商用友好三层视上游而定
风险与局限

冷静看

潜力评估

打分

维度评分依据
数据价值
教育领域几乎唯一开放的先修图谱,缺口真实存在
工程规范
Schema×4 + 校验 + SHA-256 + CITATION + 溯源,教科书级
维护活跃
单日发布、两月无更新、issue 无人理
领域权威性
对齐权威课标,但依赖边质量未见专家背书
复用潜力
自适应学习/测评/AI 导师/RAG 教育问答都能直接吃

综合 8/10。作为「活项目」不合格,作为「数据资产」优秀——1,590×3,221 的先修图谱是教育科技开源里独一份的底层砖,多层许可设计值得所有数据集作者抄作业。

最终裁决

适合谁用

用
  • 做自适应学习 / AI 导师 / 智能测评产品,缺课程图谱底座
  • 教育 x 知识图谱研究:DAG 结构 + 真实课标对齐,现成数据集
  • 想学开放数据集的许可工程(ODbL 分层 + 溯源 + checksum)
  • 家长/老师:交互探索器本身就好用
绕开
  • 要一个持续维护、有社区响应的上游(这是快照)
  • K-6 之外、艺术/音乐等学科的需求(覆盖不到)
  • 把依赖边当教育学真理直接上生产(先抽样人工审)

上一个
SRT 白板动画
下一个
rust-libp2p
在线体验

先修链探索器

点选任意微主题,实时计算它的完整先修闭包、拓扑排序学习路径、关键链深度与解锁范围——正是 dependencies.json 这张 DAG 能回答的问题。附带循环依赖检测演示。

进入 Playground →
1 / 15