【问题标题】:Neo4j using Keywords for label/node/relatonship namesNeo4j 使用标签/节点/关系名称的关键字
【发布时间】:2018-09-01 21:26:04
【问题描述】:

所以我最近一直在玩 Neo4j,令我惊讶的是,我发现可以将标签、节点或关系名称设置为关键字 (MATCH,CREATE,ORDER ...)。我知道这是非常糟糕的做法。

CREATE (s:CREATE{CREATE: "something"}) RETURN s

但我的问题是:“这是否只会导致较少的透明查询,或者因此有任何可能的错误?如果可能发生错误,为什么甚至允许它?”

我知道这是一个愚蠢的问题,但在 neo4j 文档中我没有找到答案。

【问题讨论】:

  • 不太透明的查询,您可以反引号以明确它们不是读者的关键字。
  • 是的,避免在实体名称中使用保留字。很棒 Neo4j 不会限制它们的使用,但是会导致混乱。 (作为反例,VAX-COBOL 有超过 500 个保留字。)

标签: neo4j cypher


【解决方案1】:

我相信语法树是这样的,解析器不应该被它是否在评估关键字、标签、属性或其他部分而感到困惑。

我认为我们没有发现任何与此相关的问题,至少从 3.0 及更高版本开始(我在 3.0 之前的日子里不存在)。

【讨论】:

    猜你喜欢
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-08
    相关资源
    最近更新 更多