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