考虑以下Cypher查询:
MATCH (p1:Person)-[:TWEETED]->(tweet:Tweet)<-[:TWEETED]-(p2:Person)
RETURN p1.name, p2.name
此查询返回以下结果:
╒══════════════════════════╤══════════════════════════╕
│"p1.name" │"p2.name" │
╞══════════════════════════╪══════════════════════════╡
│"john" │"bob" │
├──────────────────────────┼──────────────────────────┤
│"bob" │"john" │
├──────────────────────────┼──────────────────────────┤
.....
无论哪种direction/order
,我都只获取其中一个结果会更好。如何过滤结果以删除这些重复项?
答案 0 :(得分:1)
您可以在两个节点的图形id()上添加限制,以过滤出重复项:
MATCH (p1:Person)-[:TWEETED]->(tweet:Tweet)<-[:TWEETED]-(p2:Person)
WHERE id(p1) < id(p2)
RETURN p1.name, p2.name