我有两个图表,我想检查第一个节点的每个节点,如果它存在于第二个节点中。我做了以下事情:
[abc]
para1=123
para2=456
para3=111
[pqr]
para1=333
para2=9999
para3=1345
[xyz]
para1=888
para2=236
para3=964
问题是查询只返回两个图中都存在的节点。这是由条件match (G1:FirstGraph)
match (G2:SecondGraph)
where Exists(G2.Name) and G1.Name=G2.Name return G1.Name, Exists(G2.Name) as Is_Present_In_SecondGraph.
完成的。
有人可以帮助我在第二个图表中获取每个节点的存在性验证吗?
答案 0 :(得分:0)
这个怎么样?
MATCH (G1:FirstGraph)
OPTIONAL MATCH (G2:SecondGraph)
WHERE G2.Name IS NOT NULL AND G1.Name=G2.Name
RETURN G1.Name, G2.Name IS NOT NULL as Is_Present_In_SecondGraph
如果这不起作用,可能是因为您在G2
中引用WHERE
作为第二个MATCH
子句,因此您可以这样做:< / p>
MATCH (G1:FirstGraph)
WITH G1
OPTIONAL MATCH (G2:SecondGraph)
WHERE G2.Name IS NOT NULL AND G1.Name=G2.Name
RETURN G1.Name, G2.Name IS NOT NULL as Is_Present_In_SecondGraph