@matdata/yasqe 4.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +121 -0
  2. package/build/ts/grammar/tokenizer.d.ts +37 -0
  3. package/build/ts/src/CodeMirror.d.ts +21 -0
  4. package/build/ts/src/autocompleters/classes.d.ts +3 -0
  5. package/build/ts/src/autocompleters/index.d.ts +39 -0
  6. package/build/ts/src/autocompleters/prefixes.d.ts +3 -0
  7. package/build/ts/src/autocompleters/properties.d.ts +3 -0
  8. package/build/ts/src/autocompleters/variables.d.ts +3 -0
  9. package/build/ts/src/defaults.d.ts +75 -0
  10. package/build/ts/src/imgs.d.ts +7 -0
  11. package/build/ts/src/index.d.ts +303 -0
  12. package/build/ts/src/prefixFold.d.ts +8 -0
  13. package/build/ts/src/prefixUtils.d.ts +9 -0
  14. package/build/ts/src/sparql.d.ts +20 -0
  15. package/build/ts/src/tokenUtils.d.ts +4 -0
  16. package/build/ts/src/tooltip.d.ts +2 -0
  17. package/build/ts/src/trie.d.ts +13 -0
  18. package/build/yasqe.html +108 -0
  19. package/build/yasqe.min.css +2 -0
  20. package/build/yasqe.min.css.map +1 -0
  21. package/build/yasqe.min.js +3 -0
  22. package/build/yasqe.min.js.LICENSE.txt +3 -0
  23. package/build/yasqe.min.js.map +1 -0
  24. package/grammar/README.md +12 -0
  25. package/grammar/_tokenizer-table.js +4776 -0
  26. package/grammar/build.sh +2 -0
  27. package/grammar/sparql11-grammar.pl +834 -0
  28. package/grammar/sparqljs-browser-min.js +4535 -0
  29. package/grammar/tokenizer.ts +729 -0
  30. package/grammar/util/gen_ll1.pl +37 -0
  31. package/grammar/util/gen_sparql11.pl +11 -0
  32. package/grammar/util/ll1.pl +175 -0
  33. package/grammar/util/output_to_javascript.pl +75 -0
  34. package/grammar/util/prune.pl +49 -0
  35. package/grammar/util/rewrite.pl +104 -0
  36. package/package.json +40 -0
  37. package/src/CodeMirror.ts +54 -0
  38. package/src/autocompleters/classes.ts +32 -0
  39. package/src/autocompleters/index.ts +346 -0
  40. package/src/autocompleters/prefixes.ts +130 -0
  41. package/src/autocompleters/properties.ts +28 -0
  42. package/src/autocompleters/show-hint.scss +38 -0
  43. package/src/autocompleters/variables.ts +52 -0
  44. package/src/defaults.ts +149 -0
  45. package/src/imgs.ts +14 -0
  46. package/src/index.ts +1089 -0
  47. package/src/prefixFold.ts +93 -0
  48. package/src/prefixUtils.ts +65 -0
  49. package/src/scss/buttons.scss +275 -0
  50. package/src/scss/codemirrorMods.scss +36 -0
  51. package/src/scss/yasqe.scss +89 -0
  52. package/src/sparql.ts +215 -0
  53. package/src/tokenUtils.ts +121 -0
  54. package/src/tooltip.ts +31 -0
  55. package/src/trie.ts +238 -0
@@ -0,0 +1,4535 @@
1
+ module.exports = {
2
+ table: {
3
+ "*[&&,valueLogical]": {
4
+ "&&": ["[&&,valueLogical]", "*[&&,valueLogical]"],
5
+ AS: [],
6
+ ")": [],
7
+ ",": [],
8
+ "||": [],
9
+ ";": [],
10
+ },
11
+ "*[,,expression]": { ",": ["[,,expression]", "*[,,expression]"], ")": [] },
12
+ "*[,,objectPath]": {
13
+ ",": ["[,,objectPath]", "*[,,objectPath]"],
14
+ ".": [],
15
+ ";": [],
16
+ "]": [],
17
+ "{": [],
18
+ OPTIONAL: [],
19
+ MINUS: [],
20
+ GRAPH: [],
21
+ SERVICE: [],
22
+ FILTER: [],
23
+ BIND: [],
24
+ VALUES: [],
25
+ "}": [],
26
+ },
27
+ "*[,,object]": {
28
+ ",": ["[,,object]", "*[,,object]"],
29
+ ".": [],
30
+ ";": [],
31
+ "]": [],
32
+ "}": [],
33
+ GRAPH: [],
34
+ "{": [],
35
+ OPTIONAL: [],
36
+ MINUS: [],
37
+ SERVICE: [],
38
+ FILTER: [],
39
+ BIND: [],
40
+ VALUES: [],
41
+ },
42
+ "*[/,pathEltOrInverse]": {
43
+ "/": ["[/,pathEltOrInverse]", "*[/,pathEltOrInverse]"],
44
+ "|": [],
45
+ ")": [],
46
+ "(": [],
47
+ "[": [],
48
+ VAR1: [],
49
+ VAR2: [],
50
+ NIL: [],
51
+ IRI_REF: [],
52
+ TRUE: [],
53
+ FALSE: [],
54
+ BLANK_NODE_LABEL: [],
55
+ ANON: [],
56
+ PNAME_LN: [],
57
+ PNAME_NS: [],
58
+ STRING_LITERAL1: [],
59
+ STRING_LITERAL2: [],
60
+ STRING_LITERAL_LONG1: [],
61
+ STRING_LITERAL_LONG2: [],
62
+ INTEGER: [],
63
+ DECIMAL: [],
64
+ DOUBLE: [],
65
+ INTEGER_POSITIVE: [],
66
+ DECIMAL_POSITIVE: [],
67
+ DOUBLE_POSITIVE: [],
68
+ INTEGER_NEGATIVE: [],
69
+ DECIMAL_NEGATIVE: [],
70
+ DOUBLE_NEGATIVE: [],
71
+ },
72
+ "*[;,?[or([verbPath,verbSimple]),objectList]]": {
73
+ ";": ["[;,?[or([verbPath,verbSimple]),objectList]]", "*[;,?[or([verbPath,verbSimple]),objectList]]"],
74
+ ".": [],
75
+ "]": [],
76
+ "{": [],
77
+ OPTIONAL: [],
78
+ MINUS: [],
79
+ GRAPH: [],
80
+ SERVICE: [],
81
+ FILTER: [],
82
+ BIND: [],
83
+ VALUES: [],
84
+ "}": [],
85
+ },
86
+ "*[;,?[verb,objectList]]": {
87
+ ";": ["[;,?[verb,objectList]]", "*[;,?[verb,objectList]]"],
88
+ ".": [],
89
+ "]": [],
90
+ "}": [],
91
+ GRAPH: [],
92
+ "{": [],
93
+ OPTIONAL: [],
94
+ MINUS: [],
95
+ SERVICE: [],
96
+ FILTER: [],
97
+ BIND: [],
98
+ VALUES: [],
99
+ },
100
+ "*[UNION,groupGraphPattern]": {
101
+ UNION: ["[UNION,groupGraphPattern]", "*[UNION,groupGraphPattern]"],
102
+ VAR1: [],
103
+ VAR2: [],
104
+ NIL: [],
105
+ "(": [],
106
+ "[": [],
107
+ IRI_REF: [],
108
+ TRUE: [],
109
+ FALSE: [],
110
+ BLANK_NODE_LABEL: [],
111
+ ANON: [],
112
+ PNAME_LN: [],
113
+ PNAME_NS: [],
114
+ STRING_LITERAL1: [],
115
+ STRING_LITERAL2: [],
116
+ STRING_LITERAL_LONG1: [],
117
+ STRING_LITERAL_LONG2: [],
118
+ INTEGER: [],
119
+ DECIMAL: [],
120
+ DOUBLE: [],
121
+ INTEGER_POSITIVE: [],
122
+ DECIMAL_POSITIVE: [],
123
+ DOUBLE_POSITIVE: [],
124
+ INTEGER_NEGATIVE: [],
125
+ DECIMAL_NEGATIVE: [],
126
+ DOUBLE_NEGATIVE: [],
127
+ ".": [],
128
+ "{": [],
129
+ OPTIONAL: [],
130
+ MINUS: [],
131
+ GRAPH: [],
132
+ SERVICE: [],
133
+ FILTER: [],
134
+ BIND: [],
135
+ VALUES: [],
136
+ "}": [],
137
+ },
138
+ "*[graphPatternNotTriples,?.,?triplesBlock]": {
139
+ "{": ["[graphPatternNotTriples,?.,?triplesBlock]", "*[graphPatternNotTriples,?.,?triplesBlock]"],
140
+ OPTIONAL: ["[graphPatternNotTriples,?.,?triplesBlock]", "*[graphPatternNotTriples,?.,?triplesBlock]"],
141
+ MINUS: ["[graphPatternNotTriples,?.,?triplesBlock]", "*[graphPatternNotTriples,?.,?triplesBlock]"],
142
+ GRAPH: ["[graphPatternNotTriples,?.,?triplesBlock]", "*[graphPatternNotTriples,?.,?triplesBlock]"],
143
+ SERVICE: ["[graphPatternNotTriples,?.,?triplesBlock]", "*[graphPatternNotTriples,?.,?triplesBlock]"],
144
+ FILTER: ["[graphPatternNotTriples,?.,?triplesBlock]", "*[graphPatternNotTriples,?.,?triplesBlock]"],
145
+ BIND: ["[graphPatternNotTriples,?.,?triplesBlock]", "*[graphPatternNotTriples,?.,?triplesBlock]"],
146
+ VALUES: ["[graphPatternNotTriples,?.,?triplesBlock]", "*[graphPatternNotTriples,?.,?triplesBlock]"],
147
+ "}": [],
148
+ },
149
+ "*[quadsNotTriples,?.,?triplesTemplate]": {
150
+ GRAPH: ["[quadsNotTriples,?.,?triplesTemplate]", "*[quadsNotTriples,?.,?triplesTemplate]"],
151
+ "}": [],
152
+ },
153
+ "*[|,pathOneInPropertySet]": {
154
+ "|": ["[|,pathOneInPropertySet]", "*[|,pathOneInPropertySet]"],
155
+ ")": [],
156
+ },
157
+ "*[|,pathSequence]": {
158
+ "|": ["[|,pathSequence]", "*[|,pathSequence]"],
159
+ ")": [],
160
+ "(": [],
161
+ "[": [],
162
+ VAR1: [],
163
+ VAR2: [],
164
+ NIL: [],
165
+ IRI_REF: [],
166
+ TRUE: [],
167
+ FALSE: [],
168
+ BLANK_NODE_LABEL: [],
169
+ ANON: [],
170
+ PNAME_LN: [],
171
+ PNAME_NS: [],
172
+ STRING_LITERAL1: [],
173
+ STRING_LITERAL2: [],
174
+ STRING_LITERAL_LONG1: [],
175
+ STRING_LITERAL_LONG2: [],
176
+ INTEGER: [],
177
+ DECIMAL: [],
178
+ DOUBLE: [],
179
+ INTEGER_POSITIVE: [],
180
+ DECIMAL_POSITIVE: [],
181
+ DOUBLE_POSITIVE: [],
182
+ INTEGER_NEGATIVE: [],
183
+ DECIMAL_NEGATIVE: [],
184
+ DOUBLE_NEGATIVE: [],
185
+ },
186
+ "*[||,conditionalAndExpression]": {
187
+ "||": ["[||,conditionalAndExpression]", "*[||,conditionalAndExpression]"],
188
+ AS: [],
189
+ ")": [],
190
+ ",": [],
191
+ ";": [],
192
+ },
193
+ "*dataBlockValue": {
194
+ UNDEF: ["dataBlockValue", "*dataBlockValue"],
195
+ IRI_REF: ["dataBlockValue", "*dataBlockValue"],
196
+ TRUE: ["dataBlockValue", "*dataBlockValue"],
197
+ FALSE: ["dataBlockValue", "*dataBlockValue"],
198
+ PNAME_LN: ["dataBlockValue", "*dataBlockValue"],
199
+ PNAME_NS: ["dataBlockValue", "*dataBlockValue"],
200
+ STRING_LITERAL1: ["dataBlockValue", "*dataBlockValue"],
201
+ STRING_LITERAL2: ["dataBlockValue", "*dataBlockValue"],
202
+ STRING_LITERAL_LONG1: ["dataBlockValue", "*dataBlockValue"],
203
+ STRING_LITERAL_LONG2: ["dataBlockValue", "*dataBlockValue"],
204
+ INTEGER: ["dataBlockValue", "*dataBlockValue"],
205
+ DECIMAL: ["dataBlockValue", "*dataBlockValue"],
206
+ DOUBLE: ["dataBlockValue", "*dataBlockValue"],
207
+ INTEGER_POSITIVE: ["dataBlockValue", "*dataBlockValue"],
208
+ DECIMAL_POSITIVE: ["dataBlockValue", "*dataBlockValue"],
209
+ DOUBLE_POSITIVE: ["dataBlockValue", "*dataBlockValue"],
210
+ INTEGER_NEGATIVE: ["dataBlockValue", "*dataBlockValue"],
211
+ DECIMAL_NEGATIVE: ["dataBlockValue", "*dataBlockValue"],
212
+ DOUBLE_NEGATIVE: ["dataBlockValue", "*dataBlockValue"],
213
+ "}": [],
214
+ ")": [],
215
+ },
216
+ "*datasetClause": {
217
+ FROM: ["datasetClause", "*datasetClause"],
218
+ WHERE: [],
219
+ "{": [],
220
+ },
221
+ "*describeDatasetClause": {
222
+ FROM: ["describeDatasetClause", "*describeDatasetClause"],
223
+ ORDER: [],
224
+ HAVING: [],
225
+ GROUP: [],
226
+ LIMIT: [],
227
+ OFFSET: [],
228
+ WHERE: [],
229
+ "{": [],
230
+ VALUES: [],
231
+ $: [],
232
+ },
233
+ "*graphNode": {
234
+ "(": ["graphNode", "*graphNode"],
235
+ "[": ["graphNode", "*graphNode"],
236
+ VAR1: ["graphNode", "*graphNode"],
237
+ VAR2: ["graphNode", "*graphNode"],
238
+ NIL: ["graphNode", "*graphNode"],
239
+ IRI_REF: ["graphNode", "*graphNode"],
240
+ TRUE: ["graphNode", "*graphNode"],
241
+ FALSE: ["graphNode", "*graphNode"],
242
+ BLANK_NODE_LABEL: ["graphNode", "*graphNode"],
243
+ ANON: ["graphNode", "*graphNode"],
244
+ PNAME_LN: ["graphNode", "*graphNode"],
245
+ PNAME_NS: ["graphNode", "*graphNode"],
246
+ STRING_LITERAL1: ["graphNode", "*graphNode"],
247
+ STRING_LITERAL2: ["graphNode", "*graphNode"],
248
+ STRING_LITERAL_LONG1: ["graphNode", "*graphNode"],
249
+ STRING_LITERAL_LONG2: ["graphNode", "*graphNode"],
250
+ INTEGER: ["graphNode", "*graphNode"],
251
+ DECIMAL: ["graphNode", "*graphNode"],
252
+ DOUBLE: ["graphNode", "*graphNode"],
253
+ INTEGER_POSITIVE: ["graphNode", "*graphNode"],
254
+ DECIMAL_POSITIVE: ["graphNode", "*graphNode"],
255
+ DOUBLE_POSITIVE: ["graphNode", "*graphNode"],
256
+ INTEGER_NEGATIVE: ["graphNode", "*graphNode"],
257
+ DECIMAL_NEGATIVE: ["graphNode", "*graphNode"],
258
+ DOUBLE_NEGATIVE: ["graphNode", "*graphNode"],
259
+ ")": [],
260
+ },
261
+ "*graphNodePath": {
262
+ "(": ["graphNodePath", "*graphNodePath"],
263
+ "[": ["graphNodePath", "*graphNodePath"],
264
+ VAR1: ["graphNodePath", "*graphNodePath"],
265
+ VAR2: ["graphNodePath", "*graphNodePath"],
266
+ NIL: ["graphNodePath", "*graphNodePath"],
267
+ IRI_REF: ["graphNodePath", "*graphNodePath"],
268
+ TRUE: ["graphNodePath", "*graphNodePath"],
269
+ FALSE: ["graphNodePath", "*graphNodePath"],
270
+ BLANK_NODE_LABEL: ["graphNodePath", "*graphNodePath"],
271
+ ANON: ["graphNodePath", "*graphNodePath"],
272
+ PNAME_LN: ["graphNodePath", "*graphNodePath"],
273
+ PNAME_NS: ["graphNodePath", "*graphNodePath"],
274
+ STRING_LITERAL1: ["graphNodePath", "*graphNodePath"],
275
+ STRING_LITERAL2: ["graphNodePath", "*graphNodePath"],
276
+ STRING_LITERAL_LONG1: ["graphNodePath", "*graphNodePath"],
277
+ STRING_LITERAL_LONG2: ["graphNodePath", "*graphNodePath"],
278
+ INTEGER: ["graphNodePath", "*graphNodePath"],
279
+ DECIMAL: ["graphNodePath", "*graphNodePath"],
280
+ DOUBLE: ["graphNodePath", "*graphNodePath"],
281
+ INTEGER_POSITIVE: ["graphNodePath", "*graphNodePath"],
282
+ DECIMAL_POSITIVE: ["graphNodePath", "*graphNodePath"],
283
+ DOUBLE_POSITIVE: ["graphNodePath", "*graphNodePath"],
284
+ INTEGER_NEGATIVE: ["graphNodePath", "*graphNodePath"],
285
+ DECIMAL_NEGATIVE: ["graphNodePath", "*graphNodePath"],
286
+ DOUBLE_NEGATIVE: ["graphNodePath", "*graphNodePath"],
287
+ ")": [],
288
+ },
289
+ "*groupCondition": {
290
+ "(": ["groupCondition", "*groupCondition"],
291
+ STR: ["groupCondition", "*groupCondition"],
292
+ LANG: ["groupCondition", "*groupCondition"],
293
+ LANGMATCHES: ["groupCondition", "*groupCondition"],
294
+ DATATYPE: ["groupCondition", "*groupCondition"],
295
+ BOUND: ["groupCondition", "*groupCondition"],
296
+ IRI: ["groupCondition", "*groupCondition"],
297
+ URI: ["groupCondition", "*groupCondition"],
298
+ BNODE: ["groupCondition", "*groupCondition"],
299
+ RAND: ["groupCondition", "*groupCondition"],
300
+ ABS: ["groupCondition", "*groupCondition"],
301
+ CEIL: ["groupCondition", "*groupCondition"],
302
+ FLOOR: ["groupCondition", "*groupCondition"],
303
+ ROUND: ["groupCondition", "*groupCondition"],
304
+ CONCAT: ["groupCondition", "*groupCondition"],
305
+ STRLEN: ["groupCondition", "*groupCondition"],
306
+ UCASE: ["groupCondition", "*groupCondition"],
307
+ LCASE: ["groupCondition", "*groupCondition"],
308
+ ENCODE_FOR_URI: ["groupCondition", "*groupCondition"],
309
+ CONTAINS: ["groupCondition", "*groupCondition"],
310
+ STRSTARTS: ["groupCondition", "*groupCondition"],
311
+ STRENDS: ["groupCondition", "*groupCondition"],
312
+ STRBEFORE: ["groupCondition", "*groupCondition"],
313
+ STRAFTER: ["groupCondition", "*groupCondition"],
314
+ YEAR: ["groupCondition", "*groupCondition"],
315
+ MONTH: ["groupCondition", "*groupCondition"],
316
+ DAY: ["groupCondition", "*groupCondition"],
317
+ HOURS: ["groupCondition", "*groupCondition"],
318
+ MINUTES: ["groupCondition", "*groupCondition"],
319
+ SECONDS: ["groupCondition", "*groupCondition"],
320
+ TIMEZONE: ["groupCondition", "*groupCondition"],
321
+ TZ: ["groupCondition", "*groupCondition"],
322
+ NOW: ["groupCondition", "*groupCondition"],
323
+ UUID: ["groupCondition", "*groupCondition"],
324
+ STRUUID: ["groupCondition", "*groupCondition"],
325
+ MD5: ["groupCondition", "*groupCondition"],
326
+ SHA1: ["groupCondition", "*groupCondition"],
327
+ SHA256: ["groupCondition", "*groupCondition"],
328
+ SHA384: ["groupCondition", "*groupCondition"],
329
+ SHA512: ["groupCondition", "*groupCondition"],
330
+ COALESCE: ["groupCondition", "*groupCondition"],
331
+ IF: ["groupCondition", "*groupCondition"],
332
+ STRLANG: ["groupCondition", "*groupCondition"],
333
+ STRDT: ["groupCondition", "*groupCondition"],
334
+ SAMETERM: ["groupCondition", "*groupCondition"],
335
+ ISIRI: ["groupCondition", "*groupCondition"],
336
+ ISURI: ["groupCondition", "*groupCondition"],
337
+ ISBLANK: ["groupCondition", "*groupCondition"],
338
+ ISLITERAL: ["groupCondition", "*groupCondition"],
339
+ ISNUMERIC: ["groupCondition", "*groupCondition"],
340
+ VAR1: ["groupCondition", "*groupCondition"],
341
+ VAR2: ["groupCondition", "*groupCondition"],
342
+ SUBSTR: ["groupCondition", "*groupCondition"],
343
+ REPLACE: ["groupCondition", "*groupCondition"],
344
+ REGEX: ["groupCondition", "*groupCondition"],
345
+ EXISTS: ["groupCondition", "*groupCondition"],
346
+ NOT: ["groupCondition", "*groupCondition"],
347
+ IRI_REF: ["groupCondition", "*groupCondition"],
348
+ PNAME_LN: ["groupCondition", "*groupCondition"],
349
+ PNAME_NS: ["groupCondition", "*groupCondition"],
350
+ VALUES: [],
351
+ LIMIT: [],
352
+ OFFSET: [],
353
+ ORDER: [],
354
+ HAVING: [],
355
+ $: [],
356
+ "}": [],
357
+ },
358
+ "*havingCondition": {
359
+ "(": ["havingCondition", "*havingCondition"],
360
+ STR: ["havingCondition", "*havingCondition"],
361
+ LANG: ["havingCondition", "*havingCondition"],
362
+ LANGMATCHES: ["havingCondition", "*havingCondition"],
363
+ DATATYPE: ["havingCondition", "*havingCondition"],
364
+ BOUND: ["havingCondition", "*havingCondition"],
365
+ IRI: ["havingCondition", "*havingCondition"],
366
+ URI: ["havingCondition", "*havingCondition"],
367
+ BNODE: ["havingCondition", "*havingCondition"],
368
+ RAND: ["havingCondition", "*havingCondition"],
369
+ ABS: ["havingCondition", "*havingCondition"],
370
+ CEIL: ["havingCondition", "*havingCondition"],
371
+ FLOOR: ["havingCondition", "*havingCondition"],
372
+ ROUND: ["havingCondition", "*havingCondition"],
373
+ CONCAT: ["havingCondition", "*havingCondition"],
374
+ STRLEN: ["havingCondition", "*havingCondition"],
375
+ UCASE: ["havingCondition", "*havingCondition"],
376
+ LCASE: ["havingCondition", "*havingCondition"],
377
+ ENCODE_FOR_URI: ["havingCondition", "*havingCondition"],
378
+ CONTAINS: ["havingCondition", "*havingCondition"],
379
+ STRSTARTS: ["havingCondition", "*havingCondition"],
380
+ STRENDS: ["havingCondition", "*havingCondition"],
381
+ STRBEFORE: ["havingCondition", "*havingCondition"],
382
+ STRAFTER: ["havingCondition", "*havingCondition"],
383
+ YEAR: ["havingCondition", "*havingCondition"],
384
+ MONTH: ["havingCondition", "*havingCondition"],
385
+ DAY: ["havingCondition", "*havingCondition"],
386
+ HOURS: ["havingCondition", "*havingCondition"],
387
+ MINUTES: ["havingCondition", "*havingCondition"],
388
+ SECONDS: ["havingCondition", "*havingCondition"],
389
+ TIMEZONE: ["havingCondition", "*havingCondition"],
390
+ TZ: ["havingCondition", "*havingCondition"],
391
+ NOW: ["havingCondition", "*havingCondition"],
392
+ UUID: ["havingCondition", "*havingCondition"],
393
+ STRUUID: ["havingCondition", "*havingCondition"],
394
+ MD5: ["havingCondition", "*havingCondition"],
395
+ SHA1: ["havingCondition", "*havingCondition"],
396
+ SHA256: ["havingCondition", "*havingCondition"],
397
+ SHA384: ["havingCondition", "*havingCondition"],
398
+ SHA512: ["havingCondition", "*havingCondition"],
399
+ COALESCE: ["havingCondition", "*havingCondition"],
400
+ IF: ["havingCondition", "*havingCondition"],
401
+ STRLANG: ["havingCondition", "*havingCondition"],
402
+ STRDT: ["havingCondition", "*havingCondition"],
403
+ SAMETERM: ["havingCondition", "*havingCondition"],
404
+ ISIRI: ["havingCondition", "*havingCondition"],
405
+ ISURI: ["havingCondition", "*havingCondition"],
406
+ ISBLANK: ["havingCondition", "*havingCondition"],
407
+ ISLITERAL: ["havingCondition", "*havingCondition"],
408
+ ISNUMERIC: ["havingCondition", "*havingCondition"],
409
+ SUBSTR: ["havingCondition", "*havingCondition"],
410
+ REPLACE: ["havingCondition", "*havingCondition"],
411
+ REGEX: ["havingCondition", "*havingCondition"],
412
+ EXISTS: ["havingCondition", "*havingCondition"],
413
+ NOT: ["havingCondition", "*havingCondition"],
414
+ IRI_REF: ["havingCondition", "*havingCondition"],
415
+ PNAME_LN: ["havingCondition", "*havingCondition"],
416
+ PNAME_NS: ["havingCondition", "*havingCondition"],
417
+ VALUES: [],
418
+ LIMIT: [],
419
+ OFFSET: [],
420
+ ORDER: [],
421
+ $: [],
422
+ "}": [],
423
+ },
424
+ "*or([[ (,*dataBlockValue,)],NIL])": {
425
+ "(": ["or([[ (,*dataBlockValue,)],NIL])", "*or([[ (,*dataBlockValue,)],NIL])"],
426
+ NIL: ["or([[ (,*dataBlockValue,)],NIL])", "*or([[ (,*dataBlockValue,)],NIL])"],
427
+ "}": [],
428
+ },
429
+ "*or([[*,unaryExpression],[/,unaryExpression]])": {
430
+ "*": ["or([[*,unaryExpression],[/,unaryExpression]])", "*or([[*,unaryExpression],[/,unaryExpression]])"],
431
+ "/": ["or([[*,unaryExpression],[/,unaryExpression]])", "*or([[*,unaryExpression],[/,unaryExpression]])"],
432
+ AS: [],
433
+ ")": [],
434
+ ",": [],
435
+ "||": [],
436
+ "&&": [],
437
+ "=": [],
438
+ "!=": [],
439
+ "<": [],
440
+ ">": [],
441
+ "<=": [],
442
+ ">=": [],
443
+ IN: [],
444
+ NOT: [],
445
+ "+": [],
446
+ "-": [],
447
+ INTEGER_POSITIVE: [],
448
+ DECIMAL_POSITIVE: [],
449
+ DOUBLE_POSITIVE: [],
450
+ INTEGER_NEGATIVE: [],
451
+ DECIMAL_NEGATIVE: [],
452
+ DOUBLE_NEGATIVE: [],
453
+ ";": [],
454
+ },
455
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])":
456
+ {
457
+ "+": [
458
+ "or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
459
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
460
+ ],
461
+ "-": [
462
+ "or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
463
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
464
+ ],
465
+ INTEGER_POSITIVE: [
466
+ "or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
467
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
468
+ ],
469
+ DECIMAL_POSITIVE: [
470
+ "or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
471
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
472
+ ],
473
+ DOUBLE_POSITIVE: [
474
+ "or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
475
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
476
+ ],
477
+ INTEGER_NEGATIVE: [
478
+ "or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
479
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
480
+ ],
481
+ DECIMAL_NEGATIVE: [
482
+ "or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
483
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
484
+ ],
485
+ DOUBLE_NEGATIVE: [
486
+ "or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
487
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
488
+ ],
489
+ AS: [],
490
+ ")": [],
491
+ ",": [],
492
+ "||": [],
493
+ "&&": [],
494
+ "=": [],
495
+ "!=": [],
496
+ "<": [],
497
+ ">": [],
498
+ "<=": [],
499
+ ">=": [],
500
+ IN: [],
501
+ NOT: [],
502
+ ";": [],
503
+ },
504
+ "*or([baseDecl,prefixDecl])": {
505
+ BASE: ["or([baseDecl,prefixDecl])", "*or([baseDecl,prefixDecl])"],
506
+ PREFIX: ["or([baseDecl,prefixDecl])", "*or([baseDecl,prefixDecl])"],
507
+ $: [],
508
+ CONSTRUCT: [],
509
+ DESCRIBE: [],
510
+ ASK: [],
511
+ INSERT: [],
512
+ DELETE: [],
513
+ SELECT: [],
514
+ LOAD: [],
515
+ CLEAR: [],
516
+ DROP: [],
517
+ ADD: [],
518
+ MOVE: [],
519
+ COPY: [],
520
+ CREATE: [],
521
+ WITH: [],
522
+ },
523
+ "*or([var,[ (,expression,AS,var,)]])": {
524
+ "(": ["or([var,[ (,expression,AS,var,)]])", "*or([var,[ (,expression,AS,var,)]])"],
525
+ VAR1: ["or([var,[ (,expression,AS,var,)]])", "*or([var,[ (,expression,AS,var,)]])"],
526
+ VAR2: ["or([var,[ (,expression,AS,var,)]])", "*or([var,[ (,expression,AS,var,)]])"],
527
+ WHERE: [],
528
+ "{": [],
529
+ FROM: [],
530
+ },
531
+ "*orderCondition": {
532
+ ASC: ["orderCondition", "*orderCondition"],
533
+ DESC: ["orderCondition", "*orderCondition"],
534
+ VAR1: ["orderCondition", "*orderCondition"],
535
+ VAR2: ["orderCondition", "*orderCondition"],
536
+ "(": ["orderCondition", "*orderCondition"],
537
+ STR: ["orderCondition", "*orderCondition"],
538
+ LANG: ["orderCondition", "*orderCondition"],
539
+ LANGMATCHES: ["orderCondition", "*orderCondition"],
540
+ DATATYPE: ["orderCondition", "*orderCondition"],
541
+ BOUND: ["orderCondition", "*orderCondition"],
542
+ IRI: ["orderCondition", "*orderCondition"],
543
+ URI: ["orderCondition", "*orderCondition"],
544
+ BNODE: ["orderCondition", "*orderCondition"],
545
+ RAND: ["orderCondition", "*orderCondition"],
546
+ ABS: ["orderCondition", "*orderCondition"],
547
+ CEIL: ["orderCondition", "*orderCondition"],
548
+ FLOOR: ["orderCondition", "*orderCondition"],
549
+ ROUND: ["orderCondition", "*orderCondition"],
550
+ CONCAT: ["orderCondition", "*orderCondition"],
551
+ STRLEN: ["orderCondition", "*orderCondition"],
552
+ UCASE: ["orderCondition", "*orderCondition"],
553
+ LCASE: ["orderCondition", "*orderCondition"],
554
+ ENCODE_FOR_URI: ["orderCondition", "*orderCondition"],
555
+ CONTAINS: ["orderCondition", "*orderCondition"],
556
+ STRSTARTS: ["orderCondition", "*orderCondition"],
557
+ STRENDS: ["orderCondition", "*orderCondition"],
558
+ STRBEFORE: ["orderCondition", "*orderCondition"],
559
+ STRAFTER: ["orderCondition", "*orderCondition"],
560
+ YEAR: ["orderCondition", "*orderCondition"],
561
+ MONTH: ["orderCondition", "*orderCondition"],
562
+ DAY: ["orderCondition", "*orderCondition"],
563
+ HOURS: ["orderCondition", "*orderCondition"],
564
+ MINUTES: ["orderCondition", "*orderCondition"],
565
+ SECONDS: ["orderCondition", "*orderCondition"],
566
+ TIMEZONE: ["orderCondition", "*orderCondition"],
567
+ TZ: ["orderCondition", "*orderCondition"],
568
+ NOW: ["orderCondition", "*orderCondition"],
569
+ UUID: ["orderCondition", "*orderCondition"],
570
+ STRUUID: ["orderCondition", "*orderCondition"],
571
+ MD5: ["orderCondition", "*orderCondition"],
572
+ SHA1: ["orderCondition", "*orderCondition"],
573
+ SHA256: ["orderCondition", "*orderCondition"],
574
+ SHA384: ["orderCondition", "*orderCondition"],
575
+ SHA512: ["orderCondition", "*orderCondition"],
576
+ COALESCE: ["orderCondition", "*orderCondition"],
577
+ IF: ["orderCondition", "*orderCondition"],
578
+ STRLANG: ["orderCondition", "*orderCondition"],
579
+ STRDT: ["orderCondition", "*orderCondition"],
580
+ SAMETERM: ["orderCondition", "*orderCondition"],
581
+ ISIRI: ["orderCondition", "*orderCondition"],
582
+ ISURI: ["orderCondition", "*orderCondition"],
583
+ ISBLANK: ["orderCondition", "*orderCondition"],
584
+ ISLITERAL: ["orderCondition", "*orderCondition"],
585
+ ISNUMERIC: ["orderCondition", "*orderCondition"],
586
+ SUBSTR: ["orderCondition", "*orderCondition"],
587
+ REPLACE: ["orderCondition", "*orderCondition"],
588
+ REGEX: ["orderCondition", "*orderCondition"],
589
+ EXISTS: ["orderCondition", "*orderCondition"],
590
+ NOT: ["orderCondition", "*orderCondition"],
591
+ IRI_REF: ["orderCondition", "*orderCondition"],
592
+ PNAME_LN: ["orderCondition", "*orderCondition"],
593
+ PNAME_NS: ["orderCondition", "*orderCondition"],
594
+ VALUES: [],
595
+ LIMIT: [],
596
+ OFFSET: [],
597
+ $: [],
598
+ "}": [],
599
+ },
600
+ "*usingClause": { USING: ["usingClause", "*usingClause"], WHERE: [] },
601
+ "*var": { VAR1: ["var", "*var"], VAR2: ["var", "*var"], ")": [] },
602
+ "*varOrIRIref": {
603
+ VAR1: ["varOrIRIref", "*varOrIRIref"],
604
+ VAR2: ["varOrIRIref", "*varOrIRIref"],
605
+ IRI_REF: ["varOrIRIref", "*varOrIRIref"],
606
+ PNAME_LN: ["varOrIRIref", "*varOrIRIref"],
607
+ PNAME_NS: ["varOrIRIref", "*varOrIRIref"],
608
+ ORDER: [],
609
+ HAVING: [],
610
+ GROUP: [],
611
+ LIMIT: [],
612
+ OFFSET: [],
613
+ WHERE: [],
614
+ "{": [],
615
+ FROM: [],
616
+ VALUES: [],
617
+ $: [],
618
+ },
619
+ "+graphNode": {
620
+ "(": ["graphNode", "*graphNode"],
621
+ "[": ["graphNode", "*graphNode"],
622
+ VAR1: ["graphNode", "*graphNode"],
623
+ VAR2: ["graphNode", "*graphNode"],
624
+ NIL: ["graphNode", "*graphNode"],
625
+ IRI_REF: ["graphNode", "*graphNode"],
626
+ TRUE: ["graphNode", "*graphNode"],
627
+ FALSE: ["graphNode", "*graphNode"],
628
+ BLANK_NODE_LABEL: ["graphNode", "*graphNode"],
629
+ ANON: ["graphNode", "*graphNode"],
630
+ PNAME_LN: ["graphNode", "*graphNode"],
631
+ PNAME_NS: ["graphNode", "*graphNode"],
632
+ STRING_LITERAL1: ["graphNode", "*graphNode"],
633
+ STRING_LITERAL2: ["graphNode", "*graphNode"],
634
+ STRING_LITERAL_LONG1: ["graphNode", "*graphNode"],
635
+ STRING_LITERAL_LONG2: ["graphNode", "*graphNode"],
636
+ INTEGER: ["graphNode", "*graphNode"],
637
+ DECIMAL: ["graphNode", "*graphNode"],
638
+ DOUBLE: ["graphNode", "*graphNode"],
639
+ INTEGER_POSITIVE: ["graphNode", "*graphNode"],
640
+ DECIMAL_POSITIVE: ["graphNode", "*graphNode"],
641
+ DOUBLE_POSITIVE: ["graphNode", "*graphNode"],
642
+ INTEGER_NEGATIVE: ["graphNode", "*graphNode"],
643
+ DECIMAL_NEGATIVE: ["graphNode", "*graphNode"],
644
+ DOUBLE_NEGATIVE: ["graphNode", "*graphNode"],
645
+ },
646
+ "+graphNodePath": {
647
+ "(": ["graphNodePath", "*graphNodePath"],
648
+ "[": ["graphNodePath", "*graphNodePath"],
649
+ VAR1: ["graphNodePath", "*graphNodePath"],
650
+ VAR2: ["graphNodePath", "*graphNodePath"],
651
+ NIL: ["graphNodePath", "*graphNodePath"],
652
+ IRI_REF: ["graphNodePath", "*graphNodePath"],
653
+ TRUE: ["graphNodePath", "*graphNodePath"],
654
+ FALSE: ["graphNodePath", "*graphNodePath"],
655
+ BLANK_NODE_LABEL: ["graphNodePath", "*graphNodePath"],
656
+ ANON: ["graphNodePath", "*graphNodePath"],
657
+ PNAME_LN: ["graphNodePath", "*graphNodePath"],
658
+ PNAME_NS: ["graphNodePath", "*graphNodePath"],
659
+ STRING_LITERAL1: ["graphNodePath", "*graphNodePath"],
660
+ STRING_LITERAL2: ["graphNodePath", "*graphNodePath"],
661
+ STRING_LITERAL_LONG1: ["graphNodePath", "*graphNodePath"],
662
+ STRING_LITERAL_LONG2: ["graphNodePath", "*graphNodePath"],
663
+ INTEGER: ["graphNodePath", "*graphNodePath"],
664
+ DECIMAL: ["graphNodePath", "*graphNodePath"],
665
+ DOUBLE: ["graphNodePath", "*graphNodePath"],
666
+ INTEGER_POSITIVE: ["graphNodePath", "*graphNodePath"],
667
+ DECIMAL_POSITIVE: ["graphNodePath", "*graphNodePath"],
668
+ DOUBLE_POSITIVE: ["graphNodePath", "*graphNodePath"],
669
+ INTEGER_NEGATIVE: ["graphNodePath", "*graphNodePath"],
670
+ DECIMAL_NEGATIVE: ["graphNodePath", "*graphNodePath"],
671
+ DOUBLE_NEGATIVE: ["graphNodePath", "*graphNodePath"],
672
+ },
673
+ "+groupCondition": {
674
+ "(": ["groupCondition", "*groupCondition"],
675
+ STR: ["groupCondition", "*groupCondition"],
676
+ LANG: ["groupCondition", "*groupCondition"],
677
+ LANGMATCHES: ["groupCondition", "*groupCondition"],
678
+ DATATYPE: ["groupCondition", "*groupCondition"],
679
+ BOUND: ["groupCondition", "*groupCondition"],
680
+ IRI: ["groupCondition", "*groupCondition"],
681
+ URI: ["groupCondition", "*groupCondition"],
682
+ BNODE: ["groupCondition", "*groupCondition"],
683
+ RAND: ["groupCondition", "*groupCondition"],
684
+ ABS: ["groupCondition", "*groupCondition"],
685
+ CEIL: ["groupCondition", "*groupCondition"],
686
+ FLOOR: ["groupCondition", "*groupCondition"],
687
+ ROUND: ["groupCondition", "*groupCondition"],
688
+ CONCAT: ["groupCondition", "*groupCondition"],
689
+ STRLEN: ["groupCondition", "*groupCondition"],
690
+ UCASE: ["groupCondition", "*groupCondition"],
691
+ LCASE: ["groupCondition", "*groupCondition"],
692
+ ENCODE_FOR_URI: ["groupCondition", "*groupCondition"],
693
+ CONTAINS: ["groupCondition", "*groupCondition"],
694
+ STRSTARTS: ["groupCondition", "*groupCondition"],
695
+ STRENDS: ["groupCondition", "*groupCondition"],
696
+ STRBEFORE: ["groupCondition", "*groupCondition"],
697
+ STRAFTER: ["groupCondition", "*groupCondition"],
698
+ YEAR: ["groupCondition", "*groupCondition"],
699
+ MONTH: ["groupCondition", "*groupCondition"],
700
+ DAY: ["groupCondition", "*groupCondition"],
701
+ HOURS: ["groupCondition", "*groupCondition"],
702
+ MINUTES: ["groupCondition", "*groupCondition"],
703
+ SECONDS: ["groupCondition", "*groupCondition"],
704
+ TIMEZONE: ["groupCondition", "*groupCondition"],
705
+ TZ: ["groupCondition", "*groupCondition"],
706
+ NOW: ["groupCondition", "*groupCondition"],
707
+ UUID: ["groupCondition", "*groupCondition"],
708
+ STRUUID: ["groupCondition", "*groupCondition"],
709
+ MD5: ["groupCondition", "*groupCondition"],
710
+ SHA1: ["groupCondition", "*groupCondition"],
711
+ SHA256: ["groupCondition", "*groupCondition"],
712
+ SHA384: ["groupCondition", "*groupCondition"],
713
+ SHA512: ["groupCondition", "*groupCondition"],
714
+ COALESCE: ["groupCondition", "*groupCondition"],
715
+ IF: ["groupCondition", "*groupCondition"],
716
+ STRLANG: ["groupCondition", "*groupCondition"],
717
+ STRDT: ["groupCondition", "*groupCondition"],
718
+ SAMETERM: ["groupCondition", "*groupCondition"],
719
+ ISIRI: ["groupCondition", "*groupCondition"],
720
+ ISURI: ["groupCondition", "*groupCondition"],
721
+ ISBLANK: ["groupCondition", "*groupCondition"],
722
+ ISLITERAL: ["groupCondition", "*groupCondition"],
723
+ ISNUMERIC: ["groupCondition", "*groupCondition"],
724
+ VAR1: ["groupCondition", "*groupCondition"],
725
+ VAR2: ["groupCondition", "*groupCondition"],
726
+ SUBSTR: ["groupCondition", "*groupCondition"],
727
+ REPLACE: ["groupCondition", "*groupCondition"],
728
+ REGEX: ["groupCondition", "*groupCondition"],
729
+ EXISTS: ["groupCondition", "*groupCondition"],
730
+ NOT: ["groupCondition", "*groupCondition"],
731
+ IRI_REF: ["groupCondition", "*groupCondition"],
732
+ PNAME_LN: ["groupCondition", "*groupCondition"],
733
+ PNAME_NS: ["groupCondition", "*groupCondition"],
734
+ },
735
+ "+havingCondition": {
736
+ "(": ["havingCondition", "*havingCondition"],
737
+ STR: ["havingCondition", "*havingCondition"],
738
+ LANG: ["havingCondition", "*havingCondition"],
739
+ LANGMATCHES: ["havingCondition", "*havingCondition"],
740
+ DATATYPE: ["havingCondition", "*havingCondition"],
741
+ BOUND: ["havingCondition", "*havingCondition"],
742
+ IRI: ["havingCondition", "*havingCondition"],
743
+ URI: ["havingCondition", "*havingCondition"],
744
+ BNODE: ["havingCondition", "*havingCondition"],
745
+ RAND: ["havingCondition", "*havingCondition"],
746
+ ABS: ["havingCondition", "*havingCondition"],
747
+ CEIL: ["havingCondition", "*havingCondition"],
748
+ FLOOR: ["havingCondition", "*havingCondition"],
749
+ ROUND: ["havingCondition", "*havingCondition"],
750
+ CONCAT: ["havingCondition", "*havingCondition"],
751
+ STRLEN: ["havingCondition", "*havingCondition"],
752
+ UCASE: ["havingCondition", "*havingCondition"],
753
+ LCASE: ["havingCondition", "*havingCondition"],
754
+ ENCODE_FOR_URI: ["havingCondition", "*havingCondition"],
755
+ CONTAINS: ["havingCondition", "*havingCondition"],
756
+ STRSTARTS: ["havingCondition", "*havingCondition"],
757
+ STRENDS: ["havingCondition", "*havingCondition"],
758
+ STRBEFORE: ["havingCondition", "*havingCondition"],
759
+ STRAFTER: ["havingCondition", "*havingCondition"],
760
+ YEAR: ["havingCondition", "*havingCondition"],
761
+ MONTH: ["havingCondition", "*havingCondition"],
762
+ DAY: ["havingCondition", "*havingCondition"],
763
+ HOURS: ["havingCondition", "*havingCondition"],
764
+ MINUTES: ["havingCondition", "*havingCondition"],
765
+ SECONDS: ["havingCondition", "*havingCondition"],
766
+ TIMEZONE: ["havingCondition", "*havingCondition"],
767
+ TZ: ["havingCondition", "*havingCondition"],
768
+ NOW: ["havingCondition", "*havingCondition"],
769
+ UUID: ["havingCondition", "*havingCondition"],
770
+ STRUUID: ["havingCondition", "*havingCondition"],
771
+ MD5: ["havingCondition", "*havingCondition"],
772
+ SHA1: ["havingCondition", "*havingCondition"],
773
+ SHA256: ["havingCondition", "*havingCondition"],
774
+ SHA384: ["havingCondition", "*havingCondition"],
775
+ SHA512: ["havingCondition", "*havingCondition"],
776
+ COALESCE: ["havingCondition", "*havingCondition"],
777
+ IF: ["havingCondition", "*havingCondition"],
778
+ STRLANG: ["havingCondition", "*havingCondition"],
779
+ STRDT: ["havingCondition", "*havingCondition"],
780
+ SAMETERM: ["havingCondition", "*havingCondition"],
781
+ ISIRI: ["havingCondition", "*havingCondition"],
782
+ ISURI: ["havingCondition", "*havingCondition"],
783
+ ISBLANK: ["havingCondition", "*havingCondition"],
784
+ ISLITERAL: ["havingCondition", "*havingCondition"],
785
+ ISNUMERIC: ["havingCondition", "*havingCondition"],
786
+ SUBSTR: ["havingCondition", "*havingCondition"],
787
+ REPLACE: ["havingCondition", "*havingCondition"],
788
+ REGEX: ["havingCondition", "*havingCondition"],
789
+ EXISTS: ["havingCondition", "*havingCondition"],
790
+ NOT: ["havingCondition", "*havingCondition"],
791
+ IRI_REF: ["havingCondition", "*havingCondition"],
792
+ PNAME_LN: ["havingCondition", "*havingCondition"],
793
+ PNAME_NS: ["havingCondition", "*havingCondition"],
794
+ },
795
+ "+or([var,[ (,expression,AS,var,)]])": {
796
+ "(": ["or([var,[ (,expression,AS,var,)]])", "*or([var,[ (,expression,AS,var,)]])"],
797
+ VAR1: ["or([var,[ (,expression,AS,var,)]])", "*or([var,[ (,expression,AS,var,)]])"],
798
+ VAR2: ["or([var,[ (,expression,AS,var,)]])", "*or([var,[ (,expression,AS,var,)]])"],
799
+ },
800
+ "+orderCondition": {
801
+ ASC: ["orderCondition", "*orderCondition"],
802
+ DESC: ["orderCondition", "*orderCondition"],
803
+ VAR1: ["orderCondition", "*orderCondition"],
804
+ VAR2: ["orderCondition", "*orderCondition"],
805
+ "(": ["orderCondition", "*orderCondition"],
806
+ STR: ["orderCondition", "*orderCondition"],
807
+ LANG: ["orderCondition", "*orderCondition"],
808
+ LANGMATCHES: ["orderCondition", "*orderCondition"],
809
+ DATATYPE: ["orderCondition", "*orderCondition"],
810
+ BOUND: ["orderCondition", "*orderCondition"],
811
+ IRI: ["orderCondition", "*orderCondition"],
812
+ URI: ["orderCondition", "*orderCondition"],
813
+ BNODE: ["orderCondition", "*orderCondition"],
814
+ RAND: ["orderCondition", "*orderCondition"],
815
+ ABS: ["orderCondition", "*orderCondition"],
816
+ CEIL: ["orderCondition", "*orderCondition"],
817
+ FLOOR: ["orderCondition", "*orderCondition"],
818
+ ROUND: ["orderCondition", "*orderCondition"],
819
+ CONCAT: ["orderCondition", "*orderCondition"],
820
+ STRLEN: ["orderCondition", "*orderCondition"],
821
+ UCASE: ["orderCondition", "*orderCondition"],
822
+ LCASE: ["orderCondition", "*orderCondition"],
823
+ ENCODE_FOR_URI: ["orderCondition", "*orderCondition"],
824
+ CONTAINS: ["orderCondition", "*orderCondition"],
825
+ STRSTARTS: ["orderCondition", "*orderCondition"],
826
+ STRENDS: ["orderCondition", "*orderCondition"],
827
+ STRBEFORE: ["orderCondition", "*orderCondition"],
828
+ STRAFTER: ["orderCondition", "*orderCondition"],
829
+ YEAR: ["orderCondition", "*orderCondition"],
830
+ MONTH: ["orderCondition", "*orderCondition"],
831
+ DAY: ["orderCondition", "*orderCondition"],
832
+ HOURS: ["orderCondition", "*orderCondition"],
833
+ MINUTES: ["orderCondition", "*orderCondition"],
834
+ SECONDS: ["orderCondition", "*orderCondition"],
835
+ TIMEZONE: ["orderCondition", "*orderCondition"],
836
+ TZ: ["orderCondition", "*orderCondition"],
837
+ NOW: ["orderCondition", "*orderCondition"],
838
+ UUID: ["orderCondition", "*orderCondition"],
839
+ STRUUID: ["orderCondition", "*orderCondition"],
840
+ MD5: ["orderCondition", "*orderCondition"],
841
+ SHA1: ["orderCondition", "*orderCondition"],
842
+ SHA256: ["orderCondition", "*orderCondition"],
843
+ SHA384: ["orderCondition", "*orderCondition"],
844
+ SHA512: ["orderCondition", "*orderCondition"],
845
+ COALESCE: ["orderCondition", "*orderCondition"],
846
+ IF: ["orderCondition", "*orderCondition"],
847
+ STRLANG: ["orderCondition", "*orderCondition"],
848
+ STRDT: ["orderCondition", "*orderCondition"],
849
+ SAMETERM: ["orderCondition", "*orderCondition"],
850
+ ISIRI: ["orderCondition", "*orderCondition"],
851
+ ISURI: ["orderCondition", "*orderCondition"],
852
+ ISBLANK: ["orderCondition", "*orderCondition"],
853
+ ISLITERAL: ["orderCondition", "*orderCondition"],
854
+ ISNUMERIC: ["orderCondition", "*orderCondition"],
855
+ SUBSTR: ["orderCondition", "*orderCondition"],
856
+ REPLACE: ["orderCondition", "*orderCondition"],
857
+ REGEX: ["orderCondition", "*orderCondition"],
858
+ EXISTS: ["orderCondition", "*orderCondition"],
859
+ NOT: ["orderCondition", "*orderCondition"],
860
+ IRI_REF: ["orderCondition", "*orderCondition"],
861
+ PNAME_LN: ["orderCondition", "*orderCondition"],
862
+ PNAME_NS: ["orderCondition", "*orderCondition"],
863
+ },
864
+ "+varOrIRIref": {
865
+ VAR1: ["varOrIRIref", "*varOrIRIref"],
866
+ VAR2: ["varOrIRIref", "*varOrIRIref"],
867
+ IRI_REF: ["varOrIRIref", "*varOrIRIref"],
868
+ PNAME_LN: ["varOrIRIref", "*varOrIRIref"],
869
+ PNAME_NS: ["varOrIRIref", "*varOrIRIref"],
870
+ },
871
+ "?.": {
872
+ ".": ["."],
873
+ VAR1: [],
874
+ VAR2: [],
875
+ NIL: [],
876
+ "(": [],
877
+ "[": [],
878
+ IRI_REF: [],
879
+ TRUE: [],
880
+ FALSE: [],
881
+ BLANK_NODE_LABEL: [],
882
+ ANON: [],
883
+ PNAME_LN: [],
884
+ PNAME_NS: [],
885
+ STRING_LITERAL1: [],
886
+ STRING_LITERAL2: [],
887
+ STRING_LITERAL_LONG1: [],
888
+ STRING_LITERAL_LONG2: [],
889
+ INTEGER: [],
890
+ DECIMAL: [],
891
+ DOUBLE: [],
892
+ INTEGER_POSITIVE: [],
893
+ DECIMAL_POSITIVE: [],
894
+ DOUBLE_POSITIVE: [],
895
+ INTEGER_NEGATIVE: [],
896
+ DECIMAL_NEGATIVE: [],
897
+ DOUBLE_NEGATIVE: [],
898
+ GRAPH: [],
899
+ "{": [],
900
+ OPTIONAL: [],
901
+ MINUS: [],
902
+ SERVICE: [],
903
+ FILTER: [],
904
+ BIND: [],
905
+ VALUES: [],
906
+ "}": [],
907
+ },
908
+ "?DISTINCT": {
909
+ DISTINCT: ["DISTINCT"],
910
+ "!": [],
911
+ "+": [],
912
+ "-": [],
913
+ VAR1: [],
914
+ VAR2: [],
915
+ "(": [],
916
+ STR: [],
917
+ LANG: [],
918
+ LANGMATCHES: [],
919
+ DATATYPE: [],
920
+ BOUND: [],
921
+ IRI: [],
922
+ URI: [],
923
+ BNODE: [],
924
+ RAND: [],
925
+ ABS: [],
926
+ CEIL: [],
927
+ FLOOR: [],
928
+ ROUND: [],
929
+ CONCAT: [],
930
+ STRLEN: [],
931
+ UCASE: [],
932
+ LCASE: [],
933
+ ENCODE_FOR_URI: [],
934
+ CONTAINS: [],
935
+ STRSTARTS: [],
936
+ STRENDS: [],
937
+ STRBEFORE: [],
938
+ STRAFTER: [],
939
+ YEAR: [],
940
+ MONTH: [],
941
+ DAY: [],
942
+ HOURS: [],
943
+ MINUTES: [],
944
+ SECONDS: [],
945
+ TIMEZONE: [],
946
+ TZ: [],
947
+ NOW: [],
948
+ UUID: [],
949
+ STRUUID: [],
950
+ MD5: [],
951
+ SHA1: [],
952
+ SHA256: [],
953
+ SHA384: [],
954
+ SHA512: [],
955
+ COALESCE: [],
956
+ IF: [],
957
+ STRLANG: [],
958
+ STRDT: [],
959
+ SAMETERM: [],
960
+ ISIRI: [],
961
+ ISURI: [],
962
+ ISBLANK: [],
963
+ ISLITERAL: [],
964
+ ISNUMERIC: [],
965
+ TRUE: [],
966
+ FALSE: [],
967
+ COUNT: [],
968
+ SUM: [],
969
+ MIN: [],
970
+ MAX: [],
971
+ AVG: [],
972
+ SAMPLE: [],
973
+ GROUP_CONCAT: [],
974
+ SUBSTR: [],
975
+ REPLACE: [],
976
+ REGEX: [],
977
+ EXISTS: [],
978
+ NOT: [],
979
+ IRI_REF: [],
980
+ STRING_LITERAL1: [],
981
+ STRING_LITERAL2: [],
982
+ STRING_LITERAL_LONG1: [],
983
+ STRING_LITERAL_LONG2: [],
984
+ INTEGER: [],
985
+ DECIMAL: [],
986
+ DOUBLE: [],
987
+ INTEGER_POSITIVE: [],
988
+ DECIMAL_POSITIVE: [],
989
+ DOUBLE_POSITIVE: [],
990
+ INTEGER_NEGATIVE: [],
991
+ DECIMAL_NEGATIVE: [],
992
+ DOUBLE_NEGATIVE: [],
993
+ PNAME_LN: [],
994
+ PNAME_NS: [],
995
+ "*": [],
996
+ },
997
+ "?GRAPH": { GRAPH: ["GRAPH"], IRI_REF: [], PNAME_LN: [], PNAME_NS: [] },
998
+ "?SILENT": {
999
+ SILENT: ["SILENT"],
1000
+ VAR1: [],
1001
+ VAR2: [],
1002
+ IRI_REF: [],
1003
+ PNAME_LN: [],
1004
+ PNAME_NS: [],
1005
+ },
1006
+ "?SILENT_1": {
1007
+ SILENT: ["SILENT"],
1008
+ IRI_REF: [],
1009
+ PNAME_LN: [],
1010
+ PNAME_NS: [],
1011
+ },
1012
+ "?SILENT_2": {
1013
+ SILENT: ["SILENT"],
1014
+ GRAPH: [],
1015
+ DEFAULT: [],
1016
+ NAMED: [],
1017
+ ALL: [],
1018
+ },
1019
+ "?SILENT_3": { SILENT: ["SILENT"], GRAPH: [] },
1020
+ "?SILENT_4": {
1021
+ SILENT: ["SILENT"],
1022
+ DEFAULT: [],
1023
+ GRAPH: [],
1024
+ IRI_REF: [],
1025
+ PNAME_LN: [],
1026
+ PNAME_NS: [],
1027
+ },
1028
+ "?WHERE": { WHERE: ["WHERE"], "{": [] },
1029
+ "?[,,expression]": { ",": ["[,,expression]"], ")": [] },
1030
+ "?[.,?constructTriples]": { ".": ["[.,?constructTriples]"], "}": [] },
1031
+ "?[.,?triplesBlock]": {
1032
+ ".": ["[.,?triplesBlock]"],
1033
+ "{": [],
1034
+ OPTIONAL: [],
1035
+ MINUS: [],
1036
+ GRAPH: [],
1037
+ SERVICE: [],
1038
+ FILTER: [],
1039
+ BIND: [],
1040
+ VALUES: [],
1041
+ "}": [],
1042
+ },
1043
+ "?[.,?triplesTemplate]": {
1044
+ ".": ["[.,?triplesTemplate]"],
1045
+ "}": [],
1046
+ GRAPH: [],
1047
+ },
1048
+ "?[;,SEPARATOR,=,string]": { ";": ["[;,SEPARATOR,=,string]"], ")": [] },
1049
+ "?[;,update]": { ";": ["[;,update]"], $: [] },
1050
+ "?[AS,var]": { AS: ["[AS,var]"], ")": [] },
1051
+ "?[INTO,graphRef]": { INTO: ["[INTO,graphRef]"], ";": [], $: [] },
1052
+ "?[or([verbPath,verbSimple]),objectList]": {
1053
+ VAR1: ["[or([verbPath,verbSimple]),objectList]"],
1054
+ VAR2: ["[or([verbPath,verbSimple]),objectList]"],
1055
+ "^": ["[or([verbPath,verbSimple]),objectList]"],
1056
+ a: ["[or([verbPath,verbSimple]),objectList]"],
1057
+ "!": ["[or([verbPath,verbSimple]),objectList]"],
1058
+ "(": ["[or([verbPath,verbSimple]),objectList]"],
1059
+ IRI_REF: ["[or([verbPath,verbSimple]),objectList]"],
1060
+ PNAME_LN: ["[or([verbPath,verbSimple]),objectList]"],
1061
+ PNAME_NS: ["[or([verbPath,verbSimple]),objectList]"],
1062
+ ";": [],
1063
+ ".": [],
1064
+ "]": [],
1065
+ "{": [],
1066
+ OPTIONAL: [],
1067
+ MINUS: [],
1068
+ GRAPH: [],
1069
+ SERVICE: [],
1070
+ FILTER: [],
1071
+ BIND: [],
1072
+ VALUES: [],
1073
+ "}": [],
1074
+ },
1075
+ "?[pathOneInPropertySet,*[|,pathOneInPropertySet]]": {
1076
+ a: ["[pathOneInPropertySet,*[|,pathOneInPropertySet]]"],
1077
+ "^": ["[pathOneInPropertySet,*[|,pathOneInPropertySet]]"],
1078
+ IRI_REF: ["[pathOneInPropertySet,*[|,pathOneInPropertySet]]"],
1079
+ PNAME_LN: ["[pathOneInPropertySet,*[|,pathOneInPropertySet]]"],
1080
+ PNAME_NS: ["[pathOneInPropertySet,*[|,pathOneInPropertySet]]"],
1081
+ ")": [],
1082
+ },
1083
+ "?[update1,?[;,update]]": {
1084
+ INSERT: ["[update1,?[;,update]]"],
1085
+ DELETE: ["[update1,?[;,update]]"],
1086
+ LOAD: ["[update1,?[;,update]]"],
1087
+ CLEAR: ["[update1,?[;,update]]"],
1088
+ DROP: ["[update1,?[;,update]]"],
1089
+ ADD: ["[update1,?[;,update]]"],
1090
+ MOVE: ["[update1,?[;,update]]"],
1091
+ COPY: ["[update1,?[;,update]]"],
1092
+ CREATE: ["[update1,?[;,update]]"],
1093
+ WITH: ["[update1,?[;,update]]"],
1094
+ $: [],
1095
+ },
1096
+ "?[verb,objectList]": {
1097
+ a: ["[verb,objectList]"],
1098
+ VAR1: ["[verb,objectList]"],
1099
+ VAR2: ["[verb,objectList]"],
1100
+ IRI_REF: ["[verb,objectList]"],
1101
+ PNAME_LN: ["[verb,objectList]"],
1102
+ PNAME_NS: ["[verb,objectList]"],
1103
+ ";": [],
1104
+ ".": [],
1105
+ "]": [],
1106
+ "}": [],
1107
+ GRAPH: [],
1108
+ "{": [],
1109
+ OPTIONAL: [],
1110
+ MINUS: [],
1111
+ SERVICE: [],
1112
+ FILTER: [],
1113
+ BIND: [],
1114
+ VALUES: [],
1115
+ },
1116
+ "?argList": {
1117
+ NIL: ["argList"],
1118
+ "(": ["argList"],
1119
+ AS: [],
1120
+ ")": [],
1121
+ ",": [],
1122
+ "||": [],
1123
+ "&&": [],
1124
+ "=": [],
1125
+ "!=": [],
1126
+ "<": [],
1127
+ ">": [],
1128
+ "<=": [],
1129
+ ">=": [],
1130
+ IN: [],
1131
+ NOT: [],
1132
+ "+": [],
1133
+ "-": [],
1134
+ INTEGER_POSITIVE: [],
1135
+ DECIMAL_POSITIVE: [],
1136
+ DOUBLE_POSITIVE: [],
1137
+ INTEGER_NEGATIVE: [],
1138
+ DECIMAL_NEGATIVE: [],
1139
+ DOUBLE_NEGATIVE: [],
1140
+ "*": [],
1141
+ "/": [],
1142
+ ";": [],
1143
+ },
1144
+ "?constructTriples": {
1145
+ VAR1: ["constructTriples"],
1146
+ VAR2: ["constructTriples"],
1147
+ NIL: ["constructTriples"],
1148
+ "(": ["constructTriples"],
1149
+ "[": ["constructTriples"],
1150
+ IRI_REF: ["constructTriples"],
1151
+ TRUE: ["constructTriples"],
1152
+ FALSE: ["constructTriples"],
1153
+ BLANK_NODE_LABEL: ["constructTriples"],
1154
+ ANON: ["constructTriples"],
1155
+ PNAME_LN: ["constructTriples"],
1156
+ PNAME_NS: ["constructTriples"],
1157
+ STRING_LITERAL1: ["constructTriples"],
1158
+ STRING_LITERAL2: ["constructTriples"],
1159
+ STRING_LITERAL_LONG1: ["constructTriples"],
1160
+ STRING_LITERAL_LONG2: ["constructTriples"],
1161
+ INTEGER: ["constructTriples"],
1162
+ DECIMAL: ["constructTriples"],
1163
+ DOUBLE: ["constructTriples"],
1164
+ INTEGER_POSITIVE: ["constructTriples"],
1165
+ DECIMAL_POSITIVE: ["constructTriples"],
1166
+ DOUBLE_POSITIVE: ["constructTriples"],
1167
+ INTEGER_NEGATIVE: ["constructTriples"],
1168
+ DECIMAL_NEGATIVE: ["constructTriples"],
1169
+ DOUBLE_NEGATIVE: ["constructTriples"],
1170
+ "}": [],
1171
+ },
1172
+ "?groupClause": {
1173
+ GROUP: ["groupClause"],
1174
+ VALUES: [],
1175
+ LIMIT: [],
1176
+ OFFSET: [],
1177
+ ORDER: [],
1178
+ HAVING: [],
1179
+ $: [],
1180
+ "}": [],
1181
+ },
1182
+ "?havingClause": {
1183
+ HAVING: ["havingClause"],
1184
+ VALUES: [],
1185
+ LIMIT: [],
1186
+ OFFSET: [],
1187
+ ORDER: [],
1188
+ $: [],
1189
+ "}": [],
1190
+ },
1191
+ "?insertClause": { INSERT: ["insertClause"], WHERE: [], USING: [] },
1192
+ "?limitClause": { LIMIT: ["limitClause"], VALUES: [], $: [], "}": [] },
1193
+ "?limitOffsetClauses": {
1194
+ LIMIT: ["limitOffsetClauses"],
1195
+ OFFSET: ["limitOffsetClauses"],
1196
+ VALUES: [],
1197
+ $: [],
1198
+ "}": [],
1199
+ },
1200
+ "?offsetClause": { OFFSET: ["offsetClause"], VALUES: [], $: [], "}": [] },
1201
+ "?or([DISTINCT,REDUCED])": {
1202
+ DISTINCT: ["or([DISTINCT,REDUCED])"],
1203
+ REDUCED: ["or([DISTINCT,REDUCED])"],
1204
+ "*": [],
1205
+ "(": [],
1206
+ VAR1: [],
1207
+ VAR2: [],
1208
+ },
1209
+ "?or([LANGTAG,[^^,iriRef]])": {
1210
+ LANGTAG: ["or([LANGTAG,[^^,iriRef]])"],
1211
+ "^^": ["or([LANGTAG,[^^,iriRef]])"],
1212
+ UNDEF: [],
1213
+ IRI_REF: [],
1214
+ TRUE: [],
1215
+ FALSE: [],
1216
+ PNAME_LN: [],
1217
+ PNAME_NS: [],
1218
+ STRING_LITERAL1: [],
1219
+ STRING_LITERAL2: [],
1220
+ STRING_LITERAL_LONG1: [],
1221
+ STRING_LITERAL_LONG2: [],
1222
+ INTEGER: [],
1223
+ DECIMAL: [],
1224
+ DOUBLE: [],
1225
+ INTEGER_POSITIVE: [],
1226
+ DECIMAL_POSITIVE: [],
1227
+ DOUBLE_POSITIVE: [],
1228
+ INTEGER_NEGATIVE: [],
1229
+ DECIMAL_NEGATIVE: [],
1230
+ DOUBLE_NEGATIVE: [],
1231
+ a: [],
1232
+ VAR1: [],
1233
+ VAR2: [],
1234
+ "^": [],
1235
+ "!": [],
1236
+ "(": [],
1237
+ ".": [],
1238
+ ";": [],
1239
+ ",": [],
1240
+ AS: [],
1241
+ ")": [],
1242
+ "||": [],
1243
+ "&&": [],
1244
+ "=": [],
1245
+ "!=": [],
1246
+ "<": [],
1247
+ ">": [],
1248
+ "<=": [],
1249
+ ">=": [],
1250
+ IN: [],
1251
+ NOT: [],
1252
+ "+": [],
1253
+ "-": [],
1254
+ "*": [],
1255
+ "/": [],
1256
+ "}": [],
1257
+ "[": [],
1258
+ NIL: [],
1259
+ BLANK_NODE_LABEL: [],
1260
+ ANON: [],
1261
+ "]": [],
1262
+ GRAPH: [],
1263
+ "{": [],
1264
+ OPTIONAL: [],
1265
+ MINUS: [],
1266
+ SERVICE: [],
1267
+ FILTER: [],
1268
+ BIND: [],
1269
+ VALUES: [],
1270
+ },
1271
+ "?or([[*,unaryExpression],[/,unaryExpression]])": {
1272
+ "*": ["or([[*,unaryExpression],[/,unaryExpression]])"],
1273
+ "/": ["or([[*,unaryExpression],[/,unaryExpression]])"],
1274
+ "+": [],
1275
+ "-": [],
1276
+ INTEGER_POSITIVE: [],
1277
+ DECIMAL_POSITIVE: [],
1278
+ DOUBLE_POSITIVE: [],
1279
+ INTEGER_NEGATIVE: [],
1280
+ DECIMAL_NEGATIVE: [],
1281
+ DOUBLE_NEGATIVE: [],
1282
+ AS: [],
1283
+ ")": [],
1284
+ ",": [],
1285
+ "||": [],
1286
+ "&&": [],
1287
+ "=": [],
1288
+ "!=": [],
1289
+ "<": [],
1290
+ ">": [],
1291
+ "<=": [],
1292
+ ">=": [],
1293
+ IN: [],
1294
+ NOT: [],
1295
+ ";": [],
1296
+ },
1297
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])":
1298
+ {
1299
+ "=": [
1300
+ "or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
1301
+ ],
1302
+ "!=": [
1303
+ "or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
1304
+ ],
1305
+ "<": [
1306
+ "or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
1307
+ ],
1308
+ ">": [
1309
+ "or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
1310
+ ],
1311
+ "<=": [
1312
+ "or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
1313
+ ],
1314
+ ">=": [
1315
+ "or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
1316
+ ],
1317
+ IN: [
1318
+ "or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
1319
+ ],
1320
+ NOT: [
1321
+ "or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
1322
+ ],
1323
+ AS: [],
1324
+ ")": [],
1325
+ ",": [],
1326
+ "||": [],
1327
+ "&&": [],
1328
+ ";": [],
1329
+ },
1330
+ "?orderClause": {
1331
+ ORDER: ["orderClause"],
1332
+ VALUES: [],
1333
+ LIMIT: [],
1334
+ OFFSET: [],
1335
+ $: [],
1336
+ "}": [],
1337
+ },
1338
+ "?pathMod": {
1339
+ "*": ["pathMod"],
1340
+ "?": ["pathMod"],
1341
+ "+": ["pathMod"],
1342
+ "{": ["pathMod"],
1343
+ "|": [],
1344
+ "/": [],
1345
+ ")": [],
1346
+ "(": [],
1347
+ "[": [],
1348
+ VAR1: [],
1349
+ VAR2: [],
1350
+ NIL: [],
1351
+ IRI_REF: [],
1352
+ TRUE: [],
1353
+ FALSE: [],
1354
+ BLANK_NODE_LABEL: [],
1355
+ ANON: [],
1356
+ PNAME_LN: [],
1357
+ PNAME_NS: [],
1358
+ STRING_LITERAL1: [],
1359
+ STRING_LITERAL2: [],
1360
+ STRING_LITERAL_LONG1: [],
1361
+ STRING_LITERAL_LONG2: [],
1362
+ INTEGER: [],
1363
+ DECIMAL: [],
1364
+ DOUBLE: [],
1365
+ INTEGER_POSITIVE: [],
1366
+ DECIMAL_POSITIVE: [],
1367
+ DOUBLE_POSITIVE: [],
1368
+ INTEGER_NEGATIVE: [],
1369
+ DECIMAL_NEGATIVE: [],
1370
+ DOUBLE_NEGATIVE: [],
1371
+ },
1372
+ "?triplesBlock": {
1373
+ VAR1: ["triplesBlock"],
1374
+ VAR2: ["triplesBlock"],
1375
+ NIL: ["triplesBlock"],
1376
+ "(": ["triplesBlock"],
1377
+ "[": ["triplesBlock"],
1378
+ IRI_REF: ["triplesBlock"],
1379
+ TRUE: ["triplesBlock"],
1380
+ FALSE: ["triplesBlock"],
1381
+ BLANK_NODE_LABEL: ["triplesBlock"],
1382
+ ANON: ["triplesBlock"],
1383
+ PNAME_LN: ["triplesBlock"],
1384
+ PNAME_NS: ["triplesBlock"],
1385
+ STRING_LITERAL1: ["triplesBlock"],
1386
+ STRING_LITERAL2: ["triplesBlock"],
1387
+ STRING_LITERAL_LONG1: ["triplesBlock"],
1388
+ STRING_LITERAL_LONG2: ["triplesBlock"],
1389
+ INTEGER: ["triplesBlock"],
1390
+ DECIMAL: ["triplesBlock"],
1391
+ DOUBLE: ["triplesBlock"],
1392
+ INTEGER_POSITIVE: ["triplesBlock"],
1393
+ DECIMAL_POSITIVE: ["triplesBlock"],
1394
+ DOUBLE_POSITIVE: ["triplesBlock"],
1395
+ INTEGER_NEGATIVE: ["triplesBlock"],
1396
+ DECIMAL_NEGATIVE: ["triplesBlock"],
1397
+ DOUBLE_NEGATIVE: ["triplesBlock"],
1398
+ "{": [],
1399
+ OPTIONAL: [],
1400
+ MINUS: [],
1401
+ GRAPH: [],
1402
+ SERVICE: [],
1403
+ FILTER: [],
1404
+ BIND: [],
1405
+ VALUES: [],
1406
+ "}": [],
1407
+ },
1408
+ "?triplesTemplate": {
1409
+ VAR1: ["triplesTemplate"],
1410
+ VAR2: ["triplesTemplate"],
1411
+ NIL: ["triplesTemplate"],
1412
+ "(": ["triplesTemplate"],
1413
+ "[": ["triplesTemplate"],
1414
+ IRI_REF: ["triplesTemplate"],
1415
+ TRUE: ["triplesTemplate"],
1416
+ FALSE: ["triplesTemplate"],
1417
+ BLANK_NODE_LABEL: ["triplesTemplate"],
1418
+ ANON: ["triplesTemplate"],
1419
+ PNAME_LN: ["triplesTemplate"],
1420
+ PNAME_NS: ["triplesTemplate"],
1421
+ STRING_LITERAL1: ["triplesTemplate"],
1422
+ STRING_LITERAL2: ["triplesTemplate"],
1423
+ STRING_LITERAL_LONG1: ["triplesTemplate"],
1424
+ STRING_LITERAL_LONG2: ["triplesTemplate"],
1425
+ INTEGER: ["triplesTemplate"],
1426
+ DECIMAL: ["triplesTemplate"],
1427
+ DOUBLE: ["triplesTemplate"],
1428
+ INTEGER_POSITIVE: ["triplesTemplate"],
1429
+ DECIMAL_POSITIVE: ["triplesTemplate"],
1430
+ DOUBLE_POSITIVE: ["triplesTemplate"],
1431
+ INTEGER_NEGATIVE: ["triplesTemplate"],
1432
+ DECIMAL_NEGATIVE: ["triplesTemplate"],
1433
+ DOUBLE_NEGATIVE: ["triplesTemplate"],
1434
+ "}": [],
1435
+ GRAPH: [],
1436
+ },
1437
+ "?whereClause": {
1438
+ WHERE: ["whereClause"],
1439
+ "{": ["whereClause"],
1440
+ ORDER: [],
1441
+ HAVING: [],
1442
+ GROUP: [],
1443
+ LIMIT: [],
1444
+ OFFSET: [],
1445
+ VALUES: [],
1446
+ $: [],
1447
+ },
1448
+ "[ (,*dataBlockValue,)]": { "(": ["(", "*dataBlockValue", ")"] },
1449
+ "[ (,*var,)]": { "(": ["(", "*var", ")"] },
1450
+ "[ (,expression,)]": { "(": ["(", "expression", ")"] },
1451
+ "[ (,expression,AS,var,)]": { "(": ["(", "expression", "AS", "var", ")"] },
1452
+ "[!=,numericExpression]": { "!=": ["!=", "numericExpression"] },
1453
+ "[&&,valueLogical]": { "&&": ["&&", "valueLogical"] },
1454
+ "[*,unaryExpression]": { "*": ["*", "unaryExpression"] },
1455
+ "[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]": {
1456
+ WHERE: ["*datasetClause", "WHERE", "{", "?triplesTemplate", "}", "solutionModifier"],
1457
+ FROM: ["*datasetClause", "WHERE", "{", "?triplesTemplate", "}", "solutionModifier"],
1458
+ },
1459
+ "[+,multiplicativeExpression]": { "+": ["+", "multiplicativeExpression"] },
1460
+ "[,,expression]": { ",": [",", "expression"] },
1461
+ "[,,integer,}]": { ",": [",", "integer", "}"] },
1462
+ "[,,objectPath]": { ",": [",", "objectPath"] },
1463
+ "[,,object]": { ",": [",", "object"] },
1464
+ "[,,or([},[integer,}]])]": { ",": [",", "or([},[integer,}]])"] },
1465
+ "[-,multiplicativeExpression]": { "-": ["-", "multiplicativeExpression"] },
1466
+ "[.,?constructTriples]": { ".": [".", "?constructTriples"] },
1467
+ "[.,?triplesBlock]": { ".": [".", "?triplesBlock"] },
1468
+ "[.,?triplesTemplate]": { ".": [".", "?triplesTemplate"] },
1469
+ "[/,pathEltOrInverse]": { "/": ["/", "pathEltOrInverse"] },
1470
+ "[/,unaryExpression]": { "/": ["/", "unaryExpression"] },
1471
+ "[;,?[or([verbPath,verbSimple]),objectList]]": {
1472
+ ";": [";", "?[or([verbPath,verbSimple]),objectList]"],
1473
+ },
1474
+ "[;,?[verb,objectList]]": { ";": [";", "?[verb,objectList]"] },
1475
+ "[;,SEPARATOR,=,string]": { ";": [";", "SEPARATOR", "=", "string"] },
1476
+ "[;,update]": { ";": [";", "update"] },
1477
+ "[<,numericExpression]": { "<": ["<", "numericExpression"] },
1478
+ "[<=,numericExpression]": { "<=": ["<=", "numericExpression"] },
1479
+ "[=,numericExpression]": { "=": ["=", "numericExpression"] },
1480
+ "[>,numericExpression]": { ">": [">", "numericExpression"] },
1481
+ "[>=,numericExpression]": { ">=": [">=", "numericExpression"] },
1482
+ "[AS,var]": { AS: ["AS", "var"] },
1483
+ "[IN,expressionList]": { IN: ["IN", "expressionList"] },
1484
+ "[INTO,graphRef]": { INTO: ["INTO", "graphRef"] },
1485
+ "[NAMED,iriRef]": { NAMED: ["NAMED", "iriRef"] },
1486
+ "[NOT,IN,expressionList]": { NOT: ["NOT", "IN", "expressionList"] },
1487
+ "[UNION,groupGraphPattern]": { UNION: ["UNION", "groupGraphPattern"] },
1488
+ "[^^,iriRef]": { "^^": ["^^", "iriRef"] },
1489
+ "[constructTemplate,*datasetClause,whereClause,solutionModifier]": {
1490
+ "{": ["constructTemplate", "*datasetClause", "whereClause", "solutionModifier"],
1491
+ },
1492
+ "[deleteClause,?insertClause]": {
1493
+ DELETE: ["deleteClause", "?insertClause"],
1494
+ },
1495
+ "[graphPatternNotTriples,?.,?triplesBlock]": {
1496
+ "{": ["graphPatternNotTriples", "?.", "?triplesBlock"],
1497
+ OPTIONAL: ["graphPatternNotTriples", "?.", "?triplesBlock"],
1498
+ MINUS: ["graphPatternNotTriples", "?.", "?triplesBlock"],
1499
+ GRAPH: ["graphPatternNotTriples", "?.", "?triplesBlock"],
1500
+ SERVICE: ["graphPatternNotTriples", "?.", "?triplesBlock"],
1501
+ FILTER: ["graphPatternNotTriples", "?.", "?triplesBlock"],
1502
+ BIND: ["graphPatternNotTriples", "?.", "?triplesBlock"],
1503
+ VALUES: ["graphPatternNotTriples", "?.", "?triplesBlock"],
1504
+ },
1505
+ "[integer,or([[,,or([},[integer,}]])],}])]": {
1506
+ INTEGER: ["integer", "or([[,,or([},[integer,}]])],}])"],
1507
+ },
1508
+ "[integer,}]": { INTEGER: ["integer", "}"] },
1509
+ "[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]": {
1510
+ INTEGER_POSITIVE: [
1511
+ "or([numericLiteralPositive,numericLiteralNegative])",
1512
+ "?or([[*,unaryExpression],[/,unaryExpression]])",
1513
+ ],
1514
+ DECIMAL_POSITIVE: [
1515
+ "or([numericLiteralPositive,numericLiteralNegative])",
1516
+ "?or([[*,unaryExpression],[/,unaryExpression]])",
1517
+ ],
1518
+ DOUBLE_POSITIVE: [
1519
+ "or([numericLiteralPositive,numericLiteralNegative])",
1520
+ "?or([[*,unaryExpression],[/,unaryExpression]])",
1521
+ ],
1522
+ INTEGER_NEGATIVE: [
1523
+ "or([numericLiteralPositive,numericLiteralNegative])",
1524
+ "?or([[*,unaryExpression],[/,unaryExpression]])",
1525
+ ],
1526
+ DECIMAL_NEGATIVE: [
1527
+ "or([numericLiteralPositive,numericLiteralNegative])",
1528
+ "?or([[*,unaryExpression],[/,unaryExpression]])",
1529
+ ],
1530
+ DOUBLE_NEGATIVE: [
1531
+ "or([numericLiteralPositive,numericLiteralNegative])",
1532
+ "?or([[*,unaryExpression],[/,unaryExpression]])",
1533
+ ],
1534
+ },
1535
+ "[or([verbPath,verbSimple]),objectList]": {
1536
+ VAR1: ["or([verbPath,verbSimple])", "objectList"],
1537
+ VAR2: ["or([verbPath,verbSimple])", "objectList"],
1538
+ "^": ["or([verbPath,verbSimple])", "objectList"],
1539
+ a: ["or([verbPath,verbSimple])", "objectList"],
1540
+ "!": ["or([verbPath,verbSimple])", "objectList"],
1541
+ "(": ["or([verbPath,verbSimple])", "objectList"],
1542
+ IRI_REF: ["or([verbPath,verbSimple])", "objectList"],
1543
+ PNAME_LN: ["or([verbPath,verbSimple])", "objectList"],
1544
+ PNAME_NS: ["or([verbPath,verbSimple])", "objectList"],
1545
+ },
1546
+ "[pathOneInPropertySet,*[|,pathOneInPropertySet]]": {
1547
+ a: ["pathOneInPropertySet", "*[|,pathOneInPropertySet]"],
1548
+ "^": ["pathOneInPropertySet", "*[|,pathOneInPropertySet]"],
1549
+ IRI_REF: ["pathOneInPropertySet", "*[|,pathOneInPropertySet]"],
1550
+ PNAME_LN: ["pathOneInPropertySet", "*[|,pathOneInPropertySet]"],
1551
+ PNAME_NS: ["pathOneInPropertySet", "*[|,pathOneInPropertySet]"],
1552
+ },
1553
+ "[quadsNotTriples,?.,?triplesTemplate]": {
1554
+ GRAPH: ["quadsNotTriples", "?.", "?triplesTemplate"],
1555
+ },
1556
+ "[update1,?[;,update]]": {
1557
+ INSERT: ["update1", "?[;,update]"],
1558
+ DELETE: ["update1", "?[;,update]"],
1559
+ LOAD: ["update1", "?[;,update]"],
1560
+ CLEAR: ["update1", "?[;,update]"],
1561
+ DROP: ["update1", "?[;,update]"],
1562
+ ADD: ["update1", "?[;,update]"],
1563
+ MOVE: ["update1", "?[;,update]"],
1564
+ COPY: ["update1", "?[;,update]"],
1565
+ CREATE: ["update1", "?[;,update]"],
1566
+ WITH: ["update1", "?[;,update]"],
1567
+ },
1568
+ "[verb,objectList]": {
1569
+ a: ["verb", "objectList"],
1570
+ VAR1: ["verb", "objectList"],
1571
+ VAR2: ["verb", "objectList"],
1572
+ IRI_REF: ["verb", "objectList"],
1573
+ PNAME_LN: ["verb", "objectList"],
1574
+ PNAME_NS: ["verb", "objectList"],
1575
+ },
1576
+ "[|,pathOneInPropertySet]": { "|": ["|", "pathOneInPropertySet"] },
1577
+ "[|,pathSequence]": { "|": ["|", "pathSequence"] },
1578
+ "[||,conditionalAndExpression]": {
1579
+ "||": ["||", "conditionalAndExpression"],
1580
+ },
1581
+ add: {
1582
+ ADD: ["ADD", "?SILENT_4", "graphOrDefault", "TO", "graphOrDefault"],
1583
+ },
1584
+ additiveExpression: {
1585
+ "!": [
1586
+ "multiplicativeExpression",
1587
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1588
+ ],
1589
+ "+": [
1590
+ "multiplicativeExpression",
1591
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1592
+ ],
1593
+ "-": [
1594
+ "multiplicativeExpression",
1595
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1596
+ ],
1597
+ VAR1: [
1598
+ "multiplicativeExpression",
1599
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1600
+ ],
1601
+ VAR2: [
1602
+ "multiplicativeExpression",
1603
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1604
+ ],
1605
+ "(": [
1606
+ "multiplicativeExpression",
1607
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1608
+ ],
1609
+ STR: [
1610
+ "multiplicativeExpression",
1611
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1612
+ ],
1613
+ LANG: [
1614
+ "multiplicativeExpression",
1615
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1616
+ ],
1617
+ LANGMATCHES: [
1618
+ "multiplicativeExpression",
1619
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1620
+ ],
1621
+ DATATYPE: [
1622
+ "multiplicativeExpression",
1623
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1624
+ ],
1625
+ BOUND: [
1626
+ "multiplicativeExpression",
1627
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1628
+ ],
1629
+ IRI: [
1630
+ "multiplicativeExpression",
1631
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1632
+ ],
1633
+ URI: [
1634
+ "multiplicativeExpression",
1635
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1636
+ ],
1637
+ BNODE: [
1638
+ "multiplicativeExpression",
1639
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1640
+ ],
1641
+ RAND: [
1642
+ "multiplicativeExpression",
1643
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1644
+ ],
1645
+ ABS: [
1646
+ "multiplicativeExpression",
1647
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1648
+ ],
1649
+ CEIL: [
1650
+ "multiplicativeExpression",
1651
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1652
+ ],
1653
+ FLOOR: [
1654
+ "multiplicativeExpression",
1655
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1656
+ ],
1657
+ ROUND: [
1658
+ "multiplicativeExpression",
1659
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1660
+ ],
1661
+ CONCAT: [
1662
+ "multiplicativeExpression",
1663
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1664
+ ],
1665
+ STRLEN: [
1666
+ "multiplicativeExpression",
1667
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1668
+ ],
1669
+ UCASE: [
1670
+ "multiplicativeExpression",
1671
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1672
+ ],
1673
+ LCASE: [
1674
+ "multiplicativeExpression",
1675
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1676
+ ],
1677
+ ENCODE_FOR_URI: [
1678
+ "multiplicativeExpression",
1679
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1680
+ ],
1681
+ CONTAINS: [
1682
+ "multiplicativeExpression",
1683
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1684
+ ],
1685
+ STRSTARTS: [
1686
+ "multiplicativeExpression",
1687
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1688
+ ],
1689
+ STRENDS: [
1690
+ "multiplicativeExpression",
1691
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1692
+ ],
1693
+ STRBEFORE: [
1694
+ "multiplicativeExpression",
1695
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1696
+ ],
1697
+ STRAFTER: [
1698
+ "multiplicativeExpression",
1699
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1700
+ ],
1701
+ YEAR: [
1702
+ "multiplicativeExpression",
1703
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1704
+ ],
1705
+ MONTH: [
1706
+ "multiplicativeExpression",
1707
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1708
+ ],
1709
+ DAY: [
1710
+ "multiplicativeExpression",
1711
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1712
+ ],
1713
+ HOURS: [
1714
+ "multiplicativeExpression",
1715
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1716
+ ],
1717
+ MINUTES: [
1718
+ "multiplicativeExpression",
1719
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1720
+ ],
1721
+ SECONDS: [
1722
+ "multiplicativeExpression",
1723
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1724
+ ],
1725
+ TIMEZONE: [
1726
+ "multiplicativeExpression",
1727
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1728
+ ],
1729
+ TZ: [
1730
+ "multiplicativeExpression",
1731
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1732
+ ],
1733
+ NOW: [
1734
+ "multiplicativeExpression",
1735
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1736
+ ],
1737
+ UUID: [
1738
+ "multiplicativeExpression",
1739
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1740
+ ],
1741
+ STRUUID: [
1742
+ "multiplicativeExpression",
1743
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1744
+ ],
1745
+ MD5: [
1746
+ "multiplicativeExpression",
1747
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1748
+ ],
1749
+ SHA1: [
1750
+ "multiplicativeExpression",
1751
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1752
+ ],
1753
+ SHA256: [
1754
+ "multiplicativeExpression",
1755
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1756
+ ],
1757
+ SHA384: [
1758
+ "multiplicativeExpression",
1759
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1760
+ ],
1761
+ SHA512: [
1762
+ "multiplicativeExpression",
1763
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1764
+ ],
1765
+ COALESCE: [
1766
+ "multiplicativeExpression",
1767
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1768
+ ],
1769
+ IF: [
1770
+ "multiplicativeExpression",
1771
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1772
+ ],
1773
+ STRLANG: [
1774
+ "multiplicativeExpression",
1775
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1776
+ ],
1777
+ STRDT: [
1778
+ "multiplicativeExpression",
1779
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1780
+ ],
1781
+ SAMETERM: [
1782
+ "multiplicativeExpression",
1783
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1784
+ ],
1785
+ ISIRI: [
1786
+ "multiplicativeExpression",
1787
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1788
+ ],
1789
+ ISURI: [
1790
+ "multiplicativeExpression",
1791
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1792
+ ],
1793
+ ISBLANK: [
1794
+ "multiplicativeExpression",
1795
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1796
+ ],
1797
+ ISLITERAL: [
1798
+ "multiplicativeExpression",
1799
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1800
+ ],
1801
+ ISNUMERIC: [
1802
+ "multiplicativeExpression",
1803
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1804
+ ],
1805
+ TRUE: [
1806
+ "multiplicativeExpression",
1807
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1808
+ ],
1809
+ FALSE: [
1810
+ "multiplicativeExpression",
1811
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1812
+ ],
1813
+ COUNT: [
1814
+ "multiplicativeExpression",
1815
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1816
+ ],
1817
+ SUM: [
1818
+ "multiplicativeExpression",
1819
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1820
+ ],
1821
+ MIN: [
1822
+ "multiplicativeExpression",
1823
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1824
+ ],
1825
+ MAX: [
1826
+ "multiplicativeExpression",
1827
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1828
+ ],
1829
+ AVG: [
1830
+ "multiplicativeExpression",
1831
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1832
+ ],
1833
+ SAMPLE: [
1834
+ "multiplicativeExpression",
1835
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1836
+ ],
1837
+ GROUP_CONCAT: [
1838
+ "multiplicativeExpression",
1839
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1840
+ ],
1841
+ SUBSTR: [
1842
+ "multiplicativeExpression",
1843
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1844
+ ],
1845
+ REPLACE: [
1846
+ "multiplicativeExpression",
1847
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1848
+ ],
1849
+ REGEX: [
1850
+ "multiplicativeExpression",
1851
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1852
+ ],
1853
+ EXISTS: [
1854
+ "multiplicativeExpression",
1855
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1856
+ ],
1857
+ NOT: [
1858
+ "multiplicativeExpression",
1859
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1860
+ ],
1861
+ IRI_REF: [
1862
+ "multiplicativeExpression",
1863
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1864
+ ],
1865
+ STRING_LITERAL1: [
1866
+ "multiplicativeExpression",
1867
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1868
+ ],
1869
+ STRING_LITERAL2: [
1870
+ "multiplicativeExpression",
1871
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1872
+ ],
1873
+ STRING_LITERAL_LONG1: [
1874
+ "multiplicativeExpression",
1875
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1876
+ ],
1877
+ STRING_LITERAL_LONG2: [
1878
+ "multiplicativeExpression",
1879
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1880
+ ],
1881
+ INTEGER: [
1882
+ "multiplicativeExpression",
1883
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1884
+ ],
1885
+ DECIMAL: [
1886
+ "multiplicativeExpression",
1887
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1888
+ ],
1889
+ DOUBLE: [
1890
+ "multiplicativeExpression",
1891
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1892
+ ],
1893
+ INTEGER_POSITIVE: [
1894
+ "multiplicativeExpression",
1895
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1896
+ ],
1897
+ DECIMAL_POSITIVE: [
1898
+ "multiplicativeExpression",
1899
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1900
+ ],
1901
+ DOUBLE_POSITIVE: [
1902
+ "multiplicativeExpression",
1903
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1904
+ ],
1905
+ INTEGER_NEGATIVE: [
1906
+ "multiplicativeExpression",
1907
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1908
+ ],
1909
+ DECIMAL_NEGATIVE: [
1910
+ "multiplicativeExpression",
1911
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1912
+ ],
1913
+ DOUBLE_NEGATIVE: [
1914
+ "multiplicativeExpression",
1915
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1916
+ ],
1917
+ PNAME_LN: [
1918
+ "multiplicativeExpression",
1919
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1920
+ ],
1921
+ PNAME_NS: [
1922
+ "multiplicativeExpression",
1923
+ "*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])",
1924
+ ],
1925
+ },
1926
+ aggregate: {
1927
+ COUNT: ["COUNT", "(", "?DISTINCT", "or([*,expression])", ")"],
1928
+ SUM: ["SUM", "(", "?DISTINCT", "expression", ")"],
1929
+ MIN: ["MIN", "(", "?DISTINCT", "expression", ")"],
1930
+ MAX: ["MAX", "(", "?DISTINCT", "expression", ")"],
1931
+ AVG: ["AVG", "(", "?DISTINCT", "expression", ")"],
1932
+ SAMPLE: ["SAMPLE", "(", "?DISTINCT", "expression", ")"],
1933
+ GROUP_CONCAT: ["GROUP_CONCAT", "(", "?DISTINCT", "expression", "?[;,SEPARATOR,=,string]", ")"],
1934
+ },
1935
+ allowBnodes: { "}": [] },
1936
+ allowVars: { "}": [] },
1937
+ argList: {
1938
+ NIL: ["NIL"],
1939
+ "(": ["(", "?DISTINCT", "expression", "*[,,expression]", ")"],
1940
+ },
1941
+ askQuery: {
1942
+ ASK: ["ASK", "*datasetClause", "whereClause", "solutionModifier"],
1943
+ },
1944
+ baseDecl: { BASE: ["BASE", "IRI_REF"] },
1945
+ bind: { BIND: ["BIND", "(", "expression", "AS", "var", ")"] },
1946
+ blankNode: { BLANK_NODE_LABEL: ["BLANK_NODE_LABEL"], ANON: ["ANON"] },
1947
+ blankNodePropertyList: { "[": ["[", "propertyListNotEmpty", "]"] },
1948
+ blankNodePropertyListPath: { "[": ["[", "propertyListPathNotEmpty", "]"] },
1949
+ booleanLiteral: { TRUE: ["TRUE"], FALSE: ["FALSE"] },
1950
+ brackettedExpression: { "(": ["(", "expression", ")"] },
1951
+ builtInCall: {
1952
+ STR: ["STR", "(", "expression", ")"],
1953
+ LANG: ["LANG", "(", "expression", ")"],
1954
+ LANGMATCHES: ["LANGMATCHES", "(", "expression", ",", "expression", ")"],
1955
+ DATATYPE: ["DATATYPE", "(", "expression", ")"],
1956
+ BOUND: ["BOUND", "(", "var", ")"],
1957
+ IRI: ["IRI", "(", "expression", ")"],
1958
+ URI: ["URI", "(", "expression", ")"],
1959
+ BNODE: ["BNODE", "or([[ (,expression,)],NIL])"],
1960
+ RAND: ["RAND", "NIL"],
1961
+ ABS: ["ABS", "(", "expression", ")"],
1962
+ CEIL: ["CEIL", "(", "expression", ")"],
1963
+ FLOOR: ["FLOOR", "(", "expression", ")"],
1964
+ ROUND: ["ROUND", "(", "expression", ")"],
1965
+ CONCAT: ["CONCAT", "expressionList"],
1966
+ SUBSTR: ["substringExpression"],
1967
+ STRLEN: ["STRLEN", "(", "expression", ")"],
1968
+ REPLACE: ["strReplaceExpression"],
1969
+ UCASE: ["UCASE", "(", "expression", ")"],
1970
+ LCASE: ["LCASE", "(", "expression", ")"],
1971
+ ENCODE_FOR_URI: ["ENCODE_FOR_URI", "(", "expression", ")"],
1972
+ CONTAINS: ["CONTAINS", "(", "expression", ",", "expression", ")"],
1973
+ STRSTARTS: ["STRSTARTS", "(", "expression", ",", "expression", ")"],
1974
+ STRENDS: ["STRENDS", "(", "expression", ",", "expression", ")"],
1975
+ STRBEFORE: ["STRBEFORE", "(", "expression", ",", "expression", ")"],
1976
+ STRAFTER: ["STRAFTER", "(", "expression", ",", "expression", ")"],
1977
+ YEAR: ["YEAR", "(", "expression", ")"],
1978
+ MONTH: ["MONTH", "(", "expression", ")"],
1979
+ DAY: ["DAY", "(", "expression", ")"],
1980
+ HOURS: ["HOURS", "(", "expression", ")"],
1981
+ MINUTES: ["MINUTES", "(", "expression", ")"],
1982
+ SECONDS: ["SECONDS", "(", "expression", ")"],
1983
+ TIMEZONE: ["TIMEZONE", "(", "expression", ")"],
1984
+ TZ: ["TZ", "(", "expression", ")"],
1985
+ NOW: ["NOW", "NIL"],
1986
+ UUID: ["UUID", "NIL"],
1987
+ STRUUID: ["STRUUID", "NIL"],
1988
+ MD5: ["MD5", "(", "expression", ")"],
1989
+ SHA1: ["SHA1", "(", "expression", ")"],
1990
+ SHA256: ["SHA256", "(", "expression", ")"],
1991
+ SHA384: ["SHA384", "(", "expression", ")"],
1992
+ SHA512: ["SHA512", "(", "expression", ")"],
1993
+ COALESCE: ["COALESCE", "expressionList"],
1994
+ IF: ["IF", "(", "expression", ",", "expression", ",", "expression", ")"],
1995
+ STRLANG: ["STRLANG", "(", "expression", ",", "expression", ")"],
1996
+ STRDT: ["STRDT", "(", "expression", ",", "expression", ")"],
1997
+ SAMETERM: ["SAMETERM", "(", "expression", ",", "expression", ")"],
1998
+ ISIRI: ["ISIRI", "(", "expression", ")"],
1999
+ ISURI: ["ISURI", "(", "expression", ")"],
2000
+ ISBLANK: ["ISBLANK", "(", "expression", ")"],
2001
+ ISLITERAL: ["ISLITERAL", "(", "expression", ")"],
2002
+ ISNUMERIC: ["ISNUMERIC", "(", "expression", ")"],
2003
+ REGEX: ["regexExpression"],
2004
+ EXISTS: ["existsFunc"],
2005
+ NOT: ["notExistsFunc"],
2006
+ },
2007
+ clear: { CLEAR: ["CLEAR", "?SILENT_2", "graphRefAll"] },
2008
+ collection: { "(": ["(", "+graphNode", ")"] },
2009
+ collectionPath: { "(": ["(", "+graphNodePath", ")"] },
2010
+ conditionalAndExpression: {
2011
+ "!": ["valueLogical", "*[&&,valueLogical]"],
2012
+ "+": ["valueLogical", "*[&&,valueLogical]"],
2013
+ "-": ["valueLogical", "*[&&,valueLogical]"],
2014
+ VAR1: ["valueLogical", "*[&&,valueLogical]"],
2015
+ VAR2: ["valueLogical", "*[&&,valueLogical]"],
2016
+ "(": ["valueLogical", "*[&&,valueLogical]"],
2017
+ STR: ["valueLogical", "*[&&,valueLogical]"],
2018
+ LANG: ["valueLogical", "*[&&,valueLogical]"],
2019
+ LANGMATCHES: ["valueLogical", "*[&&,valueLogical]"],
2020
+ DATATYPE: ["valueLogical", "*[&&,valueLogical]"],
2021
+ BOUND: ["valueLogical", "*[&&,valueLogical]"],
2022
+ IRI: ["valueLogical", "*[&&,valueLogical]"],
2023
+ URI: ["valueLogical", "*[&&,valueLogical]"],
2024
+ BNODE: ["valueLogical", "*[&&,valueLogical]"],
2025
+ RAND: ["valueLogical", "*[&&,valueLogical]"],
2026
+ ABS: ["valueLogical", "*[&&,valueLogical]"],
2027
+ CEIL: ["valueLogical", "*[&&,valueLogical]"],
2028
+ FLOOR: ["valueLogical", "*[&&,valueLogical]"],
2029
+ ROUND: ["valueLogical", "*[&&,valueLogical]"],
2030
+ CONCAT: ["valueLogical", "*[&&,valueLogical]"],
2031
+ STRLEN: ["valueLogical", "*[&&,valueLogical]"],
2032
+ UCASE: ["valueLogical", "*[&&,valueLogical]"],
2033
+ LCASE: ["valueLogical", "*[&&,valueLogical]"],
2034
+ ENCODE_FOR_URI: ["valueLogical", "*[&&,valueLogical]"],
2035
+ CONTAINS: ["valueLogical", "*[&&,valueLogical]"],
2036
+ STRSTARTS: ["valueLogical", "*[&&,valueLogical]"],
2037
+ STRENDS: ["valueLogical", "*[&&,valueLogical]"],
2038
+ STRBEFORE: ["valueLogical", "*[&&,valueLogical]"],
2039
+ STRAFTER: ["valueLogical", "*[&&,valueLogical]"],
2040
+ YEAR: ["valueLogical", "*[&&,valueLogical]"],
2041
+ MONTH: ["valueLogical", "*[&&,valueLogical]"],
2042
+ DAY: ["valueLogical", "*[&&,valueLogical]"],
2043
+ HOURS: ["valueLogical", "*[&&,valueLogical]"],
2044
+ MINUTES: ["valueLogical", "*[&&,valueLogical]"],
2045
+ SECONDS: ["valueLogical", "*[&&,valueLogical]"],
2046
+ TIMEZONE: ["valueLogical", "*[&&,valueLogical]"],
2047
+ TZ: ["valueLogical", "*[&&,valueLogical]"],
2048
+ NOW: ["valueLogical", "*[&&,valueLogical]"],
2049
+ UUID: ["valueLogical", "*[&&,valueLogical]"],
2050
+ STRUUID: ["valueLogical", "*[&&,valueLogical]"],
2051
+ MD5: ["valueLogical", "*[&&,valueLogical]"],
2052
+ SHA1: ["valueLogical", "*[&&,valueLogical]"],
2053
+ SHA256: ["valueLogical", "*[&&,valueLogical]"],
2054
+ SHA384: ["valueLogical", "*[&&,valueLogical]"],
2055
+ SHA512: ["valueLogical", "*[&&,valueLogical]"],
2056
+ COALESCE: ["valueLogical", "*[&&,valueLogical]"],
2057
+ IF: ["valueLogical", "*[&&,valueLogical]"],
2058
+ STRLANG: ["valueLogical", "*[&&,valueLogical]"],
2059
+ STRDT: ["valueLogical", "*[&&,valueLogical]"],
2060
+ SAMETERM: ["valueLogical", "*[&&,valueLogical]"],
2061
+ ISIRI: ["valueLogical", "*[&&,valueLogical]"],
2062
+ ISURI: ["valueLogical", "*[&&,valueLogical]"],
2063
+ ISBLANK: ["valueLogical", "*[&&,valueLogical]"],
2064
+ ISLITERAL: ["valueLogical", "*[&&,valueLogical]"],
2065
+ ISNUMERIC: ["valueLogical", "*[&&,valueLogical]"],
2066
+ TRUE: ["valueLogical", "*[&&,valueLogical]"],
2067
+ FALSE: ["valueLogical", "*[&&,valueLogical]"],
2068
+ COUNT: ["valueLogical", "*[&&,valueLogical]"],
2069
+ SUM: ["valueLogical", "*[&&,valueLogical]"],
2070
+ MIN: ["valueLogical", "*[&&,valueLogical]"],
2071
+ MAX: ["valueLogical", "*[&&,valueLogical]"],
2072
+ AVG: ["valueLogical", "*[&&,valueLogical]"],
2073
+ SAMPLE: ["valueLogical", "*[&&,valueLogical]"],
2074
+ GROUP_CONCAT: ["valueLogical", "*[&&,valueLogical]"],
2075
+ SUBSTR: ["valueLogical", "*[&&,valueLogical]"],
2076
+ REPLACE: ["valueLogical", "*[&&,valueLogical]"],
2077
+ REGEX: ["valueLogical", "*[&&,valueLogical]"],
2078
+ EXISTS: ["valueLogical", "*[&&,valueLogical]"],
2079
+ NOT: ["valueLogical", "*[&&,valueLogical]"],
2080
+ IRI_REF: ["valueLogical", "*[&&,valueLogical]"],
2081
+ STRING_LITERAL1: ["valueLogical", "*[&&,valueLogical]"],
2082
+ STRING_LITERAL2: ["valueLogical", "*[&&,valueLogical]"],
2083
+ STRING_LITERAL_LONG1: ["valueLogical", "*[&&,valueLogical]"],
2084
+ STRING_LITERAL_LONG2: ["valueLogical", "*[&&,valueLogical]"],
2085
+ INTEGER: ["valueLogical", "*[&&,valueLogical]"],
2086
+ DECIMAL: ["valueLogical", "*[&&,valueLogical]"],
2087
+ DOUBLE: ["valueLogical", "*[&&,valueLogical]"],
2088
+ INTEGER_POSITIVE: ["valueLogical", "*[&&,valueLogical]"],
2089
+ DECIMAL_POSITIVE: ["valueLogical", "*[&&,valueLogical]"],
2090
+ DOUBLE_POSITIVE: ["valueLogical", "*[&&,valueLogical]"],
2091
+ INTEGER_NEGATIVE: ["valueLogical", "*[&&,valueLogical]"],
2092
+ DECIMAL_NEGATIVE: ["valueLogical", "*[&&,valueLogical]"],
2093
+ DOUBLE_NEGATIVE: ["valueLogical", "*[&&,valueLogical]"],
2094
+ PNAME_LN: ["valueLogical", "*[&&,valueLogical]"],
2095
+ PNAME_NS: ["valueLogical", "*[&&,valueLogical]"],
2096
+ },
2097
+ conditionalOrExpression: {
2098
+ "!": ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2099
+ "+": ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2100
+ "-": ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2101
+ VAR1: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2102
+ VAR2: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2103
+ "(": ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2104
+ STR: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2105
+ LANG: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2106
+ LANGMATCHES: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2107
+ DATATYPE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2108
+ BOUND: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2109
+ IRI: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2110
+ URI: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2111
+ BNODE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2112
+ RAND: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2113
+ ABS: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2114
+ CEIL: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2115
+ FLOOR: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2116
+ ROUND: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2117
+ CONCAT: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2118
+ STRLEN: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2119
+ UCASE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2120
+ LCASE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2121
+ ENCODE_FOR_URI: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2122
+ CONTAINS: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2123
+ STRSTARTS: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2124
+ STRENDS: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2125
+ STRBEFORE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2126
+ STRAFTER: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2127
+ YEAR: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2128
+ MONTH: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2129
+ DAY: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2130
+ HOURS: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2131
+ MINUTES: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2132
+ SECONDS: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2133
+ TIMEZONE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2134
+ TZ: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2135
+ NOW: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2136
+ UUID: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2137
+ STRUUID: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2138
+ MD5: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2139
+ SHA1: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2140
+ SHA256: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2141
+ SHA384: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2142
+ SHA512: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2143
+ COALESCE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2144
+ IF: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2145
+ STRLANG: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2146
+ STRDT: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2147
+ SAMETERM: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2148
+ ISIRI: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2149
+ ISURI: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2150
+ ISBLANK: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2151
+ ISLITERAL: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2152
+ ISNUMERIC: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2153
+ TRUE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2154
+ FALSE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2155
+ COUNT: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2156
+ SUM: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2157
+ MIN: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2158
+ MAX: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2159
+ AVG: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2160
+ SAMPLE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2161
+ GROUP_CONCAT: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2162
+ SUBSTR: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2163
+ REPLACE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2164
+ REGEX: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2165
+ EXISTS: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2166
+ NOT: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2167
+ IRI_REF: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2168
+ STRING_LITERAL1: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2169
+ STRING_LITERAL2: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2170
+ STRING_LITERAL_LONG1: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2171
+ STRING_LITERAL_LONG2: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2172
+ INTEGER: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2173
+ DECIMAL: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2174
+ DOUBLE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2175
+ INTEGER_POSITIVE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2176
+ DECIMAL_POSITIVE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2177
+ DOUBLE_POSITIVE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2178
+ INTEGER_NEGATIVE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2179
+ DECIMAL_NEGATIVE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2180
+ DOUBLE_NEGATIVE: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2181
+ PNAME_LN: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2182
+ PNAME_NS: ["conditionalAndExpression", "*[||,conditionalAndExpression]"],
2183
+ },
2184
+ constraint: {
2185
+ "(": ["brackettedExpression"],
2186
+ STR: ["builtInCall"],
2187
+ LANG: ["builtInCall"],
2188
+ LANGMATCHES: ["builtInCall"],
2189
+ DATATYPE: ["builtInCall"],
2190
+ BOUND: ["builtInCall"],
2191
+ IRI: ["builtInCall"],
2192
+ URI: ["builtInCall"],
2193
+ BNODE: ["builtInCall"],
2194
+ RAND: ["builtInCall"],
2195
+ ABS: ["builtInCall"],
2196
+ CEIL: ["builtInCall"],
2197
+ FLOOR: ["builtInCall"],
2198
+ ROUND: ["builtInCall"],
2199
+ CONCAT: ["builtInCall"],
2200
+ STRLEN: ["builtInCall"],
2201
+ UCASE: ["builtInCall"],
2202
+ LCASE: ["builtInCall"],
2203
+ ENCODE_FOR_URI: ["builtInCall"],
2204
+ CONTAINS: ["builtInCall"],
2205
+ STRSTARTS: ["builtInCall"],
2206
+ STRENDS: ["builtInCall"],
2207
+ STRBEFORE: ["builtInCall"],
2208
+ STRAFTER: ["builtInCall"],
2209
+ YEAR: ["builtInCall"],
2210
+ MONTH: ["builtInCall"],
2211
+ DAY: ["builtInCall"],
2212
+ HOURS: ["builtInCall"],
2213
+ MINUTES: ["builtInCall"],
2214
+ SECONDS: ["builtInCall"],
2215
+ TIMEZONE: ["builtInCall"],
2216
+ TZ: ["builtInCall"],
2217
+ NOW: ["builtInCall"],
2218
+ UUID: ["builtInCall"],
2219
+ STRUUID: ["builtInCall"],
2220
+ MD5: ["builtInCall"],
2221
+ SHA1: ["builtInCall"],
2222
+ SHA256: ["builtInCall"],
2223
+ SHA384: ["builtInCall"],
2224
+ SHA512: ["builtInCall"],
2225
+ COALESCE: ["builtInCall"],
2226
+ IF: ["builtInCall"],
2227
+ STRLANG: ["builtInCall"],
2228
+ STRDT: ["builtInCall"],
2229
+ SAMETERM: ["builtInCall"],
2230
+ ISIRI: ["builtInCall"],
2231
+ ISURI: ["builtInCall"],
2232
+ ISBLANK: ["builtInCall"],
2233
+ ISLITERAL: ["builtInCall"],
2234
+ ISNUMERIC: ["builtInCall"],
2235
+ SUBSTR: ["builtInCall"],
2236
+ REPLACE: ["builtInCall"],
2237
+ REGEX: ["builtInCall"],
2238
+ EXISTS: ["builtInCall"],
2239
+ NOT: ["builtInCall"],
2240
+ IRI_REF: ["functionCall"],
2241
+ PNAME_LN: ["functionCall"],
2242
+ PNAME_NS: ["functionCall"],
2243
+ },
2244
+ constructQuery: {
2245
+ CONSTRUCT: [
2246
+ "CONSTRUCT",
2247
+ "or([[constructTemplate,*datasetClause,whereClause,solutionModifier],[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]])",
2248
+ ],
2249
+ },
2250
+ constructTemplate: { "{": ["{", "?constructTriples", "}"] },
2251
+ constructTriples: {
2252
+ VAR1: ["triplesSameSubject", "?[.,?constructTriples]"],
2253
+ VAR2: ["triplesSameSubject", "?[.,?constructTriples]"],
2254
+ NIL: ["triplesSameSubject", "?[.,?constructTriples]"],
2255
+ "(": ["triplesSameSubject", "?[.,?constructTriples]"],
2256
+ "[": ["triplesSameSubject", "?[.,?constructTriples]"],
2257
+ IRI_REF: ["triplesSameSubject", "?[.,?constructTriples]"],
2258
+ TRUE: ["triplesSameSubject", "?[.,?constructTriples]"],
2259
+ FALSE: ["triplesSameSubject", "?[.,?constructTriples]"],
2260
+ BLANK_NODE_LABEL: ["triplesSameSubject", "?[.,?constructTriples]"],
2261
+ ANON: ["triplesSameSubject", "?[.,?constructTriples]"],
2262
+ PNAME_LN: ["triplesSameSubject", "?[.,?constructTriples]"],
2263
+ PNAME_NS: ["triplesSameSubject", "?[.,?constructTriples]"],
2264
+ STRING_LITERAL1: ["triplesSameSubject", "?[.,?constructTriples]"],
2265
+ STRING_LITERAL2: ["triplesSameSubject", "?[.,?constructTriples]"],
2266
+ STRING_LITERAL_LONG1: ["triplesSameSubject", "?[.,?constructTriples]"],
2267
+ STRING_LITERAL_LONG2: ["triplesSameSubject", "?[.,?constructTriples]"],
2268
+ INTEGER: ["triplesSameSubject", "?[.,?constructTriples]"],
2269
+ DECIMAL: ["triplesSameSubject", "?[.,?constructTriples]"],
2270
+ DOUBLE: ["triplesSameSubject", "?[.,?constructTriples]"],
2271
+ INTEGER_POSITIVE: ["triplesSameSubject", "?[.,?constructTriples]"],
2272
+ DECIMAL_POSITIVE: ["triplesSameSubject", "?[.,?constructTriples]"],
2273
+ DOUBLE_POSITIVE: ["triplesSameSubject", "?[.,?constructTriples]"],
2274
+ INTEGER_NEGATIVE: ["triplesSameSubject", "?[.,?constructTriples]"],
2275
+ DECIMAL_NEGATIVE: ["triplesSameSubject", "?[.,?constructTriples]"],
2276
+ DOUBLE_NEGATIVE: ["triplesSameSubject", "?[.,?constructTriples]"],
2277
+ },
2278
+ copy: {
2279
+ COPY: ["COPY", "?SILENT_4", "graphOrDefault", "TO", "graphOrDefault"],
2280
+ },
2281
+ create: { CREATE: ["CREATE", "?SILENT_3", "graphRef"] },
2282
+ dataBlock: {
2283
+ NIL: ["or([inlineDataOneVar,inlineDataFull])"],
2284
+ "(": ["or([inlineDataOneVar,inlineDataFull])"],
2285
+ VAR1: ["or([inlineDataOneVar,inlineDataFull])"],
2286
+ VAR2: ["or([inlineDataOneVar,inlineDataFull])"],
2287
+ },
2288
+ dataBlockValue: {
2289
+ IRI_REF: ["iriRef"],
2290
+ PNAME_LN: ["iriRef"],
2291
+ PNAME_NS: ["iriRef"],
2292
+ STRING_LITERAL1: ["rdfLiteral"],
2293
+ STRING_LITERAL2: ["rdfLiteral"],
2294
+ STRING_LITERAL_LONG1: ["rdfLiteral"],
2295
+ STRING_LITERAL_LONG2: ["rdfLiteral"],
2296
+ INTEGER: ["numericLiteral"],
2297
+ DECIMAL: ["numericLiteral"],
2298
+ DOUBLE: ["numericLiteral"],
2299
+ INTEGER_POSITIVE: ["numericLiteral"],
2300
+ DECIMAL_POSITIVE: ["numericLiteral"],
2301
+ DOUBLE_POSITIVE: ["numericLiteral"],
2302
+ INTEGER_NEGATIVE: ["numericLiteral"],
2303
+ DECIMAL_NEGATIVE: ["numericLiteral"],
2304
+ DOUBLE_NEGATIVE: ["numericLiteral"],
2305
+ TRUE: ["booleanLiteral"],
2306
+ FALSE: ["booleanLiteral"],
2307
+ UNDEF: ["UNDEF"],
2308
+ },
2309
+ datasetClause: {
2310
+ FROM: ["FROM", "or([defaultGraphClause,namedGraphClause])"],
2311
+ },
2312
+ defaultGraphClause: {
2313
+ IRI_REF: ["sourceSelector"],
2314
+ PNAME_LN: ["sourceSelector"],
2315
+ PNAME_NS: ["sourceSelector"],
2316
+ },
2317
+ delete1: {
2318
+ DATA: ["DATA", "quadDataNoBnodes"],
2319
+ WHERE: ["WHERE", "quadPatternNoBnodes"],
2320
+ "{": ["quadPatternNoBnodes", "?insertClause", "*usingClause", "WHERE", "groupGraphPattern"],
2321
+ },
2322
+ deleteClause: { DELETE: ["DELETE", "quadPattern"] },
2323
+ describeDatasetClause: {
2324
+ FROM: ["FROM", "or([defaultGraphClause,namedGraphClause])"],
2325
+ },
2326
+ describeQuery: {
2327
+ DESCRIBE: ["DESCRIBE", "or([+varOrIRIref,*])", "*describeDatasetClause", "?whereClause", "solutionModifier"],
2328
+ },
2329
+ disallowBnodes: {
2330
+ "}": [],
2331
+ GRAPH: [],
2332
+ VAR1: [],
2333
+ VAR2: [],
2334
+ NIL: [],
2335
+ "(": [],
2336
+ "[": [],
2337
+ IRI_REF: [],
2338
+ TRUE: [],
2339
+ FALSE: [],
2340
+ BLANK_NODE_LABEL: [],
2341
+ ANON: [],
2342
+ PNAME_LN: [],
2343
+ PNAME_NS: [],
2344
+ STRING_LITERAL1: [],
2345
+ STRING_LITERAL2: [],
2346
+ STRING_LITERAL_LONG1: [],
2347
+ STRING_LITERAL_LONG2: [],
2348
+ INTEGER: [],
2349
+ DECIMAL: [],
2350
+ DOUBLE: [],
2351
+ INTEGER_POSITIVE: [],
2352
+ DECIMAL_POSITIVE: [],
2353
+ DOUBLE_POSITIVE: [],
2354
+ INTEGER_NEGATIVE: [],
2355
+ DECIMAL_NEGATIVE: [],
2356
+ DOUBLE_NEGATIVE: [],
2357
+ },
2358
+ disallowVars: {
2359
+ "}": [],
2360
+ GRAPH: [],
2361
+ VAR1: [],
2362
+ VAR2: [],
2363
+ NIL: [],
2364
+ "(": [],
2365
+ "[": [],
2366
+ IRI_REF: [],
2367
+ TRUE: [],
2368
+ FALSE: [],
2369
+ BLANK_NODE_LABEL: [],
2370
+ ANON: [],
2371
+ PNAME_LN: [],
2372
+ PNAME_NS: [],
2373
+ STRING_LITERAL1: [],
2374
+ STRING_LITERAL2: [],
2375
+ STRING_LITERAL_LONG1: [],
2376
+ STRING_LITERAL_LONG2: [],
2377
+ INTEGER: [],
2378
+ DECIMAL: [],
2379
+ DOUBLE: [],
2380
+ INTEGER_POSITIVE: [],
2381
+ DECIMAL_POSITIVE: [],
2382
+ DOUBLE_POSITIVE: [],
2383
+ INTEGER_NEGATIVE: [],
2384
+ DECIMAL_NEGATIVE: [],
2385
+ DOUBLE_NEGATIVE: [],
2386
+ },
2387
+ drop: { DROP: ["DROP", "?SILENT_2", "graphRefAll"] },
2388
+ existsFunc: { EXISTS: ["EXISTS", "groupGraphPattern"] },
2389
+ expression: {
2390
+ "!": ["conditionalOrExpression"],
2391
+ "+": ["conditionalOrExpression"],
2392
+ "-": ["conditionalOrExpression"],
2393
+ VAR1: ["conditionalOrExpression"],
2394
+ VAR2: ["conditionalOrExpression"],
2395
+ "(": ["conditionalOrExpression"],
2396
+ STR: ["conditionalOrExpression"],
2397
+ LANG: ["conditionalOrExpression"],
2398
+ LANGMATCHES: ["conditionalOrExpression"],
2399
+ DATATYPE: ["conditionalOrExpression"],
2400
+ BOUND: ["conditionalOrExpression"],
2401
+ IRI: ["conditionalOrExpression"],
2402
+ URI: ["conditionalOrExpression"],
2403
+ BNODE: ["conditionalOrExpression"],
2404
+ RAND: ["conditionalOrExpression"],
2405
+ ABS: ["conditionalOrExpression"],
2406
+ CEIL: ["conditionalOrExpression"],
2407
+ FLOOR: ["conditionalOrExpression"],
2408
+ ROUND: ["conditionalOrExpression"],
2409
+ CONCAT: ["conditionalOrExpression"],
2410
+ STRLEN: ["conditionalOrExpression"],
2411
+ UCASE: ["conditionalOrExpression"],
2412
+ LCASE: ["conditionalOrExpression"],
2413
+ ENCODE_FOR_URI: ["conditionalOrExpression"],
2414
+ CONTAINS: ["conditionalOrExpression"],
2415
+ STRSTARTS: ["conditionalOrExpression"],
2416
+ STRENDS: ["conditionalOrExpression"],
2417
+ STRBEFORE: ["conditionalOrExpression"],
2418
+ STRAFTER: ["conditionalOrExpression"],
2419
+ YEAR: ["conditionalOrExpression"],
2420
+ MONTH: ["conditionalOrExpression"],
2421
+ DAY: ["conditionalOrExpression"],
2422
+ HOURS: ["conditionalOrExpression"],
2423
+ MINUTES: ["conditionalOrExpression"],
2424
+ SECONDS: ["conditionalOrExpression"],
2425
+ TIMEZONE: ["conditionalOrExpression"],
2426
+ TZ: ["conditionalOrExpression"],
2427
+ NOW: ["conditionalOrExpression"],
2428
+ UUID: ["conditionalOrExpression"],
2429
+ STRUUID: ["conditionalOrExpression"],
2430
+ MD5: ["conditionalOrExpression"],
2431
+ SHA1: ["conditionalOrExpression"],
2432
+ SHA256: ["conditionalOrExpression"],
2433
+ SHA384: ["conditionalOrExpression"],
2434
+ SHA512: ["conditionalOrExpression"],
2435
+ COALESCE: ["conditionalOrExpression"],
2436
+ IF: ["conditionalOrExpression"],
2437
+ STRLANG: ["conditionalOrExpression"],
2438
+ STRDT: ["conditionalOrExpression"],
2439
+ SAMETERM: ["conditionalOrExpression"],
2440
+ ISIRI: ["conditionalOrExpression"],
2441
+ ISURI: ["conditionalOrExpression"],
2442
+ ISBLANK: ["conditionalOrExpression"],
2443
+ ISLITERAL: ["conditionalOrExpression"],
2444
+ ISNUMERIC: ["conditionalOrExpression"],
2445
+ TRUE: ["conditionalOrExpression"],
2446
+ FALSE: ["conditionalOrExpression"],
2447
+ COUNT: ["conditionalOrExpression"],
2448
+ SUM: ["conditionalOrExpression"],
2449
+ MIN: ["conditionalOrExpression"],
2450
+ MAX: ["conditionalOrExpression"],
2451
+ AVG: ["conditionalOrExpression"],
2452
+ SAMPLE: ["conditionalOrExpression"],
2453
+ GROUP_CONCAT: ["conditionalOrExpression"],
2454
+ SUBSTR: ["conditionalOrExpression"],
2455
+ REPLACE: ["conditionalOrExpression"],
2456
+ REGEX: ["conditionalOrExpression"],
2457
+ EXISTS: ["conditionalOrExpression"],
2458
+ NOT: ["conditionalOrExpression"],
2459
+ IRI_REF: ["conditionalOrExpression"],
2460
+ STRING_LITERAL1: ["conditionalOrExpression"],
2461
+ STRING_LITERAL2: ["conditionalOrExpression"],
2462
+ STRING_LITERAL_LONG1: ["conditionalOrExpression"],
2463
+ STRING_LITERAL_LONG2: ["conditionalOrExpression"],
2464
+ INTEGER: ["conditionalOrExpression"],
2465
+ DECIMAL: ["conditionalOrExpression"],
2466
+ DOUBLE: ["conditionalOrExpression"],
2467
+ INTEGER_POSITIVE: ["conditionalOrExpression"],
2468
+ DECIMAL_POSITIVE: ["conditionalOrExpression"],
2469
+ DOUBLE_POSITIVE: ["conditionalOrExpression"],
2470
+ INTEGER_NEGATIVE: ["conditionalOrExpression"],
2471
+ DECIMAL_NEGATIVE: ["conditionalOrExpression"],
2472
+ DOUBLE_NEGATIVE: ["conditionalOrExpression"],
2473
+ PNAME_LN: ["conditionalOrExpression"],
2474
+ PNAME_NS: ["conditionalOrExpression"],
2475
+ },
2476
+ expressionList: {
2477
+ NIL: ["NIL"],
2478
+ "(": ["(", "expression", "*[,,expression]", ")"],
2479
+ },
2480
+ filter: { FILTER: ["FILTER", "constraint"] },
2481
+ functionCall: {
2482
+ IRI_REF: ["iriRef", "argList"],
2483
+ PNAME_LN: ["iriRef", "argList"],
2484
+ PNAME_NS: ["iriRef", "argList"],
2485
+ },
2486
+ graphGraphPattern: { GRAPH: ["GRAPH", "varOrIRIref", "groupGraphPattern"] },
2487
+ graphNode: {
2488
+ VAR1: ["varOrTerm"],
2489
+ VAR2: ["varOrTerm"],
2490
+ NIL: ["varOrTerm"],
2491
+ IRI_REF: ["varOrTerm"],
2492
+ TRUE: ["varOrTerm"],
2493
+ FALSE: ["varOrTerm"],
2494
+ BLANK_NODE_LABEL: ["varOrTerm"],
2495
+ ANON: ["varOrTerm"],
2496
+ PNAME_LN: ["varOrTerm"],
2497
+ PNAME_NS: ["varOrTerm"],
2498
+ STRING_LITERAL1: ["varOrTerm"],
2499
+ STRING_LITERAL2: ["varOrTerm"],
2500
+ STRING_LITERAL_LONG1: ["varOrTerm"],
2501
+ STRING_LITERAL_LONG2: ["varOrTerm"],
2502
+ INTEGER: ["varOrTerm"],
2503
+ DECIMAL: ["varOrTerm"],
2504
+ DOUBLE: ["varOrTerm"],
2505
+ INTEGER_POSITIVE: ["varOrTerm"],
2506
+ DECIMAL_POSITIVE: ["varOrTerm"],
2507
+ DOUBLE_POSITIVE: ["varOrTerm"],
2508
+ INTEGER_NEGATIVE: ["varOrTerm"],
2509
+ DECIMAL_NEGATIVE: ["varOrTerm"],
2510
+ DOUBLE_NEGATIVE: ["varOrTerm"],
2511
+ "(": ["triplesNode"],
2512
+ "[": ["triplesNode"],
2513
+ },
2514
+ graphNodePath: {
2515
+ VAR1: ["varOrTerm"],
2516
+ VAR2: ["varOrTerm"],
2517
+ NIL: ["varOrTerm"],
2518
+ IRI_REF: ["varOrTerm"],
2519
+ TRUE: ["varOrTerm"],
2520
+ FALSE: ["varOrTerm"],
2521
+ BLANK_NODE_LABEL: ["varOrTerm"],
2522
+ ANON: ["varOrTerm"],
2523
+ PNAME_LN: ["varOrTerm"],
2524
+ PNAME_NS: ["varOrTerm"],
2525
+ STRING_LITERAL1: ["varOrTerm"],
2526
+ STRING_LITERAL2: ["varOrTerm"],
2527
+ STRING_LITERAL_LONG1: ["varOrTerm"],
2528
+ STRING_LITERAL_LONG2: ["varOrTerm"],
2529
+ INTEGER: ["varOrTerm"],
2530
+ DECIMAL: ["varOrTerm"],
2531
+ DOUBLE: ["varOrTerm"],
2532
+ INTEGER_POSITIVE: ["varOrTerm"],
2533
+ DECIMAL_POSITIVE: ["varOrTerm"],
2534
+ DOUBLE_POSITIVE: ["varOrTerm"],
2535
+ INTEGER_NEGATIVE: ["varOrTerm"],
2536
+ DECIMAL_NEGATIVE: ["varOrTerm"],
2537
+ DOUBLE_NEGATIVE: ["varOrTerm"],
2538
+ "(": ["triplesNodePath"],
2539
+ "[": ["triplesNodePath"],
2540
+ },
2541
+ graphOrDefault: {
2542
+ DEFAULT: ["DEFAULT"],
2543
+ IRI_REF: ["?GRAPH", "iriRef"],
2544
+ PNAME_LN: ["?GRAPH", "iriRef"],
2545
+ PNAME_NS: ["?GRAPH", "iriRef"],
2546
+ GRAPH: ["?GRAPH", "iriRef"],
2547
+ },
2548
+ graphPatternNotTriples: {
2549
+ "{": ["groupOrUnionGraphPattern"],
2550
+ OPTIONAL: ["optionalGraphPattern"],
2551
+ MINUS: ["minusGraphPattern"],
2552
+ GRAPH: ["graphGraphPattern"],
2553
+ SERVICE: ["serviceGraphPattern"],
2554
+ FILTER: ["filter"],
2555
+ BIND: ["bind"],
2556
+ VALUES: ["inlineData"],
2557
+ },
2558
+ graphRef: { GRAPH: ["GRAPH", "iriRef"] },
2559
+ graphRefAll: {
2560
+ GRAPH: ["graphRef"],
2561
+ DEFAULT: ["DEFAULT"],
2562
+ NAMED: ["NAMED"],
2563
+ ALL: ["ALL"],
2564
+ },
2565
+ graphTerm: {
2566
+ IRI_REF: ["iriRef"],
2567
+ PNAME_LN: ["iriRef"],
2568
+ PNAME_NS: ["iriRef"],
2569
+ STRING_LITERAL1: ["rdfLiteral"],
2570
+ STRING_LITERAL2: ["rdfLiteral"],
2571
+ STRING_LITERAL_LONG1: ["rdfLiteral"],
2572
+ STRING_LITERAL_LONG2: ["rdfLiteral"],
2573
+ INTEGER: ["numericLiteral"],
2574
+ DECIMAL: ["numericLiteral"],
2575
+ DOUBLE: ["numericLiteral"],
2576
+ INTEGER_POSITIVE: ["numericLiteral"],
2577
+ DECIMAL_POSITIVE: ["numericLiteral"],
2578
+ DOUBLE_POSITIVE: ["numericLiteral"],
2579
+ INTEGER_NEGATIVE: ["numericLiteral"],
2580
+ DECIMAL_NEGATIVE: ["numericLiteral"],
2581
+ DOUBLE_NEGATIVE: ["numericLiteral"],
2582
+ TRUE: ["booleanLiteral"],
2583
+ FALSE: ["booleanLiteral"],
2584
+ BLANK_NODE_LABEL: ["blankNode"],
2585
+ ANON: ["blankNode"],
2586
+ NIL: ["NIL"],
2587
+ },
2588
+ groupClause: { GROUP: ["GROUP", "BY", "+groupCondition"] },
2589
+ groupCondition: {
2590
+ STR: ["builtInCall"],
2591
+ LANG: ["builtInCall"],
2592
+ LANGMATCHES: ["builtInCall"],
2593
+ DATATYPE: ["builtInCall"],
2594
+ BOUND: ["builtInCall"],
2595
+ IRI: ["builtInCall"],
2596
+ URI: ["builtInCall"],
2597
+ BNODE: ["builtInCall"],
2598
+ RAND: ["builtInCall"],
2599
+ ABS: ["builtInCall"],
2600
+ CEIL: ["builtInCall"],
2601
+ FLOOR: ["builtInCall"],
2602
+ ROUND: ["builtInCall"],
2603
+ CONCAT: ["builtInCall"],
2604
+ STRLEN: ["builtInCall"],
2605
+ UCASE: ["builtInCall"],
2606
+ LCASE: ["builtInCall"],
2607
+ ENCODE_FOR_URI: ["builtInCall"],
2608
+ CONTAINS: ["builtInCall"],
2609
+ STRSTARTS: ["builtInCall"],
2610
+ STRENDS: ["builtInCall"],
2611
+ STRBEFORE: ["builtInCall"],
2612
+ STRAFTER: ["builtInCall"],
2613
+ YEAR: ["builtInCall"],
2614
+ MONTH: ["builtInCall"],
2615
+ DAY: ["builtInCall"],
2616
+ HOURS: ["builtInCall"],
2617
+ MINUTES: ["builtInCall"],
2618
+ SECONDS: ["builtInCall"],
2619
+ TIMEZONE: ["builtInCall"],
2620
+ TZ: ["builtInCall"],
2621
+ NOW: ["builtInCall"],
2622
+ UUID: ["builtInCall"],
2623
+ STRUUID: ["builtInCall"],
2624
+ MD5: ["builtInCall"],
2625
+ SHA1: ["builtInCall"],
2626
+ SHA256: ["builtInCall"],
2627
+ SHA384: ["builtInCall"],
2628
+ SHA512: ["builtInCall"],
2629
+ COALESCE: ["builtInCall"],
2630
+ IF: ["builtInCall"],
2631
+ STRLANG: ["builtInCall"],
2632
+ STRDT: ["builtInCall"],
2633
+ SAMETERM: ["builtInCall"],
2634
+ ISIRI: ["builtInCall"],
2635
+ ISURI: ["builtInCall"],
2636
+ ISBLANK: ["builtInCall"],
2637
+ ISLITERAL: ["builtInCall"],
2638
+ ISNUMERIC: ["builtInCall"],
2639
+ SUBSTR: ["builtInCall"],
2640
+ REPLACE: ["builtInCall"],
2641
+ REGEX: ["builtInCall"],
2642
+ EXISTS: ["builtInCall"],
2643
+ NOT: ["builtInCall"],
2644
+ IRI_REF: ["functionCall"],
2645
+ PNAME_LN: ["functionCall"],
2646
+ PNAME_NS: ["functionCall"],
2647
+ "(": ["(", "expression", "?[AS,var]", ")"],
2648
+ VAR1: ["var"],
2649
+ VAR2: ["var"],
2650
+ },
2651
+ groupGraphPattern: {
2652
+ "{": ["{", "or([subSelect,groupGraphPatternSub])", "}"],
2653
+ },
2654
+ groupGraphPatternSub: {
2655
+ "{": ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2656
+ OPTIONAL: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2657
+ MINUS: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2658
+ GRAPH: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2659
+ SERVICE: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2660
+ FILTER: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2661
+ BIND: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2662
+ VALUES: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2663
+ VAR1: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2664
+ VAR2: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2665
+ NIL: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2666
+ "(": ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2667
+ "[": ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2668
+ IRI_REF: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2669
+ TRUE: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2670
+ FALSE: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2671
+ BLANK_NODE_LABEL: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2672
+ ANON: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2673
+ PNAME_LN: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2674
+ PNAME_NS: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2675
+ STRING_LITERAL1: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2676
+ STRING_LITERAL2: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2677
+ STRING_LITERAL_LONG1: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2678
+ STRING_LITERAL_LONG2: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2679
+ INTEGER: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2680
+ DECIMAL: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2681
+ DOUBLE: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2682
+ INTEGER_POSITIVE: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2683
+ DECIMAL_POSITIVE: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2684
+ DOUBLE_POSITIVE: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2685
+ INTEGER_NEGATIVE: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2686
+ DECIMAL_NEGATIVE: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2687
+ DOUBLE_NEGATIVE: ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2688
+ "}": ["?triplesBlock", "*[graphPatternNotTriples,?.,?triplesBlock]"],
2689
+ },
2690
+ groupOrUnionGraphPattern: {
2691
+ "{": ["groupGraphPattern", "*[UNION,groupGraphPattern]"],
2692
+ },
2693
+ havingClause: { HAVING: ["HAVING", "+havingCondition"] },
2694
+ havingCondition: {
2695
+ "(": ["constraint"],
2696
+ STR: ["constraint"],
2697
+ LANG: ["constraint"],
2698
+ LANGMATCHES: ["constraint"],
2699
+ DATATYPE: ["constraint"],
2700
+ BOUND: ["constraint"],
2701
+ IRI: ["constraint"],
2702
+ URI: ["constraint"],
2703
+ BNODE: ["constraint"],
2704
+ RAND: ["constraint"],
2705
+ ABS: ["constraint"],
2706
+ CEIL: ["constraint"],
2707
+ FLOOR: ["constraint"],
2708
+ ROUND: ["constraint"],
2709
+ CONCAT: ["constraint"],
2710
+ STRLEN: ["constraint"],
2711
+ UCASE: ["constraint"],
2712
+ LCASE: ["constraint"],
2713
+ ENCODE_FOR_URI: ["constraint"],
2714
+ CONTAINS: ["constraint"],
2715
+ STRSTARTS: ["constraint"],
2716
+ STRENDS: ["constraint"],
2717
+ STRBEFORE: ["constraint"],
2718
+ STRAFTER: ["constraint"],
2719
+ YEAR: ["constraint"],
2720
+ MONTH: ["constraint"],
2721
+ DAY: ["constraint"],
2722
+ HOURS: ["constraint"],
2723
+ MINUTES: ["constraint"],
2724
+ SECONDS: ["constraint"],
2725
+ TIMEZONE: ["constraint"],
2726
+ TZ: ["constraint"],
2727
+ NOW: ["constraint"],
2728
+ UUID: ["constraint"],
2729
+ STRUUID: ["constraint"],
2730
+ MD5: ["constraint"],
2731
+ SHA1: ["constraint"],
2732
+ SHA256: ["constraint"],
2733
+ SHA384: ["constraint"],
2734
+ SHA512: ["constraint"],
2735
+ COALESCE: ["constraint"],
2736
+ IF: ["constraint"],
2737
+ STRLANG: ["constraint"],
2738
+ STRDT: ["constraint"],
2739
+ SAMETERM: ["constraint"],
2740
+ ISIRI: ["constraint"],
2741
+ ISURI: ["constraint"],
2742
+ ISBLANK: ["constraint"],
2743
+ ISLITERAL: ["constraint"],
2744
+ ISNUMERIC: ["constraint"],
2745
+ SUBSTR: ["constraint"],
2746
+ REPLACE: ["constraint"],
2747
+ REGEX: ["constraint"],
2748
+ EXISTS: ["constraint"],
2749
+ NOT: ["constraint"],
2750
+ IRI_REF: ["constraint"],
2751
+ PNAME_LN: ["constraint"],
2752
+ PNAME_NS: ["constraint"],
2753
+ },
2754
+ inlineData: { VALUES: ["VALUES", "dataBlock"] },
2755
+ inlineDataFull: {
2756
+ NIL: ["or([NIL,[ (,*var,)]])", "{", "*or([[ (,*dataBlockValue,)],NIL])", "}"],
2757
+ "(": ["or([NIL,[ (,*var,)]])", "{", "*or([[ (,*dataBlockValue,)],NIL])", "}"],
2758
+ },
2759
+ inlineDataOneVar: {
2760
+ VAR1: ["var", "{", "*dataBlockValue", "}"],
2761
+ VAR2: ["var", "{", "*dataBlockValue", "}"],
2762
+ },
2763
+ insert1: {
2764
+ DATA: ["DATA", "quadData"],
2765
+ "{": ["quadPattern", "*usingClause", "WHERE", "groupGraphPattern"],
2766
+ },
2767
+ insertClause: { INSERT: ["INSERT", "quadPattern"] },
2768
+ integer: { INTEGER: ["INTEGER"] },
2769
+ iriRef: {
2770
+ IRI_REF: ["IRI_REF"],
2771
+ PNAME_LN: ["prefixedName"],
2772
+ PNAME_NS: ["prefixedName"],
2773
+ },
2774
+ iriRefOrFunction: {
2775
+ IRI_REF: ["iriRef", "?argList"],
2776
+ PNAME_LN: ["iriRef", "?argList"],
2777
+ PNAME_NS: ["iriRef", "?argList"],
2778
+ },
2779
+ limitClause: { LIMIT: ["LIMIT", "INTEGER"] },
2780
+ limitOffsetClauses: {
2781
+ LIMIT: ["limitClause", "?offsetClause"],
2782
+ OFFSET: ["offsetClause", "?limitClause"],
2783
+ },
2784
+ load: { LOAD: ["LOAD", "?SILENT_1", "iriRef", "?[INTO,graphRef]"] },
2785
+ minusGraphPattern: { MINUS: ["MINUS", "groupGraphPattern"] },
2786
+ modify: {
2787
+ WITH: [
2788
+ "WITH",
2789
+ "iriRef",
2790
+ "or([[deleteClause,?insertClause],insertClause])",
2791
+ "*usingClause",
2792
+ "WHERE",
2793
+ "groupGraphPattern",
2794
+ ],
2795
+ },
2796
+ move: {
2797
+ MOVE: ["MOVE", "?SILENT_4", "graphOrDefault", "TO", "graphOrDefault"],
2798
+ },
2799
+ multiplicativeExpression: {
2800
+ "!": ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2801
+ "+": ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2802
+ "-": ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2803
+ VAR1: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2804
+ VAR2: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2805
+ "(": ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2806
+ STR: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2807
+ LANG: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2808
+ LANGMATCHES: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2809
+ DATATYPE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2810
+ BOUND: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2811
+ IRI: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2812
+ URI: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2813
+ BNODE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2814
+ RAND: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2815
+ ABS: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2816
+ CEIL: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2817
+ FLOOR: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2818
+ ROUND: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2819
+ CONCAT: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2820
+ STRLEN: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2821
+ UCASE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2822
+ LCASE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2823
+ ENCODE_FOR_URI: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2824
+ CONTAINS: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2825
+ STRSTARTS: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2826
+ STRENDS: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2827
+ STRBEFORE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2828
+ STRAFTER: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2829
+ YEAR: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2830
+ MONTH: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2831
+ DAY: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2832
+ HOURS: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2833
+ MINUTES: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2834
+ SECONDS: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2835
+ TIMEZONE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2836
+ TZ: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2837
+ NOW: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2838
+ UUID: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2839
+ STRUUID: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2840
+ MD5: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2841
+ SHA1: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2842
+ SHA256: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2843
+ SHA384: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2844
+ SHA512: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2845
+ COALESCE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2846
+ IF: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2847
+ STRLANG: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2848
+ STRDT: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2849
+ SAMETERM: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2850
+ ISIRI: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2851
+ ISURI: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2852
+ ISBLANK: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2853
+ ISLITERAL: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2854
+ ISNUMERIC: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2855
+ TRUE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2856
+ FALSE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2857
+ COUNT: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2858
+ SUM: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2859
+ MIN: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2860
+ MAX: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2861
+ AVG: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2862
+ SAMPLE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2863
+ GROUP_CONCAT: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2864
+ SUBSTR: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2865
+ REPLACE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2866
+ REGEX: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2867
+ EXISTS: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2868
+ NOT: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2869
+ IRI_REF: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2870
+ STRING_LITERAL1: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2871
+ STRING_LITERAL2: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2872
+ STRING_LITERAL_LONG1: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2873
+ STRING_LITERAL_LONG2: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2874
+ INTEGER: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2875
+ DECIMAL: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2876
+ DOUBLE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2877
+ INTEGER_POSITIVE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2878
+ DECIMAL_POSITIVE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2879
+ DOUBLE_POSITIVE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2880
+ INTEGER_NEGATIVE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2881
+ DECIMAL_NEGATIVE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2882
+ DOUBLE_NEGATIVE: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2883
+ PNAME_LN: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2884
+ PNAME_NS: ["unaryExpression", "*or([[*,unaryExpression],[/,unaryExpression]])"],
2885
+ },
2886
+ namedGraphClause: { NAMED: ["NAMED", "sourceSelector"] },
2887
+ notExistsFunc: { NOT: ["NOT", "EXISTS", "groupGraphPattern"] },
2888
+ numericExpression: {
2889
+ "!": ["additiveExpression"],
2890
+ "+": ["additiveExpression"],
2891
+ "-": ["additiveExpression"],
2892
+ VAR1: ["additiveExpression"],
2893
+ VAR2: ["additiveExpression"],
2894
+ "(": ["additiveExpression"],
2895
+ STR: ["additiveExpression"],
2896
+ LANG: ["additiveExpression"],
2897
+ LANGMATCHES: ["additiveExpression"],
2898
+ DATATYPE: ["additiveExpression"],
2899
+ BOUND: ["additiveExpression"],
2900
+ IRI: ["additiveExpression"],
2901
+ URI: ["additiveExpression"],
2902
+ BNODE: ["additiveExpression"],
2903
+ RAND: ["additiveExpression"],
2904
+ ABS: ["additiveExpression"],
2905
+ CEIL: ["additiveExpression"],
2906
+ FLOOR: ["additiveExpression"],
2907
+ ROUND: ["additiveExpression"],
2908
+ CONCAT: ["additiveExpression"],
2909
+ STRLEN: ["additiveExpression"],
2910
+ UCASE: ["additiveExpression"],
2911
+ LCASE: ["additiveExpression"],
2912
+ ENCODE_FOR_URI: ["additiveExpression"],
2913
+ CONTAINS: ["additiveExpression"],
2914
+ STRSTARTS: ["additiveExpression"],
2915
+ STRENDS: ["additiveExpression"],
2916
+ STRBEFORE: ["additiveExpression"],
2917
+ STRAFTER: ["additiveExpression"],
2918
+ YEAR: ["additiveExpression"],
2919
+ MONTH: ["additiveExpression"],
2920
+ DAY: ["additiveExpression"],
2921
+ HOURS: ["additiveExpression"],
2922
+ MINUTES: ["additiveExpression"],
2923
+ SECONDS: ["additiveExpression"],
2924
+ TIMEZONE: ["additiveExpression"],
2925
+ TZ: ["additiveExpression"],
2926
+ NOW: ["additiveExpression"],
2927
+ UUID: ["additiveExpression"],
2928
+ STRUUID: ["additiveExpression"],
2929
+ MD5: ["additiveExpression"],
2930
+ SHA1: ["additiveExpression"],
2931
+ SHA256: ["additiveExpression"],
2932
+ SHA384: ["additiveExpression"],
2933
+ SHA512: ["additiveExpression"],
2934
+ COALESCE: ["additiveExpression"],
2935
+ IF: ["additiveExpression"],
2936
+ STRLANG: ["additiveExpression"],
2937
+ STRDT: ["additiveExpression"],
2938
+ SAMETERM: ["additiveExpression"],
2939
+ ISIRI: ["additiveExpression"],
2940
+ ISURI: ["additiveExpression"],
2941
+ ISBLANK: ["additiveExpression"],
2942
+ ISLITERAL: ["additiveExpression"],
2943
+ ISNUMERIC: ["additiveExpression"],
2944
+ TRUE: ["additiveExpression"],
2945
+ FALSE: ["additiveExpression"],
2946
+ COUNT: ["additiveExpression"],
2947
+ SUM: ["additiveExpression"],
2948
+ MIN: ["additiveExpression"],
2949
+ MAX: ["additiveExpression"],
2950
+ AVG: ["additiveExpression"],
2951
+ SAMPLE: ["additiveExpression"],
2952
+ GROUP_CONCAT: ["additiveExpression"],
2953
+ SUBSTR: ["additiveExpression"],
2954
+ REPLACE: ["additiveExpression"],
2955
+ REGEX: ["additiveExpression"],
2956
+ EXISTS: ["additiveExpression"],
2957
+ NOT: ["additiveExpression"],
2958
+ IRI_REF: ["additiveExpression"],
2959
+ STRING_LITERAL1: ["additiveExpression"],
2960
+ STRING_LITERAL2: ["additiveExpression"],
2961
+ STRING_LITERAL_LONG1: ["additiveExpression"],
2962
+ STRING_LITERAL_LONG2: ["additiveExpression"],
2963
+ INTEGER: ["additiveExpression"],
2964
+ DECIMAL: ["additiveExpression"],
2965
+ DOUBLE: ["additiveExpression"],
2966
+ INTEGER_POSITIVE: ["additiveExpression"],
2967
+ DECIMAL_POSITIVE: ["additiveExpression"],
2968
+ DOUBLE_POSITIVE: ["additiveExpression"],
2969
+ INTEGER_NEGATIVE: ["additiveExpression"],
2970
+ DECIMAL_NEGATIVE: ["additiveExpression"],
2971
+ DOUBLE_NEGATIVE: ["additiveExpression"],
2972
+ PNAME_LN: ["additiveExpression"],
2973
+ PNAME_NS: ["additiveExpression"],
2974
+ },
2975
+ numericLiteral: {
2976
+ INTEGER: ["numericLiteralUnsigned"],
2977
+ DECIMAL: ["numericLiteralUnsigned"],
2978
+ DOUBLE: ["numericLiteralUnsigned"],
2979
+ INTEGER_POSITIVE: ["numericLiteralPositive"],
2980
+ DECIMAL_POSITIVE: ["numericLiteralPositive"],
2981
+ DOUBLE_POSITIVE: ["numericLiteralPositive"],
2982
+ INTEGER_NEGATIVE: ["numericLiteralNegative"],
2983
+ DECIMAL_NEGATIVE: ["numericLiteralNegative"],
2984
+ DOUBLE_NEGATIVE: ["numericLiteralNegative"],
2985
+ },
2986
+ numericLiteralNegative: {
2987
+ INTEGER_NEGATIVE: ["INTEGER_NEGATIVE"],
2988
+ DECIMAL_NEGATIVE: ["DECIMAL_NEGATIVE"],
2989
+ DOUBLE_NEGATIVE: ["DOUBLE_NEGATIVE"],
2990
+ },
2991
+ numericLiteralPositive: {
2992
+ INTEGER_POSITIVE: ["INTEGER_POSITIVE"],
2993
+ DECIMAL_POSITIVE: ["DECIMAL_POSITIVE"],
2994
+ DOUBLE_POSITIVE: ["DOUBLE_POSITIVE"],
2995
+ },
2996
+ numericLiteralUnsigned: {
2997
+ INTEGER: ["INTEGER"],
2998
+ DECIMAL: ["DECIMAL"],
2999
+ DOUBLE: ["DOUBLE"],
3000
+ },
3001
+ object: {
3002
+ "(": ["graphNode"],
3003
+ "[": ["graphNode"],
3004
+ VAR1: ["graphNode"],
3005
+ VAR2: ["graphNode"],
3006
+ NIL: ["graphNode"],
3007
+ IRI_REF: ["graphNode"],
3008
+ TRUE: ["graphNode"],
3009
+ FALSE: ["graphNode"],
3010
+ BLANK_NODE_LABEL: ["graphNode"],
3011
+ ANON: ["graphNode"],
3012
+ PNAME_LN: ["graphNode"],
3013
+ PNAME_NS: ["graphNode"],
3014
+ STRING_LITERAL1: ["graphNode"],
3015
+ STRING_LITERAL2: ["graphNode"],
3016
+ STRING_LITERAL_LONG1: ["graphNode"],
3017
+ STRING_LITERAL_LONG2: ["graphNode"],
3018
+ INTEGER: ["graphNode"],
3019
+ DECIMAL: ["graphNode"],
3020
+ DOUBLE: ["graphNode"],
3021
+ INTEGER_POSITIVE: ["graphNode"],
3022
+ DECIMAL_POSITIVE: ["graphNode"],
3023
+ DOUBLE_POSITIVE: ["graphNode"],
3024
+ INTEGER_NEGATIVE: ["graphNode"],
3025
+ DECIMAL_NEGATIVE: ["graphNode"],
3026
+ DOUBLE_NEGATIVE: ["graphNode"],
3027
+ },
3028
+ objectList: {
3029
+ "(": ["object", "*[,,object]"],
3030
+ "[": ["object", "*[,,object]"],
3031
+ VAR1: ["object", "*[,,object]"],
3032
+ VAR2: ["object", "*[,,object]"],
3033
+ NIL: ["object", "*[,,object]"],
3034
+ IRI_REF: ["object", "*[,,object]"],
3035
+ TRUE: ["object", "*[,,object]"],
3036
+ FALSE: ["object", "*[,,object]"],
3037
+ BLANK_NODE_LABEL: ["object", "*[,,object]"],
3038
+ ANON: ["object", "*[,,object]"],
3039
+ PNAME_LN: ["object", "*[,,object]"],
3040
+ PNAME_NS: ["object", "*[,,object]"],
3041
+ STRING_LITERAL1: ["object", "*[,,object]"],
3042
+ STRING_LITERAL2: ["object", "*[,,object]"],
3043
+ STRING_LITERAL_LONG1: ["object", "*[,,object]"],
3044
+ STRING_LITERAL_LONG2: ["object", "*[,,object]"],
3045
+ INTEGER: ["object", "*[,,object]"],
3046
+ DECIMAL: ["object", "*[,,object]"],
3047
+ DOUBLE: ["object", "*[,,object]"],
3048
+ INTEGER_POSITIVE: ["object", "*[,,object]"],
3049
+ DECIMAL_POSITIVE: ["object", "*[,,object]"],
3050
+ DOUBLE_POSITIVE: ["object", "*[,,object]"],
3051
+ INTEGER_NEGATIVE: ["object", "*[,,object]"],
3052
+ DECIMAL_NEGATIVE: ["object", "*[,,object]"],
3053
+ DOUBLE_NEGATIVE: ["object", "*[,,object]"],
3054
+ },
3055
+ objectListPath: {
3056
+ "(": ["objectPath", "*[,,objectPath]"],
3057
+ "[": ["objectPath", "*[,,objectPath]"],
3058
+ VAR1: ["objectPath", "*[,,objectPath]"],
3059
+ VAR2: ["objectPath", "*[,,objectPath]"],
3060
+ NIL: ["objectPath", "*[,,objectPath]"],
3061
+ IRI_REF: ["objectPath", "*[,,objectPath]"],
3062
+ TRUE: ["objectPath", "*[,,objectPath]"],
3063
+ FALSE: ["objectPath", "*[,,objectPath]"],
3064
+ BLANK_NODE_LABEL: ["objectPath", "*[,,objectPath]"],
3065
+ ANON: ["objectPath", "*[,,objectPath]"],
3066
+ PNAME_LN: ["objectPath", "*[,,objectPath]"],
3067
+ PNAME_NS: ["objectPath", "*[,,objectPath]"],
3068
+ STRING_LITERAL1: ["objectPath", "*[,,objectPath]"],
3069
+ STRING_LITERAL2: ["objectPath", "*[,,objectPath]"],
3070
+ STRING_LITERAL_LONG1: ["objectPath", "*[,,objectPath]"],
3071
+ STRING_LITERAL_LONG2: ["objectPath", "*[,,objectPath]"],
3072
+ INTEGER: ["objectPath", "*[,,objectPath]"],
3073
+ DECIMAL: ["objectPath", "*[,,objectPath]"],
3074
+ DOUBLE: ["objectPath", "*[,,objectPath]"],
3075
+ INTEGER_POSITIVE: ["objectPath", "*[,,objectPath]"],
3076
+ DECIMAL_POSITIVE: ["objectPath", "*[,,objectPath]"],
3077
+ DOUBLE_POSITIVE: ["objectPath", "*[,,objectPath]"],
3078
+ INTEGER_NEGATIVE: ["objectPath", "*[,,objectPath]"],
3079
+ DECIMAL_NEGATIVE: ["objectPath", "*[,,objectPath]"],
3080
+ DOUBLE_NEGATIVE: ["objectPath", "*[,,objectPath]"],
3081
+ },
3082
+ objectPath: {
3083
+ "(": ["graphNodePath"],
3084
+ "[": ["graphNodePath"],
3085
+ VAR1: ["graphNodePath"],
3086
+ VAR2: ["graphNodePath"],
3087
+ NIL: ["graphNodePath"],
3088
+ IRI_REF: ["graphNodePath"],
3089
+ TRUE: ["graphNodePath"],
3090
+ FALSE: ["graphNodePath"],
3091
+ BLANK_NODE_LABEL: ["graphNodePath"],
3092
+ ANON: ["graphNodePath"],
3093
+ PNAME_LN: ["graphNodePath"],
3094
+ PNAME_NS: ["graphNodePath"],
3095
+ STRING_LITERAL1: ["graphNodePath"],
3096
+ STRING_LITERAL2: ["graphNodePath"],
3097
+ STRING_LITERAL_LONG1: ["graphNodePath"],
3098
+ STRING_LITERAL_LONG2: ["graphNodePath"],
3099
+ INTEGER: ["graphNodePath"],
3100
+ DECIMAL: ["graphNodePath"],
3101
+ DOUBLE: ["graphNodePath"],
3102
+ INTEGER_POSITIVE: ["graphNodePath"],
3103
+ DECIMAL_POSITIVE: ["graphNodePath"],
3104
+ DOUBLE_POSITIVE: ["graphNodePath"],
3105
+ INTEGER_NEGATIVE: ["graphNodePath"],
3106
+ DECIMAL_NEGATIVE: ["graphNodePath"],
3107
+ DOUBLE_NEGATIVE: ["graphNodePath"],
3108
+ },
3109
+ offsetClause: { OFFSET: ["OFFSET", "INTEGER"] },
3110
+ optionalGraphPattern: { OPTIONAL: ["OPTIONAL", "groupGraphPattern"] },
3111
+ "or([*,expression])": {
3112
+ "*": ["*"],
3113
+ "!": ["expression"],
3114
+ "+": ["expression"],
3115
+ "-": ["expression"],
3116
+ VAR1: ["expression"],
3117
+ VAR2: ["expression"],
3118
+ "(": ["expression"],
3119
+ STR: ["expression"],
3120
+ LANG: ["expression"],
3121
+ LANGMATCHES: ["expression"],
3122
+ DATATYPE: ["expression"],
3123
+ BOUND: ["expression"],
3124
+ IRI: ["expression"],
3125
+ URI: ["expression"],
3126
+ BNODE: ["expression"],
3127
+ RAND: ["expression"],
3128
+ ABS: ["expression"],
3129
+ CEIL: ["expression"],
3130
+ FLOOR: ["expression"],
3131
+ ROUND: ["expression"],
3132
+ CONCAT: ["expression"],
3133
+ STRLEN: ["expression"],
3134
+ UCASE: ["expression"],
3135
+ LCASE: ["expression"],
3136
+ ENCODE_FOR_URI: ["expression"],
3137
+ CONTAINS: ["expression"],
3138
+ STRSTARTS: ["expression"],
3139
+ STRENDS: ["expression"],
3140
+ STRBEFORE: ["expression"],
3141
+ STRAFTER: ["expression"],
3142
+ YEAR: ["expression"],
3143
+ MONTH: ["expression"],
3144
+ DAY: ["expression"],
3145
+ HOURS: ["expression"],
3146
+ MINUTES: ["expression"],
3147
+ SECONDS: ["expression"],
3148
+ TIMEZONE: ["expression"],
3149
+ TZ: ["expression"],
3150
+ NOW: ["expression"],
3151
+ UUID: ["expression"],
3152
+ STRUUID: ["expression"],
3153
+ MD5: ["expression"],
3154
+ SHA1: ["expression"],
3155
+ SHA256: ["expression"],
3156
+ SHA384: ["expression"],
3157
+ SHA512: ["expression"],
3158
+ COALESCE: ["expression"],
3159
+ IF: ["expression"],
3160
+ STRLANG: ["expression"],
3161
+ STRDT: ["expression"],
3162
+ SAMETERM: ["expression"],
3163
+ ISIRI: ["expression"],
3164
+ ISURI: ["expression"],
3165
+ ISBLANK: ["expression"],
3166
+ ISLITERAL: ["expression"],
3167
+ ISNUMERIC: ["expression"],
3168
+ TRUE: ["expression"],
3169
+ FALSE: ["expression"],
3170
+ COUNT: ["expression"],
3171
+ SUM: ["expression"],
3172
+ MIN: ["expression"],
3173
+ MAX: ["expression"],
3174
+ AVG: ["expression"],
3175
+ SAMPLE: ["expression"],
3176
+ GROUP_CONCAT: ["expression"],
3177
+ SUBSTR: ["expression"],
3178
+ REPLACE: ["expression"],
3179
+ REGEX: ["expression"],
3180
+ EXISTS: ["expression"],
3181
+ NOT: ["expression"],
3182
+ IRI_REF: ["expression"],
3183
+ STRING_LITERAL1: ["expression"],
3184
+ STRING_LITERAL2: ["expression"],
3185
+ STRING_LITERAL_LONG1: ["expression"],
3186
+ STRING_LITERAL_LONG2: ["expression"],
3187
+ INTEGER: ["expression"],
3188
+ DECIMAL: ["expression"],
3189
+ DOUBLE: ["expression"],
3190
+ INTEGER_POSITIVE: ["expression"],
3191
+ DECIMAL_POSITIVE: ["expression"],
3192
+ DOUBLE_POSITIVE: ["expression"],
3193
+ INTEGER_NEGATIVE: ["expression"],
3194
+ DECIMAL_NEGATIVE: ["expression"],
3195
+ DOUBLE_NEGATIVE: ["expression"],
3196
+ PNAME_LN: ["expression"],
3197
+ PNAME_NS: ["expression"],
3198
+ },
3199
+ "or([+or([var,[ (,expression,AS,var,)]]),*])": {
3200
+ "(": ["+or([var,[ (,expression,AS,var,)]])"],
3201
+ VAR1: ["+or([var,[ (,expression,AS,var,)]])"],
3202
+ VAR2: ["+or([var,[ (,expression,AS,var,)]])"],
3203
+ "*": ["*"],
3204
+ },
3205
+ "or([+varOrIRIref,*])": {
3206
+ VAR1: ["+varOrIRIref"],
3207
+ VAR2: ["+varOrIRIref"],
3208
+ IRI_REF: ["+varOrIRIref"],
3209
+ PNAME_LN: ["+varOrIRIref"],
3210
+ PNAME_NS: ["+varOrIRIref"],
3211
+ "*": ["*"],
3212
+ },
3213
+ "or([ASC,DESC])": { ASC: ["ASC"], DESC: ["DESC"] },
3214
+ "or([DISTINCT,REDUCED])": { DISTINCT: ["DISTINCT"], REDUCED: ["REDUCED"] },
3215
+ "or([LANGTAG,[^^,iriRef]])": {
3216
+ LANGTAG: ["LANGTAG"],
3217
+ "^^": ["[^^,iriRef]"],
3218
+ },
3219
+ "or([NIL,[ (,*var,)]])": { NIL: ["NIL"], "(": ["[ (,*var,)]"] },
3220
+ "or([[ (,*dataBlockValue,)],NIL])": {
3221
+ "(": ["[ (,*dataBlockValue,)]"],
3222
+ NIL: ["NIL"],
3223
+ },
3224
+ "or([[ (,expression,)],NIL])": { "(": ["[ (,expression,)]"], NIL: ["NIL"] },
3225
+ "or([[*,unaryExpression],[/,unaryExpression]])": {
3226
+ "*": ["[*,unaryExpression]"],
3227
+ "/": ["[/,unaryExpression]"],
3228
+ },
3229
+ "or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])":
3230
+ {
3231
+ "+": ["[+,multiplicativeExpression]"],
3232
+ "-": ["[-,multiplicativeExpression]"],
3233
+ INTEGER_POSITIVE: [
3234
+ "[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]",
3235
+ ],
3236
+ DECIMAL_POSITIVE: [
3237
+ "[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]",
3238
+ ],
3239
+ DOUBLE_POSITIVE: [
3240
+ "[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]",
3241
+ ],
3242
+ INTEGER_NEGATIVE: [
3243
+ "[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]",
3244
+ ],
3245
+ DECIMAL_NEGATIVE: [
3246
+ "[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]",
3247
+ ],
3248
+ DOUBLE_NEGATIVE: [
3249
+ "[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]",
3250
+ ],
3251
+ },
3252
+ "or([[,,or([},[integer,}]])],}])": {
3253
+ ",": ["[,,or([},[integer,}]])]"],
3254
+ "}": ["}"],
3255
+ },
3256
+ "or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])":
3257
+ {
3258
+ "=": ["[=,numericExpression]"],
3259
+ "!=": ["[!=,numericExpression]"],
3260
+ "<": ["[<,numericExpression]"],
3261
+ ">": ["[>,numericExpression]"],
3262
+ "<=": ["[<=,numericExpression]"],
3263
+ ">=": ["[>=,numericExpression]"],
3264
+ IN: ["[IN,expressionList]"],
3265
+ NOT: ["[NOT,IN,expressionList]"],
3266
+ },
3267
+ "or([[constructTemplate,*datasetClause,whereClause,solutionModifier],[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]])":
3268
+ {
3269
+ "{": ["[constructTemplate,*datasetClause,whereClause,solutionModifier]"],
3270
+ WHERE: ["[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]"],
3271
+ FROM: ["[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]"],
3272
+ },
3273
+ "or([[deleteClause,?insertClause],insertClause])": {
3274
+ DELETE: ["[deleteClause,?insertClause]"],
3275
+ INSERT: ["insertClause"],
3276
+ },
3277
+ "or([[integer,or([[,,or([},[integer,}]])],}])],[,,integer,}]])": {
3278
+ INTEGER: ["[integer,or([[,,or([},[integer,}]])],}])]"],
3279
+ ",": ["[,,integer,}]"],
3280
+ },
3281
+ "or([baseDecl,prefixDecl])": { BASE: ["baseDecl"], PREFIX: ["prefixDecl"] },
3282
+ "or([defaultGraphClause,namedGraphClause])": {
3283
+ IRI_REF: ["defaultGraphClause"],
3284
+ PNAME_LN: ["defaultGraphClause"],
3285
+ PNAME_NS: ["defaultGraphClause"],
3286
+ NAMED: ["namedGraphClause"],
3287
+ },
3288
+ "or([inlineDataOneVar,inlineDataFull])": {
3289
+ VAR1: ["inlineDataOneVar"],
3290
+ VAR2: ["inlineDataOneVar"],
3291
+ NIL: ["inlineDataFull"],
3292
+ "(": ["inlineDataFull"],
3293
+ },
3294
+ "or([iriRef,[NAMED,iriRef]])": {
3295
+ IRI_REF: ["iriRef"],
3296
+ PNAME_LN: ["iriRef"],
3297
+ PNAME_NS: ["iriRef"],
3298
+ NAMED: ["[NAMED,iriRef]"],
3299
+ },
3300
+ "or([iriRef,a])": {
3301
+ IRI_REF: ["iriRef"],
3302
+ PNAME_LN: ["iriRef"],
3303
+ PNAME_NS: ["iriRef"],
3304
+ a: ["a"],
3305
+ },
3306
+ "or([numericLiteralPositive,numericLiteralNegative])": {
3307
+ INTEGER_POSITIVE: ["numericLiteralPositive"],
3308
+ DECIMAL_POSITIVE: ["numericLiteralPositive"],
3309
+ DOUBLE_POSITIVE: ["numericLiteralPositive"],
3310
+ INTEGER_NEGATIVE: ["numericLiteralNegative"],
3311
+ DECIMAL_NEGATIVE: ["numericLiteralNegative"],
3312
+ DOUBLE_NEGATIVE: ["numericLiteralNegative"],
3313
+ },
3314
+ "or([queryAll,updateAll])": {
3315
+ CONSTRUCT: ["queryAll"],
3316
+ DESCRIBE: ["queryAll"],
3317
+ ASK: ["queryAll"],
3318
+ SELECT: ["queryAll"],
3319
+ INSERT: ["updateAll"],
3320
+ DELETE: ["updateAll"],
3321
+ LOAD: ["updateAll"],
3322
+ CLEAR: ["updateAll"],
3323
+ DROP: ["updateAll"],
3324
+ ADD: ["updateAll"],
3325
+ MOVE: ["updateAll"],
3326
+ COPY: ["updateAll"],
3327
+ CREATE: ["updateAll"],
3328
+ WITH: ["updateAll"],
3329
+ $: ["updateAll"],
3330
+ },
3331
+ "or([selectQuery,constructQuery,describeQuery,askQuery])": {
3332
+ SELECT: ["selectQuery"],
3333
+ CONSTRUCT: ["constructQuery"],
3334
+ DESCRIBE: ["describeQuery"],
3335
+ ASK: ["askQuery"],
3336
+ },
3337
+ "or([subSelect,groupGraphPatternSub])": {
3338
+ SELECT: ["subSelect"],
3339
+ "{": ["groupGraphPatternSub"],
3340
+ OPTIONAL: ["groupGraphPatternSub"],
3341
+ MINUS: ["groupGraphPatternSub"],
3342
+ GRAPH: ["groupGraphPatternSub"],
3343
+ SERVICE: ["groupGraphPatternSub"],
3344
+ FILTER: ["groupGraphPatternSub"],
3345
+ BIND: ["groupGraphPatternSub"],
3346
+ VALUES: ["groupGraphPatternSub"],
3347
+ VAR1: ["groupGraphPatternSub"],
3348
+ VAR2: ["groupGraphPatternSub"],
3349
+ NIL: ["groupGraphPatternSub"],
3350
+ "(": ["groupGraphPatternSub"],
3351
+ "[": ["groupGraphPatternSub"],
3352
+ IRI_REF: ["groupGraphPatternSub"],
3353
+ TRUE: ["groupGraphPatternSub"],
3354
+ FALSE: ["groupGraphPatternSub"],
3355
+ BLANK_NODE_LABEL: ["groupGraphPatternSub"],
3356
+ ANON: ["groupGraphPatternSub"],
3357
+ PNAME_LN: ["groupGraphPatternSub"],
3358
+ PNAME_NS: ["groupGraphPatternSub"],
3359
+ STRING_LITERAL1: ["groupGraphPatternSub"],
3360
+ STRING_LITERAL2: ["groupGraphPatternSub"],
3361
+ STRING_LITERAL_LONG1: ["groupGraphPatternSub"],
3362
+ STRING_LITERAL_LONG2: ["groupGraphPatternSub"],
3363
+ INTEGER: ["groupGraphPatternSub"],
3364
+ DECIMAL: ["groupGraphPatternSub"],
3365
+ DOUBLE: ["groupGraphPatternSub"],
3366
+ INTEGER_POSITIVE: ["groupGraphPatternSub"],
3367
+ DECIMAL_POSITIVE: ["groupGraphPatternSub"],
3368
+ DOUBLE_POSITIVE: ["groupGraphPatternSub"],
3369
+ INTEGER_NEGATIVE: ["groupGraphPatternSub"],
3370
+ DECIMAL_NEGATIVE: ["groupGraphPatternSub"],
3371
+ DOUBLE_NEGATIVE: ["groupGraphPatternSub"],
3372
+ "}": ["groupGraphPatternSub"],
3373
+ },
3374
+ "or([var,[ (,expression,AS,var,)]])": {
3375
+ VAR1: ["var"],
3376
+ VAR2: ["var"],
3377
+ "(": ["[ (,expression,AS,var,)]"],
3378
+ },
3379
+ "or([verbPath,verbSimple])": {
3380
+ "^": ["verbPath"],
3381
+ a: ["verbPath"],
3382
+ "!": ["verbPath"],
3383
+ "(": ["verbPath"],
3384
+ IRI_REF: ["verbPath"],
3385
+ PNAME_LN: ["verbPath"],
3386
+ PNAME_NS: ["verbPath"],
3387
+ VAR1: ["verbSimple"],
3388
+ VAR2: ["verbSimple"],
3389
+ },
3390
+ "or([},[integer,}]])": { "}": ["}"], INTEGER: ["[integer,}]"] },
3391
+ orderClause: { ORDER: ["ORDER", "BY", "+orderCondition"] },
3392
+ orderCondition: {
3393
+ ASC: ["or([ASC,DESC])", "brackettedExpression"],
3394
+ DESC: ["or([ASC,DESC])", "brackettedExpression"],
3395
+ "(": ["constraint"],
3396
+ STR: ["constraint"],
3397
+ LANG: ["constraint"],
3398
+ LANGMATCHES: ["constraint"],
3399
+ DATATYPE: ["constraint"],
3400
+ BOUND: ["constraint"],
3401
+ IRI: ["constraint"],
3402
+ URI: ["constraint"],
3403
+ BNODE: ["constraint"],
3404
+ RAND: ["constraint"],
3405
+ ABS: ["constraint"],
3406
+ CEIL: ["constraint"],
3407
+ FLOOR: ["constraint"],
3408
+ ROUND: ["constraint"],
3409
+ CONCAT: ["constraint"],
3410
+ STRLEN: ["constraint"],
3411
+ UCASE: ["constraint"],
3412
+ LCASE: ["constraint"],
3413
+ ENCODE_FOR_URI: ["constraint"],
3414
+ CONTAINS: ["constraint"],
3415
+ STRSTARTS: ["constraint"],
3416
+ STRENDS: ["constraint"],
3417
+ STRBEFORE: ["constraint"],
3418
+ STRAFTER: ["constraint"],
3419
+ YEAR: ["constraint"],
3420
+ MONTH: ["constraint"],
3421
+ DAY: ["constraint"],
3422
+ HOURS: ["constraint"],
3423
+ MINUTES: ["constraint"],
3424
+ SECONDS: ["constraint"],
3425
+ TIMEZONE: ["constraint"],
3426
+ TZ: ["constraint"],
3427
+ NOW: ["constraint"],
3428
+ UUID: ["constraint"],
3429
+ STRUUID: ["constraint"],
3430
+ MD5: ["constraint"],
3431
+ SHA1: ["constraint"],
3432
+ SHA256: ["constraint"],
3433
+ SHA384: ["constraint"],
3434
+ SHA512: ["constraint"],
3435
+ COALESCE: ["constraint"],
3436
+ IF: ["constraint"],
3437
+ STRLANG: ["constraint"],
3438
+ STRDT: ["constraint"],
3439
+ SAMETERM: ["constraint"],
3440
+ ISIRI: ["constraint"],
3441
+ ISURI: ["constraint"],
3442
+ ISBLANK: ["constraint"],
3443
+ ISLITERAL: ["constraint"],
3444
+ ISNUMERIC: ["constraint"],
3445
+ SUBSTR: ["constraint"],
3446
+ REPLACE: ["constraint"],
3447
+ REGEX: ["constraint"],
3448
+ EXISTS: ["constraint"],
3449
+ NOT: ["constraint"],
3450
+ IRI_REF: ["constraint"],
3451
+ PNAME_LN: ["constraint"],
3452
+ PNAME_NS: ["constraint"],
3453
+ VAR1: ["var"],
3454
+ VAR2: ["var"],
3455
+ },
3456
+ path: {
3457
+ "^": ["pathAlternative"],
3458
+ a: ["pathAlternative"],
3459
+ "!": ["pathAlternative"],
3460
+ "(": ["pathAlternative"],
3461
+ IRI_REF: ["pathAlternative"],
3462
+ PNAME_LN: ["pathAlternative"],
3463
+ PNAME_NS: ["pathAlternative"],
3464
+ },
3465
+ pathAlternative: {
3466
+ "^": ["pathSequence", "*[|,pathSequence]"],
3467
+ a: ["pathSequence", "*[|,pathSequence]"],
3468
+ "!": ["pathSequence", "*[|,pathSequence]"],
3469
+ "(": ["pathSequence", "*[|,pathSequence]"],
3470
+ IRI_REF: ["pathSequence", "*[|,pathSequence]"],
3471
+ PNAME_LN: ["pathSequence", "*[|,pathSequence]"],
3472
+ PNAME_NS: ["pathSequence", "*[|,pathSequence]"],
3473
+ },
3474
+ pathElt: {
3475
+ a: ["pathPrimary", "?pathMod"],
3476
+ "!": ["pathPrimary", "?pathMod"],
3477
+ "(": ["pathPrimary", "?pathMod"],
3478
+ IRI_REF: ["pathPrimary", "?pathMod"],
3479
+ PNAME_LN: ["pathPrimary", "?pathMod"],
3480
+ PNAME_NS: ["pathPrimary", "?pathMod"],
3481
+ },
3482
+ pathEltOrInverse: {
3483
+ a: ["pathElt"],
3484
+ "!": ["pathElt"],
3485
+ "(": ["pathElt"],
3486
+ IRI_REF: ["pathElt"],
3487
+ PNAME_LN: ["pathElt"],
3488
+ PNAME_NS: ["pathElt"],
3489
+ "^": ["^", "pathElt"],
3490
+ },
3491
+ pathMod: {
3492
+ "*": ["*"],
3493
+ "?": ["?"],
3494
+ "+": ["+"],
3495
+ "{": ["{", "or([[integer,or([[,,or([},[integer,}]])],}])],[,,integer,}]])"],
3496
+ },
3497
+ pathNegatedPropertySet: {
3498
+ a: ["pathOneInPropertySet"],
3499
+ "^": ["pathOneInPropertySet"],
3500
+ IRI_REF: ["pathOneInPropertySet"],
3501
+ PNAME_LN: ["pathOneInPropertySet"],
3502
+ PNAME_NS: ["pathOneInPropertySet"],
3503
+ "(": ["(", "?[pathOneInPropertySet,*[|,pathOneInPropertySet]]", ")"],
3504
+ },
3505
+ pathOneInPropertySet: {
3506
+ IRI_REF: ["iriRef"],
3507
+ PNAME_LN: ["iriRef"],
3508
+ PNAME_NS: ["iriRef"],
3509
+ a: ["a"],
3510
+ "^": ["^", "or([iriRef,a])"],
3511
+ },
3512
+ pathPrimary: {
3513
+ IRI_REF: ["storeProperty", "iriRef"],
3514
+ PNAME_LN: ["storeProperty", "iriRef"],
3515
+ PNAME_NS: ["storeProperty", "iriRef"],
3516
+ a: ["storeProperty", "a"],
3517
+ "!": ["!", "pathNegatedPropertySet"],
3518
+ "(": ["(", "path", ")"],
3519
+ },
3520
+ pathSequence: {
3521
+ "^": ["pathEltOrInverse", "*[/,pathEltOrInverse]"],
3522
+ a: ["pathEltOrInverse", "*[/,pathEltOrInverse]"],
3523
+ "!": ["pathEltOrInverse", "*[/,pathEltOrInverse]"],
3524
+ "(": ["pathEltOrInverse", "*[/,pathEltOrInverse]"],
3525
+ IRI_REF: ["pathEltOrInverse", "*[/,pathEltOrInverse]"],
3526
+ PNAME_LN: ["pathEltOrInverse", "*[/,pathEltOrInverse]"],
3527
+ PNAME_NS: ["pathEltOrInverse", "*[/,pathEltOrInverse]"],
3528
+ },
3529
+ prefixDecl: { PREFIX: ["PREFIX", "PNAME_NS", "IRI_REF"] },
3530
+ prefixedName: { PNAME_LN: ["PNAME_LN"], PNAME_NS: ["PNAME_NS"] },
3531
+ primaryExpression: {
3532
+ "(": ["brackettedExpression"],
3533
+ STR: ["builtInCall"],
3534
+ LANG: ["builtInCall"],
3535
+ LANGMATCHES: ["builtInCall"],
3536
+ DATATYPE: ["builtInCall"],
3537
+ BOUND: ["builtInCall"],
3538
+ IRI: ["builtInCall"],
3539
+ URI: ["builtInCall"],
3540
+ BNODE: ["builtInCall"],
3541
+ RAND: ["builtInCall"],
3542
+ ABS: ["builtInCall"],
3543
+ CEIL: ["builtInCall"],
3544
+ FLOOR: ["builtInCall"],
3545
+ ROUND: ["builtInCall"],
3546
+ CONCAT: ["builtInCall"],
3547
+ STRLEN: ["builtInCall"],
3548
+ UCASE: ["builtInCall"],
3549
+ LCASE: ["builtInCall"],
3550
+ ENCODE_FOR_URI: ["builtInCall"],
3551
+ CONTAINS: ["builtInCall"],
3552
+ STRSTARTS: ["builtInCall"],
3553
+ STRENDS: ["builtInCall"],
3554
+ STRBEFORE: ["builtInCall"],
3555
+ STRAFTER: ["builtInCall"],
3556
+ YEAR: ["builtInCall"],
3557
+ MONTH: ["builtInCall"],
3558
+ DAY: ["builtInCall"],
3559
+ HOURS: ["builtInCall"],
3560
+ MINUTES: ["builtInCall"],
3561
+ SECONDS: ["builtInCall"],
3562
+ TIMEZONE: ["builtInCall"],
3563
+ TZ: ["builtInCall"],
3564
+ NOW: ["builtInCall"],
3565
+ UUID: ["builtInCall"],
3566
+ STRUUID: ["builtInCall"],
3567
+ MD5: ["builtInCall"],
3568
+ SHA1: ["builtInCall"],
3569
+ SHA256: ["builtInCall"],
3570
+ SHA384: ["builtInCall"],
3571
+ SHA512: ["builtInCall"],
3572
+ COALESCE: ["builtInCall"],
3573
+ IF: ["builtInCall"],
3574
+ STRLANG: ["builtInCall"],
3575
+ STRDT: ["builtInCall"],
3576
+ SAMETERM: ["builtInCall"],
3577
+ ISIRI: ["builtInCall"],
3578
+ ISURI: ["builtInCall"],
3579
+ ISBLANK: ["builtInCall"],
3580
+ ISLITERAL: ["builtInCall"],
3581
+ ISNUMERIC: ["builtInCall"],
3582
+ SUBSTR: ["builtInCall"],
3583
+ REPLACE: ["builtInCall"],
3584
+ REGEX: ["builtInCall"],
3585
+ EXISTS: ["builtInCall"],
3586
+ NOT: ["builtInCall"],
3587
+ IRI_REF: ["iriRefOrFunction"],
3588
+ PNAME_LN: ["iriRefOrFunction"],
3589
+ PNAME_NS: ["iriRefOrFunction"],
3590
+ STRING_LITERAL1: ["rdfLiteral"],
3591
+ STRING_LITERAL2: ["rdfLiteral"],
3592
+ STRING_LITERAL_LONG1: ["rdfLiteral"],
3593
+ STRING_LITERAL_LONG2: ["rdfLiteral"],
3594
+ INTEGER: ["numericLiteral"],
3595
+ DECIMAL: ["numericLiteral"],
3596
+ DOUBLE: ["numericLiteral"],
3597
+ INTEGER_POSITIVE: ["numericLiteral"],
3598
+ DECIMAL_POSITIVE: ["numericLiteral"],
3599
+ DOUBLE_POSITIVE: ["numericLiteral"],
3600
+ INTEGER_NEGATIVE: ["numericLiteral"],
3601
+ DECIMAL_NEGATIVE: ["numericLiteral"],
3602
+ DOUBLE_NEGATIVE: ["numericLiteral"],
3603
+ TRUE: ["booleanLiteral"],
3604
+ FALSE: ["booleanLiteral"],
3605
+ VAR1: ["var"],
3606
+ VAR2: ["var"],
3607
+ COUNT: ["aggregate"],
3608
+ SUM: ["aggregate"],
3609
+ MIN: ["aggregate"],
3610
+ MAX: ["aggregate"],
3611
+ AVG: ["aggregate"],
3612
+ SAMPLE: ["aggregate"],
3613
+ GROUP_CONCAT: ["aggregate"],
3614
+ },
3615
+ prologue: {
3616
+ BASE: ["*or([baseDecl,prefixDecl])"],
3617
+ PREFIX: ["*or([baseDecl,prefixDecl])"],
3618
+ $: ["*or([baseDecl,prefixDecl])"],
3619
+ CONSTRUCT: ["*or([baseDecl,prefixDecl])"],
3620
+ DESCRIBE: ["*or([baseDecl,prefixDecl])"],
3621
+ ASK: ["*or([baseDecl,prefixDecl])"],
3622
+ INSERT: ["*or([baseDecl,prefixDecl])"],
3623
+ DELETE: ["*or([baseDecl,prefixDecl])"],
3624
+ SELECT: ["*or([baseDecl,prefixDecl])"],
3625
+ LOAD: ["*or([baseDecl,prefixDecl])"],
3626
+ CLEAR: ["*or([baseDecl,prefixDecl])"],
3627
+ DROP: ["*or([baseDecl,prefixDecl])"],
3628
+ ADD: ["*or([baseDecl,prefixDecl])"],
3629
+ MOVE: ["*or([baseDecl,prefixDecl])"],
3630
+ COPY: ["*or([baseDecl,prefixDecl])"],
3631
+ CREATE: ["*or([baseDecl,prefixDecl])"],
3632
+ WITH: ["*or([baseDecl,prefixDecl])"],
3633
+ },
3634
+ propertyList: {
3635
+ a: ["propertyListNotEmpty"],
3636
+ VAR1: ["propertyListNotEmpty"],
3637
+ VAR2: ["propertyListNotEmpty"],
3638
+ IRI_REF: ["propertyListNotEmpty"],
3639
+ PNAME_LN: ["propertyListNotEmpty"],
3640
+ PNAME_NS: ["propertyListNotEmpty"],
3641
+ ".": [],
3642
+ "}": [],
3643
+ GRAPH: [],
3644
+ },
3645
+ propertyListNotEmpty: {
3646
+ a: ["verb", "objectList", "*[;,?[verb,objectList]]"],
3647
+ VAR1: ["verb", "objectList", "*[;,?[verb,objectList]]"],
3648
+ VAR2: ["verb", "objectList", "*[;,?[verb,objectList]]"],
3649
+ IRI_REF: ["verb", "objectList", "*[;,?[verb,objectList]]"],
3650
+ PNAME_LN: ["verb", "objectList", "*[;,?[verb,objectList]]"],
3651
+ PNAME_NS: ["verb", "objectList", "*[;,?[verb,objectList]]"],
3652
+ },
3653
+ propertyListPath: {
3654
+ a: ["propertyListNotEmpty"],
3655
+ VAR1: ["propertyListNotEmpty"],
3656
+ VAR2: ["propertyListNotEmpty"],
3657
+ IRI_REF: ["propertyListNotEmpty"],
3658
+ PNAME_LN: ["propertyListNotEmpty"],
3659
+ PNAME_NS: ["propertyListNotEmpty"],
3660
+ ".": [],
3661
+ "{": [],
3662
+ OPTIONAL: [],
3663
+ MINUS: [],
3664
+ GRAPH: [],
3665
+ SERVICE: [],
3666
+ FILTER: [],
3667
+ BIND: [],
3668
+ VALUES: [],
3669
+ "}": [],
3670
+ },
3671
+ propertyListPathNotEmpty: {
3672
+ VAR1: ["or([verbPath,verbSimple])", "objectListPath", "*[;,?[or([verbPath,verbSimple]),objectList]]"],
3673
+ VAR2: ["or([verbPath,verbSimple])", "objectListPath", "*[;,?[or([verbPath,verbSimple]),objectList]]"],
3674
+ "^": ["or([verbPath,verbSimple])", "objectListPath", "*[;,?[or([verbPath,verbSimple]),objectList]]"],
3675
+ a: ["or([verbPath,verbSimple])", "objectListPath", "*[;,?[or([verbPath,verbSimple]),objectList]]"],
3676
+ "!": ["or([verbPath,verbSimple])", "objectListPath", "*[;,?[or([verbPath,verbSimple]),objectList]]"],
3677
+ "(": ["or([verbPath,verbSimple])", "objectListPath", "*[;,?[or([verbPath,verbSimple]),objectList]]"],
3678
+ IRI_REF: ["or([verbPath,verbSimple])", "objectListPath", "*[;,?[or([verbPath,verbSimple]),objectList]]"],
3679
+ PNAME_LN: ["or([verbPath,verbSimple])", "objectListPath", "*[;,?[or([verbPath,verbSimple]),objectList]]"],
3680
+ PNAME_NS: ["or([verbPath,verbSimple])", "objectListPath", "*[;,?[or([verbPath,verbSimple]),objectList]]"],
3681
+ },
3682
+ quadData: { "{": ["{", "disallowVars", "quads", "allowVars", "}"] },
3683
+ quadDataNoBnodes: {
3684
+ "{": ["{", "disallowBnodes", "disallowVars", "quads", "allowVars", "allowBnodes", "}"],
3685
+ },
3686
+ quadPattern: { "{": ["{", "quads", "}"] },
3687
+ quadPatternNoBnodes: {
3688
+ "{": ["{", "disallowBnodes", "quads", "allowBnodes", "}"],
3689
+ },
3690
+ quads: {
3691
+ GRAPH: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3692
+ VAR1: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3693
+ VAR2: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3694
+ NIL: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3695
+ "(": ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3696
+ "[": ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3697
+ IRI_REF: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3698
+ TRUE: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3699
+ FALSE: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3700
+ BLANK_NODE_LABEL: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3701
+ ANON: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3702
+ PNAME_LN: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3703
+ PNAME_NS: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3704
+ STRING_LITERAL1: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3705
+ STRING_LITERAL2: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3706
+ STRING_LITERAL_LONG1: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3707
+ STRING_LITERAL_LONG2: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3708
+ INTEGER: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3709
+ DECIMAL: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3710
+ DOUBLE: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3711
+ INTEGER_POSITIVE: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3712
+ DECIMAL_POSITIVE: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3713
+ DOUBLE_POSITIVE: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3714
+ INTEGER_NEGATIVE: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3715
+ DECIMAL_NEGATIVE: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3716
+ DOUBLE_NEGATIVE: ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3717
+ "}": ["?triplesTemplate", "*[quadsNotTriples,?.,?triplesTemplate]"],
3718
+ },
3719
+ quadsNotTriples: {
3720
+ GRAPH: ["GRAPH", "varOrIRIref", "{", "?triplesTemplate", "}"],
3721
+ },
3722
+ queryAll: {
3723
+ CONSTRUCT: ["or([selectQuery,constructQuery,describeQuery,askQuery])", "valuesClause"],
3724
+ DESCRIBE: ["or([selectQuery,constructQuery,describeQuery,askQuery])", "valuesClause"],
3725
+ ASK: ["or([selectQuery,constructQuery,describeQuery,askQuery])", "valuesClause"],
3726
+ SELECT: ["or([selectQuery,constructQuery,describeQuery,askQuery])", "valuesClause"],
3727
+ },
3728
+ rdfLiteral: {
3729
+ STRING_LITERAL1: ["string", "?or([LANGTAG,[^^,iriRef]])"],
3730
+ STRING_LITERAL2: ["string", "?or([LANGTAG,[^^,iriRef]])"],
3731
+ STRING_LITERAL_LONG1: ["string", "?or([LANGTAG,[^^,iriRef]])"],
3732
+ STRING_LITERAL_LONG2: ["string", "?or([LANGTAG,[^^,iriRef]])"],
3733
+ },
3734
+ regexExpression: {
3735
+ REGEX: ["REGEX", "(", "expression", ",", "expression", "?[,,expression]", ")"],
3736
+ },
3737
+ relationalExpression: {
3738
+ "!": [
3739
+ "numericExpression",
3740
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3741
+ ],
3742
+ "+": [
3743
+ "numericExpression",
3744
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3745
+ ],
3746
+ "-": [
3747
+ "numericExpression",
3748
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3749
+ ],
3750
+ VAR1: [
3751
+ "numericExpression",
3752
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3753
+ ],
3754
+ VAR2: [
3755
+ "numericExpression",
3756
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3757
+ ],
3758
+ "(": [
3759
+ "numericExpression",
3760
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3761
+ ],
3762
+ STR: [
3763
+ "numericExpression",
3764
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3765
+ ],
3766
+ LANG: [
3767
+ "numericExpression",
3768
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3769
+ ],
3770
+ LANGMATCHES: [
3771
+ "numericExpression",
3772
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3773
+ ],
3774
+ DATATYPE: [
3775
+ "numericExpression",
3776
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3777
+ ],
3778
+ BOUND: [
3779
+ "numericExpression",
3780
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3781
+ ],
3782
+ IRI: [
3783
+ "numericExpression",
3784
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3785
+ ],
3786
+ URI: [
3787
+ "numericExpression",
3788
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3789
+ ],
3790
+ BNODE: [
3791
+ "numericExpression",
3792
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3793
+ ],
3794
+ RAND: [
3795
+ "numericExpression",
3796
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3797
+ ],
3798
+ ABS: [
3799
+ "numericExpression",
3800
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3801
+ ],
3802
+ CEIL: [
3803
+ "numericExpression",
3804
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3805
+ ],
3806
+ FLOOR: [
3807
+ "numericExpression",
3808
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3809
+ ],
3810
+ ROUND: [
3811
+ "numericExpression",
3812
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3813
+ ],
3814
+ CONCAT: [
3815
+ "numericExpression",
3816
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3817
+ ],
3818
+ STRLEN: [
3819
+ "numericExpression",
3820
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3821
+ ],
3822
+ UCASE: [
3823
+ "numericExpression",
3824
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3825
+ ],
3826
+ LCASE: [
3827
+ "numericExpression",
3828
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3829
+ ],
3830
+ ENCODE_FOR_URI: [
3831
+ "numericExpression",
3832
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3833
+ ],
3834
+ CONTAINS: [
3835
+ "numericExpression",
3836
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3837
+ ],
3838
+ STRSTARTS: [
3839
+ "numericExpression",
3840
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3841
+ ],
3842
+ STRENDS: [
3843
+ "numericExpression",
3844
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3845
+ ],
3846
+ STRBEFORE: [
3847
+ "numericExpression",
3848
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3849
+ ],
3850
+ STRAFTER: [
3851
+ "numericExpression",
3852
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3853
+ ],
3854
+ YEAR: [
3855
+ "numericExpression",
3856
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3857
+ ],
3858
+ MONTH: [
3859
+ "numericExpression",
3860
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3861
+ ],
3862
+ DAY: [
3863
+ "numericExpression",
3864
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3865
+ ],
3866
+ HOURS: [
3867
+ "numericExpression",
3868
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3869
+ ],
3870
+ MINUTES: [
3871
+ "numericExpression",
3872
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3873
+ ],
3874
+ SECONDS: [
3875
+ "numericExpression",
3876
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3877
+ ],
3878
+ TIMEZONE: [
3879
+ "numericExpression",
3880
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3881
+ ],
3882
+ TZ: [
3883
+ "numericExpression",
3884
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3885
+ ],
3886
+ NOW: [
3887
+ "numericExpression",
3888
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3889
+ ],
3890
+ UUID: [
3891
+ "numericExpression",
3892
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3893
+ ],
3894
+ STRUUID: [
3895
+ "numericExpression",
3896
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3897
+ ],
3898
+ MD5: [
3899
+ "numericExpression",
3900
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3901
+ ],
3902
+ SHA1: [
3903
+ "numericExpression",
3904
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3905
+ ],
3906
+ SHA256: [
3907
+ "numericExpression",
3908
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3909
+ ],
3910
+ SHA384: [
3911
+ "numericExpression",
3912
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3913
+ ],
3914
+ SHA512: [
3915
+ "numericExpression",
3916
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3917
+ ],
3918
+ COALESCE: [
3919
+ "numericExpression",
3920
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3921
+ ],
3922
+ IF: [
3923
+ "numericExpression",
3924
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3925
+ ],
3926
+ STRLANG: [
3927
+ "numericExpression",
3928
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3929
+ ],
3930
+ STRDT: [
3931
+ "numericExpression",
3932
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3933
+ ],
3934
+ SAMETERM: [
3935
+ "numericExpression",
3936
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3937
+ ],
3938
+ ISIRI: [
3939
+ "numericExpression",
3940
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3941
+ ],
3942
+ ISURI: [
3943
+ "numericExpression",
3944
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3945
+ ],
3946
+ ISBLANK: [
3947
+ "numericExpression",
3948
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3949
+ ],
3950
+ ISLITERAL: [
3951
+ "numericExpression",
3952
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3953
+ ],
3954
+ ISNUMERIC: [
3955
+ "numericExpression",
3956
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3957
+ ],
3958
+ TRUE: [
3959
+ "numericExpression",
3960
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3961
+ ],
3962
+ FALSE: [
3963
+ "numericExpression",
3964
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3965
+ ],
3966
+ COUNT: [
3967
+ "numericExpression",
3968
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3969
+ ],
3970
+ SUM: [
3971
+ "numericExpression",
3972
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3973
+ ],
3974
+ MIN: [
3975
+ "numericExpression",
3976
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3977
+ ],
3978
+ MAX: [
3979
+ "numericExpression",
3980
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3981
+ ],
3982
+ AVG: [
3983
+ "numericExpression",
3984
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3985
+ ],
3986
+ SAMPLE: [
3987
+ "numericExpression",
3988
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3989
+ ],
3990
+ GROUP_CONCAT: [
3991
+ "numericExpression",
3992
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3993
+ ],
3994
+ SUBSTR: [
3995
+ "numericExpression",
3996
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
3997
+ ],
3998
+ REPLACE: [
3999
+ "numericExpression",
4000
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4001
+ ],
4002
+ REGEX: [
4003
+ "numericExpression",
4004
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4005
+ ],
4006
+ EXISTS: [
4007
+ "numericExpression",
4008
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4009
+ ],
4010
+ NOT: [
4011
+ "numericExpression",
4012
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4013
+ ],
4014
+ IRI_REF: [
4015
+ "numericExpression",
4016
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4017
+ ],
4018
+ STRING_LITERAL1: [
4019
+ "numericExpression",
4020
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4021
+ ],
4022
+ STRING_LITERAL2: [
4023
+ "numericExpression",
4024
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4025
+ ],
4026
+ STRING_LITERAL_LONG1: [
4027
+ "numericExpression",
4028
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4029
+ ],
4030
+ STRING_LITERAL_LONG2: [
4031
+ "numericExpression",
4032
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4033
+ ],
4034
+ INTEGER: [
4035
+ "numericExpression",
4036
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4037
+ ],
4038
+ DECIMAL: [
4039
+ "numericExpression",
4040
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4041
+ ],
4042
+ DOUBLE: [
4043
+ "numericExpression",
4044
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4045
+ ],
4046
+ INTEGER_POSITIVE: [
4047
+ "numericExpression",
4048
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4049
+ ],
4050
+ DECIMAL_POSITIVE: [
4051
+ "numericExpression",
4052
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4053
+ ],
4054
+ DOUBLE_POSITIVE: [
4055
+ "numericExpression",
4056
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4057
+ ],
4058
+ INTEGER_NEGATIVE: [
4059
+ "numericExpression",
4060
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4061
+ ],
4062
+ DECIMAL_NEGATIVE: [
4063
+ "numericExpression",
4064
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4065
+ ],
4066
+ DOUBLE_NEGATIVE: [
4067
+ "numericExpression",
4068
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4069
+ ],
4070
+ PNAME_LN: [
4071
+ "numericExpression",
4072
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4073
+ ],
4074
+ PNAME_NS: [
4075
+ "numericExpression",
4076
+ "?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])",
4077
+ ],
4078
+ },
4079
+ selectClause: {
4080
+ SELECT: ["SELECT", "?or([DISTINCT,REDUCED])", "or([+or([var,[ (,expression,AS,var,)]]),*])"],
4081
+ },
4082
+ selectQuery: {
4083
+ SELECT: ["selectClause", "*datasetClause", "whereClause", "solutionModifier"],
4084
+ },
4085
+ serviceGraphPattern: {
4086
+ SERVICE: ["SERVICE", "?SILENT", "varOrIRIref", "groupGraphPattern"],
4087
+ },
4088
+ solutionModifier: {
4089
+ LIMIT: ["?groupClause", "?havingClause", "?orderClause", "?limitOffsetClauses"],
4090
+ OFFSET: ["?groupClause", "?havingClause", "?orderClause", "?limitOffsetClauses"],
4091
+ ORDER: ["?groupClause", "?havingClause", "?orderClause", "?limitOffsetClauses"],
4092
+ HAVING: ["?groupClause", "?havingClause", "?orderClause", "?limitOffsetClauses"],
4093
+ GROUP: ["?groupClause", "?havingClause", "?orderClause", "?limitOffsetClauses"],
4094
+ VALUES: ["?groupClause", "?havingClause", "?orderClause", "?limitOffsetClauses"],
4095
+ $: ["?groupClause", "?havingClause", "?orderClause", "?limitOffsetClauses"],
4096
+ "}": ["?groupClause", "?havingClause", "?orderClause", "?limitOffsetClauses"],
4097
+ },
4098
+ sourceSelector: {
4099
+ IRI_REF: ["iriRef"],
4100
+ PNAME_LN: ["iriRef"],
4101
+ PNAME_NS: ["iriRef"],
4102
+ },
4103
+ sparql11: {
4104
+ $: ["prologue", "or([queryAll,updateAll])", "$"],
4105
+ CONSTRUCT: ["prologue", "or([queryAll,updateAll])", "$"],
4106
+ DESCRIBE: ["prologue", "or([queryAll,updateAll])", "$"],
4107
+ ASK: ["prologue", "or([queryAll,updateAll])", "$"],
4108
+ INSERT: ["prologue", "or([queryAll,updateAll])", "$"],
4109
+ DELETE: ["prologue", "or([queryAll,updateAll])", "$"],
4110
+ SELECT: ["prologue", "or([queryAll,updateAll])", "$"],
4111
+ LOAD: ["prologue", "or([queryAll,updateAll])", "$"],
4112
+ CLEAR: ["prologue", "or([queryAll,updateAll])", "$"],
4113
+ DROP: ["prologue", "or([queryAll,updateAll])", "$"],
4114
+ ADD: ["prologue", "or([queryAll,updateAll])", "$"],
4115
+ MOVE: ["prologue", "or([queryAll,updateAll])", "$"],
4116
+ COPY: ["prologue", "or([queryAll,updateAll])", "$"],
4117
+ CREATE: ["prologue", "or([queryAll,updateAll])", "$"],
4118
+ WITH: ["prologue", "or([queryAll,updateAll])", "$"],
4119
+ BASE: ["prologue", "or([queryAll,updateAll])", "$"],
4120
+ PREFIX: ["prologue", "or([queryAll,updateAll])", "$"],
4121
+ },
4122
+ storeProperty: {
4123
+ VAR1: [],
4124
+ VAR2: [],
4125
+ IRI_REF: [],
4126
+ PNAME_LN: [],
4127
+ PNAME_NS: [],
4128
+ a: [],
4129
+ },
4130
+ strReplaceExpression: {
4131
+ REPLACE: ["REPLACE", "(", "expression", ",", "expression", ",", "expression", "?[,,expression]", ")"],
4132
+ },
4133
+ string: {
4134
+ STRING_LITERAL1: ["STRING_LITERAL1"],
4135
+ STRING_LITERAL2: ["STRING_LITERAL2"],
4136
+ STRING_LITERAL_LONG1: ["STRING_LITERAL_LONG1"],
4137
+ STRING_LITERAL_LONG2: ["STRING_LITERAL_LONG2"],
4138
+ },
4139
+ subSelect: {
4140
+ SELECT: ["selectClause", "whereClause", "solutionModifier", "valuesClause"],
4141
+ },
4142
+ substringExpression: {
4143
+ SUBSTR: ["SUBSTR", "(", "expression", ",", "expression", "?[,,expression]", ")"],
4144
+ },
4145
+ triplesBlock: {
4146
+ VAR1: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4147
+ VAR2: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4148
+ NIL: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4149
+ "(": ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4150
+ "[": ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4151
+ IRI_REF: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4152
+ TRUE: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4153
+ FALSE: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4154
+ BLANK_NODE_LABEL: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4155
+ ANON: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4156
+ PNAME_LN: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4157
+ PNAME_NS: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4158
+ STRING_LITERAL1: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4159
+ STRING_LITERAL2: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4160
+ STRING_LITERAL_LONG1: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4161
+ STRING_LITERAL_LONG2: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4162
+ INTEGER: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4163
+ DECIMAL: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4164
+ DOUBLE: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4165
+ INTEGER_POSITIVE: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4166
+ DECIMAL_POSITIVE: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4167
+ DOUBLE_POSITIVE: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4168
+ INTEGER_NEGATIVE: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4169
+ DECIMAL_NEGATIVE: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4170
+ DOUBLE_NEGATIVE: ["triplesSameSubjectPath", "?[.,?triplesBlock]"],
4171
+ },
4172
+ triplesNode: { "(": ["collection"], "[": ["blankNodePropertyList"] },
4173
+ triplesNodePath: {
4174
+ "(": ["collectionPath"],
4175
+ "[": ["blankNodePropertyListPath"],
4176
+ },
4177
+ triplesSameSubject: {
4178
+ VAR1: ["varOrTerm", "propertyListNotEmpty"],
4179
+ VAR2: ["varOrTerm", "propertyListNotEmpty"],
4180
+ NIL: ["varOrTerm", "propertyListNotEmpty"],
4181
+ IRI_REF: ["varOrTerm", "propertyListNotEmpty"],
4182
+ TRUE: ["varOrTerm", "propertyListNotEmpty"],
4183
+ FALSE: ["varOrTerm", "propertyListNotEmpty"],
4184
+ BLANK_NODE_LABEL: ["varOrTerm", "propertyListNotEmpty"],
4185
+ ANON: ["varOrTerm", "propertyListNotEmpty"],
4186
+ PNAME_LN: ["varOrTerm", "propertyListNotEmpty"],
4187
+ PNAME_NS: ["varOrTerm", "propertyListNotEmpty"],
4188
+ STRING_LITERAL1: ["varOrTerm", "propertyListNotEmpty"],
4189
+ STRING_LITERAL2: ["varOrTerm", "propertyListNotEmpty"],
4190
+ STRING_LITERAL_LONG1: ["varOrTerm", "propertyListNotEmpty"],
4191
+ STRING_LITERAL_LONG2: ["varOrTerm", "propertyListNotEmpty"],
4192
+ INTEGER: ["varOrTerm", "propertyListNotEmpty"],
4193
+ DECIMAL: ["varOrTerm", "propertyListNotEmpty"],
4194
+ DOUBLE: ["varOrTerm", "propertyListNotEmpty"],
4195
+ INTEGER_POSITIVE: ["varOrTerm", "propertyListNotEmpty"],
4196
+ DECIMAL_POSITIVE: ["varOrTerm", "propertyListNotEmpty"],
4197
+ DOUBLE_POSITIVE: ["varOrTerm", "propertyListNotEmpty"],
4198
+ INTEGER_NEGATIVE: ["varOrTerm", "propertyListNotEmpty"],
4199
+ DECIMAL_NEGATIVE: ["varOrTerm", "propertyListNotEmpty"],
4200
+ DOUBLE_NEGATIVE: ["varOrTerm", "propertyListNotEmpty"],
4201
+ "(": ["triplesNode", "propertyList"],
4202
+ "[": ["triplesNode", "propertyList"],
4203
+ },
4204
+ triplesSameSubjectPath: {
4205
+ VAR1: ["varOrTerm", "propertyListPathNotEmpty"],
4206
+ VAR2: ["varOrTerm", "propertyListPathNotEmpty"],
4207
+ NIL: ["varOrTerm", "propertyListPathNotEmpty"],
4208
+ IRI_REF: ["varOrTerm", "propertyListPathNotEmpty"],
4209
+ TRUE: ["varOrTerm", "propertyListPathNotEmpty"],
4210
+ FALSE: ["varOrTerm", "propertyListPathNotEmpty"],
4211
+ BLANK_NODE_LABEL: ["varOrTerm", "propertyListPathNotEmpty"],
4212
+ ANON: ["varOrTerm", "propertyListPathNotEmpty"],
4213
+ PNAME_LN: ["varOrTerm", "propertyListPathNotEmpty"],
4214
+ PNAME_NS: ["varOrTerm", "propertyListPathNotEmpty"],
4215
+ STRING_LITERAL1: ["varOrTerm", "propertyListPathNotEmpty"],
4216
+ STRING_LITERAL2: ["varOrTerm", "propertyListPathNotEmpty"],
4217
+ STRING_LITERAL_LONG1: ["varOrTerm", "propertyListPathNotEmpty"],
4218
+ STRING_LITERAL_LONG2: ["varOrTerm", "propertyListPathNotEmpty"],
4219
+ INTEGER: ["varOrTerm", "propertyListPathNotEmpty"],
4220
+ DECIMAL: ["varOrTerm", "propertyListPathNotEmpty"],
4221
+ DOUBLE: ["varOrTerm", "propertyListPathNotEmpty"],
4222
+ INTEGER_POSITIVE: ["varOrTerm", "propertyListPathNotEmpty"],
4223
+ DECIMAL_POSITIVE: ["varOrTerm", "propertyListPathNotEmpty"],
4224
+ DOUBLE_POSITIVE: ["varOrTerm", "propertyListPathNotEmpty"],
4225
+ INTEGER_NEGATIVE: ["varOrTerm", "propertyListPathNotEmpty"],
4226
+ DECIMAL_NEGATIVE: ["varOrTerm", "propertyListPathNotEmpty"],
4227
+ DOUBLE_NEGATIVE: ["varOrTerm", "propertyListPathNotEmpty"],
4228
+ "(": ["triplesNodePath", "propertyListPath"],
4229
+ "[": ["triplesNodePath", "propertyListPath"],
4230
+ },
4231
+ triplesTemplate: {
4232
+ VAR1: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4233
+ VAR2: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4234
+ NIL: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4235
+ "(": ["triplesSameSubject", "?[.,?triplesTemplate]"],
4236
+ "[": ["triplesSameSubject", "?[.,?triplesTemplate]"],
4237
+ IRI_REF: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4238
+ TRUE: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4239
+ FALSE: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4240
+ BLANK_NODE_LABEL: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4241
+ ANON: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4242
+ PNAME_LN: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4243
+ PNAME_NS: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4244
+ STRING_LITERAL1: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4245
+ STRING_LITERAL2: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4246
+ STRING_LITERAL_LONG1: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4247
+ STRING_LITERAL_LONG2: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4248
+ INTEGER: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4249
+ DECIMAL: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4250
+ DOUBLE: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4251
+ INTEGER_POSITIVE: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4252
+ DECIMAL_POSITIVE: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4253
+ DOUBLE_POSITIVE: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4254
+ INTEGER_NEGATIVE: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4255
+ DECIMAL_NEGATIVE: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4256
+ DOUBLE_NEGATIVE: ["triplesSameSubject", "?[.,?triplesTemplate]"],
4257
+ },
4258
+ unaryExpression: {
4259
+ "!": ["!", "primaryExpression"],
4260
+ "+": ["+", "primaryExpression"],
4261
+ "-": ["-", "primaryExpression"],
4262
+ VAR1: ["primaryExpression"],
4263
+ VAR2: ["primaryExpression"],
4264
+ "(": ["primaryExpression"],
4265
+ STR: ["primaryExpression"],
4266
+ LANG: ["primaryExpression"],
4267
+ LANGMATCHES: ["primaryExpression"],
4268
+ DATATYPE: ["primaryExpression"],
4269
+ BOUND: ["primaryExpression"],
4270
+ IRI: ["primaryExpression"],
4271
+ URI: ["primaryExpression"],
4272
+ BNODE: ["primaryExpression"],
4273
+ RAND: ["primaryExpression"],
4274
+ ABS: ["primaryExpression"],
4275
+ CEIL: ["primaryExpression"],
4276
+ FLOOR: ["primaryExpression"],
4277
+ ROUND: ["primaryExpression"],
4278
+ CONCAT: ["primaryExpression"],
4279
+ STRLEN: ["primaryExpression"],
4280
+ UCASE: ["primaryExpression"],
4281
+ LCASE: ["primaryExpression"],
4282
+ ENCODE_FOR_URI: ["primaryExpression"],
4283
+ CONTAINS: ["primaryExpression"],
4284
+ STRSTARTS: ["primaryExpression"],
4285
+ STRENDS: ["primaryExpression"],
4286
+ STRBEFORE: ["primaryExpression"],
4287
+ STRAFTER: ["primaryExpression"],
4288
+ YEAR: ["primaryExpression"],
4289
+ MONTH: ["primaryExpression"],
4290
+ DAY: ["primaryExpression"],
4291
+ HOURS: ["primaryExpression"],
4292
+ MINUTES: ["primaryExpression"],
4293
+ SECONDS: ["primaryExpression"],
4294
+ TIMEZONE: ["primaryExpression"],
4295
+ TZ: ["primaryExpression"],
4296
+ NOW: ["primaryExpression"],
4297
+ UUID: ["primaryExpression"],
4298
+ STRUUID: ["primaryExpression"],
4299
+ MD5: ["primaryExpression"],
4300
+ SHA1: ["primaryExpression"],
4301
+ SHA256: ["primaryExpression"],
4302
+ SHA384: ["primaryExpression"],
4303
+ SHA512: ["primaryExpression"],
4304
+ COALESCE: ["primaryExpression"],
4305
+ IF: ["primaryExpression"],
4306
+ STRLANG: ["primaryExpression"],
4307
+ STRDT: ["primaryExpression"],
4308
+ SAMETERM: ["primaryExpression"],
4309
+ ISIRI: ["primaryExpression"],
4310
+ ISURI: ["primaryExpression"],
4311
+ ISBLANK: ["primaryExpression"],
4312
+ ISLITERAL: ["primaryExpression"],
4313
+ ISNUMERIC: ["primaryExpression"],
4314
+ TRUE: ["primaryExpression"],
4315
+ FALSE: ["primaryExpression"],
4316
+ COUNT: ["primaryExpression"],
4317
+ SUM: ["primaryExpression"],
4318
+ MIN: ["primaryExpression"],
4319
+ MAX: ["primaryExpression"],
4320
+ AVG: ["primaryExpression"],
4321
+ SAMPLE: ["primaryExpression"],
4322
+ GROUP_CONCAT: ["primaryExpression"],
4323
+ SUBSTR: ["primaryExpression"],
4324
+ REPLACE: ["primaryExpression"],
4325
+ REGEX: ["primaryExpression"],
4326
+ EXISTS: ["primaryExpression"],
4327
+ NOT: ["primaryExpression"],
4328
+ IRI_REF: ["primaryExpression"],
4329
+ STRING_LITERAL1: ["primaryExpression"],
4330
+ STRING_LITERAL2: ["primaryExpression"],
4331
+ STRING_LITERAL_LONG1: ["primaryExpression"],
4332
+ STRING_LITERAL_LONG2: ["primaryExpression"],
4333
+ INTEGER: ["primaryExpression"],
4334
+ DECIMAL: ["primaryExpression"],
4335
+ DOUBLE: ["primaryExpression"],
4336
+ INTEGER_POSITIVE: ["primaryExpression"],
4337
+ DECIMAL_POSITIVE: ["primaryExpression"],
4338
+ DOUBLE_POSITIVE: ["primaryExpression"],
4339
+ INTEGER_NEGATIVE: ["primaryExpression"],
4340
+ DECIMAL_NEGATIVE: ["primaryExpression"],
4341
+ DOUBLE_NEGATIVE: ["primaryExpression"],
4342
+ PNAME_LN: ["primaryExpression"],
4343
+ PNAME_NS: ["primaryExpression"],
4344
+ },
4345
+ update: {
4346
+ INSERT: ["prologue", "?[update1,?[;,update]]"],
4347
+ DELETE: ["prologue", "?[update1,?[;,update]]"],
4348
+ LOAD: ["prologue", "?[update1,?[;,update]]"],
4349
+ CLEAR: ["prologue", "?[update1,?[;,update]]"],
4350
+ DROP: ["prologue", "?[update1,?[;,update]]"],
4351
+ ADD: ["prologue", "?[update1,?[;,update]]"],
4352
+ MOVE: ["prologue", "?[update1,?[;,update]]"],
4353
+ COPY: ["prologue", "?[update1,?[;,update]]"],
4354
+ CREATE: ["prologue", "?[update1,?[;,update]]"],
4355
+ WITH: ["prologue", "?[update1,?[;,update]]"],
4356
+ BASE: ["prologue", "?[update1,?[;,update]]"],
4357
+ PREFIX: ["prologue", "?[update1,?[;,update]]"],
4358
+ $: ["prologue", "?[update1,?[;,update]]"],
4359
+ },
4360
+ update1: {
4361
+ LOAD: ["load"],
4362
+ CLEAR: ["clear"],
4363
+ DROP: ["drop"],
4364
+ ADD: ["add"],
4365
+ MOVE: ["move"],
4366
+ COPY: ["copy"],
4367
+ CREATE: ["create"],
4368
+ INSERT: ["INSERT", "insert1"],
4369
+ DELETE: ["DELETE", "delete1"],
4370
+ WITH: ["modify"],
4371
+ },
4372
+ updateAll: {
4373
+ INSERT: ["?[update1,?[;,update]]"],
4374
+ DELETE: ["?[update1,?[;,update]]"],
4375
+ LOAD: ["?[update1,?[;,update]]"],
4376
+ CLEAR: ["?[update1,?[;,update]]"],
4377
+ DROP: ["?[update1,?[;,update]]"],
4378
+ ADD: ["?[update1,?[;,update]]"],
4379
+ MOVE: ["?[update1,?[;,update]]"],
4380
+ COPY: ["?[update1,?[;,update]]"],
4381
+ CREATE: ["?[update1,?[;,update]]"],
4382
+ WITH: ["?[update1,?[;,update]]"],
4383
+ $: ["?[update1,?[;,update]]"],
4384
+ },
4385
+ usingClause: { USING: ["USING", "or([iriRef,[NAMED,iriRef]])"] },
4386
+ valueLogical: {
4387
+ "!": ["relationalExpression"],
4388
+ "+": ["relationalExpression"],
4389
+ "-": ["relationalExpression"],
4390
+ VAR1: ["relationalExpression"],
4391
+ VAR2: ["relationalExpression"],
4392
+ "(": ["relationalExpression"],
4393
+ STR: ["relationalExpression"],
4394
+ LANG: ["relationalExpression"],
4395
+ LANGMATCHES: ["relationalExpression"],
4396
+ DATATYPE: ["relationalExpression"],
4397
+ BOUND: ["relationalExpression"],
4398
+ IRI: ["relationalExpression"],
4399
+ URI: ["relationalExpression"],
4400
+ BNODE: ["relationalExpression"],
4401
+ RAND: ["relationalExpression"],
4402
+ ABS: ["relationalExpression"],
4403
+ CEIL: ["relationalExpression"],
4404
+ FLOOR: ["relationalExpression"],
4405
+ ROUND: ["relationalExpression"],
4406
+ CONCAT: ["relationalExpression"],
4407
+ STRLEN: ["relationalExpression"],
4408
+ UCASE: ["relationalExpression"],
4409
+ LCASE: ["relationalExpression"],
4410
+ ENCODE_FOR_URI: ["relationalExpression"],
4411
+ CONTAINS: ["relationalExpression"],
4412
+ STRSTARTS: ["relationalExpression"],
4413
+ STRENDS: ["relationalExpression"],
4414
+ STRBEFORE: ["relationalExpression"],
4415
+ STRAFTER: ["relationalExpression"],
4416
+ YEAR: ["relationalExpression"],
4417
+ MONTH: ["relationalExpression"],
4418
+ DAY: ["relationalExpression"],
4419
+ HOURS: ["relationalExpression"],
4420
+ MINUTES: ["relationalExpression"],
4421
+ SECONDS: ["relationalExpression"],
4422
+ TIMEZONE: ["relationalExpression"],
4423
+ TZ: ["relationalExpression"],
4424
+ NOW: ["relationalExpression"],
4425
+ UUID: ["relationalExpression"],
4426
+ STRUUID: ["relationalExpression"],
4427
+ MD5: ["relationalExpression"],
4428
+ SHA1: ["relationalExpression"],
4429
+ SHA256: ["relationalExpression"],
4430
+ SHA384: ["relationalExpression"],
4431
+ SHA512: ["relationalExpression"],
4432
+ COALESCE: ["relationalExpression"],
4433
+ IF: ["relationalExpression"],
4434
+ STRLANG: ["relationalExpression"],
4435
+ STRDT: ["relationalExpression"],
4436
+ SAMETERM: ["relationalExpression"],
4437
+ ISIRI: ["relationalExpression"],
4438
+ ISURI: ["relationalExpression"],
4439
+ ISBLANK: ["relationalExpression"],
4440
+ ISLITERAL: ["relationalExpression"],
4441
+ ISNUMERIC: ["relationalExpression"],
4442
+ TRUE: ["relationalExpression"],
4443
+ FALSE: ["relationalExpression"],
4444
+ COUNT: ["relationalExpression"],
4445
+ SUM: ["relationalExpression"],
4446
+ MIN: ["relationalExpression"],
4447
+ MAX: ["relationalExpression"],
4448
+ AVG: ["relationalExpression"],
4449
+ SAMPLE: ["relationalExpression"],
4450
+ GROUP_CONCAT: ["relationalExpression"],
4451
+ SUBSTR: ["relationalExpression"],
4452
+ REPLACE: ["relationalExpression"],
4453
+ REGEX: ["relationalExpression"],
4454
+ EXISTS: ["relationalExpression"],
4455
+ NOT: ["relationalExpression"],
4456
+ IRI_REF: ["relationalExpression"],
4457
+ STRING_LITERAL1: ["relationalExpression"],
4458
+ STRING_LITERAL2: ["relationalExpression"],
4459
+ STRING_LITERAL_LONG1: ["relationalExpression"],
4460
+ STRING_LITERAL_LONG2: ["relationalExpression"],
4461
+ INTEGER: ["relationalExpression"],
4462
+ DECIMAL: ["relationalExpression"],
4463
+ DOUBLE: ["relationalExpression"],
4464
+ INTEGER_POSITIVE: ["relationalExpression"],
4465
+ DECIMAL_POSITIVE: ["relationalExpression"],
4466
+ DOUBLE_POSITIVE: ["relationalExpression"],
4467
+ INTEGER_NEGATIVE: ["relationalExpression"],
4468
+ DECIMAL_NEGATIVE: ["relationalExpression"],
4469
+ DOUBLE_NEGATIVE: ["relationalExpression"],
4470
+ PNAME_LN: ["relationalExpression"],
4471
+ PNAME_NS: ["relationalExpression"],
4472
+ },
4473
+ valuesClause: { VALUES: ["VALUES", "dataBlock"], $: [], "}": [] },
4474
+ var: { VAR1: ["VAR1"], VAR2: ["VAR2"] },
4475
+ varOrIRIref: {
4476
+ VAR1: ["var"],
4477
+ VAR2: ["var"],
4478
+ IRI_REF: ["iriRef"],
4479
+ PNAME_LN: ["iriRef"],
4480
+ PNAME_NS: ["iriRef"],
4481
+ },
4482
+ varOrTerm: {
4483
+ VAR1: ["var"],
4484
+ VAR2: ["var"],
4485
+ NIL: ["graphTerm"],
4486
+ IRI_REF: ["graphTerm"],
4487
+ TRUE: ["graphTerm"],
4488
+ FALSE: ["graphTerm"],
4489
+ BLANK_NODE_LABEL: ["graphTerm"],
4490
+ ANON: ["graphTerm"],
4491
+ PNAME_LN: ["graphTerm"],
4492
+ PNAME_NS: ["graphTerm"],
4493
+ STRING_LITERAL1: ["graphTerm"],
4494
+ STRING_LITERAL2: ["graphTerm"],
4495
+ STRING_LITERAL_LONG1: ["graphTerm"],
4496
+ STRING_LITERAL_LONG2: ["graphTerm"],
4497
+ INTEGER: ["graphTerm"],
4498
+ DECIMAL: ["graphTerm"],
4499
+ DOUBLE: ["graphTerm"],
4500
+ INTEGER_POSITIVE: ["graphTerm"],
4501
+ DECIMAL_POSITIVE: ["graphTerm"],
4502
+ DOUBLE_POSITIVE: ["graphTerm"],
4503
+ INTEGER_NEGATIVE: ["graphTerm"],
4504
+ DECIMAL_NEGATIVE: ["graphTerm"],
4505
+ DOUBLE_NEGATIVE: ["graphTerm"],
4506
+ },
4507
+ verb: {
4508
+ VAR1: ["storeProperty", "varOrIRIref"],
4509
+ VAR2: ["storeProperty", "varOrIRIref"],
4510
+ IRI_REF: ["storeProperty", "varOrIRIref"],
4511
+ PNAME_LN: ["storeProperty", "varOrIRIref"],
4512
+ PNAME_NS: ["storeProperty", "varOrIRIref"],
4513
+ a: ["storeProperty", "a"],
4514
+ },
4515
+ verbPath: {
4516
+ "^": ["path"],
4517
+ a: ["path"],
4518
+ "!": ["path"],
4519
+ "(": ["path"],
4520
+ IRI_REF: ["path"],
4521
+ PNAME_LN: ["path"],
4522
+ PNAME_NS: ["path"],
4523
+ },
4524
+ verbSimple: { VAR1: ["var"], VAR2: ["var"] },
4525
+ whereClause: {
4526
+ "{": ["?WHERE", "groupGraphPattern"],
4527
+ WHERE: ["?WHERE", "groupGraphPattern"],
4528
+ },
4529
+ },
4530
+ keywords:
4531
+ /^(GROUP_CONCAT|DATATYPE|BASE|PREFIX|SELECT|CONSTRUCT|DESCRIBE|ASK|FROM|NAMED|ORDER|BY|LIMIT|ASC|DESC|OFFSET|DISTINCT|REDUCED|WHERE|GRAPH|OPTIONAL|UNION|FILTER|GROUP|HAVING|AS|VALUES|LOAD|CLEAR|DROP|CREATE|MOVE|COPY|SILENT|INSERT|DELETE|DATA|WITH|TO|USING|NAMED|MINUS|BIND|LANGMATCHES|LANG|BOUND|SAMETERM|ISIRI|ISURI|ISBLANK|ISLITERAL|REGEX|TRUE|FALSE|UNDEF|ADD|DEFAULT|ALL|SERVICE|INTO|IN|NOT|IRI|URI|BNODE|RAND|ABS|CEIL|FLOOR|ROUND|CONCAT|STRLEN|UCASE|LCASE|ENCODE_FOR_URI|CONTAINS|STRSTARTS|STRENDS|STRBEFORE|STRAFTER|YEAR|MONTH|DAY|HOURS|MINUTES|SECONDS|TIMEZONE|TZ|NOW|UUID|STRUUID|MD5|SHA1|SHA256|SHA384|SHA512|COALESCE|IF|STRLANG|STRDT|ISNUMERIC|SUBSTR|REPLACE|EXISTS|COUNT|SUM|MIN|MAX|AVG|SAMPLE|SEPARATOR|STR)/i,
4532
+ punct: /^(\*|a|\.|\{|\}|,|\(|\)|;|\[|\]|\|\||&&|=|!=|!|<=|>=|<|>|\+|-|\/|\^\^|\?|\||\^)/,
4533
+ startSymbol: "sparql11",
4534
+ acceptEmpty: !0,
4535
+ };