moonbit-tradeclass

Version-aware trade classification concordances for MoonBit

trade
classification
concordance
hs
sitc
moon add qzx-cyber/moonbit-tradeclass@0.2.0
Download zip
Author
Version
0.2.0
License
Apache-2.0
Last updated
1 hour ago
Downloads
2
README

#moonbit-tradeclass

CI License

面向贸易统计、海关分析和经济研究的 MoonBit 分类映射库。它把分类体系元数据、版本差异、可追溯 concordance 规则、带权映射、质量审计和聚合分析组合成一个可复用的纯数据处理内核。

#核心能力

  • 表达 HS、SITC、BEC、NAICS、NACE 等分类体系及其版本、层级和代码状态。
  • 支持一对一、一对多、多对一、带权重和跨版本链式映射,并对循环、缺失和不可映射结果保留原因。
  • 提供代码规范化、目录查询、父子关系、版本差异报告和规则质量审计。
  • 提供按国家、年份和产品代码的确定性聚合,以及均值、分位数、份额和集中度等基础统计。
  • 内置可复现的项目自有合成基准工作负载,用于验证吞吐、权重和边界行为;不冒充官方分类数据库。

#快速开始

let hs = classification_system("HS", "Harmonized System")
let version = classification_version(hs, "2022", 2022)
let item = product_code(version, "0101", "Live horses", 4, active_code_state(), None)
let rule = concordance_rule(
"0101",
[mapping_target("010121", 0.7), mapping_target("010129", 0.3)],
exact_confidence(),
"local fixture",
)
let result = map_code(concordance([rule]), item.code)

moon check --deny-warn moon test --deny-warn moon run cmd/moonbit-tradeclass --target native

#CLI

命令行演示使用库内的许可清晰的小型工作负载,适合确认工具链、映射链和基准数据是否可用:

moon run cmd/moonbit-tradeclass --target native

CLI 输出包含基准记录数、映射规则数、场景规模和质量摘要。生产数据应由调用方在确认来源许可后接入库 API;完整 CSV/JSON 适配器属于上层应用边界。

#架构

model 领域对象、状态和构造校验 normalization 代码规范化、层级和前缀操作 registry 分类体系、版本和产品目录 concordance 映射图、权重传播和循环保护 aggregate 贸易记录确定性聚合 analytics 描述统计、份额、变化和窗口计算 diff 版本代码新增、删除和元数据变更 quality 规则、目录和权重质量审计 benchmark_* 可复现的基准记录、场景、规则和阈值 cmd/ 可执行演示

所有核心模块仅依赖 MoonBit 标准库,数组处理保持确定性,便于 WASM、native 和后续 Mooncakes 依赖复用。

#基准

仓库内的 benchmark_* 模块包含 1,000 条记录、2,000 个映射场景、1,600 条带权规则和 700 个阈值配置。它们是项目自有合成工作负载,目的是让每次 CI 和本地验收使用同一输入;它们不包含也不替代 HS、SITC 等官方完整数据。

本地可用以下命令测量真实运行时间,并把结果记录到发布说明或 CI 工件中:

Measure-Command { moon run cmd/moonbit-tradeclass --target native }

#测试

测试覆盖模型构造、负权重、空规则、拆分、桥接、合并、循环、缺失映射、目录一致性、规范化边界、版本差异、聚合和基准数据不变量。边界语料库包含 1,400 组表驱动输入。

moon fmt --check moon info moon check --deny-warn moon test --deny-warn moon check --target native --deny-warn moon test --target native --deny-warn

#CI

GitHub Actions 使用 MoonBit stable 安装器,并执行格式检查、公共接口差异检查、普通/native 类型检查和测试、覆盖率摘要以及 CLI native smoke test。工作流文件位于 .github/workflows/test.yml,每次 push 和 pull request 自动运行。

#数据与许可证边界

本仓库只提供数据模型、映射算法、质量状态和自制小型夹具,不打包 HS、SITC、BEC、NAICS 或 NACE 的完整官方商品数据库。官方原始分类数据的获取、再分发与许可证由使用者自行确认;本项目代码与映射算法以 Apache-2.0 发布。NOTICEdocs/data-sources.md 记录来源边界。

#许可证

代码以 Apache License 2.0 发布,详见 LICENSE。官方分类原始数据不随本仓库分发;使用者需要自行核对来源、版本和再分发许可。贡献方式见 CONTRIBUTING.md,变更记录见 CHANGELOG.md