仅获取与双向关系相关的节点

Get only the nodes related with bidirectional relationship

我有一个 Neo4j 图,其中 A-[r:LOVE]->B 和 B-[r:LOVE]->A。

我正在尝试获取具有双向关系的所有节点(某些节点例如 C-[r:LOVE]->B 但 B 不喜欢 C)并且我必须只获取它们 1 次(我不'想让它们重复)并按名称排序。我正在尝试使用以下内容:

Match (n)-[r:LOVE]->(n1) return distinct n,n1 order by n.Name

但这给了我所有节点的关系:一些节点之间的爱(即使它不是双向的)。

我该如何解决?

查找所有具有两种不同方向的 LOVE 关系的人:

MATCH (a)-[:LOVE]->(b)<-[:LOVE]-(a)
WHERE id(a)<id(b)
RETURN a,b order by a.name

此处的WHERE条件确保a和b在后续迭代中不会改变角色。