Cypher: вернуть ALL, если параметр равен NULL, иначе вернуть определенный элемент - PullRequest
0 голосов
/ 17 апреля 2019

Ниже приведен запрос шифра, который я использую.

MATCH rel=(r:Report)-[:REPORT_CONTAINS_SCHEDULE]->(s:Schedule)
WHERE r.name=$rep_name AND s.name=$sch_val 
RETURN rel

$rep_name, $sch_val являются параметрами.

Если параметр $sch_val является нулевым или пустым, он должен вернуть всестроки под узлом Schedule, иначе, если параметр $sch_val содержит значение, он должен возвращать только выбранное значение Schedule.

Как этого достичь?

1 Ответ

1 голос
/ 17 апреля 2019

Вы можете добавить еще одно условие в WHERE для соответствия только rep_name, если sch_val равно null.

MATCH rel=(r:Report)-[:REPORT_CONTAINS_SCHEDULE]->(s:Schedule)
WHERE (r.name=$rep_name AND $sch_val IS NULL) OR (r.name=$rep_name AND s.name=$sch_val)
RETURN rel
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...