2015-08-10 3 views
0

Я ищу, чтобы получить все узлы только отношениями только исходящих отношений. Это все узлы «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) 

и игнорировать входящие отношения.

ответ

1

И у меня есть мое решение. Полагаю, мне пришлось работать через эту должность. Надеюсь, это поможет другим.

Match(a:User),(b:Work)-->(n) Where a.UserId = 
'xxxx' AND b.Name = 'CompanyA' AND (a)-->(b) Return b, n 

Это возвращает весь список узлов так:

(b)->(n) 

где п все узлы, соединенные из б.

+0

Вы должны использовать rel-типы. –

+0

Если вас вообще не интересует 'a' (вы его не возвращаете), почему вы его встретите (найдите) в первую очередь? –

+0

Привет, Майкл, я ищу, чтобы соответствовать «a» с свойством «userId», поскольку все мои подграфы начинаются с узла User с свойством userId. Затем, после согласования, я могу пересечь этот пользовательский подграф. – user3263752

Смежные вопросы