寻找一个简单的Java API来创建图形(边缘+节点)

我正在尝试找到一个简单的Java API来创建图形关系 – addEdge(),addNode(),isConnected(node1,node2),findPaths(node1,node2)等。没有UI,只是逻辑。 我可以找到一堆学术项目,但似乎没有一个是“The Definitive Graph API”。

有谁知道这样的事情是否存在?

JGraphT听起来就像你追求的那样。

JGraphT是一个免费的Java图形库,提供数学图论理论对象和算法。 JGraphT支持各种类型的图形。

他们的API可以从各种输入创建图形,还支持使用addVertexaddEdge创建图形。 他们支持使用各种众所周知的算法(如Bellman-Ford和Dijkstra)寻找最短路径。他们还可以在线获得完整的javadoc 。

JDLS是一个很棒的图形和数据结构库。 您也可以使用Grappa库。 它的优点是它可以使用graphViz库进行图形布局。

绝对你应该尝试http://neo4j.org/这是用Java编写的优秀的Graph数据库,但它也可以作为嵌入式数据库用于非常小的应用程序。

即使您计划存储数十亿个节点,此数据库也包含您需要的所有内容。 祝你好运。

一个非常体面的人可以在这里找到: http : //javaddlib.sourceforge.net/jdd/

JUNG – Java通用网络/图形框架 – 是最快的(实现CERN数学库COLT)之一,特别是如果你想进行图形分析,中心度测量(中间,页面等)。 此外,它允许网络可视化。

Jdigraph是另一个图库。