Database neo4j-过滤器重复,无论顺序如何

Database neo4j-过滤器重复,无论顺序如何,database,graph,neo4j,cypher,Database,Graph,Neo4j,Cypher,考虑以下Cypher查询: MATCH (p1:Person)-[:TWEETED]->(tweet:Tweet)<-[:TWEETED]-(p2:Person) RETURN p1.name, p2.name 无论方向/顺序如何,只要得到一个结果,我就会做得更好。如何过滤结果以删除这些重复项?您可以对两个节点的图形id()添加限制以过滤掉重复项: MATCH (p1:Person)-[:TWEETED]->(tweet:Tweet)<-[:TWEETED]-(p2:P

考虑以下Cypher查询:

MATCH (p1:Person)-[:TWEETED]->(tweet:Tweet)<-[:TWEETED]-(p2:Person)
RETURN p1.name, p2.name

无论方向/顺序如何,只要得到一个结果,我就会做得更好。如何过滤结果以删除这些重复项?

您可以对两个节点的图形id()添加限制以过滤掉重复项:

MATCH (p1:Person)-[:TWEETED]->(tweet:Tweet)<-[:TWEETED]-(p2:Person)
WHERE id(p1) < id(p2)
RETURN p1.name, p2.name
匹配(p1:Person)-[:tweet]->(tweet:tweet)
MATCH (p1:Person)-[:TWEETED]->(tweet:Tweet)<-[:TWEETED]-(p2:Person)
WHERE id(p1) < id(p2)
RETURN p1.name, p2.name