neo4j union - результаты постобработки - PullRequest
0 голосов
/ 16 октября 2018

Мне нужен запрос, который проверяет, существует ли узел, существует ли определенный атрибут на этом узле, и обрабатывает результат с использованием регистра или чего-то еще.

Пример:

CALL apoc.cypher.run ("ДОПОЛНИТЕЛЬНОЕ МАТЧА (n: Location {SureName: '9144735079d813886326'}) ВОЗВРАЩАЕТСЯ СЛУЧАЙ n.SubType КОГДА null THEN 'Местоположение не было загружено' ELSE n.SubType END AS result UNION OPTIONAL MATCH (n: Location {SubType: 'Site ', SureName:' 914473507981388d6326 '}) RETURN CASE n.SubType ЕСЛИ null THEN' NotLoaded 'ELSE n.SubType END в качестве результата ", NULL) Значение YIELD AS rv

Но я хочу иметь возможность вернутьтолько одна строка в зависимости от результатов, которые я получаю.

Спасибо.

1 Ответ

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

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

// assume you've passed in $expectedSubType as a parameter
OPTIONAL MATCH (n:Location{SureName:'9144735079d813886326'}) 
WITH n, n IS NULL as notLoaded
RETURN CASE WHEN notLoaded THEN 'Location was not loaded' 
            WHEN n.SubType IS NULL THEN 'SubType missing'
            WHEN n.SubType = $expectedSubType THEN 'Expected value'
            ELSE 'Different value: ' + n.SubType END AS result
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...