У меня есть база данных Graph с более чем 2 миллионами узлов. У меня есть приложение, которое берет социальный граф и делает на нем какие-то выводы. В качестве одного шага алгоритма я должен получить все возможные комбинации отношений [: друзей] двух связанных узлов. В настоящее время у меня есть запрос, который выглядит так: match (a) - [: friend] - (c), (b) - [: friend] - (d), где id (a) = {ida} и id (b) = {idb} возвращает отдельный c как первый, d как второй
Итак, я уже знаю узлы a
и b
и хочу получить все возможные пары, которые можно составить из друзей a
и b
. Очевидно, что это очень медленная операция. Мне было интересно, есть ли более эффективный способ получить тот же результат в neo4j. Возможно, добавление индексов может помочь? Любые идеи / подсказки приветствуются!
Пример У узла a
есть друзья: x
, y
У узла b
есть друзья: g
, h
, i``
Then the result should be:
x,
g
x,
h
x,
i
y,
g
y,
h
y,
i`