Neo4J通过ID获取节点
我使用neo4j为我的项目之一,有一个节点只有一个属性作为name
,我想要使用ID获取该节点,它已经有一个ID,但是当我使用此代码
MATCH (s:SKILLS{ID:65110}) return s
它什么也没有返回,inheritance我的节点
如果查询是错误的,那么如何使用数字来查询它
MATCH (s) WHERE ID(s) = 65110 RETURN s
ID
function可以获得节点或关系的ID。 这与您创build的任何名为id
或ID
属性不同。
警告:以下回答不正确! 只有在访问旧索引时才应使用START 。 在Cypher 2.2及以上版本中禁用 。
Neo4j build议使用
WHERE ID(n) =
,并且指出它只需要一次查找(不扫描每个节点来查找匹配的ID)保持这个答案,以防止任何人犯同样的错误。
您可以使用WHERE ID(s) = 65110
,但是这将检查数据库中每个节点的ID。
有一个更有效的方法来做到这一点:
START s=NODE(517) MATCH(s) RETURN s
你可以说:
(n:User) where id(n) >=20 RETURN n
这将返回节点引用ID超过20的Usertypes的所有节点