ScottDuncanAI/PID-to-Knowledge-Graph
数据把 P&ID/PFD PDF 转成可查询的流程图谱,记录工艺流向、仪表位置和控制回路,面向工艺工程人员。
项目介绍
pid-to-kg 是一个 Claude 技能,面向需要处理管道及仪表流程图(P&ID)和工艺流程图(PFD)的工艺工程人员。它能读取数字版或扫描版 PDF,生成一张连通的知识图谱,覆盖三类信息:工艺流向(每台储罐、泵、阀门和管段的上游与下游)、测量关系(哪台仪表测量哪个变量、在流程中的确切位置),以及从传感器经控制器到执行元件(含 I/P 继电器、串级、联锁和变频器)的控制回路。
工作方式分为两部分:识别符号和追踪线条需要视觉判断,由 Claude 逐张全图并分块阅读;页面预处理、图谱构建和校验属于固定流程,由经过测试的 Python 脚本统一执行。产物包括 summary.md、graph.json、graph.duckdb 和用于列出疑点的 qa_report.md,目标是作为化工制造上下文层的一层,供 LLM 应用查询。
快速使用
准备:Claude Code(桌面版或终端版)和 Python 3.10 以上;推荐 3.12,3.13 及以上仍可用,但没有 OCR 交叉校验和自动页面转正。
- 在仓库页面点击 Code → Download ZIP 并解压。
- 进入解压后的
skills目录,把pid-to-kg复制到个人技能目录:Windows 为C:\Users\<用户名>\.claude\skills\,macOS 为/Users/<用户名>/.claude/skills/。目录不存在就新建;.claude默认隐藏。 - 新建项目文件夹,把 P&ID PDF 放进去,用 Claude Code 打开该文件夹。
- 让 Claude 转换,例如:
Convert haile.pdf into a knowledge graph. The P&IDs are on pages 47–60.技能会自动加载,首次运行会安装所需 Python 包,并在执行命令前请求许可。 - 用图上可核对的问题检验结果,例如
What sensor measures the flow into TK-101, and where exactly is it?结果保存在项目文件夹内的work/<plant name>/kg/。
没有现成图纸时,作者的公开化工制造数据集列出了真实许可设施的 P&ID 集合,数字版和扫描版都有,并标注了图纸页码。
输出与扩展
默认产物有四类:可直接作为 LLM 上下文的 summary.md、qa_report.md、遵循图谱 schema 的完整 graph.json,以及用于 SQL 查询(含递归上下游搜索)的 graph.duckdb。较大项目可以要求导出到 Neo4j 或供 yEd、Gephi、NetworkX 使用的 GraphML。节点与边类型见本体文档,设备和仪表还带有最接近的 DEXPI 类别。
使用约束
- 抽取质量取决于图纸清晰度;低分辨率扫描可能丢失小字,无法读取的条目会被标注,而非猜测。
- 控制回路来自 ISA-5.1 位号和图上的信号线,仅存在于控制说明或因果图中的逻辑不会被采集。
- 流向依据箭头和设备逻辑推导,需要推断的边会标记为
flow_direction: inferred。 - DEXPI 映射仅供参考,不是经认证的 DEXPI 导出。
- 图谱由机器抽取,在用于设计、操作、变更管理或 HAZOP、LOPA 等安全研究前,必须由合格工程师复核。
- 项目采用 MIT 许可证。开发时使用
pip install -e ".[dev]"和pytest。
HotRepo 点评
该项目于 2026-11-11 出现在 HotRepo 的 Python 新项目榜:统计窗口约 1.5 小时内新增 11 Star、2 Fork,当时累计 111 Star、27 Fork。观察窗口很短、仓库也很年轻,这反映的是早期关注度而不是稳定采用情况;站内没有记录到 GitHub 全语言日榜名次。资料里比较突出的是工程取舍:把符号识别留给 Claude,把渲染、图谱构建和校验交给确定性脚本,输出结构还对接到 ISA-5.1 位号和 DEXPI 类别;README 也明确写出流向推断会打标记等失败情形。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。