左边加入Neo4j似乎不起作用

时间:2015-06-11 11:53:19

标签: neo4j cypher

这是我的图表 enter image description here

我正在尝试创建一个查询,告诉我类型T的节点是否存在类型为M的节点的连接。我听说OPTIONAL MATCH等同于SQL Left Join,但它不包含缺少的链接。

这是我的尝试:

START t=node(241)
OPTIONAL MATCH t-[r:R]->(m)
RETURN m.name, r is not  NULL

,结果只有节点M1M2M3enter image description here

我还想在结果中包含行M4 | false

如果我稍微修改一下查询

START t=node(241), m=node(246,247, 248, 249)
OPTIONAL MATCH t-[r:R]->(m)
RETURN m.name, r is not  NULL

然后我可以得到理想的结果,但它需要我提前知道所有M个节点的ID。

1 个答案:

答案 0 :(得分:3)

我感觉有点倾倒,因为我在发布后立即找到答案。

我需要的只是一个额外的匹配来获得所有M个节点。

START t=node(241)
MATCH (m:M)
OPTIONAL MATCH t-[r:R]->(m)
RETURN m.name, r is not  NULL