Получение промежуточных узлов с отношением переменной длины в Neo4j - PullRequest
0 голосов
/ 25 ноября 2018

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

Упрощенным примером является запрос, подобный этому

MATCH (a:MOL)-[:F2EDGE*1..2]-(b:MOL) RETURN a,b LIMIT 100

Узлы a и b извлекаются, как и ожидалось, и в некоторых случаях они связаны, где длина пути равна 1. Но в большинстве случаев они отключаются, поскольку промежуточный узел (длина пути 2) не включается в результаты.Запрос на 2 прыжка будет выглядеть следующим образом:

MATCH (a:MOL)-[:F2EDGE]-(i:F2)-[:F2EDGE]-(b:MOL) RETURN a,i,b LIMIT 100

Как мне этого добиться?

1 Ответ

0 голосов
/ 26 ноября 2018

Вы должны определить путь и вернуть его так:

MATCH p=(a:MOL)-[:F2EDGE*1..2]-(b:MOL) RETURN p LIMIT 100

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...