【发布时间】:2018-09-01 21:26:04
【问题描述】:
所以我最近一直在玩 Neo4j,令我惊讶的是,我发现可以将标签、节点或关系名称设置为关键字 (MATCH,CREATE,ORDER ...)。我知道这是非常糟糕的做法。
CREATE (s:CREATE{CREATE: "something"}) RETURN s
但我的问题是:“这是否只会导致较少的透明查询,或者因此有任何可能的错误?如果可能发生错误,为什么甚至允许它?”
我知道这是一个愚蠢的问题,但在 neo4j 文档中我没有找到答案。
【问题讨论】:
-
不太透明的查询,您可以反引号以明确它们不是读者的关键字。
-
是的,避免在实体名称中使用保留字。很棒 Neo4j 不会限制它们的使用,但是会导致混乱。 (作为反例,VAX-COBOL 有超过 500 个保留字。)