我有一个内部id
35831 的节点。我在 Neo4J 浏览器中运行以下代码:
:params "id": 35831
match (t) where id(t) = $id return t
预期结果:节点
实际结果:(无变化,无记录)
这是预期的行为还是我应该提供有关我的 neo4j 版本的信息?
我有一个内部id
35831 的节点。我在 Neo4J 浏览器中运行以下代码:
:params "id": 35831
match (t) where id(t) = $id return t
预期结果:节点
实际结果:(无变化,无记录)
这是预期的行为还是我应该提供有关我的 neo4j 版本的信息?
在 Neo4j 浏览器中,当您设置数值参数时,其类型为浮点数。键入时查看结果:params "id": 35831
,您应该将35831.0
其视为一个值。
这就是为什么您的查询什么也不返回的原因......
但是,如果您使用此查询MATCH (n) WHERE id(n)=toInteger($id) RETURN n
,它就可以工作!
仅供参考,这仅适用于浏览器,如果您使用cypher-shell
,它将像您想要的那样工作:
neo4j> :param id 5
neo4j> MATCH (n) WHERE id(n)=$id RETURN n;
您可以使用以下语法在浏览器中设置参数:
:param id => 1
....
{
"id": 1
}
然后您的查询将正常工作:
match (t) where id(t) = $id return t