withmarbleapp/os-taxonomy

GitHub: withmarbleapp/os-taxonomy

一个开放的小学阶段课程知识图谱数据集,将微主题分解为带前置依赖的有向无环图并与多国课程标准对齐,解决课程数据不可计算、不可互操作的问题。

Stars: 2361 | Forks: 436

# Marble 技能分类体系 一个开放的、结构化的分类体系,涵盖儿童在小学阶段**学习的内容** —— 被分解为细粒度的“微主题”,连接成前置依赖图,并与国家课程标准对齐。由 [Marble](https://withmarble.com) 制作。 ## 查看它 ![分类体系作为一个旋转的 3D 图表:每个点代表一个微主题,按学科着色,通过前置依赖关系连接](https://static.pigsec.cn/wp-content/uploads/repos/cas/dd/ddcdb06a3d434a8af8ac458ec075323f1842b20b3e2e0ebba7ac39212a21ccd7.gif) 每个点都是一个微主题,按学科着色;高度代表年龄段;每条线段是一个前置依赖([高质量视频](media/curriculum-viz.mp4))。在 [withmarble.com/curriculum](https://withmarble.com/curriculum) 进行交互式探索 —— 点击任意概念,即可追溯学习者在掌握它之前必须掌握的所有内容。 ## 这是什么 大多数课程数据要么是标准的扁平列表,要么被锁定在产品中。此数据集是一个**学习连接图**: - **1,590 个微主题** —— 单一的、可教学的概念(例如*“造句”*,*“恒星的视亮度”*),每个都包含通俗易懂的描述、掌握**证据**标准、类型(概念性 / 程序性 / 表征性 / 语言性 / 元认知)、学科 + 领域,以及大致的年龄范围。 - **3,221 个前置依赖关系** —— 一个有向无环图:*“主题 X 依赖于前置条件 Y”*,每条边都标记为 `hard`/`soft` 并附带一行**原因**。 - **课程对齐** —— 每个微主题都链接到其提炼自的源课程标准(NGSS、Common Core、英国国家课程等)。 - **领域集群** —— 每个组合(学科,领域,年龄段)包含 183 个对家长友好的单段落摘要。 ### 学科 | 学科 | 主题 | |---|---:| | Science | 547 | | Mathematics | 503 | | English | 286 | | History | 90 | | Personal & Social Development | 88 | | Life Skills | 37 | | Computing | 21 | | Learning to Learn | 18 | ## 文件 所有数据均以 UTF-8 JSON 格式存放在 [`data/`](data/) 中。请参阅 [`schema/`](schema/) 获取 JSON Schema,以及 [`manifest.json`](data/manifest.json) 获取计数 + SHA-256 校验和。 | 文件 | 包含内容 | |---|---| | [`data/topics.json`](data/topics.json) | 微主题(图谱**节点**)。 | | [`data/dependencies.json`](data/dependencies.json) | 前置**边**(`topicId` 依赖于 `prerequisiteId`)。 | | [`data/curriculum-standards.json`](data/curriculum-standards.json) | 源课程标准,按课程分组。 | | [`data/clusters.json`](data/clusters.json) | 面向家长的领域摘要。 | | [`data/manifest.json`](data/manifest.json) | 计数、各学科明细、各文件校验和。 | ### 主题 ``` { "id": "mt_N8CpN1EJrP", "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"] } ``` - `id` — 稳定标识符(`mt_…`),被依赖关系和相邻节点引用。 - `standards` — 指向 `curriculum-standards.json` 的键(`":"`)。 - `assessmentPrompt` — 针对该概念的自然语言检查。包含 `{{name}}` 占位符(儿童姓名);在展示前进行替换或移除。 ### 依赖关系 ``` { "topicId": "mt__00ZSLnB7p", "prerequisiteId": "mt_VBl1T1sFCM", "strength": "hard", "reason": "Must understand vibrations make sound before finding volume patterns" } ``` `topicId` **依赖于** `prerequisiteId`。反转此边即可得到“解锁”关系。 ## 使用方法 纯数据 —— 无 runtime,无依赖。加载 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])); const prereqs = deps.dependencies .filter(d => d.topicId === 'mt_N8CpN1EJrP') .map(d => byId.get(d.prerequisiteId).name); ``` 验证结构和引用完整性: ``` node scripts/validate.mjs ``` ## 许可证 此数据集采用**多重许可** —— 在使用或重新分发前请阅读此内容。 | 层级 | 许可证 | |---|---| | **数据库** —— 包括集合、结构、ID、主题↔主题和主题↔标准关系 | [**ODbL 1.0**](LICENSE) — 可免费用于研究**和**商业用途,要求**署名**,**相同方式共享**(衍生*数据库*必须在 ODbL 下保持开放)。 | | **Marble 创作的文本内容** —— 主题的 `description`/`name`/`evidence`/`assessmentPrompt`,依赖关系的 `reason`,集群的 `summary` | [**CC BY-SA 4.0**](LICENSE-CONTENT) — 精神相同:署名 + 相同方式共享。 | | **`curriculum-standards.json`** —— 提取自第三方框架 | **不**属于 Marble 的再许可范围。每个来源均受**其各自的上游许可证**约束 —— 参见 [**PROVENANCE.md**](PROVENANCE.md)。 | **为什么选择相同方式共享 + 依然支持商业用途:** ODbL 区分了*衍生数据库*(扩展/修改分类体系 → 必须保持开放)和*衍生作品*(在产品、模型或 app 中使用 → 版权归你所有)。因此,你可以基于此构建商业产品,而无需开源你的产品;你只需将对*分类体系本身*的改进回馈给社区。 ### 署名 任何使用都必须注明来源: 以及你使用的任何课程标准在 [PROVENANCE.md](PROVENANCE.md) 中的上游声明。请参阅 [CITATION.cff](CITATION.cff) 获取正式的引用格式。 ## 哪些内容*不*在此处 在此版本中刻意排除的内容:语义 embedding(派生数据,可重新计算)以及任何特定儿童 / 用户数据(从未发布)。参见 [CHANGELOG.md](CHANGELOG.md)。
标签:Homebrew安装, 教学大纲, 有向无环图, 自定义脚本, 课程体系