基于加权距离,从源节点浏览Graph



在Neo4j中,我有一个连接节点的网络,所有连接都有一个与它们相关的权重
我希望能够指定一个起始节点和一个最大距离(我所说的距离是指路径经过的边上的权重总和(,并得到该距离内所有可到达的节点
我不想计算图中所有节点的最小距离,所以我想知道是否有一种算法可以从起始节点"探索"图,并在达到阈值时停止
我不一定在寻找解决方案,但我可以使用一些链接到相关文档

我使用的是以下内容,它完成了任务(括号内的字段使用一些输入进行格式化(。

CALL apoc.path.spanningTree(n, {{relationshipFilter:'{relationship_filter}', labelFilter:'{label_filter}', minLevel:{min_level}, maxLevel:{max_level}}}) YIELD path
WITH last(nodes(path)) as node, reduce(weight = 0, rel IN relationships(path) | weight+rel.weight) as depth
WHERE depth<{weighted_depth_limit}
WITH depth, collect(node) as nodes_at_depth
ORDER BY depth ASC
RETURN nodes_at_depth, depth

最新更新