2008-09-16 19 views
7

Ich schrieb ein Skript, um Twitter Freunde als Foaf Rdf Beschreibung zu exportieren. Jetzt suche ich nach einem Tool, um die Freundesnetzwerke zu visualisieren. Ich versuchte http://foafscape.berlios.de/, aber für 300+ Knoten ist es wirklich langsam und macht einen schlechten Job bei der automatischen Formatierung.Visualisieren Freund eines Freundes (Foaf) Graph

Alle Hinweise für gute Grafikvisualisierungs-Tools? Es ist in Ordnung, wenn sie Foaf nicht direkt unterstützen, aber sie sollten Bilder für Graphknoten verwenden können und große Graphen anzeigen können. Linux-Unterstützung wäre nett.

Oh, und ich suche nach einem interaktiven Werkzeug, wo ich Knoten von Hand bewegen kann.

Update: Vielen Dank für Ihre Eingabe. Ich kenne graphviz und für statische Bilder ist es wirklich toll. Aber für große Datensätze muss ich in der Lage sein, Knoten auszuwählen und alle Nachbarn hervorzuheben.

+0

Hinzufügen "rdf" und "Semantic-Web" -Tag –

Antwort

5

vielleicht die prefuse Visualisierung Toolkit könnte dir helfen. Es basiert auf Java und hat viele Beispiel-Apps einschließlich einer graph viewer.

+0

Flare-Prefuse (http://flare.prefuse.org/) ist der Actionscript-Port von prefuse. Ich würde vorschlagen, eine Mischung aus Graphviz und Selbstbrot, möglicherweise Kraft-orientierte Layout though. –

3

Ich weiß nicht, von jedem Programm, das automatisch erzeugt Graph Visualisierungen und können Sie interaktiv Knoten anpassen, aber Graphviz ist ein wirklich beliebtes Tool für Graphvisualisierung. Es kann nach SVG exportiert werden, so dass Sie das Ergebnis in Ihrem bevorzugten Vektorgrafik-Editor bearbeiten können.

4

Sie könnten versuchen Graphviz. Es läuft unter Linux, Windows und Mac OS X und es wird ein Bild (PNG, PS, etc) des Graphen generieren. Sie müssen Ihre Foaf-Daten in eine eigene Sprache umwandeln, aber es ist ziemlich einfach zu lernen.

1

Wenn Sie Java verwenden, können Sie JGraph verwenden.

1

Ich weiß, Adobe Flex einige Graph Visualisierungskomponenten da draußen hat, und natürlich, dass der App auf Flash laufen ermöglichen würde, die eine ausgezeichnete Penetrationsrate in Ihrem Potential totzukriegen hat. Ich würde Google Flex SpringGraph kompilieren und das überprüfen. Es gibt eine Unmenge von grafischen Komponenten für Flex, sowohl kostenpflichtige als auch freie Versionen.

Nur ein SpringGraph aus der Spitze von meinem Kopf: http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=1048510

3

Wie andere Plakate empfohlen, auf jeden Fall Graphviz. Es braucht eine Eingabedatei, nennen wir es Foaf.Punkt, in folgendem Format:

graph G { 
    "George Formby" [shape=custom, shapefile="file:formby.png"]; 
    "Michael Jackson" [shape=custom, shapefile="file:jackson.png"]; 
    "George Formby" -- "Michael Jackson"; 
    "Fred Flinstone" -- "Michael Jackson"; 
    "Michael Jackson" -- "Steve McQueen"; 
} 

Beachten Sie, dass diese Datei ungerichteten Graphen beschreibt (hoffentlich sind deine Freundschaften reziproke). Die Syntax für gerichtete Graphen ist ähnlich.

Um Ihr Diagramm in eine PDF-Datei ausgegeben (unter der Annahme, dass Sie bereits graphviz installiert haben) den folgenden Befehl

dot -Tpdf foaf.dot > foaf.pdf 

Graphviz unterstützt eine Reihe von Ausgabeformaten anders als pdf finden Sie in der Dokumentation zu .

Ich finde, dass das "dot" -Programm in der Regel die besten Ergebnisse liefert, aber graphviz enthält insgesamt 5 Layout-Programme. Aus der Dokumentation:

  • dot - Filter zum Zeichnen von Grafiken gerichtet
  • neato - Filter zum Zeichnen ungerichtete Graphen
  • twopi - Filter zum radialen Layout von Graphen
  • circo - Filter für Kreis Layout Graphen
  • fdp - Filter für ungerichtete Graphen zeichnen
+0

Das beschissene Ding über all diese Lösungen ist, dass man ihnen nicht einfach einen RDF-Graphen direkt zuführen kann. Sie müssen immer in eine proprietäre Grafikdefinitionssprache konvertieren. –

+0

Konvertieren der Grafik ist nicht das große Problem, aber ich muss wirklich in der Lage sein, die Werkzeuge interaktiv zu verwenden, z. Wählen Sie ein Nicken und sehen Sie alle seine Nachbarn hervorgehoben. Für die statische Erzeugung leistet Graphviz eine gute Arbeit. –

3

Ich empfahl früher Graphviz, aber dachte, ich sollte eine weitere Empfehlung hinzufügen, jetzt, wo ich Gephi, ein neueres Werkzeug als viele der Sachen hier verwendet habe. Es ist ein sehr leistungsfähiges interaktives Graph-Explorations-Tool, das ich viel brauchbarer und viel schneller als viele der Alternativen hier gefunden habe.

1

haben Sie die Python-basierte IDE NodeBox (1.0) ausprobiert? Das ist, was ich verwendet habe, um diese zu generieren: http://givememydata.com/#images

Vizster sieht cool aus, aber ich werde das überprüfen.

1

Für große Graphen ist Gephi (http://gephi.org/) sehr beliebt. Es ist sehr anpassbar, mit vielen Layout- und Präsentationsmöglichkeiten.