我有一个可能已定义或未定义的参数“标题”。如果定义了参数,我想匹配将该参数作为属性的节点。
MATCH (movie:Movie {title: {title}})
如果未定义参数,我不想按该属性进行匹配,而是仅返回所有电影。 IE。我想按参数过滤结果(如果存在)。这可以在一个查询中实现吗?
最佳答案
您必须有条件地匹配标题。试试这个
MATCH (movie:Movie)
WHERE {title} IS NULL OR movie.title = {title}
还考虑将条件逻辑保留在代码中并保持查询简洁:
MATCH (movie:Movie)
WHERE movie.title =~ {isEmpty(title) ? '.*' : title}
关于neo4j - Cypher:在可选/可为空参数上匹配节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41085333/