2014-10-16 78 views
2

我有一个Cypher查询的问题。 假设你有一个小图形像这样的: http://console.neo4j.org/r/hi39sjNeo4J - Cypher:收集多个返回值以避免重复

而作为一个查询我想用

MATCH (A:Crew)-[i:KNOWS*]->(B:Crew) 
WHERE A.name='1' AND B.name='2' 
RETURN A,B,i 

结果包含3行,但我只想要一个。 第一列应该包含'1',第二个'2'和第三个应该包含1和2之间的所有关系(在数组中收集将是最好的)。

我试图用收集来解决这个,但我并没有得到它的工作

回答

3

除非我误解你之类的回答了你自己的问题 - 使用收集..

MATCH (A:Crew)-[i:KNOWS*]->(B:Crew) 
WHERE A.name='1' AND B.name='2' 
RETURN A,B,COLLECT(i) AS rels 
+2

哈哈,谢谢。我试图收集A和B,但从来没有经过收集RelationShips ^^, – MarryS 2014-10-16 23:59:15