返回已连接节点的节点

时间:2014-02-24 18:43:32

标签: neo4j cypher

对于给定节点n,我想让其相关节点连接到相关节点的所有节点。 例如:

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

如何返回所有x的连接节点?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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