我有两个用户:
CREATE (a:user {id: 1})
CREATE (b:user {id: 2})
用户可以互相关注:
MATCH (a:user {id: 1}), (b:user {id: 2})
CREATE (a)-[r:FOLLOWS]->(b)
为了通过网络保存多次往返,我想查找用户,以及其他用户是否在同一查询中跟踪他们:
MATCH (a:user {id: 1}), (b:user {id: 2}), (a)-[r:FOLLOWS]->(b)
RETURN a, b, r
但如果FOLLOWS
关系不存在,我什么也得不回来。有没有办法总是返回用户并获得关系的NULL(如果它不存在?)
答案 0 :(得分:2)
OPTIONAL MATCH将尝试匹配模式并为那些不存在的模式返回空值:
MATCH (a:user {id: 1}), (b:user {id: 2})
OPTIONAL MATCH (a)-[r:FOLLOWS]->(b)
RETURN a, b, r