gpt4 book ai didi

java - Dijkstra 算法与 Neo spring boot

转载 作者:行者123 更新时间:2023-12-02 11:41:39 27 4
gpt4 key购买 nike

我想问一下,如何使用Spring boot找到Dijkstra。

我目前使用 spring-boot-starter-data-neo4j 库将 Neo4j 与我的 java 类映射。

我现在想使用 org.neo.graphalgo graphalgo 中的 Dijkstra 和所有路径算法图书馆。

可以这样做吗?或者任何其他替代方式也将同样受到赞赏。

编辑------------------------

我已经映射了我的所有 Neo4j 节点,如下所示,它们可以正常工作。我现在只想使用你提到的这个 graphalgo 库。我现在很困惑如何使用它。

顺便说一句,所有代码都在这里:https://github.com/aamalik/neo4j-gtfs

@NodeEntity
public class Stop {
@GraphId
private Long id;

@Property(name="name")
private String name;

@Property(name="lon")
private double longitude;

@Property(name="lat")
private double latitude;

@Property(name="id")
private String stopId;
}

最佳答案

要使用 Neo4j 的图形算法,您需要 neo4j-graph-algo Maven 依赖。但根据Spring Boot Dependency versions未提供它,因此您必须手动将其包含在 POM 文件的依赖项部分中:

<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-graph-algo</artifactId>
<version>3.3.2</version>
</dependency>

现在您可以使用methods例如,由 GraphAlgoFactory 提供,计算 start node 之间最便宜的路径和结束节点:

public Path calculateCheapestPath(Node start, Node end) {
PathFinder<WeightedPath> finder = GraphAlgoFactory.dijkstra(PathExpanders.allTypesAndDirections(), "cost");
return finder.findSinglePath(start, end);
}

参见here图算法示例。

关于java - Dijkstra 算法与 Neo spring boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48501307/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com