Cypher:如果参数为NULL,则返回ALL,否则返回特定项

时间:2019-04-17 12:16:09

标签: neo4j cypher

下面是我正在使用的密码查询。

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为null或为空,则应返回节点Schedule下的所有行,否则,如果参数$sch_val包含值,则应仅返回所选的{{ 1}}值。

如何实现?

1 个答案:

答案 0 :(得分:1)

WHERErep_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