0

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

4

3 回答 3

3

文档中没有保留字的完整列表。对于即将发布的 2.0 版,关键字在单个文件中定义,可能有缩写(如 asc/desc):

https://github.com/neo4j/neo4j/blob/2.0/community/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v2_0/Strings.scala

1.9 版的组织不太好,大部分都在https://github.com/neo4j/neo4j/blob/2.0/community/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_9/ Base.scala,“创建唯一”位于https://github.com/neo4j/neo4j/blob/2.0/community/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_9/CreateUnique。斯卡拉

于 2013-06-15T17:25:14.017 回答
1

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

于 2016-08-02T23:43:19.250 回答
0

唯一真正的保留字(从 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(*) "
于 2013-06-15T17:23:51.930 回答