是语人物志是一套边界明确、可从源头重建的中文历史人物库,以及完全离线的 Android 阅读应用。
数据流只有一条:
Schema → List → Map → EntityDB → Android App
schema/定义实体、属性和值类型。entity/保存像代码一样受版本控制的实体名单、映射和人工裁决。data/登记公开上游数据及其下载、校验方式;下载产物不进 Git。pipeline/把上游数据与策展输入物化为 EntityDB。app/从 EntityDB 生成离线数据并构建 Android 应用。test/校验每层边界和最终规模,不以“脚本成功退出”代替正确性。docs/解释设计理由、来源、构建成本和容易静默出错之处。
App 完全离线展示人物资料与正文,支持上下切换人物、左右翻阅正文和搜索。
需要 Python 3.11+、JDK 17 和 Android SDK。结构化建库以 Python 标准库为主; App 数据构建固定使用 OpenCC,以保证卡片与正文的繁简转换可复现。
make status # 查看原始输入是否齐全
make download # 下载 sources.csv 中标为 ready 的公开数据
make all # 运行测试,构建数据和 Android debug APK重型步骤以实际产物为 Make 目标:只改 Android 不会重扫 Wikidata,只改名单会从 roster 层开始重建。详细顺序和产物见 docs/BUILD.md。
Android App 完全离线,不申请网络或存储权限。人物卡片与正文统一转换为简体:
- 标题下只显示一个职业。具体职业必须来自已固化的摘要策展结果,或能在当前中文 维基摘要中命中;“政治人物”“军事人物”只作保底。
- 卡片不显示功名和国号;这些关系仍完整保存在 EntityDB。生卒继续显示年号和 公元年份。
- 推荐流由“二十四史传主中具有具体职业的人物”生成,当前共 1,120 人。
- 上下切换人物、左右翻阅正文;页面只保留当前人物的一个 WebView。Android 原生 层拦截多指手势,避免 Flyme 三指截图被误判成翻页;按键截图不受影响。
截至 2026-07-27 的端到端构建结果:
| 产物 | 结果 |
|---|---|
| EntityDB 实体 | 123,642 |
| 其中人物 | 117,671 |
| 结构化语句 | 796,671 |
| 正文 | 76,809 |
| App 卡片 | 123,642 |
| 推荐流 | 1,120 |
QID 全局唯一,名单与关系证据分离,关系闭包只扩一层,所有拒绝项均留档。
接下来若是有可能,应该是用史书原始数据,包括译文本继续丰富EntityDB中的关系,以及把现在依赖的正文部分由百科替换成由模型生成的人物小传。这需要用EntityDB对史书对Index,也就是EntityLink.



