python - вычисление взвешенной центральности между узлами огромного графа - PullRequest
0 голосов
/ 29 октября 2018

У меня есть огромный график (например, 300 000 узлов и 1 000 000 ребер), который я анализирую с помощью Python на компьютере с Ubuntu с 32 ГБ ОЗУ и 4 ядрами ЦП.

Я нашел graph-tool , который является очень эффективным инструментом для измерения центральности между средами ( взвешенная версия ), намного быстрее, чем Networkx. Однако проблема в том, что загрузка такого огромного графика в память убивает мое приложение (нехватка памяти).

По этой причине я думал переключиться на Neo4j , чтобы сохранить график и вычислить центральность между ними.

Можете ли вы помочь мне ответить на следующие вопросы?

  1. Позволит ли Neo4j напрямую вычислить взвешенную центральность центральности (кратчайшие пути вычисляются с учетом веса ребра) с возможностью передачи результатов для каждого узла в Python?
  2. Спасет ли меня использование Neo4j для расчетов от убийства из-за нехватки памяти? Или проблема сохранится?
  3. Мне не удалось найти сравнение производительности. Вычисление промежуточности быстрее в графиках или в Neo4j? Какова разница?
  4. Есть ли лучшее решение моей проблемы, которое я не рассматривал?
...