我想检查一个节点是否存在关系,如果找不到,那么我想检查来自同一节点的另一种关系类型。密码查询 - 检查一个关系,如果不存在检查另一个
喜欢的东西,(一个:类型) - [:relation1] - (b)中如果relation1存在查询返回节点B。如果不存在,然后将检查另一种关系等,(一个:类型) - [:relation2] - (b)中并返回节点B。
我想知道如何将它写成单个密码查询。任何帮助,将不胜感激。谢谢。
我想检查一个节点是否存在关系,如果找不到,那么我想检查来自同一节点的另一种关系类型。密码查询 - 检查一个关系,如果不存在检查另一个
喜欢的东西,(一个:类型) - [:relation1] - (b)中如果relation1存在查询返回节点B。如果不存在,然后将检查另一种关系等,(一个:类型) - [:relation2] - (b)中并返回节点B。
我想知道如何将它写成单个密码查询。任何帮助,将不胜感激。谢谢。
您可以使用COALESCE()进行备份选择的情况下,在第一关系的节点为空。
// after you've already matched to a
OPTIONAL MATCH (a)-[:relation1]-(b)
OPTIONAL MATCH (a)-[:relation2]-(c)
WITH a, COALESCE(b, c) as b // will use node c if b is null
...
如何使用UNION?
MATCH (a:Type)-[:relation1]-(b)
RETURN b
UNION
MATCH (a:Type)-[:relation2]-(b)
RETURN b
希望它能帮助, 汤姆
Thanks!有效。 –