Visualize Friend of a Friend (foaf) graph
Asked Answered
M

11

7

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.

Mohandas answered 16/9, 2008 at 16:14 Comment(1)
add "rdf" and "semantic-web" tagBanebrudge
R
5

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

Rotman answered 16/9, 2008 at 16:18 Comment(1)
flare prefuse (flare.prefuse.org) is the actionscript port of prefuse. Would suggest using a hybrid of graphviz and self-bread, possibly force-directed layout though.Edda
O
4

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.

Orgeat answered 16/9, 2008 at 16:19 Comment(0)
R
3

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.

Raney answered 16/9, 2008 at 16:18 Comment(0)
A
3

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
Antonietta answered 16/9, 2008 at 16:45 Comment(2)
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.Banebrudge
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.Mohandas
A
3

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.

Antonietta answered 26/9, 2010 at 21:45 Comment(0)
A
2

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

Arbor answered 16/9, 2008 at 16:32 Comment(0)
P
1

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

Planimetry answered 16/9, 2008 at 16:19 Comment(0)
B
1

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

Banderole answered 16/9, 2008 at 16:40 Comment(0)
M
1

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.

Mcgruter answered 24/9, 2008 at 23:47 Comment(0)
S
1

have you tried the Python-based IDE NodeBox (1.0)? That's what I used to generate these: http://givememydata.com/#images

vizster looks cool though, I'll check out that.

Shelves answered 25/11, 2010 at 15:13 Comment(0)
I
1

For large graphs, Gephi (http://gephi.org/) is very popular. It is highly customisable, with lots of layout and presentation options.

Infinitesimal answered 6/9, 2011 at 9:16 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.