2009-04-13 10 views
17

Estoy tratando de encontrar una sencilla API Java para la creación de relaciones de gráficos - addEdge(), addNode(), isConnected (nodo 1, nodo 2), findPaths (nodo1 , nodo2), etc. Sin interfaz de usuario, solo lógica. Puedo encontrar un montón de proyectos académicos, pero ninguno parece ser "The Definitive Graph API".buscando un simple API Java para la creación de gráficos (bordes + nodos)

¿Alguien sabe si existe tal cosa?

Respuesta

11

JGraphT suena como lo que está buscando.

JGraphT es una biblioteca gráfica gratuita de Java que proporciona algoritmos matemáticos de teoría de gráficos y algoritmos. JGraphT admite varios tipos de gráficos.

su API puede crear gráficos a partir de varios terminales de entrada y también apoya la creación de gráficos usando addVertex, addEdge. Apoyan la búsqueda de rutas más cortas utilizando varios algoritmos bien conocidos, como Bellman-Ford y Dijkstra. También tienen un completo javadoc available online.

+0

¿cómo se puede crear árboles de expansión mínima con JGraphT? –

+0

¿Qué tal el prefuse? – zengr

+0

Nota: JGraph, que es una GUI, se puede usar junto con ella. –

3

JDLS es una gran biblioteca de gráficos y estructuras de datos en general. También puede usar la biblioteca Grappa. Su ventaja es que puede usar las bibliotecas graphViz para el diseño de gráficos.

2

Definitly Usted debe tratar el http://neo4j.org/ Esta es una gran base de datos de gráfico escrito en Java pero puede funcionar como una base de datos integrada de aplicación muy pequeña también.

Esta base de datos tiene todo lo necesario, incluso si va a almacenar miles de nodos. Buena suerte.

0

JUNG - Java Universal Network/Graph Framework - es uno de los más rápidos disponibles (implementando la biblioteca matemática CERN COLT), especialmente si desea realizar análisis de gráficos, mediciones de centralidad (betweennes, pagerank, etc.). Además, permite la visualización de la red.

Cuestiones relacionadas