
无索引邻接 · Cypher 匹配 · GDS 算法目 录一、导读二、图数据模型与分类2.1 属性图 vs RDF 图2.2 原生图存储 vs 非原生2.3 图数据库 vs 图计算引擎三、无索引邻接图遍历的原理3.1 邻接表组织3.2 遍历复杂度3.3 与关系库 JOIN 对比四、Cypher 模式匹配原理4.1 声明式描述4.2 模式匹配示例4.3 执行与规划五、图算法原理GDS5.1 算法调用六、事务与一致性6.1 ACID 事务6.2 本篇小结一、导读本讲深入图数据库内核图如何分类与建模数据模型与原生性、关系遍历为何高效无索引邻接、查询如何表达与执行Cypher 模式匹配、分析如何落地图算法。理解这些是建模、调优与选型的基础。二、图数据模型与分类2.1 属性图 vs RDF 图图数据模型分两大类属性图模型是工业界主流Neo4j / NebulaGraph / TigerGraph 均采用节点与边携带丰富属性边有方向与类型直观契合面向对象思维RDF 图模型源自语义网用「主语-谓语-宾语」三元组表达更强调语义与互操作。2.2 原生图存储 vs 非原生按底层存储引擎是否原生可分两类原生图存储为「图」专门设计并优化如 Neo4j直接以邻接表组织节点与关系非原生图存储把图数据序列化进关系库或对象库再套一层图接口遍历往往退化为多次表连接性能受限。2.3 图数据库 vs 图计算引擎按应用方式分两个方向图数据库面向 OLTP负责图数据的实时存储与联机事务查询支持 CRUD 与事务图计算引擎面向 OLAP用于海量图数据的离线批量挖掘如 PageRank 全图计算、社区发现常基于 Spark GraphX 等计算框架。三、无索引邻接图遍历的原理3.1 邻接表组织原生图存储以「邻接表」方式组织关系每个节点记录直接保存指向其邻居的指针关系通过双向链表串起同一节点的所有连接。遍历时沿指针跳转即可无需经过全局索引查找。3.2 遍历复杂度单跳遍历近似 O(1)多跳K-Hop成本随跳数近似线性增长。以三度好友查询为例Neo4j 响应在毫秒级而关系库需多次自连接性能随度数呈指数级恶化。跳数越深、模式越复杂原生图库的优势越明显。3.3 与关系库 JOIN 对比维度图数据库关系型数据库关系存储边为一等公民指针直连外键 关联表多跳遍历沿指针 O(1) 跳转多次 JOIN / 递归 CTE性能曲线随深度近似线性随深度指数恶化表达MATCH 模式匹配JOIN GROUP BY 拼接四、Cypher 模式匹配原理4.1 声明式描述Cypher 以「所见即所得」的方式声明式描述图模式由规划器决定执行路径。MATCH 描述要匹配的图结构WHERE 过滤约束RETURN 返回结果。4.2 模式匹配示例// 匹配 Alice 的二度好友不含直接好友MATCH (a:Person {name:Alice})-[:KNOWS]-(b)-[:KNOWS]-(c)WHERE NOT (a)-[:KNOWS]-(c)RETURN c.name量化路径模式等高级语法可用更少代码表达多变长路径替代复杂的递归 CTE 与自连接。4.3 执行与规划Cypher 字符串经解析 → 规划器生成逻辑计划 → 转换为物理计划 → 由 Runtime 执行规划器依据索引与统计信息选择最佳起点与路径保证复杂模式匹配的高效。五、图算法原理GDSGraph Data ScienceGDS提供 65 种以上生产级图算法分为几大类类别代表算法用途路径算法Dijkstra、Delta-Stepping最短路径、路由与链路分析中心性PageRank、Betweenness、Degree影响力 / 枢纽节点识别社区发现Louvain、Label Propagation兴趣群体、团伙聚类相似度Jaccard、余弦相似度猜你喜欢、相似推荐组件强连通分量SCC闭环 / 连通集群检测5.1 算法调用// GDS 中调用 PageRank 计算节点影响力CALL gds.pageRank.write({ nodeProjection:Person,relationshipProjection:KNOWS, writeProperty:score })图算法以投影图node/relationship 投影为输入将计算结果写回属性供下游查询与推荐、风控、知识图谱推理使用。六、事务与一致性6.1 ACID 事务Neo4j 是完全符合 ACID 的事务型数据库写操作具备原子性、一致性、隔离性与持久性集群中写事务经 Raft 提交到多数派核心服务器后才确认保障强一致与持久化。6.2 本篇小结本讲厘清图数据库的内核属性图建模与原生图存储是高效遍历的前提无索引邻接把关系遍历降到指针级Cypher 用声明式模式匹配表达复杂关联GDS 提供路径、中心性、社区、相似度等算法支撑图分析。理解这些原理是后续部署、选型与调优的基础。下一篇进入部署实操在内网环境落地 Neo4j 集群含高可用与一键脚本。