我编写了以下查询,该查询返回了来自指定节点的所有可能路径。
g.V(<some_id>).repeat(bothE().bothV().simplePath()).emit().dedup().path()
如果我们在此结构中有一个包含3个节点的简单图形:
A -- edge_1 -> B -- edge_2 -> C
此查询将返回两个路径:
A, edge_1, B
A, edge_1, B, edge_2, C
但是,我只想返回所有终止的路径(即没有其他要遍历的节点),在此示例中,它们只会返回
A, edge_1, B, edge_2, C
这可能吗?
答案 0 :(得分:1)
您可以尝试执行repeat
,而无需执行emit
步骤,并使用until
在路径的末尾停止。
g.V().hasLabel('A').repeat(bothE().bothV().
simplePath()).
until(bothE().simplePath().
count().is(eq(0))).dedup().path()