Open Source im professionellen Einsatz
Linux-Magazin 07/2013
© Anton Balazh, 123rf.com

© Anton Balazh, 123rf.com

Vier Programme zur Graph-Visualisierung

Sinn für Verbindungen

Egal ob Netzwerke, Community-Beziehungen, Stammbäume oder Straßenkarten – die Werkzeuge Aisee, Gephi, Graphtea und Tulip versprechen beliebige Graphen anschaulich zu präsentieren. Ihr Funktionsumfang unterscheidet sich jedoch deutlich voneinander.

984

DELUG-DVD

Auf der Delug-DVD dieses Magazins befinden sich die in diesem Artikel getesteten Programme Gephi (Version 0.8.2 beta), Graphtea (Git-Masterbranch vom 6. Mai 2013) und Tulip (Version 4.2).

Wer die kürzeste Autobahnverbindung zwischen Dortmund und München sucht, der kann die Städte als Punkte und die Straßen zwischen ihnen als Verbindungslinien aufmalen. Mathematik und Informatik bezeichnen solch ein Gebilde allgemein als Graph. Die Punkte heißen Knoten, und die sind wiederum über Kanten miteinander verbunden. Graphen repräsentieren nicht nur Straßenkarten, sondern auch Rohrleitungssysteme, Netzwerktopologien, Beziehungen in einem sozialen Netzwerk oder die Abhängigkeiten von Softwarepaketen.

Es gibt unzählige Algorithmen, um schnell wichtige Informationen aus Graphen zu extrahieren – etwa den kürzesten Weg zwischen Dortmund und München, die maximale Wassermenge, die durch einen Kanal fließen kann, oder eine Liste mit Softwarepaketen, die das Malprogramm Gimp verlangt.

Die meisten Werkzeuge spezialisieren sich auf ein bestimmtes Anwendungsgebiet, während die Testkandidaten dieser Bitparade beliebige Graphen anzeigen, verändern und analysieren. Aisee [1], Gephi [2], Graphtea [3] und Tulip [4] sind als Allrounder besonders geeignet, um schnell etwas zu visualisieren oder einen Graphen in eine Bilddatei umzuwandeln. Die Tools können auch mit Graphen umgehen, die ein Skript oder ein anderes externes Programm erzeugt hat, etwa mit einem von einem Debugger aufgezeichneten Kontrollfluss.

Tabelle 1

Programme zur Graph-Visualisierung

Name

Aisee

Gephi

Graphtea

Tulip

Version

3.0.12

0.8.2 beta

6. Mai 2013

4.2

Lizenz

proprietär

GPLv3/CDDL 1.0

GPLv2

LGPLv3

Implementation

unbekannt

Java

Java

C++ und Qt

Sprache des GUI

Englisch

Englisch, Französisch, Spanisch, Japanisch, brasilianisches Portugiesisch, Russisch, Chinesisch, Tschechisch

Englisch

Englisch

Max. Graphgröße

unbekannt

50 000 Knoten, 1000 000 Kanten

unbekannt

10 000 000 Elemente

Graphen zeichnen

nein

ja

ja

ja

Vorlagen/Assistent

nein

ja (nur Zufall)

ja

ja

Layout-Verfahren

5

9

5

39

Layouts für Bäume

ja

nein (über Plugins nachrüstbar)

ja

ja

Ein-/Ausblenden von Teilbereichen

ja

ja

nein

ja

Suchfunktion/Filter

ja

ja

nein

ja

Clustering/Subgraphen

ja (sofern in Quellcode definiert)

ja

nein

ja

Knoten/Kanten (nachträglich) färben

nein

ja

ja

ja

Metriken/Statistiken

nein

ja

ja

ja

Dynamic Network Analysis

nein

ja

nein

nein

CLI/Einsatz als Daemon

ja/ja

nein/ja (über Plugin)

nein/nein

nein/nein

Plugins

nein

ja

ja

ja

Importformate

GDL, VCG

Graph ML, GML, GEXF, GUESS (GDF), DOT, GV, CSV, Edge List, Ucinet DL, Pajek NET, Netdraw VNA, Tulip (TLP), Compressed Zip, Gephi

Matrix (Textdatei), Simple Graph

GEXF, GML, CSV, DOT, Tulip, Pajek, Ucinet

Exportformate

SVG, PS, PDF, Jpeg, PNG, PPM, Tiff, XBM, XPM

SVG, PDF, PNG, Graph ML, GML, GEXF, GDF, Ucinet DL, Pajek NET, VNA

Latex, PNG, Matrix (Textdatei), Simple Graph

GML, Tulip (per Screenshot auch Jpeg, BMP, Ico, PNG, PPM, Tiff, XBM, XPM)

Als Datei-Austauschformat hat sich weitgehend das XML-basierte Graph ML [5] durchgesetzt, der Nachfolger der Graph Modelling Language (GML, [6]). Aus der Reihe tanzt lediglich der erste Kandidat: Aisee verwendet die Graph Description Language (GDL, [7]). Die Tester untersuchten neben den Im- und Exportformaten auch die Darstellungsformen und Zeichenalgorithmen und ob die Programme Teile des Graphen zu Subgraphen zusammenfassen und diese ein- und ausblenden können. Sie überprüften ebenfalls, ob Analysealgorithmen aus unterschiedlichen Bereichen vorhanden sind, um beispielsweise den kürzesten Weg zwischen zwei Knoten zu ermitteln.

Als Testsystem diente dafür Ubuntu 12.10 mit 4 GByte Hauptspeicher, der Java-Laufzeitumgebung von Oracle (Java 7, Revision 21) und einer Nvidia-Grafikkarte, die der proprietäre Treiber ansteuerte.

Aisee

Der erste Testkandidat stammt aus der Saarbrücker Softwareschmiede Absint Angewandte Informatik GmbH. Aisee [1] steht unter einer proprietären Lizenz und ist für nicht-kommerzielle Zwecke kostenlos erhältlich. Eine Einzelplatzlizenz für kommerzielle Zwecke kostet knapp 400 Euro; Rabatte gibt es bei der Abnahme mehrerer Lizenzen und im akademischen Umfeld.

Im Downloadbereich der Homepage finden Anwender Binaries für Windows, OS  X und Linux (32 und 64 Bit). Nach dem Auspacken des Tar.gz-Archivs übernimmt ein Installationsprogramm die Einrichtung. Im Test trat die Version 3.0.12 vom April 2010 an.

Aisee ist primär zur Visualisierung von Graphen gedacht, Benutzer können über das GUI weder Knoten anlegen noch löschen. Dies passiert ausschließlich in Quellen, also in den GDL-Dateien. Über die Maximalgröße von Graphen schweigt sich der Hersteller aus; das Programm sei "selbst für riesige Graphen mit Tausenden von Knoten" geeignet. Die getestete Version bietet nur fünf Layoutmethoden, die Anwender umständlich in einem separaten Dialog auswählen und einstellen.

Gute Aussicht

Über das Menü »View« erreichen Nutzer verschiedene Ansichtsmodi. In der so genannten »Pan View« fährt Aisee aus der Detaildarstellung heraus, blendet den gesamten Graphen ein und hebt den vorher betrachteten Ausschnitt hervor (siehe Abbildung 1). Mit der Maus verschieben Anwender den Bereich und springen so schnell zu einer anderen Stelle. Außerdem dürfen sie Lesezeichen setzen, um schneller zwischen den Knoten hin und her zu springen.

Abbildung 1: Die Pan View hebt Ausschnitte hervor, was bei der Orientierung und schnellen Navigation innerhalb großer Graphen hilft.

Zudem ist es möglich, die direkten Nachbarn eines Knotens anzuzeigen (Abbildung 2) und über die Liste direkt anzusteuern. Die Suche spürt einzelne Knoten über reguläre Ausdrücke auf und blendet auf Wunsch alle nicht zu den Suchkriterien passenden Knoten aus.

Abbildung 2: Aisee listet direkte Nachbarn in einem Dialog auf und erlaubt es, diese gezielt anzuspringen.

Die Knoten malt das Programm mit vom Benutzer vorgegebenen Bitmaps. Kanten weisen sie frei wählbaren Klassen zu, Aisee blendet diese dann abhängig von der Klasse aus und ein. Subgraphen kann das Tool rekursiv verschachteln. All dies muss die bereits erwähnte GDL-Datei vorgeben. Die Benutzeroberfläche bietet keine Funktionen, um Knoten einen anderen Look zu verpassen oder Kanten einer neuen Klasse zuzuordnen.

Aisee exportiert wahlweise den kompletten Graphen oder Teile davon. Optional dürfen Nutzer dies auf der Kommandozeile ohne Umweg über das GUI erledigen. So wandelt der folgende Aufruf den Graphen direkt in eine PNG-Datei um:

aisee test.gdl --export test.png

Das Programm bietet ebenfalls einen Servermodus. Beim Aufruf über »aisee --server« geben Anwender eine Portnummer an und steuern das Programm fortan über einfache Textkommandos.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Graphdatenbanken

    Sie erkennen mit klarem Blick die wirklich relevanten Beziehungen im Social Web, verstehen die Sprache, finden zielstrebig die kürzesten Wege und optimieren Besucherströme. Das sind die Aufgaben, die Graphdatenbanken mit Bravour erledigen. Dieser Artikel vergleicht fünf blaublütige Open-Source-Vertreter.

  • Linuxtag 2011: Die Simpsons in der Graphdatenbank

    Wozu braucht man eine Graphdatenbank? Daniel Kirstenpfad von der Sones GmbH erläuterte das in seinem Linuxtag-Vortrag anhand der hauseigenen Software.

  • Orient DB

    Die Orient DB eignet sich als flexibles Backend zum Speichern und Abfragen von Graphenstrukturen. Doch welche Vorteile sind damit verbunden? Was kann eine NoSQL-Graph-DB besser als eine relationale Datenbank? Zeit für einen Blick auf die Details.

  • Entwickler planen Mono-Foundation

    Gerüchte gab es schon länger, jetzt bestätigt es Sones-CEO Richard Doll im Interview mit Linux-Magazin Online erstmals: Sones, die Kernentwickler von Mono um Miguel de Icaza und dessen neue Firma Xamarin arbeiten an einer Stiftung für das freie .NET-Projekt. Die soll den Namen Mono Foundation tragen und sich vor allem um die Entwickler und die Konferenzen kümmern.

  • Zeichen-Set

    Viele Anwender zeichnen ihre Grafen und Diagramme langwierig per Hand und Malprogramm. Dass es auch schneller geht, beweist der Werkzeugkasten Graphviz. Er erzeugt aus einer kurzen textuellen Beschreibung in Sekundenschnelle eine ansehnliche und aufgeräumte Zeichnung.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.