如何限制/约束 neo4j 图形查询中绘制的关系?
How can I limit / restrict the plotted relationships in a neo4j graph query?
我在 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
效果很好,算法 returns 是正确的路径,但有些事情让我很困扰,当 neo4j 浏览器首先绘制路径时,它只绘制算法返回的路径,但是它很快 "completes" 通过绘制节点之间的所有连接(甚至那些未包含在 Dijkstra 返回的路径中的连接)来绘制图形,这使得绘制的图形非常混乱:
如何防止 node4j 绘制所有这些额外的关系并仅包含 Dijkstra 算法返回的路径?
看来你需要在neoj浏览器设置中关闭选项Browser Settings -> Graph Visualization -> Connect result nodes
。
我在 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
效果很好,算法 returns 是正确的路径,但有些事情让我很困扰,当 neo4j 浏览器首先绘制路径时,它只绘制算法返回的路径,但是它很快 "completes" 通过绘制节点之间的所有连接(甚至那些未包含在 Dijkstra 返回的路径中的连接)来绘制图形,这使得绘制的图形非常混乱:
如何防止 node4j 绘制所有这些额外的关系并仅包含 Dijkstra 算法返回的路径?
看来你需要在neoj浏览器设置中关闭选项Browser Settings -> Graph Visualization -> Connect result nodes
。