我使用Titan 1.0.0和Cassandra作为后端。如何在Titan图形数据库上实现* *
我有位置数据(纬度,经度)作为节点和这些节点之间的边缘。我想找到从节点A到节点B的最短路径。图形大小非常大。目前我正在使用此查询来查找两个节点之间的路径。
g.V(fromNode).repeat(both().simplePath()).until(is(toNode)).limit(1).path().fill(list);
这个查询是非常低效的,并给出内存错误的路径规模超过10 阅读最短路径算法后,我才知道,实施A *会比执行Dijkstra的是在一个更可行*更少的图将被探索。
现在我可以使用JUNG并将TitanGraph加载到内存中并实现我自己的A *以获得最短路径。但我不希望整个图形在内存中。
请建议我应该如何在TitanGraph上实现A *。我应该使用API查询图形还是应该先将图形加载到内存中,然后在内存图形上运行A *。
我会感谢任何其他建议。
谢谢:)。目前我已经实现了使用Java。而且不需要太多时间来执行。我也会尝试这种方法。谢谢。 – user825828