Neo4J通过ID获取节点

时间:2014-03-13 05:07:39

标签: neo4j

我正在使用neo4j作为我的一个项目,那个节点只有一个属性name,我想用ID获取该节点,它已经有了ID但是当我使用时这段代码

MATCH (s:SKILLS{ID:65110}) return s

它什么都不返回,继承我的节点

enter image description here

如果查询错误,我该如何使用数字

查询

3 个答案:

答案 0 :(得分:106)

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

ID function可以获得节点或关系的ID。这与您创建的名为idID的任何属性不同。

答案 1 :(得分:9)

  

警告:以下答案不正确! START should only be used when accessing legacy indexes。它是disabled in Cypher 2.2 and up

     

Neo4j recommends using WHERE ID(n) =,并进一步说明will only require a single lookup (does not scan every node to find the matching ID)

     

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

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

有一种更有效的方法:

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

答案 2 :(得分:2)

你可以说:

(n:User) where id(n) >=20 RETURN n

这将返回节点引用ID大于20的所有User类型的节点