Я ищу, чтобы получить все узлы только отношениями только исходящих отношений. Это все узлы «b», которые подключены к «a» таким образом:Вернуть все узлы и отношения из совпадающего узла Neo4j
(a)-->(b)
В моей ситуации. У меня есть узлы Пользователя, которые затем подключены к другому узлу, давайте назовите его «работа». И из рабочего узла мы относимся ко многим другим узлам, которые могут быть помечены как «work_friends» или «work_locations». Этот пользовательский узел также может иметь другие узлы из пользовательского узла, например, школы, в свою очередь, которые будут иметь исходящие узлы с надписью «school_friends» и другие.
Как вернуть все узлы, начиная с рабочего узла, и вернуть его рабочий узел и все его рабочие друзья и рабочие места?
Что я пытаюсь.
Match(a:User),(b:Work) WHERE a.UserId = 'xxxx' AND b.Work = 'JobA' Return *
, но это заканчивается только возвращение двух совпавших узлов, где я хочу, чтобы вернуть все узлы из согласованного рабочего узла из.
EDIT 1: Итак, я предполагаю, что проблема с записью здесь помогла мне решить мою собственную проблему. Я подошел ближе к решению.
Match(a:User),(b:Work)-->(n) Where a.UserId =
'xxxx' AND b.Name = 'CompanyA' Return *
Поэтому добавление -> (п) в матче возвращается все с (а), где (п) все узлы, соединенные из (б), то есть он вернулся:
(a)->(b)->(n)
это близко к тому, что я ищу. Я действительно хочу вернуть:
(b)->(n)
и игнорировать входящие отношения.
Вы должны использовать rel-типы. –
Если вас вообще не интересует 'a' (вы его не возвращаете), почему вы его встретите (найдите) в первую очередь? –
Привет, Майкл, я ищу, чтобы соответствовать «a» с свойством «userId», поскольку все мои подграфы начинаются с узла User с свойством userId. Затем, после согласования, я могу пересечь этот пользовательский подграф. – user3263752