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

Neo4j Cypher:如果参数为NULL,则返回ALL,否则返回特定项,neo4j,cypher,Neo4j,Cypher,下面是我正在使用的密码查询 MATCH rel=(r:Report)-[:REPORT_CONTAINS_SCHEDULE]->(s:Schedule) WHERE r.name=$rep_name AND s.name=$sch_val RETURN rel $rep\u name、$sch\u val是参数 如果参数$schu_val为null或空,则应返回节点计划下的所有行,否则如果参数$schu_val包含值,则应仅返回所选的计划值 如何实现它?当schu val为null时,

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

MATCH rel=(r:Report)-[:REPORT_CONTAINS_SCHEDULE]->(s:Schedule)
WHERE r.name=$rep_name AND s.name=$sch_val 
RETURN rel
$rep\u name、$sch\u val
是参数

如果参数
$schu_val
为null或空,则应返回节点
计划下的所有行,否则如果参数
$schu_val
包含值,则应仅返回所选的
计划


如何实现它?

schu val
null
时,您可以在
WHERE
中添加另一个条件,以仅匹配
rep_name

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

多谢。看起来是一个简单易行的解决方案——我没有想到:)如果它是一个列表,会发生什么?所以我有一个IN查询,如果列表为空,应该返回all吗?