Neo4j - 可选匹配子句



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

OPTIONAL MATCH 类似于 MATCH 子句,唯一的区别在于它返回模式缺失部分的结果为空值。

语法

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

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

示例

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

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

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

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

Browser App

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

Optional Match

结果

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

Pattern Required
广告