1

我的 Neo4j 数据库中有节点,这些节点具有所有节点上不存在的某些属性,但我想使用带有 WHERE 子句的 Cypher 查询这些属性。

示例数据:

{id:"52", name:"Jim", age:"32", gender:"M"}
{id:"55", name:"Lisa", age:"22", gender:"F"}
{id:"97", name:"Chris", age:"38"}

现在,如果我想对性别运行 Cypher 查询,它会在 Chris 记录上给我一个错误,指出该节点上不存在性别属性。

示例密码查询:

START n=NODE(*) WHERE n.gender="M" RETURN n;

我收到的具体错误消息是:

EntityNotFoundException: The property 'gender' does not exist on Node[4925]

我正在运行 Neo4j 的 1.9.2 版。我想升级到 2.x 并尝试大量使用标签和 auto_indexes。但是,我还没有离开稳定版本的位置。

有什么办法可以通过 Cypher 查询或 1.9.2 索引功能来解决这个问题?

4

1 回答 1

2

你可以做:

WHERE n.gender! = "M"

或者

WHERE has(n.gender) AND n.gender = "M"
于 2013-10-11T07:07:20.620 回答