title: Choosing an appropriate way to use Neo4j in Python
body: <p>I am currently using embedded python binding for neo4j. I do not have any issues currently since my graph is very small (sparse and upto 100 nodes). The algorithm I am developing involves quite a lot of traversals on the graph, more specifically DFS on the graph in general as well as on different subgraphs.
  In the future I intend to run the algorithm on large graphs (supposedly sparse and with millions of nodes).</p>
  
  <p>Having read different threads related to the performance of python/neo4j bindings <a href="http://groups.google.com/group/neo4j/browse_thread/thread/6c53c7c8d01623e6" rel="nofollow noreferrer">here</a>, <a href="https://stackoverflow.com/questions/9959502/python-and-graph-database-use-java-lib-wrapper-or-rest-api">here</a>, I wonder whether I should already switch to some REST API client for Python (like bulbflow, py2neo, neo4jrestclient) until I am too far to change all code. </p>
  
  <p>Unfortunately, I did not find any comprehensive source of information to compare different approaches.</p>
  
  <p>Could anyone provide some further insight into this issue? Which criteria should I take into account when choosing one of the options?</p>