Поиск узлов, у которых есть все общие посредники

м создание системы, в которой мы сопоставляемorders вstaff, Концептуальноorder это просьба к человеку, чтобы сделать некоторую работу, иstaff это человек, который может сделать эту работу.order может иметь один или несколькоrequirements (т.е. ограничения на то, кто может делать работу), иstaff может быть еще одинrequirements (т.е. квалификация для работы).

Я пытаюсь создать запрос шифра, который даст мне всеstaff который имеетвсе изrequirementс указанным даннымorder, Сказал иначе, яя пытаюсь найти всеstaff узлы, которые связаны с каждымrequirement узел, который связан с даннымorder узел.Мой вопрос: как мне создать запрос шифра для моделирования этой бизнес-логики?

В качестве примера рассмотрим следующие примеры данных:

Представление изображения моих образцов данныхВ качестве альтернативы здесьинтерактивная консоль для моих данных

Посмотрите накод заказа: 1 узел. оно имеетrequires отношение к двум узлам, помеченыР.Н. а такжеER IV, Другими словами, порядок № 1 требует, чтобы все кандидаты имели квалификацию RN и квалификацию ER IV. Так получилось, что сотрудникЭван (StaffId: 1) имеет обе эти квалификации, поэтому он должен иметь возможность подать заявку на эту работу. СотрудникТим имеет одно из этих требований, но не оба, поэтому он не должен иметь возможность подать заявку на эту работу. Дополнительно,код заказа: 2 есть только одно требование, которое есть у Эвана и Тима, поэтому они оба должны иметь возможность подать заявку на эту работу.

По сути, если бы я начал с заказа № 1, я бы хотел вернуть только Эвана. Если бы я начал с заказа № 2, я бы хотел вернуть Эвана и Тима *.

Следующий запрос находится на полпути. Это даст мне все уникальные пути от данного заказа к сотруднику по одному требованию за раз. Однако он не проверяет, удовлетворен ли КАЖДЫЙ путь требований (что означает, что в настоящее время он будет работать только для заказов, которые имеют только одно требование):

start o=node(2) 
match o-[:requires]->req

Ответы на вопрос(2)

Ваш ответ на вопрос