我可以找到 neo4j 中两个节点之间的所有关系吗?
Can I find all the relations between two nodes in neo4j?
我有一组以下列方式相关的节点:
A --> B --> C --> D
该关系是与某些 id 属性的 "connected with" 关系。
我的问题是:我可以编写一个密码查询,它会显示从起始节点 A 到起始节点 D 的每个关系的所有 id 属性,而不在查询中提及中间的任何节点。
谢谢
季米特里斯
也许您正在寻找 variable length relationship:
MATCH (a:A { name:"Some property" })-[r:connected_with*1..4]-(x)
RETURN r, x
考虑以下数据
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 *
以下查询将为路径中的每个节点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
基于 Dave Bennett 的数据,以下密码查询将获取所有节点和它们之间的关系(前提是它们都是 CONNECTED_TO)及其在任意长度路径中的关联属性。
MATCH (x:Test)-[r:CONNECTED_TO*]->(z:Test)
RETURN x, r, z
我有一组以下列方式相关的节点:
A --> B --> C --> D
该关系是与某些 id 属性的 "connected with" 关系。 我的问题是:我可以编写一个密码查询,它会显示从起始节点 A 到起始节点 D 的每个关系的所有 id 属性,而不在查询中提及中间的任何节点。
谢谢 季米特里斯
也许您正在寻找 variable length relationship:
MATCH (a:A { name:"Some property" })-[r:connected_with*1..4]-(x)
RETURN r, x
考虑以下数据
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 *
以下查询将为路径中的每个节点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
基于 Dave Bennett 的数据,以下密码查询将获取所有节点和它们之间的关系(前提是它们都是 CONNECTED_TO)及其在任意长度路径中的关联属性。
MATCH (x:Test)-[r:CONNECTED_TO*]->(z:Test)
RETURN x, r, z