Neo4j - 可选匹配子句


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 - 在美元提示中复制并粘贴所需的查询,然后按以下屏幕截图中突出显示的播放按钮(以执行查询)。

可选搭配

结果

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

需要图案