Neo4j - 使用ID匹配多个节点

8

我需要在Neo4j中检索多个节点,而我只有它们的ID。

是否有一种方法可以在一个Cypher查询中检索到其ID位于给定集合中的节点?或者我必须为每个ID调用数据库?

我正在使用Neo4j 2.1.5

谢谢!

1个回答

15

你可以在一个数组中进行匹配。

MATCH (u:`User`) WHERE ID(u) IN [1, 2, 3] RETURN u

1
为了完整性,您也可以使用START n=node(1, 2, 3) RETURN n;。然而,START已被弃用,请避免使用它。 - cybersam
嘿@cybersam,START被弃用了?你能详细描述一下吗?我知道它最近使用较少,但是有没有确定的解决方案来引用旧索引而不使用START?(我很想看到它消失,只是想了解语言将如何改变) - FrobberOfBits
请参考此页面顶部的Important提示:http://docs.neo4j.org/chunked/stable/query-start.html - cybersam
这是因为他们试图让每个人停止在查询中使用数据库ID。建议您在应用程序中生成唯一的ID。 - subvertallchris
@subvertallchris 你会如何在neo4j.rb中编写这个? - Ryan Snodgrass

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接