我正在尝试找到一个简单的Java API来创建图形关系。它应该有一些功能,如addEdge()
,addNode()
,isConnected(node1, node2)
,findPaths(node1, node2)
等。我不需要UI,只需要逻辑。
我找到了许多学术项目,但似乎没有“ The Definitive Graph API ”。
有人知道这样的API吗?
答案 0 :(得分:11)
JGraphT听起来就像你追求的那样。
JGraphT是一个免费的Java图形库,提供数学图论理论对象和算法。 JGraphT支持各种类型的图形。
他们的API可以根据各种输入创建图表,还支持使用addVertex
,addEdge
创建图表。他们支持使用各种众所周知的算法寻找最短路径,如Bellman-Ford和Dijkstra。他们也有一个完整的javadoc available online。
答案 1 :(得分:3)
答案 2 :(得分:2)
绝对你应该试试http://neo4j.org/ 这是用Java编写的优秀的Graph数据库,但它也可以作为嵌入式数据库用于非常小的应用程序。
即使您计划存储数十亿个节点,此数据库也包含您需要的所有内容。祝你好运。
答案 3 :(得分:0)
可以在这里找到一个非常体面的人: http://javaddlib.sourceforge.net/jdd/
答案 4 :(得分:0)
Jdigraph 是yet another图库。
答案 5 :(得分:0)
JUNG - Java通用网络/图形框架 - 是最快的(实施CERN数学库COLT)之一,特别是如果你想进行图形分析,中心度量测量(中间数据,页面调整等)。 )。此外,它允许网络可视化。