【问题标题】:Cypher Language list of reserved words?Cypher Language 保留字列表?
【发布时间】:2013-06-14 13:39:31
【问题描述】:

是否有 Neo4j Cypher 的保留字列表?我想避免其他人发现的任何陷阱,保留字过去曾在其他项目中咬过我。

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    【讨论】:

    • 好点。你的 2.0 列表比我的更全面。 “unique”实际上不是保留的,尽管“create”是保留的。
    • 顺便说一句,解析器可能很快就会改变,所以它可能没有相同的关键字要求。查看“实验解析器”分支。
    • 链接 #1 现已失效。
    【解决方案2】:

    对于 Neo4j,有一张我喜欢使用的参考卡:https://neo4j.com/docs/cypher-refcard/current/

    【讨论】:

      【解决方案3】:

      唯一真正的保留字(从 2.0 M03 开始​​)是(并且,很抱歉,如果这不完整,这是我的想法):

      START
      MATCH
      WHERE
      WITH
      RETURN
      FOREACH
      CREATE
      SET
      UNION
      DELETE
      REMOVE   
      CASE
      WHEN
      THEN
      ASC
      DESC
      

      也有函数/聚合函数,但解析器足够聪明,能够允许以下操作:

      RETURN count(*) as count
      

      我不会担心 - 如果您遇到其中一种情况,它会给您一个合理的错误。像这样:

      Query:
      START match=node(*) 
      RETURN match
      Error: reserved keyword
      "START match=node(*) "
      

      【讨论】:

      • LIMIT 呢?
      • @programmer5000 这个列表现在已经完全过时了。他们重写了解析器进入 2.1 或那里的某个地方,它对上下文中的事物更加智能和灵活。 match (match) return match as return limit 1
      猜你喜欢
      • 2012-05-10
      • 2020-04-05
      • 1970-01-01
      • 2014-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-24
      相关资源
      最近更新 更多