跳到主要内容

Graph Engineering 入门介绍

七天实战

边学边练请访问 7 天学会 Graph Engineering 子站,涵盖图论课表、图数据库实验、知识图谱与 GraphRAG 实战路径。

延伸阅读

请参阅 快速开始开发指南

什么是 Graph Engineering?

Graph Engineering(图工程) 是一套把「关系」当作一等公民的系统工程方法论。它研究如何把实体、关系、路径、约束与演化过程,设计成可建模、可存储、可查询、可推理、可观测的图系统。图论给出数学语言,图数据库给出持久化与遍历能力,知识图谱给出语义与本体,GraphRAG 与图神经网络(GNN)则把图结构接到大模型与表示学习流水线。

与只存文档或向量的系统相比,图工程强调:边不是附属元数据,而是一等查询对象。业务问题往往是「谁通过什么路径影响了谁」「某个概念如何被多跳证据支撑」「社区与中心性如何指导推荐与风控」。若强行压成宽表或纯向量相似度,路径语义会丢失,调试也会变成黑盒。

图工程不是某一个产品的运维手册,也不是「把 Neo4j 装上就算完成」。它是可迁移到电商推荐、反欺诈、知识问答、运维拓扑、药物发现与 Agent 记忆的通用语言:同一套「节点—边—模式—算法—评测」心智模型,可以映射到不同存储与计算引擎。

核心理念:六条公理

  1. 关系优先:先问清边的类型、方向、基数与生命周期,再谈属性字段。把「关注」建成无向边还是两条有向边,会彻底改变推荐与风控查询的写法。
  2. 模式驱动查询:点查、邻域、路径、子图、聚合各有最优存储与索引形态。没有万能索引,只有与查询形状对齐的索引。
  3. 超级节点可治理:度分布长尾是常态。必须有限流、分片、预聚合、冷热分层,否则一次「查邻居」就能拖垮集群。
  4. 语义可追溯:知识图谱边应带来源、时间、置信度,支持审计与回滚。否则 GraphRAG 只是换了一种幻觉生成器。
  5. 检索可组合:GraphRAG 中图遍历与向量召回是互补,不是互斥。图负责精确约束与多跳证据,向量负责语义模糊匹配。
  6. 表示可学习:GNN/嵌入把拓扑压成向量,但仍需可解释的图层作为约束与评测锚点。

历史由来:从图论到知识图谱与 GraphRAG

图论可追溯到欧拉 1736 年的柯尼斯堡七桥问题:把陆地看成点、桥看成边,证明不存在一笔画遍历。20 世纪网络科学把小世界、无标度网络带入复杂系统研究,让「度分布」「聚类系数」「最短路径」成为跨学科通用量。

数据库领域形成两条主流:

路线核心模型查询语言典型产品强项
属性图标签节点 + 类型边 + 键值属性Cypher / Gremlin / GQLNeo4j、TigerGraph、JanusGraph应用开发直觉、OLTP 遍历
RDF主—谓—宾三元组SPARQLGraphDB、Virtuoso、Stardog本体推理、语义互操作

Google Knowledge Graph、WikiData、Freebase 等推动了大规模实体链接与开放域知识。近年 RAG 兴起后,GraphRAG 尝试用社区摘要、多跳证据与实体关系约束弥补纯向量检索的「语义断裂」。与此同时,GCN、GraphSAGE、GAT、异构图网络把深度学习扩展到非欧数据,让「拓扑」成为可训练的归纳偏置。

架构概览:图工程分层

典型分层包括:

  1. 概念层:本体/Schema(节点标签、边类型、约束、枚举)。
  2. 采集层:ETL、CDC、文档抽取(NER/RE)、人工众包。
  3. 存储层:属性图库 / RDF 库 / 混合(图 + 向量 + 文档)。
  4. 查询层:Cypher、Gremlin、SPARQL、专用路径 API。
  5. 推理层:规则、路径排序、GNN、LLM 工具调用。
  6. 应用层:搜索、推荐、风控、运维拓扑、Agent 记忆。
  7. 观测层:质量指标、漂移检测、查询剖析、血缘。

每一层都有独立的失败模式:采集层脏实体会导致下游「假边」;存储层超级节点会放大查询延迟;推理层若缺少置信度,应用层会把猜测当事实。图工程师的工作,是让这七层的契约与 SLO 对齐。

图思维:从 JOIN 爆炸到模式匹配

关系型数据库用外键与 JOIN 表达关系。两跳尚可,六跳社交路径几乎必遇性能悬崖。图思维把关系写成可直接遍历的边:

// 电商:用户买过 A,还买过什么?(2 跳共现)
MATCH (u:User {id: 42})-[:PURCHASED]->(p1:Product)
MATCH (u)-[:PURCHASED]->(p2:Product)
WHERE p2 <> p1
RETURN DISTINCT p2.name LIMIT 20;

同一问题在 SQL 中通常需要多层 JOIN 或递归 CTE,查询形状与业务形状脱节。图工程的第一堂课,是学会用「模式」描述问题,而不是用「表连接」描述问题。

查询形状SQL 常见写法图原生写法工程注意点
点查PRIMARY KEY节点属性索引唯一约束
一跳邻域单表 JOIN出/入边扩展超级节点限流
多跳路径递归 CTE*1..k / shortestPath深度上限
社区/中心性难表达GDS / NetworkX投影子图

与相近技术的边界

技术擅长不擅长与图工程关系
关系型 DB事务、强一致表连接深路径遍历源系统与权威属性仓
文档库半结构化内容多跳关系证据原文仓
向量库语义相似精确路径/约束GraphRAG 召回侧翼
规则引擎可解释策略大规模拓扑学习与图查询互补
纯 LLM生成与总结事实锚定需图/检索约束幻觉

决策口诀:需要精确多跳、可解释路径、类型约束 → 优先图;需要模糊语义相似 → 加向量;需要强事务财务事实 → 保留关系库作权威源。

属性图与 RDF:如何选型

属性图把「标签 + 属性」挂在节点与边上,开发者直觉接近面向对象。RDF 把一切压成三元组,适合跨组织互操作与 OWL 推理。实践中常见混合:

  • 对内 OLTP 应用:属性图(Cypher/GQL),迭代快。
  • 对外发布与推理:RDF/OWL,标准成熟。
  • 双写或物化视图:用 ETL 同步关键子图,避免一套模型硬扛所有场景。

选型时问三个问题:查询是路径多还是推理多?团队更熟 SQL/OO 还是语义网?是否必须与外部本体对齐?答案会直接决定存储与查询语言。

知识图谱:语义层的工程含义

知识图谱(Knowledge Graph)不是「画好看的关系图」,而是:有本体约束的、可融合多源事实的、可推理补全的语义网络。工程流水线通常是:

  1. 定义 TBox(类、属性、约束)。
  2. 从结构化/半结构化/非结构化源抽取 ABox(实例与事实)。
  3. 实体解析与融合(同一「苹果公司」的多源对齐)。
  4. 质量门禁(冲突检测、完整性、新鲜度)。
  5. 服务化查询与推理(SPARQL/Cypher API、规则、嵌入补全)。

没有来源与置信度的边,不能进生产图。这是图工程与「演示大屏」的分水岭。

GraphRAG:用图约束生成

纯向量 RAG 容易出现:检索到语义相近但事实无关的片段;无法回答「A 通过什么关系影响 B」;多跳证据断裂。GraphRAG 族方案的共性是:

  1. 实体链接:问句中的提及映射到图中节点。
  2. 子图扩展:按边类型与跳数取证据邻域。
  3. 社区/摘要(微软 GraphRAG 等):对大图做社区发现,预计算摘要以支持全局问题。
  4. 证据打包:路径、三元组、原文片段一并交给 LLM。
  5. 评测:忠实度、引用覆盖、路径正确率,而不仅是「看起来流畅」。

GNN:拓扑作为归纳偏置

图神经网络通过消息传递聚合邻居信息:每个节点根据邻域更新表示。GCN、GAT、GraphSAGE、GIN 是不同的聚合器设计。工程上要先分清任务:

任务输入输出典型场景
节点分类图 + 部分标签节点类别论文主题、账户风险
链接预测图(隐藏部分边)边存在概率推荐、KG 补全
图分类多个小图图级标签分子毒性、代码图
图生成噪声/条件新图结构分子设计

GNN 不是替代图数据库,而是在「已有拓扑」上学习表示。生产中常见模式:图库负责存储与精确查询,训练管道周期性导出子图或特征,在线服务用嵌入做召回,再用图查询做重排与解释。

学习路径建议

  1. 掌握节点、边、方向、多重边、属性、标签。
  2. 用手算与小图理解 BFS/DFS、最短路径、中心性、连通分量。
  3. 选一个属性图库跑通 CRUD 与两跳查询。
  4. 建立迷你知识图谱(人物—组织—事件)并做实体对齐。
  5. 把图谱接入 RAG:实体链接 → 子图扩展 → 证据打包 → 生成。
  6. 了解 GNN 消息传递直觉,用 Cora 等小数据集跑通节点分类。
  7. 学习生产议题:批量导入、备份、权限、多租户、超级节点。

本站文档地图

工程权衡清单(入门即要建立的判断力)

写清业务问题陈述:节点与边分别代表什么,期望查询是点查、邻域、最短路径、社区还是路径推理。用小样本(约 1 万节点、5 万边)验证索引与内存,再按 10× 扩容看延迟曲线。对 GraphRAG,分别给「图查询」与「向量召回」设延迟预算。调试时保留:查询计划、度分布、超级节点限流、边类型过滤命中率、回退到关键词检索的开关。把「为何选图而不是表/文档库」写成 ADR。安全上:导出子图脱敏、查询参数化、多租户标签隔离。观测上:度分布直方图、P95/P99、缓存命中率、批导入吞吐。迭代节奏:两周一个垂直切片(建模→导入→查询→评测→可视化)。与 LLM 结合时,图是约束与证据层,生成边必须带置信度与复核入口。

小结

Graph Engineering 教你看见关系、设计模式、治理规模、组合检索与学习表示。接下来请从 快速开始 动手建第一张图;若希望按 7 天节奏边学边练,请打开子站课表与算法沙盒。