1

我有一个大约 10000 个节点的图,我试图找到已知开始节点和未知结束节点之间的最长路径,但它是已知类型的 Reader。

当我有 1000 个节点时,这在 4 秒内计算得很好,但现在需要很长时间,大概是因为可能的终端节点列表很大。

我想知道是否有更好的算法来做到这一点,我唯一可能的想法是向 p2 添加一些过滤以缩短列表的大小,但这并不理想,因为我想匹配很多边缘情况。

MATCH (p1:Book{id: '0532013000'})-[r*1..5]-(p2:Reader) 
CALL apoc.algo.dijkstraWithDefaultWeight(
  p1, p2, 'REL_ONE|REL_TWO|REL_THREE|REL_FOUR', 'mean', 1) YIELD path, weight
RETURN path, weight
ORDER by weight DESC
LIMIT 5
4

0 回答 0