Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Loading a Neo4j subgraph into Networkx

I have been dealing with Neo4j through python's Bulbflow and now need a way to save/export subgraphs. I have seen Java and even Ruby approaches for doing this, however a simple Python approach seems to be hiding from me..

So far, I have found two potential paths:

  1. Accessing Geoff through py2neo, but there is surprisingly little documentation for extracting a subgraph from a big local neo4j database or from a neo4jserver.

  2. Using Networkx: I found networkx can load graphs from many different formats (I am unsure which format neo4j stores their dbs), however I haven't found a way to extract a only a subgraph into Networkx. I assume this should be done from a gremlin query, but I'm not sure how to go about this.

I have a preference for the Networkx path, as it also comes with network analysis algorithms I wish to apply to subgraphs. I feel it would also avoid potential clashes between Bulbflow and py2neo, although I'm not sure whether such a clash would exist.

Any advice would be much appreciated!

Thanks in advance

like image 987
zanbri Avatar asked Mar 17 '13 10:03

zanbri


1 Answers

I didn't know the answer until you asked, but it seems like you can just export in gml, which networkx can read. Here are a few answers that might be useful:

Neo4j export Tree

Convert Neo4j DB to XML?

https://github.com/tinkerpop/gremlin/wiki/Gremlin-Methods

Hope that helps.

like image 197
Olga Mu Avatar answered Nov 15 '22 02:11

Olga Mu