neo4j - Cypher:在可选/可为空参数上匹配节点

标签 neo4j cypher

我有一个可能已定义或未定义的参数“标题”。如果定义了参数,我想匹配将该参数作为属性的节点。

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/

相关文章:

Neo4j插件: can't use the spatial procedures after installing neo4j spatial plugin

neo4j - 加载 Neo4j 数据库转储 (neo4j-shell)

neo4j - 通过密码从节点获取所有传递关系

authentication - 在 Neo4j 节点中存储身份验证数据是一个好习惯吗?

graph - Neo4j Cypher 查询 : Finding all nodes, 连接到一个节点,该节点具有超过 3 个其他关系

neo4j - 递归neo4j查询

neo4j - 从 Neo4j 中的 Cypher 查询结果中删除节点

Neo4j 服务器插件配置

Neo4j - 如何根据属性删除重复关系

Neo4j 2.0 - 总结密码查询的关系结果