我需要计算带条件的最短路径(条件可能很难)。我已经尝试了下一个示例查询,但它花费了我很多时间
FOR p IN ANY K_SHORTEST_PATHS
'graph_vertices/1' TO 'graph_vertices/2'
graph_edges
OPTIONS {
weightAttribute: 'weight',
defaultWeight: 1
}
FILTER p.edges[*]._key NONE IN ['736023', '659112', '695090', '731912', '680907', '699903']
LIMIT 3
RETURN {name: CONCAT_SEPARATOR(' -> ', p.edges[*]._key), weight: sum(p.edges[*].weight)}
有没有什么办法做预过滤?我的意思是过滤边收集,然后开始寻找最短路径。可能是一些其他的提示,可以帮助我?
附言:我不能使用遍历,因为我不知道路径的长度,而且我需要根据权重计算最短路径。
1条答案
按热度按时间llmtgqce1#
在slack中讨论,arangodb团队确认当前不支持此功能,在https://github.com/arangodb/arangodb/issues/10957中创建了功能请求