在另一个图中检查一个图的节点是否存在

时间:2015-10-20 16:34:07

标签: neo4j

我有两个图表,我想检查第一个节点的每个节点,如果它存在于第二个节点中。我做了以下事情:

[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. 完成的。 有人可以帮助我在第二个图表中获取每个节点的存在性验证吗?

1 个答案:

答案 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