我在neo4j中创建了一个图形数据库,我对该数据库的主要兴趣是在MMORPG世界中查找城镇之间最便宜的远程传送路径。以下是构建数据库的脚本:
https://gist.github.com/sergio-bobillier/1effa24d406e84afe0976277d04c0218
正如图中所示,节点之间有很多连接,这是因为所有主要城镇都在它们之间连接。
我使用Dijkstra算法获得最便宜的路径,如下所示:
MATCH (s {name: 'Talking Island Village'}), (t {name: 'Town of Oren'})
CALL apoc.algo.dijkstra(s, t, 'HAS_A_PORT_TO>', 'cost') YIELD path, weight
RETURN path LIMIT 1
这很好,算法返回了正确的路径,但有一点让我感到困扰,当neo4j浏览器首先绘制路径时,它只绘制算法返回的路径,但是它通过绘制节点之间的所有连接(甚至那些没有包含在Dijkstra返回的路径中的连接)快速“完成”图形,这使得绘制的图形非常混乱:
如何防止node4j绘制所有这些额外的关系,并且只包含Dijkstra算法返回的路径?