提问者:小点点

Neo4J按ID获取节点


我在我的一个项目中使用了neo4j,有一个节点只有一个属性name,我想使用ID获得这个节点,它已经有一个ID了,但是当我使用这个代码时

匹配(S:skills{id:65110})返回S

它什么也不返回,这是我的节点

如果查询错误,那么如何使用数字查询


共2个答案

匿名用户

MATCH (s)
WHERE ID(s) = 65110
RETURN s

id函数获取节点或关系的id。这与您创建的任何称为idid的属性不同。

匿名用户

警告:以下答案不正确!只有在访问旧版索引时才应使用START。在Cypher2.2及更高版本中禁用。

Neo4j建议使用,其中ID(n)=,并且声明它只需要一次查找(不扫描每个节点以找到匹配的ID)

保留这个答案以防止任何人犯同样的错误。

您可以使用where ID(s)=65110,但这将检查数据库中每个节点的ID。

有一种更有效的方法可以做到这一点:

START s=NODE(517) MATCH(s) RETURN s