我坚持使用 gremlin 查询来rank
根据作为参数传递给查询的排序键列表为节点分配值。由“uniqueId”值标识的每个节点都应根据重新排列的数组中的出现顺序分配一个等级。
这有效:
reranked = [uniqueId1, uniqueId2, uniqueId3]
v.outE.as('e').inV.filter{it.key == reranked[2]}.back('e').sideEffect{it.rank = 2}
但这不是(用 for 循环变量替换 int ):
reranked = [uniqueId1, uniqueId2, uniqueId3]
for (i in 1..reranked.size())
v.outE.as('e').inV.filter{it.key == reranked[i]}.back('e').sideEffect{it.rank = i}
你知道为什么这不起作用吗?我也很高兴能用更简单的想法来达到同样的目标。