Итерация по паре узлов, установленной в neo4j - PullRequest
0 голосов
/ 10 января 2020

Я сохранил относительно огромный график в neo4j. Я пытаюсь рассчитать количество путей по типам отношений.

MATCH path = (n1) - [e1] -> () - [e2] -> (n3)

WHERE n1.id = '1' AND n3.id = '3'

тип RETURN (e1), type (e2), count (path)

У меня уже есть предварительно выбранный набор идентификаторов для узлов n1 и n3, как показано ниже , (n1, n3) = (1,3), (2,3), (2,4), (4,5), (4,6) ........

Что лучший способ выполнить вышеуказанные запросы для пар идентификаторов в neo4j?

1 Ответ

0 голосов
/ 10 января 2020

Вы можете использовать буквальный список пар списков и раскручивать списки в строки. В идеале вы должны передать его в свой запрос в качестве параметра, но вот пример, использующий буквальный список:

UNWIND [['1','3'], ['2','3'], ['2','4'], ['4','5']] as pair
MATCH path = (n1)-[e1]->()-[e2]->(n3)
WHERE n1.id = pair[0] AND n3.id = pair[1]
RETURN type(e1),type(e2),count(path)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...