2013-12-11 5 views
0

Мне нужно сделать обход на графике neo4j в режиме реального времени. График содержит около 200 000 узлов и 300 000 отношений. Моя главная проблема заключается в том, что результаты должны быть очень быстрыми.Какую платформу можно использовать для быстрого обхода графика neo4j?

Должен ли я писать алгоритмы обхода в Java? Имеет ли использование python (py2neo или bulbflow) то же самое, имеет существенные проблемы с производительностью? Мои личные предпочтения здесь для python, если производительность одинакова для python и java.

+1

Супер быстрый слишком расплывчатый, чтобы что-то означать. –

+0

То, что я имел в виду, это то, что платформа даст мне результаты в наименьшее время, поскольку я четко обозначил название! – VineetChirania

+1

Наименьшее время также полностью расплывчато, вы должны указать, насколько быстро вам нужны вещи. Например, если бы было решение, которое занимало бы только 98% времени стандартного решения, но было бы 10 тыс. Строк кода вместо 10, и стандартное решение в любом случае работало бы в 2 мс, вы бы не захотели этого решения. Точно так же, если быстрое решение принимает 3s для возврата, это не очень полезно. –

ответ

4

В общем, самый быстрый способ совершения обходов в neo4j - это Java API.

Возможно, вы захотите провести тестирование, чтобы убедиться, что он достаточно быстро, прежде чем потенциально досрочно оптимизировать. Попробуйте использовать одну из библиотек python w/Cypher, чтобы узнать, как она выполняется.

Если вам придётся прибегать к API Java, вы обычно можете уйти с написанием простого неуправляемого расширения (< 50 строк java/scala), а затем вызвать это из своего питона.

Смежные вопросы