【发布时间】:2014-03-06 06:22:31
【问题描述】:
我想知道如何
WHERE id(n) = id
比较
START n = node(id)
因为大多数时候我不按 id 选择节点(至少在代码出现的数量上),因此喜欢总是在匹配中这样做
【问题讨论】:
-
在 2.0
MATCH id(n) = id应该是:MATCH (n) WHERE id(n) = id
标签: performance neo4j cypher
我想知道如何
WHERE id(n) = id
比较
START n = node(id)
因为大多数时候我不按 id 选择节点(至少在代码出现的数量上),因此喜欢总是在匹配中这样做
【问题讨论】:
MATCH id(n) = id 应该是:MATCH (n) WHERE id(n) = id
标签: performance neo4j cypher
这两个语句是相同的。 START 是 Neo4j 1.x 中使用的语法。从 Neo4j 2.0 开始,MATCH 变体应该是首选,也许START 会在未来的某个版本中被弃用。
【讨论】:
START 将被弃用还是这是一个假设?
START 就会保留。所以期待它存在很长时间。
START 仅适用于遗留索引 - 对于所有其他情况,您必须使用 MATCH。
MATCH (a:NodeName) where ID(a)= {id} return ID(a), a.name ...////pass id //this is find by node id
【讨论】: