Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Optimization Neo4J探路者优化_Optimization_Neo4j_Dijkstra_Shortest Path_Graph Traversal - Fatal编程技术网

Optimization Neo4J探路者优化

Optimization Neo4J探路者优化,optimization,neo4j,dijkstra,shortest-path,graph-traversal,Optimization,Neo4j,Dijkstra,Shortest Path,Graph Traversal,我有一个非常大的(几百万个节点和更多的关系)嵌入式Neo4J图形数据库。我使用的是Neo4J的2.1.5版。我经常需要查看两个节点是如何连接的。我使用GraphAlgoFactory构建一个PathFinder,然后在其上调用findSinglePath。如果我构建一个Djikstra的PathFinder,它的运行速度要比在节点实际连接时运行最短路径的PathFinder慢一个数量级。然而,当未连接时,最短路径的运行速度比DJikstra的慢。有人知道为什么会这样吗 另外,如何优化这些调用?当

我有一个非常大的(几百万个节点和更多的关系)嵌入式Neo4J图形数据库。我使用的是Neo4J的2.1.5版。我经常需要查看两个节点是如何连接的。我使用GraphAlgoFactory构建一个PathFinder,然后在其上调用findSinglePath。如果我构建一个Djikstra的PathFinder,它的运行速度要比在节点实际连接时运行最短路径的PathFinder慢一个数量级。然而,当未连接时,最短路径的运行速度比DJikstra的慢。有人知道为什么会这样吗


另外,如何优化这些调用?当两个节点未连接时,需要60-120秒才能找到答案。就我而言,这太慢了。

你们网络的学位分布是什么

您能否根据rel类型、方向或属性或节点之间的标签进行过滤?只是为了减少查看的路径数量

使用不同的唯一性也可能有帮助,例如全局节点

您可能应该提供预期长度的上限

Dijkstra和最短路径实际上都是双向的

您也可以自己使用双向遍历器


请参阅此博文:

您的人际网络的学位分布情况如何

您能否根据rel类型、方向或属性或节点之间的标签进行过滤?只是为了减少查看的路径数量

使用不同的唯一性也可能有帮助,例如全局节点

您可能应该提供预期长度的上限

Dijkstra和最短路径实际上都是双向的

您也可以自己使用双向遍历器


请参阅这篇博文:

图中节点的平均度数可能在20左右。我已经在尽可能多地过滤rel类型、方向和标签,而不破坏遍历的目的。我确实提供了长度的上限,尽管它相当长。500在这种情况下,问题真的很难解决,因此需要一段时间吗?图中节点的平均度数可能在20左右。我已经在尽可能多地过滤rel类型、方向和标签,而不破坏遍历的目的。我确实提供了长度的上限,尽管它相当长。500这个问题真的很难解决,所以需要一段时间吗?