我需要获取到给定顶点的最短距离的所有相关顶点,这些距离不超过某个最大距离值。
我想出了以下查询,最大距离为4,但是是否可以进一步优化此查询?也许在海王星中有一些图距离搜索算法?
g.V('XXX').repeat(both().dedup()).emit().times(4)
.project('id', 'count').by(id()).by(path().count(local))
答案 0 :(得分:2)
我看到了两个会影响查询性能的问题。
这就是我要做的:
g.V('XXX').as('x').
repeat(both().dedup().sack(assign).by(loops())).
emit().
times(4).
where(neq('x')).
project('id', 'count').
by(id).
by(sack()) // distances start at 0; if you want the distance to
// start at 1, use sack(sum).by(constant(1)).sack()