【问题标题】:Neo4j Cypher, START n=node(id) over MATCH id(n)=idNeo4j Cypher,START n=node(id) over MATCH id(n)=id
【发布时间】: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


【解决方案1】:

这两个语句是相同的。 START 是 Neo4j 1.x 中使用的语法。从 Neo4j 2.0 开始,MATCH 变体应该是首选,也许START 会在未来的某个版本中被弃用。

【讨论】:

  • 知道 START 将被弃用还是这是一个假设?
  • 只要遗留索引是产品的一部分,START 就会保留。所以期待它存在很长时间。
  • 对。我希望那些最终也会过去:)
  • 在 2.2 中,START 仅适用于遗留索引 - 对于所有其他情况,您必须使用 MATCH
  • @StefanArmbruster 似乎 2.2 将允许 START :github.com/neo4j/neo4j/pull/3794
【解决方案2】:

MATCH (a:NodeName) where ID(a)= {id} return ID(a), a.name ...////pass id //this is find by node id

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 2021-07-07
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多