2017-04-15 43 views
0

我正在尝试从多个相关节点具有以下CYPHER相关数据:检索数据的Cypher

Match (n {email:{paramEmail}})-[*..3]-(m) Return n,m", 
     { paramEmail: email}) 

问题是,如果有尚未则不现有的合作关系,我得到零行返回...虽然用户(n)存在但用户未找到,但此时没有关系。我仍然需要用户(n)节点的属性,所以我必须进行单独的调用。即使与m没有关系,是否有返回n的查询?

回答

1

是的,比赛与电子邮件的用户,然后再使用可选的匹配其余:

MATCH (n {email:{paramEmail}}) 
OPTIONAL MATCH (n)-[*..3]-(m) Return n,m 

另外,我建议你到你的节点上使用的标签。这样你就可以通过电子邮件快速查找用户:在用户(电子邮件)上创建索引之后)。现在查询必须扫描图的所有节点才能找到具有给定电子邮件参数的节点。

+0

谢谢。我在搜索时使用了标签和索引。 – MichaelE