Neo4j - Optional Match 子句

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

OPTIONAL MATCH 与 match 子句类似,唯一的区别是它由于模式的缺失部分而返回 null。

语法

以下是具有关系的 OPTIONAL MATCH 的语法。

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

示例

以下是一个示例 Cypher 查询,它尝试从节点 ICCT2013 检索关系。 由于不存在这样的节点,因此返回 null。

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

要执行上述查询,请执行以下步骤 −

第 1 步 − 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。 使用 URL http://localhost:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。

浏览器应用程序

第 2 步 − 将所需的查询复制并粘贴到 $ 美元提示符中,然后按以下屏幕截图中突出显示的player按钮(以执行查询)。

Optional Match

结果

执行后,您将得到以下结果。 在这里您可以观察到,由于没有所需模式的匹配项,Neo4j 返回 null。

Pattern Required