Приоритет фильтра одного свойства в Neo4j - PullRequest
0 голосов
/ 31 октября 2018

У меня есть сообщение узла со свойством вроде: _id, type (int)

А теперь я хочу отфильтровать по типу свойства:

Во-первых, я хочу соответствовать каждому типу в 1,2,3

Во-вторых, если она не соответствует ни одной коллекции, я хочу вернуть в мою базу данных любую коллекцию другого типа, например, 4,5,6.

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

1 Ответ

0 голосов
/ 31 октября 2018

Вы можете подсчитать количество узлов для первого фильтра и выбрать, какой фильтр использовать:

WITH [1, 2, 3] AS firstFilter,
     [4, 5, 6] AS secondFilter
OPTIONAL MATCH (N) WHERE N.type IN firstFilter
WITH CASE WHEN count(N) > 0 
          THEN firstFilter 
          ELSE secondFilter 
     END AS filter    
MATCH (N) WHERE N.type IN filter
RETURN N
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...