views:

2043

answers:

9

I wrote a script to export twitter friends as foaf rdf description. Now I'm looking for a tool to visualize the friend networks. I tried http://foafscape.berlios.de/ but for 300+ Nodes it is really slow and does a bad job on auto formatting.

Any hints for good graph visualization tools? It's ok if they do not support foaf directly, but they should be able to use images for graph nodes and be able to display large graphs. Linux support would be nice.

Oh, and I'm searching for an interactive tool where I can move nodes by hand.

Update: Thanks for your input. I know graphviz and for static images it is really great. But for large datasets I need to be able to select nodes and highlight all neighbours.

+2  A: 

Hi Peter, perhaps the prefuse visualization toolkit might help you. It's based on Java and has many sample apps including a graph viewer.

sirprize
flare prefuse (http://flare.prefuse.org/) is the actionscript port of prefuse. Would suggest using a hybrid of graphviz and self-bread, possibly force-directed layout though.
tm_lv
+2  A: 

I don't know of any program that auto-generates graph visualizations and allows you to interactively adjust nodes, but Graphviz is a really popular tool for graph visualization. It can export to SVG so you can edit the result in your favorite vector graphics editor.

Jan Krüger
+3  A: 

You could try Graphviz. It runs on Linux, Windows and Mac OS X and it will generate an image (PNG, PS, etc) of the graph. You will have to transform your foaf data into its own custom language, but it's pretty easy to learn.

Cristian Ciupitu
A: 

If you're using Java, you could use JGraph.

Paul Reiners
+1  A: 

Try using Google Social Graph. In one of the talks at dConstruct08 last week there was a social graph showing the friend connections of Robert Scoble.

http://code.google.com/apis/socialgraph/
http://dconstruct.org/2008

adam
A: 

I know Adobe Flex has a few graph visualization components out there, and of course that would enable the app to run on Flash which has an excellent penetration rate into your potential userbase. I'd Google up the Flex SpringGraph component, and check that out. There are a ton of graphing components in the wild for Flex, both paid and free versions.

Just one SpringGraph off the top of my head: http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=1048510

Abyss Knight
+1  A: 

As recommended by other posters, definitely Graphviz. It takes an input file, let's call it foaf.dot, in the following 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";
}

Note that this file describes an undirected graph (hopefully your friendships are reciprocal). The syntax for directed graphs is similar.

In order to output your graph to a pdf file (assuming that you have already installed graphviz) run the following command

dot -Tpdf foaf.dot > foaf.pdf

Graphviz supports a number of output formats other than pdf, see its documentation for details.

I find that the 'dot' program usually provides the best output results, however graphviz contains a total of 5 layout programs. From the documentation:

  • dot - filter for drawing directed graphs
  • neato - filter for drawing undirected graphs
  • twopi - filter for radial layouts of graphs
  • circo - filter for circular layout of graphs
  • fdp - filter for drawing undirected graphs
wxs
The crappy thing about all these solutions is that you can't just feed them a RDF graph directly. You are always required to convert to some proprietary graph definition language.
spoon16
Converting the graph is not the big problem, but I really need to be able to use the tools interactively, eg. select a nod and see all its neighbours highlighted. For staic generation graphviz does the job really well.
Peter Hoffmann
A: 

check this forum: http://goosebumps4all.net/34all/bb/forumdisplay.php?fid=28 for some flare examples, there is a friend of a friend graph around there.

rec
+1  A: 

I previously recommended Graphviz, but thought I should add another recommendation now that I have used Gephi, a newer tool than a lot of the stuff here. It's a very powerful interactive graph exploration tool which I have found much more usable and much faster than a lot of the alternatives here.

wxs