Neo4j APO C группирует подмножество узлов - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть несколько узлов, таких как test {myGroupIs:2}, и некоторые из них имеют отношение к другим видам узлов: others {some stuff}. Я могу сгруппировать эти узлы, используя myGroupIs следующим образом: CALL apoc.nodes.group(['test','others'], ['myGroupIs']) YIELD node, relationship RETURN *

Теперь я хочу сгруппировать узлы с 'myGroupIs = 2' и связать их с узлами others, я нашел этот способ сделать это: CALL apoc.nodes.group(['test','others'], ['myGroupIs'], null, { filter: { test.myGroupIs.min :2, test.myGroupIs.max :2}}) YIELD node, relationship RETURN * Это грязно, но я не знаю, как сделать то же самое по-другому.

Теперь я заблокирован потому что я хочу сделать то же самое, но с 'myGroupIs = 2 ИЛИ myGroupIs = 3' .. Кажется невозможным выполнить apo c .nodes.group для результата запроса (как Match, где ..), поэтому я не знаю как сделать.

Я подумал выполнить Match (), где запрос и создать временные узлы с указанными c метками, но я не думаю, что это правильный путь.

Как я могу это сделать? Спасибо!

1 Ответ

0 голосов
/ 02 апреля 2020

Делать myGroupIs = 2 OR myGroupIs = 3 легко, так как 2 и 3 являются смежными целыми числами. Вам просто нужно изменить значение фильтра test.myGroupIs.max на 3:

CALL apoc.nodes.group(
  ['test', 'others'], ['myGroupIs'], null,
  {filter: {`test.myGroupIs.min`:2, `test.myGroupIs.max`:3}}
) YIELD node, relationship
RETURN *
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...