Gremlin:需要一个有效的查询来检查是否连接了两个顶点?

时间:2019-05-31 16:08:34

标签: gremlin

我们的应用程序需要检查是否通过任何路径连接了两个顶点。

应用程序不关心路径或最短路径中的段。

应用程序仅需要知道两个顶点是否共享一个公共子图。

我的问题:给定两个分别具有ID A和B的顶点,哪种gremlin查询可以很好地回答“ A和B是否以某种方式连接?”的问题。

1 个答案:

答案 0 :(得分:1)

这应该可以解决问题:

g.V(A).
  repeat(both().dedup()).
    until(hasId(B)).
  hasNext()

A开始,然后开始访问邻居,不两次访问任何顶点,如果到达B,则停止。显然,如果要处理庞大的子图,这可能会导致超时(或内存问题)。