如果我创建两个具有两种关系的节点:
CREATE (ee:Person { name: "Emil"})
CREATE (js:Person { name: "Johan"}),
(ee)-[:KNOWS]->(js),
(js)-[:KNOWS]->(ee)
然后,如果我做
match u return u
在Rows中将有2个节点
但如果我这样做
match u--f return u,f
在Rows中将有4个节点。
如果我不介意方向,我怎么能只返回2个节点? 我只需要回复用户的所有朋友,并且有重复的朋友。
答案 0 :(得分:0)
要修复查询(使用您的数据),请使用DISTINCT
,如此查询中所示:
MATCH (u)--(f)
RETURN DISTINCT u, f;
但是你可能首先不应该有2个关系(相反的方向)。如果您只是创建一个:
CREATE (ee:Person { name: "Emil"})
CREATE (js:Person { name: "Johan"}),
(ee)-[:KNOWS]->(js);
然后您的原始查询也会返回2行。