模式

图模式匹配位于 Cypher® 的核心。它是一种用于通过应用声明性模式来导航、描述和从图中提取数据的机制。在 MATCH 子句中,您可以使用图模式来定义要搜索的数据和要返回的数据。图模式匹配也可以不用 MATCH 子句,在子查询 EXISTSCOUNTCOLLECT 中使用。

图模式使用类似于在白板上绘制属性图的节点和关系的方式的语法来描述数据。在白板上,节点绘制为圆圈,关系绘制为箭头。Cypher 将圆圈表示为一对括号,将箭头表示为破折号和大于或小于符号

()-->()<--()

这些节点和关系的简单模式构成了路径模式的构建块,这些路径模式可以匹配固定长度的路径。除了讨论简单的固定长度模式之外,本章还涵盖了更复杂的模式,展示了如何匹配可变或未知长度的模式、查找给定节点集之间的最短路径、添加内联过滤器以提高查询性能以及向路径模式添加循环和非线性形状。

本章包含以下部分

  • 入门 - 关于如何在 Cypher 中开始使用图模式匹配的简要入门。

  • 固定长度模式 - 有关节点、关系和路径模式的信息。

  • 可变长度模式 - 有关量化路径模式、量化关系和组变量的信息。

  • 最短路径 - 有关查找 SHORTEST 路径模式的信息。

  • 非线性模式 - 有关等值连接和图模式(组合路径模式)的信息。

  • 语法和语义 - 用于查找图模式匹配的语法和语义的参考。

本章示例中使用的数据模型基于英国国家铁路网络,使用 公开可用的数据集