Finding an open source structure (as in a data structure)

I am writing an application that manipulates some social network data, so a weighted oriented graph is an ideal database. I would like to do manipulations (and searches) directly on the data, without first loading the entire graph into memory and subsequent serialization.

This can be modeled using a standard SQL database or key / value store, but it would be very inefficient (for graph traversal algorithms that I would like to use, for example, for the shortest path, etc.).

I am half able to write my own, as the search engine did not bring any useful results, but I would rather use the existing solution (if there is one and I missed it) than invent the wheel. The project is intended for entertainment / personal research, so the software should be open source (and possibly possibly work under Linux).

So, are there any projects that would fit the description above?

Thanks!

+4
source share
3 answers

If you use Java, you can try http://neo4j.org/

+5
source

What about ODBMS ? Db40 implements Java and .NET, so both work on Linux.

+2
source

You can also look at the graph as an array of nodes. Where each node keeps a list of its siblings.

That way you can just save 1 file per node in your graph. Then the contents of this file is a list of nodes to which it is connected (indicated since it was directed).

Then you can read in node as you need.

This allows you to do things like iterate over the entire tree, while retaining only one node in memory.

0
source

All Articles