Skip to content

Commit 82aa6c7

Browse files
committed
cip-190 adjustments and general keyword update
1 parent 0513358 commit 82aa6c7

File tree

5 files changed

+364
-120
lines changed

5 files changed

+364
-120
lines changed

modules/ROOT/content-nav.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@
116116
** xref:syntax/parsing.adoc[]
117117
** xref:syntax/naming.adoc[]
118118
** xref:syntax/variables.adoc[]
119-
** xref:syntax/reserved.adoc[]
119+
** xref:syntax/keywords.adoc[]
120120
** xref:syntax/parameters.adoc[]
121121
** xref:syntax/operators.adoc[]
122122
** xref:syntax/comments.adoc[]

modules/ROOT/pages/appendix/gql-conformance/unsupported-mandatory.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,5 @@ Cypher Shell also offers specific link:{neo4j-docs-base-uri}/operations-manual/{
4141
| 21.3
4242
| <token>, <separator>, and <identifier>
4343
| GQL specifies a list of link:https://standards.iso.org/iso-iec/39075/ed-1/en/ISO_IEC_39075(en).bnf.txt[reserved words] that cannot be used for unquoted variable names, labels, and property names.
44-
Cypher also specifies a list of xref:syntax/reserved.adoc[reserved keywords], but it differs from GQL's.
44+
Cypher also specifies a list of xref:syntax/keywords.adoc[reserved keywords], but it differs from GQL's.
4545
|===

modules/ROOT/pages/syntax/index.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Further information can be found in the following sections:
88
* xref::syntax/parsing.adoc[Parsing]
99
* xref::syntax/naming.adoc[Naming rules and recommendations]
1010
* xref::syntax/variables.adoc[Variables]
11-
* xref::syntax/reserved.adoc[Reserved keywords]
11+
* xref::syntax/keywords.adoc[Keywords]
1212
* xref::syntax/parameters.adoc[Parameters]
1313
* xref::syntax/operators.adoc[Operators]
1414
* xref::syntax/comments.adoc[Comments]
Lines changed: 361 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,361 @@
1+
:description: This section contains a list of reserved keywords in Cypher.
2+
3+
[[cypher-keywords]]
4+
= Keywords
5+
6+
Keywords are words that have a special meaning in Cypher.
7+
8+
The keywords are not recommended to be used as identifiers in the following contexts:
9+
10+
* Variables
11+
* Labels
12+
* Relationship types
13+
14+
If a snippet of Cypher can validly be a keyword as well as an unquoted identifier, it is always interpreted as a keyword.
15+
16+
For instance in the following, `true` could be the variable `true` or the Boolean literal value `true`. Since `true` is a keyword, the query returns a single Boolean `true` value.
17+
18+
.Query
19+
[source, cypher, role=test-result-skip]
20+
----
21+
WITH 123 AS true
22+
RETURN true AS x LIMIT 1
23+
----
24+
25+
.Result
26+
[role="queryresult",options="header,footer",cols="1*<m"]
27+
|===
28+
| x
29+
30+
| true
31+
32+
1+d|Rows: 1
33+
|===
34+
35+
If any keyword is quoted in backticks (```), such as `++`true`++`, it is always interpreted as an identifier in the given context.
36+
37+
.Query
38+
[source, cypher, role=test-result-skip]
39+
----
40+
WITH 123 AS true
41+
RETURN `true` AS x LIMIT 1
42+
----
43+
44+
.Result
45+
[role="queryresult",options="header,footer",cols="1*<m"]
46+
|===
47+
| x
48+
49+
| 123
50+
51+
1+d|Rows: 1
52+
|===
53+
54+
55+
== List of keywords
56+
57+
The following lists of all keywords in Cypher.
58+
59+
Note that with future functionality, Cypher may gain additional keywords not yet in the list.
60+
61+
=== A
62+
`ACCESS`
63+
`ACTIVE`
64+
`ADMIN`
65+
`ADMINISTRATOR`
66+
`ALIAS`
67+
`ALIASES`
68+
`ALL`
69+
`ALL_SHORTEST_PATHS`
70+
`ALTER`
71+
`AND`
72+
`ANY`
73+
`ARRAY`
74+
`AS`
75+
`ASC`
76+
`ASCENDING`
77+
`ASSIGN`
78+
`AT`
79+
`AUTH`
80+
81+
=== B
82+
`BINDINGS`
83+
`BOOL`
84+
`BOOLEAN`
85+
`BOOSTED`
86+
`BOTH`
87+
`BREAK`
88+
`BUILT`
89+
`BY`
90+
91+
=== C
92+
`CALL`
93+
`CASCADE`
94+
`CASE`
95+
`CHANGE`
96+
`CIDR`
97+
`COLLECT`
98+
`COMMAND`
99+
`COMMANDS`
100+
`COMPOSITE`
101+
`CONCURRENT`
102+
`CONSTRAINT`
103+
`CONSTRAINTS`
104+
`CONTAINS`
105+
`CONTINUE`
106+
`COPY`
107+
`COUNT`
108+
`CREATE`
109+
`CSV`
110+
`CURRENT`
111+
112+
=== D
113+
`DATA`
114+
`DATABASE`
115+
`DATABASES`
116+
`DATE`
117+
`DATETIME`
118+
`DBMS`
119+
`DEALLOCATE`
120+
`DEFAULT`
121+
`DEFINED`
122+
`DELETE`
123+
`DENY`
124+
`DESC`
125+
`DESCENDING`
126+
`DESTROY`
127+
`DETACH`
128+
`DIFFERENT`
129+
`DISTINCT`
130+
`DRIVER`
131+
`DROP`
132+
`DRYRUN`
133+
`DUMP`
134+
`DURATION`
135+
136+
=== E
137+
`EACH`
138+
`EDGE`
139+
`ELEMENT`
140+
`ELEMENTS`
141+
`ELSE`
142+
`ENABLE`
143+
`ENCRYPTED`
144+
`END`
145+
`ENDS`
146+
`ERROR`
147+
`EXECUTABLE`
148+
`EXECUTE`
149+
`EXIST`
150+
`EXISTENCE`
151+
`EXISTS`
152+
153+
=== F
154+
`FAIL`
155+
`FALSE`
156+
`FIELDTERMINATOR`
157+
`FINISH`
158+
`FLOAT`
159+
`FOR`
160+
`FOREACH`
161+
`FROM`
162+
`FULLTEXT`
163+
`FUNCTION`
164+
`FUNCTIONS`
165+
166+
=== G, H
167+
`GRANT`
168+
`GRAPH`
169+
`GRAPHS`
170+
`GROUP`
171+
`GROUPS`
172+
173+
`HEADERS`
174+
`HOME`
175+
176+
=== I
177+
`ID`
178+
`IF`
179+
`IMMUTABLE`
180+
`IMPERSONATE`
181+
`IN`
182+
`INDEX`
183+
`INDEXES`
184+
`INF`
185+
`INFINITY`
186+
`INSERT`
187+
`INT`
188+
`INTEGER`
189+
`IS`
190+
191+
=== J, K, L, M
192+
`JOIN`
193+
194+
`KEY`
195+
196+
`LABEL`
197+
`LABELS`
198+
`LEADING`
199+
`LIMITROWS`
200+
`LIST`
201+
`LOAD`
202+
`LOCAL`
203+
`LOOKUP`
204+
205+
`MANAGEMENT`
206+
`MAP`
207+
`MATCH`
208+
`MERGE`
209+
210+
=== N
211+
`NAME`
212+
`NAMES`
213+
`NAN`
214+
`NEW`
215+
`NFC`
216+
`NFD`
217+
`NFKC`
218+
`NFKD`
219+
`NODE`
220+
`NODES`
221+
`NODETACH`
222+
`NONE`
223+
`NORMALIZE`
224+
`NORMALIZED`
225+
`NOT`
226+
`NOTHING`
227+
`NOWAIT`
228+
`NULL`
229+
230+
=== O
231+
`OF`
232+
`OFFSET`
233+
`ON`
234+
`ONLY`
235+
`OPTION`
236+
`OPTIONAL`
237+
`OPTIONS`
238+
`OR`
239+
`ORDER`
240+
241+
=== P
242+
`PASSWORD`
243+
`PASSWORDS`
244+
`PATH`
245+
`PATHS`
246+
`PLAINTEXT`
247+
`POINT`
248+
`POPULATED`
249+
`PRIMARIES`
250+
`PRIMARY`
251+
`PRIVILEGE`
252+
`PRIVILEGES`
253+
`PROCEDURE`
254+
`PROCEDURES`
255+
`PROPERTIES`
256+
`PROPERTY`
257+
`PROVIDER`
258+
`PROVIDERS`
259+
260+
=== R
261+
`RANGE`
262+
`READ`
263+
`REALLOCATE`
264+
`REDUCE`
265+
`REL`
266+
`RELATIONSHIP`
267+
`RELATIONSHIPS`
268+
`REMOVE`
269+
`RENAME`
270+
`REPEATABLE`
271+
`REPLACE`
272+
`REPORT`
273+
`REQUIRE`
274+
`REQUIRED`
275+
`RESTRICT`
276+
`RETURN`
277+
`REVOKE`
278+
`ROLE`
279+
`ROLES`
280+
`ROW`
281+
`ROWS`
282+
283+
=== S
284+
`SCAN`
285+
`SEC`
286+
`SECOND`
287+
`SECONDARIES`
288+
`SECONDARY`
289+
`SECONDS`
290+
`SEEK`
291+
`SERVER`
292+
`SERVERS`
293+
`SET`
294+
`SETTING`
295+
`SETTINGS`
296+
`SHORTEST`
297+
`SHORTEST_PATH`
298+
`SHOW`
299+
`SIGNED`
300+
`SINGLE`
301+
`SKIPROWS`
302+
`START`
303+
`STARTS`
304+
`STATUS`
305+
`STOP`
306+
`STRING`
307+
`SUPPORTED`
308+
`SUSPENDED`
309+
310+
=== T
311+
`TARGET`
312+
`TERMINATE`
313+
`TEXT`
314+
`THEN`
315+
`TIME`
316+
`TIMESTAMP`
317+
`TIMEZONE`
318+
`TO`
319+
`TOPOLOGY`
320+
`TRAILING`
321+
`TRANSACTION`
322+
`TRANSACTIONS`
323+
`TRAVERSE`
324+
`TRIM`
325+
`TRUE`
326+
`TYPE`
327+
`TYPED`
328+
`TYPES`
329+
330+
=== U
331+
`UNION`
332+
`UNIQUE`
333+
`UNIQUENESS`
334+
`UNWIND`
335+
`URL`
336+
`USE`
337+
`USER`
338+
`USERS`
339+
`USING`
340+
341+
=== V, W, X, Y, Z
342+
`VALUE`
343+
`VARCHAR`
344+
`VECTOR`
345+
`VERTEX`
346+
347+
`WAIT`
348+
`WHEN`
349+
`WHERE`
350+
`WITH`
351+
`WITHOUT`
352+
`WRITE`
353+
354+
`XOR`
355+
356+
`YIELD`
357+
358+
`ZONE`
359+
`ZONED`
360+
361+

0 commit comments

Comments
 (0)