如何使用Cypher
编写自反关系查询?例如,我定义了一个名为follows
的方向关系,该方向关系在User
节点之间使用。我正在寻找的是找到彼此关注的用户。
这是我尝试过的:
MATCH (x:User)-[:FOLLOWS]->(y:User), y-[:FOLLOWS]->x
有关Neo4j
的详细信息:
版本:3.5.2
版本:Community
答案 0 :(得分:0)
用于此的术语是关系,而不是属性,尽管是的,您可以寻找互相关注的用户。像这样:
MATCH (x:User)-[:FOLLOWS]->(y:User)
WHERE id(x) < id(y) AND (y)-[:FOLLOWS]->(x)
RETURN x, y
此处的id谓词是为了确保您只看到每个配对一次,而不会以相反的顺序看到相同配对的额外时间。