May 23, 2009

JUNG - Graphen modellieren mit Java

« Spring Localization Example | Main | UrlRewriteFilter - URL Rewriting Example with Java »

JUNG (Java Universal Network/Graph Framework) stellt eine Java Bibliothek zur Modellierung von Graphen dar. Das Framework ermöglicht die Darstellung von gerichteten sowie ungerichteten Graphen, Hypergraphen usw..

Mit Hilfe von Bibliotheken wie JUNG können komplexe Zusammenhänge wie z.B. soziale Netzwerke, Daten oder Kontrolflüsse dargestellt werden. Sie dienen vor allem der Zusammenhangsanalyse. Dabei werden unterschiedliche Layoutdarstellungen unterstützt. Beispielsweise ein radialer Darstellungsalgorithmus oder der Spring Embedder Algorithmus. Vor allem die Layoutalgorithmen helfen bei der Analyse der Daten.

Einfaches Beispiel eines gerichteten Graphen mit drei Knoten und Kanten:

public static void main(String[] args) {
    Graph g = new DirectedSparseGraph();

    g.addVertex((Integer) 1);
    g.addVertex((Integer) 2);
    g.addVertex((Integer) 3);

    g.addEdge("Edge_1", 1, 2);
    g.addEdge("Edge_2", 2, 3);
    g.addEdge("Edge_3", 3, 1);

    SpringLayout2 layout = new SpringLayout2(g);

    layout.setSize(new Dimension(350, 350));
    BasicVisualizationServer vv = new BasicVisualizationServer(layout);
    vv.setPreferredSize(new Dimension(350, 350)); //Sets the viewing area size
    JFrame frame = new JFrame("Simple Graph View");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(vv);
    frame.pack();
    frame.setVisible(true);
}

Ausgabe:

Das hier vorgeführte Beispiel könnt Ihr hier herunterladen. Es ist ein Maven Projekt mit allen notwendigen Abhängigkeiten, um JUNG zum laufen zu bekommen. Die main-Klasse lautet JungView.

Grüße
Rafael

Technorati Tags:

Posted by rafael.sobek at 8:55 AM in Uncategorized

 

 
test