2014-02-24 48 views
1

對於一個給定的節點n,我想得到它的相關節點連接到相關節點的所有節點。 例如:連接節點的返回節點

MATCH (n)-[:IN]->(x) 
WHERE n.myid='myid' 
RETURN n, x 

如何退還所有X的連接的節點呢?

回答

0

假設您不想將類型(r)設爲IN, 您是否嘗試過?

MATCH (n)-[:IN]->(x)-[]-(y) 
WHERE n.myid='myid' 
AND y<>n 
RETURN n,x,collect(y) 

我收集y,因爲否則你會得到一堆「行」,但這完全取決於你。

嘗試玩: http://console.neo4j.org

控制檯與上面的例子 http://console.neo4j.org/r/yaczrx

此外,您可能想看看你想有多深是第二查找去。

順便說一句:如果你想在控制檯中看到的路徑(你可以看到節點如何相互連接):http://console.neo4j.org/r/39mz9a

MATCH path =(n:Crew)-[:KNOWS]-m-[rr]-(x) 
WHERE n.name='Neo' AND x<>n 
RETURN n AS Initial_Node, m AS Linking_Node, 
collect(x) AS Nodes_connected_to_Linking_Node, path 
+0

大。這工作。 – Nextpulse

+1

你能把它標記爲接受的答案嗎? – dcinzona

0
MATCH (n)-[:IN]->(x)--(y) 
WHERE n.myid='myid' 
RETURN n, x,y