我能找到neo4j中两个节点之间的所有关系吗?

时间:2015-01-08 19:53:10

标签: neo4j

我有一组以下列方式相关的节点:

        A --> B --> C --> D

该关系是"与"与某些id属性的关系。 我的问题是:我是否可以编写一个密码查询,它将显示从起始节点A到起始节点D的每个关系的所有id属性,而不在查询中提及其间的任何节点。

由于 迪米瑞斯

3 个答案:

答案 0 :(得分:4)

也许您正在寻找variable length relationship

MATCH (a:A { name:"Some property" })-[r:connected_with*1..4]-(x)
RETURN r, x

答案 1 :(得分:2)

考虑以下数据

create (a:Test {name: "A"})
create (b:Test {name: "B"})
create (c:Test {name: "C"})
create (d:Test {name: "D"})
create a-[:CONNECTED_TO]->b
create b-[:CONNECTED_TO]->c
create c-[:CONNECTED_TO]->d
return *

以下查询将返回路径中每个节点的ID集合。

match p=(a:Test)-[:CONNECTED_TO*3]->(d:Test)
return reduce(nodes = [],n in nodes(p) | nodes + [id(n)]) as node_id_col

答案 2 :(得分:1)

基于Dave Bennett的数据,下面的密码查询将获得所有节点以及当时(假设它们都是CONNECTED_TO)之间的关系以及它们在任意长度的路径中的相关属性。

MATCH (x:Test)-[r:CONNECTED_TO*]->(z:Test)
RETURN x, r, z