Neo4j 简明教程

Neo4j - Optional Match Clause

OPTIONAL MATCH 子句用于搜索其中描述的模式,同时对模式的缺失部分使用 null。

OPTIONAL MATCH 与 match 子句相似,唯一的区别是它返回 null 作为模式缺失部分的结果。

Syntax

以下是 OPTIONAL MATCH 与关系的语法。

MATCH (node:label {properties. . . . . . . . . . . . . .})
OPTIONAL MATCH (node)-->(x)
RETURN x

Example

以下就是一个尝试从节点 ICCT2013 中检索关系的 Cypher 查询示例。由于没有这样的节点,所以它返回 null。

MATCH (a:Tornament {name: "ICC Champions Trophy 2013"})
OPTIONAL MATCH (a)-->(x)
RETURN x

执行上述查询,执行以下步骤:

Step 1 - 打开 Neo4j Desktop App 并启动 Neo4j Server。使用 URL http://localhost:7474/ 打开 Neo4j 的内置浏览器应用,如下面的屏幕截图所示。

browser app

Step 2 - 在美元提示符中复制并粘贴所需的查询,并按播放按钮(执行查询)突出显示在下面的屏幕截图中。

optional match

Result

执行后,你将获得以下结果。你这里可以看到,由于没有与所需模式匹配的对象,所以 Neo4j 返回 null。

pattern required