Neo4j获取两个给定节点之间的所有节点和关系

时间:2015-07-07 04:22:46

标签: database graph neo4j cypher

我的数据库结构就像 A-> B-> C-> d 所有节点之间存在多种关系。我需要查询数据,以便它可以给我所有节点和节点之间的所有关系。 我的示例查询就像 A - [*] - d

I期望的输出是A到D之间的所有关系和节点,即B& C。 有没有办法这样做? 感谢

1 个答案:

答案 0 :(得分:1)

您可以做一些事情。你要做的第一件事就是分配一个这样的路径变量:

MATCH path=(a:A)-[*]-(b:B)-[*]-(c:C)-[*]-(d:D)

然后你可以得到节点,关系或整个路径,如下所示:

MATCH path=(a:A)-[*]-(b:B)-[*]-(c:C)-[*]-(d:D)
RETURN nodes(path), rels(path), path

根据您从Neo4j获取数据的方式,第三列(路径)中返回的内容会有所不同,但通常它应该是node,rel,node,rel等列表...并始终启动并以节点结束。