Выбор подходящего способа использования Neo4j в Python
======================================================

В настоящее время я использую встроенную привязку Python для neo4j. У меня нет никаких проблем в настоящее время, так как мой график очень маленький (разреженный и до 100 узлов). Алгоритм, который я разрабатываю, включает в себя довольно много обходов на графе, в частности, DFS на графе в целом, а также на разных подграфах.
В будущем я намереваюсь запустить алгоритм на больших графах (предположительно разреженных и с миллионами узлов).

Прочитав различные темы, связанные с производительностью привязок python / neo4j[Вот](https://groups.google.com/group/neo4j/browse_thread/thread/6c53c7c8d01623e6), [Вот](https://stackoverflow.com/questions/9959502/python-and-graph-database-use-java-lib-wrapper-or-rest-api)Мне интересно, должен ли я уже переключаться на какой-нибудь REST API-клиент для Python (например, bulbflow, py2neo, neo4jrestclient), пока я не слишком далеко, чтобы изменить весь код.

К сожалению, я не нашел исчерпывающего источника информации для сравнения разных подходов.

Может ли кто-нибудь предоставить более глубокое понимание этого вопроса? Какие критерии я должен учитывать при выборе одного из вариантов?

 поэтому вас может заинтересовать это, если вы хотите быть веб-приложением.

С точки зрения py2neo (автором которого я являюсь), я стараюсь сосредоточиться на производительности, автоматически используя механизм пакетного выполнения, где это необходимо, а также обеспечивая сильную поддержку Cypher. Я также недавно проделал большую работу по обеспечению хороших вариантов управления уникальностью в индексах - в частности,`get_or_create` а также`add_if_none` методы.



 я не эксперт, но я думаю, что это также зависит от ваших ожиданий в Django и от того, какая часть фреймворка вам нужна. Py2neo очень прагматичный и тонкий, кажется, что Bulbflow создает целый стек отображения и т. Д., А neo4jrestclient концентрируется на Django (что может быть не так)?



Gremlin ([https://github.com/tinkerpop/gremlin/wiki)](https://github.com/tinkerpop/gremlin/wiki). 

С Gremlin вы можете объединить все в один HTTP-запрос, чтобы уменьшить накладные расходы.

Вот как выполнить скрипты Gremlin из Bulbs (<http://bulbflow.com>):

Документы по Bulbs Gremlin API находятся здесь:<http://bulbflow.com/docs/api/bulbs/gremlin/>