On Mon, Oct 27, 2008 at 5:32 PM, Carl Banks <[EMAIL PROTECTED]> wrote: > I was wondering if anyone had any advice on this. > > This is not to study graph theory; I'm using the graph to represent a > problem domain. The graphs could be arbitrarily large, and could > easily have millions of nodes, and most nodes have a substantial > amount of data associated with them. Obviously I don't want a whole > such graph in memory at once, so libraries the just deal with in- > memory graphs are out. > > I know I could implement this with a relational DB, and I'd be fine > with a library that was built on top of one. But I'm hoping for > specialzed behavior useful for graphs. > > For example, suppose I have a set of nodes called A. It would be > useful to know if any of these nodes are connected by paths that > include no nodes in A. I could, of course, do that by reading from > the database and following the paths, but I clearly don't want to do > that. I would want instead to somehow cache the outside connectedness > relationship between different nodes of A. But then what happens if > something changes elsewhere. How is the cache for A notified, and can > it be updated efficiently using graph theorems, rather than > regenerated? > > It's very tricky; that's why I hope someone else has done it. > > I'm guessing no.
By sacrificing a goat at the altar of the Almighty Google, I was able to locate a project I came upon a long while ago but couldn't remember the name of that's vaguely like what you want, in that it's a "graph database": Neo4j - http://neo4j.org/ (and yes, it's in Java; sigh) Not sure it's exactly what you're looking for, but anyway.... Cheers, Chris -- Follow the path of the Iguana... http://rebertia.com > > > Carl Banks > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list