使用neo4j查找图中的所有路径

时间:2019-02-08 21:07:02

标签: neo4j cypher

我有一个DAG,我想使用neo4j在其中找到所有路径。为此,我使用以下查询:

MATCH (n)-[:REL]->(leaf)
RETURN n,leaf ;

但是,此查询仅使我感到困惑。但是我希望输出格式为:

  a->b->c->d->e->f->g->h->i
  a->b1->c1->d1->e1->f1->g1->h1->i1

有某种方式可以用来获取此输出吗?

1 个答案:

答案 0 :(得分:0)

我想您会想看看variable-length pattern matching。您需要添加限制,以使您的起始节点是根节点,结束节点是叶节点,否则您将获得图中的每个子路径。

此外,您确实应该使用标签。为了举例,我在Cypher片段中只是:Node:

MATCH path = (root:Node)-[:REL*]->(leaf)
WHERE NOT ()-[:REL]->(root) AND NOT (leaf)-[:REL]->()
RETURN path