内容
# [bncc.dev](https://bncc.dev) · 国家课程共同基础数据
[](https://github.com/bncc-dev/bncc-dados/actions/workflows/validacao.yml)
[](数据/LICENSE.md)
[](LICENSE)
[](CHANGELOG.md)
[](https://doi.org/10.5281/zenodo.21625233)
国家课程共同基础(Base Nacional Comum Curricular,简称BNCC)作为结构化、验证和可追溯的数据:1721项学习目标,其中包括1580项基础教育阶段的学习目标和141项计算机科学补充目标(根据CNE/CEB 2/2022号意见)。每个记录都包含能力、组织背景和出处,并与官方文件进行核对。
## 快速使用
最快捷的方式是使用基于此数据集构建的软件包:
```bash
npx -y @bncc/mcp # MCP服务器:让您的AI代理访问国家课程共同基础
npm install @bncc/dados # TypeScript/JavaScript
pip install bncc # Python
```
或者直接从数据开始,无需任何依赖:
```bash
git clone https://github.com/bncc-dev/bncc-dados.git
cd bncc-dados
python3 -c "
import json
ef = json.load(open('数据/bncc-2018/ensino-fundamental.json'))
h = next(x for x in ef['habilidades'] if x['codigo'] == 'EF67LP08')
print(h['texto'])
print(h['fonte']['localizador_pdf'])
"
```
基础教育示例记录:
```json
{
"codigo": "EF67LP08",
"texto": "识别由于选择静态图像而产生的意义效果...",
"componente": "ef-comp-lp",
"anos": [6, 7],
"organizacao": {
"tipo": "campo_pratica",
"campos_atuacao": ["ef-comp-lp-catu-campo-jornalistico-midiatico"],
"pratica_linguagem": "ef-comp-lp-prat-leitura"
},
"objetos_conhecimento": ["ef-comp-lp-oc-efeitos-de-sentido-exploracao-da-multissemiose"],
"vigencia": {"status": "vigente", "desde": "数据-2026.07", "ate": null},
"fonte": {
"localizador": "语言领域,第229行",
"localizador_pdf": "国家课程共同基础-BNCC.pdf,PDF第167页"
}
}
```
**状态:稳定。**首个版本发布:`数据-2026.07`,格式为`schema-v1.0.0`。数据完整、验证和教育学审查。标识符和格式在[版本控制](docs/versionamento.md)下保证:破坏性更改需要新的主版本。
由[Profy](https://profy.com.br)维护,它也是第一个使用者。
## 为什么信任这些数据
1. **每个记录都指向官方来源**:机械电子领域表格的行和列,以及同源PDF的页码(`fonte`字段)。
2. **自动逐字符验证**:在2018版国家课程共同基础中,1580个文本中的1576个与同源PDF匹配,剩余4个是官方来源之间的差异,记录在`DECISOES.md`中,并附有相关决定。
3. **完整性证明**:在同源PDF和计算机科学附件中扫描代码,恰好找到数据集中的代码。无缺失,无冗余。
4. **可复制提取**:运行`pipeline/`,得到相同的文件。持续集成(CI)在每次更改时执行此操作,并拒绝任何差异。
## 内容
| 目录 | 内容 |
|---|---|
| `数据/bncc-2018/` | JSON数据集:系统结构、93个幼儿教育目标(带有年龄段对齐)、1304个基础教育技能(带有主题单元、知识对象、作用领域和语言实践)、183个高中技能(带有相关能力)、20个法律里程碑(带有官方网址)和5个参考资料 |
| `数据/computacao-2022/` | 计算机科学补充(CNE/CEB 2/2022号意见):141个学习目标(11个幼儿教育、104个基础教育、26个高中)带有轴、知识对象和特有能力,与官方附件核对 |
| `fontes/` | 机械电子官方文件及其校验和 |
| `schema/` | 定义和验证每个数据文件格式的JSON Schemas(草案2020-12) |
| `derivados/` | 由JSON生成的SQLite和CSV(用于SQL和电子表格) |
| `pipeline/` | 提取、验证和确认脚本:任何人都可以从来源重新创建数据集 |
| `DECISOES.md` | 记录所有关于来源不一致性的解释决策 |
| `docs/` | 方法论、数据模型、版本控制、安装等(参见[文档](#文档)) |
## 其他格式
除了JSON之外,还有:
```bash
# SQL:6年级语言技能及其语言实践
sqlite3 derivados/bncc.sqlite "
SELECT h.codigo, c.nome FROM habilidade_ef h
JOIN contexto_organizacao c ON c.id = h.pratica_linguagem
JOIN habilidade_ef_ano a ON a.codigo = h.codigo
WHERE h.componente = 'ef-comp-lp' AND a.ano = 6 LIMIT 5;"
```
`derivados/csv/`包含每个实体的电子表格,适用于Excel/Google Sheets。JSON仍然是规范来源;派生格式在CI中生成和检查。`schema/`中的JSON Schemas定义数据格式,并在每次更改时验证。
## 重新创建提取
```bash
cd pipeline
python3 extrair.py # 官方电子表格 → 数据/bncc-2018/*.json
python3 extrair_ei.py # 同源PDF → educacao-infantil.json
python3 extrair_computacao.py # CNE/CEB 2/2022附件 → computacao.json
python3 verificar.py # 将每个文本与PDF进行比较;记录页码
python3 verificar_computacao.py # 将计算机科学与官方附件进行比较
python3 validar_schema.py # JSON Schemas,带有负测试
python3 validar.py # 29项契约和完整性检查(如果有差异则失败)
python3 derivar.py # 从JSON生成派生/(SQLite和CSV)
```
这是CI执行的确切顺序,在提交的数据集和重新创建的数据集之间进行比较。
依赖项:Python 3.10+,`pdftotext`(poppler),`ghostscript`(计算机科学附件规范)和`jsonschema>=4.18`(仅在格式验证中)。每个操作系统和常见问题的完整逐步指南:[docs/instalacao.md](docs/instalacao.md)。
## 文档
| 文档 | 用途 |
|---|---|
| [docs/modelo-de-dados.md](docs/modelo-de-dados.md) | 国家课程共同基础的建模方式:实体、代码、关系和模型假设 |
| [docs/metodologia.md](docs/metodologia.md) | 信任链:从官方来源到CI,附有验证数字 |
| [docs/versionamento.md](docs/versionamento.md) | 数据版本、记录有效期和消费者可以假设的内容 |
| [docs/instalacao.md](docs/instalacao.md) | 安装和首次运行(使用数据或重新创建管道) |
| [DECISOES.md](DECISOES.md) | 记录所有关于来源的解释决策 |
| [docs/relatorio-validacao.md](docs/relatorio-validacao.md) | 当前版本验证报告的快照 |
| [CHANGELOG.md](CHANGELOG.md) | 按类别划分的更新历史(法规、更正、模式、编辑) |
| [CONTRIBUTING.md](CONTRIBUTING.md) | 如何提出更正(规则:拉取请求中提供官方来源) |
| [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) | 社区行为准则 |
| [SECURITY.md](SECURITY.md) | 如何报告安全问题(数据错误为普通问题) |
| [AGENTS.md](AGENTS.md) | AI代理指南(另见[llms.txt](llms.txt)) |
## 如何贡献
欢迎数据更正,黄金法则是:**所有更正必须引用官方来源**(机械电子/CNE文件,附页码或定位器)。CI自动验证任何更改的可复制性。从[CONTRIBUTING.md](CONTRIBUTING.md)开始。
## AI代理
阅读根目录下的`llms.txt`。总结:使用`数据/bncc-2018/`中的JSON,官方代码作为键(`EF67LP08`,`EM13LGG103`,`EI02TS01`),永远不要发明代码或技能文本,并引用每个记录附带的来源。
## 许可证
- **数据** (`数据/`): [CC BY 4.0](数据/LICENSE.md)。国家课程共同基础的规范文本是官方行为,不受版权法保护(第8条,第9,610/98号法律);许可证涵盖编译、结构和策划。
- **代码** (`pipeline/`): [MIT](LICENSE).
这里开放的内容是不可撤销的开放:参见[docs/divisao-aberto-comercial.md](docs/divisao-aberto-comercial.md)。
要引用数据集,请在根目录中使用`CITATION.cff`(侧边栏中的*引用此仓库*按钮生成格式化的引用)。
## 路线图
作为预发布版本(0.1.x)已经可用:npm软件包[@bncc/dados](https://www.npmjs.com/package/@bncc/dados),PyPI软件包[bncc](https://pypi.org/project/bncc/)和MCP服务器[@bncc/mcp](https://www.npmjs.com/package/@bncc/mcp),都在[快速使用](#快速使用)中。 1.0版本将与此首个版本一起发布,并附带[bncc.dev](https://bncc.dev)上的每个技能页面。