From: Wolodja Wentland on
Hi all,

I am writing a library for accessing Wikipedia data and include a module
that generates graphs from the Link structure between articles and other
pages (like categories).

These graphs could easily contain some million nodes which are frequently
linked. The graphs I am building right now have around 300.000 nodes
with an average in/out degree of - say - 4 and already need around 1-2GB of
memory. I use networkx to model the graphs and serialise them to files on
the disk. (using adjacency list format, pickle and/or graphml).

The recent thread on including a graph library in the stdlib spurred my
interest and introduced me to a number of libraries I have not seen
before. I would like to reevaluate my choice of networkx and need some
help in doing so.

I really like the API of networkx but have no problem in switching to
another one (right now) .... I have the impression that graph-tool might
be faster and have a smaller memory footprint than networkx, but am
unsure about that.

Which library would you choose? This decision is quite important for me
as the choice will influence my libraries external interface. Or is
there something like WSGI for graph libraries?

kind regards

--
.''`. Wolodja Wentland <wentland(a)cl.uni-heidelberg.de>
: :' :
`. `'` 4096R/CAF14EFC
`- 081C B7CD FF04 2BA9 94EA 36B2 8B7F 7D30 CAF1 4EFC
From: Bearophile on
Wolodja Wentland:
> Which library would you choose?

This one probably uses low memory, but I don't know if it works still:
http://osl.iu.edu/~dgregor/bgl-python/

Bye,
bearophile
From: Wolodja Wentland on
On Fri, Dec 11, 2009 at 03:03 -0800, Bearophile wrote:
> Wolodja Wentland:
> > Which library would you choose?
>
> This one probably uses low memory, but I don't know if it works still:
> http://osl.iu.edu/~dgregor/bgl-python/

That project looks not that maintained and graph-tool [1] is based on
boost as well, so I don't see the advantage in choosing bgl-python over
graph-tool.

The point is, that I am not sure if using graph-tool has any advantages
over networkx at all. It looks like a great library, supports filtered
graphs which I find pretty useful, but have not used it yet.

[1] http://projects.forked.de/graph-tool/
--
.''`. Wolodja Wentland <wentland(a)cl.uni-heidelberg.de>
: :' :
`. `'` 4096R/CAF14EFC
`- 081C B7CD FF04 2BA9 94EA 36B2 8B7F 7D30 CAF1 4EFC
From: Neal Becker on
Bearophile wrote:

> Wolodja Wentland:
>> Which library would you choose?
>
> This one probably uses low memory, but I don't know if it works still:
> http://osl.iu.edu/~dgregor/bgl-python/
>
> Bye,
> bearophile

How about python interface to igraph?

From: Wolodja Wentland on
On Fri, Dec 11, 2009 at 08:55 -0500, Neal Becker wrote:
> Bearophile wrote:
> > Wolodja Wentland:
> >> Which library would you choose?

> > This one probably uses low memory, but I don't know if it works still:
> > http://osl.iu.edu/~dgregor/bgl-python/

> How about python interface to igraph?

Don't know :-) as I have not yet worked with it. Why do you recommend it?
--
.''`. Wolodja Wentland <wentland(a)cl.uni-heidelberg.de>
: :' :
`. `'` 4096R/CAF14EFC
`- 081C B7CD FF04 2BA9 94EA 36B2 8B7F 7D30 CAF1 4EFC