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