@traqula/rules-sparql-1-1 0.0.22 → 0.0.24

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 (76) hide show
  1. package/dist/cjs/lib/MinimalSparqlParser.js +35 -58
  2. package/dist/cjs/lib/MinimalSparqlParser.js.map +1 -0
  3. package/dist/cjs/lib/Sparql11types.js +2 -15
  4. package/dist/cjs/lib/Sparql11types.js.map +1 -0
  5. package/dist/cjs/lib/astFactory.js +107 -119
  6. package/dist/cjs/lib/astFactory.js.map +1 -0
  7. package/dist/cjs/lib/expressionHelpers.js +181 -191
  8. package/dist/cjs/lib/expressionHelpers.js.map +1 -0
  9. package/dist/cjs/lib/factoryMixins/ContextFactory.js +30 -52
  10. package/dist/cjs/lib/factoryMixins/ContextFactory.js.map +1 -0
  11. package/dist/cjs/lib/factoryMixins/ExpressionFactory.js +83 -102
  12. package/dist/cjs/lib/factoryMixins/ExpressionFactory.js.map +1 -0
  13. package/dist/cjs/lib/factoryMixins/GraphRefFactory.js +51 -73
  14. package/dist/cjs/lib/factoryMixins/GraphRefFactory.js.map +1 -0
  15. package/dist/cjs/lib/factoryMixins/PathFactory.js +68 -87
  16. package/dist/cjs/lib/factoryMixins/PathFactory.js.map +1 -0
  17. package/dist/cjs/lib/factoryMixins/Patternfactory.js +98 -120
  18. package/dist/cjs/lib/factoryMixins/Patternfactory.js.map +1 -0
  19. package/dist/cjs/lib/factoryMixins/QueryFactory.js +43 -65
  20. package/dist/cjs/lib/factoryMixins/QueryFactory.js.map +1 -0
  21. package/dist/cjs/lib/factoryMixins/SolutionModifiersFactory.js +55 -77
  22. package/dist/cjs/lib/factoryMixins/SolutionModifiersFactory.js.map +1 -0
  23. package/dist/cjs/lib/factoryMixins/TermFactory.js +81 -102
  24. package/dist/cjs/lib/factoryMixins/TermFactory.js.map +1 -0
  25. package/dist/cjs/lib/factoryMixins/UpdateOperationFactory.js +126 -147
  26. package/dist/cjs/lib/factoryMixins/UpdateOperationFactory.js.map +1 -0
  27. package/dist/cjs/lib/factoryMixins/mixins.js +21 -38
  28. package/dist/cjs/lib/factoryMixins/mixins.js.map +1 -0
  29. package/dist/cjs/lib/grammar/builtIn.js +277 -377
  30. package/dist/cjs/lib/grammar/builtIn.js.map +1 -0
  31. package/dist/cjs/lib/grammar/dataSetClause.js +110 -109
  32. package/dist/cjs/lib/grammar/dataSetClause.js.map +1 -0
  33. package/dist/cjs/lib/grammar/expression.js +387 -358
  34. package/dist/cjs/lib/grammar/expression.js.map +1 -0
  35. package/dist/cjs/lib/grammar/general.js +173 -158
  36. package/dist/cjs/lib/grammar/general.js.map +1 -0
  37. package/dist/cjs/lib/grammar/index.js +94 -111
  38. package/dist/cjs/lib/grammar/index.js.map +1 -0
  39. package/dist/cjs/lib/grammar/literals.js +282 -266
  40. package/dist/cjs/lib/grammar/literals.js.map +1 -0
  41. package/dist/cjs/lib/grammar/propertyPaths.js +206 -193
  42. package/dist/cjs/lib/grammar/propertyPaths.js.map +1 -0
  43. package/dist/cjs/lib/grammar/queryUnit.js +395 -372
  44. package/dist/cjs/lib/grammar/queryUnit.js.map +1 -0
  45. package/dist/cjs/lib/grammar/solutionModifier.js +281 -265
  46. package/dist/cjs/lib/grammar/solutionModifier.js.map +1 -0
  47. package/dist/cjs/lib/grammar/tripleBlock.js +390 -355
  48. package/dist/cjs/lib/grammar/tripleBlock.js.map +1 -0
  49. package/dist/cjs/lib/grammar/updateUnit.js +551 -519
  50. package/dist/cjs/lib/grammar/updateUnit.js.map +1 -0
  51. package/dist/cjs/lib/grammar/whereClause.js +486 -459
  52. package/dist/cjs/lib/grammar/whereClause.js.map +1 -0
  53. package/dist/cjs/lib/index.js +47 -54
  54. package/dist/cjs/lib/index.js.map +1 -0
  55. package/dist/cjs/lib/lexer/BuiltInCalls.js +188 -333
  56. package/dist/cjs/lib/lexer/BuiltInCalls.js.map +1 -0
  57. package/dist/cjs/lib/lexer/graph.js +10 -40
  58. package/dist/cjs/lib/lexer/graph.js.map +1 -0
  59. package/dist/cjs/lib/lexer/index.js +43 -48
  60. package/dist/cjs/lib/lexer/index.js.map +1 -0
  61. package/dist/cjs/lib/lexer/lexer.js +84 -195
  62. package/dist/cjs/lib/lexer/lexer.js.map +1 -0
  63. package/dist/cjs/lib/lexer/lexerPatterns.js +40 -132
  64. package/dist/cjs/lib/lexer/lexerPatterns.js.map +1 -0
  65. package/dist/cjs/lib/lexer/symbols.js +31 -106
  66. package/dist/cjs/lib/lexer/symbols.js.map +1 -0
  67. package/dist/cjs/lib/lexer/terminals.js +100 -102
  68. package/dist/cjs/lib/lexer/terminals.js.map +1 -0
  69. package/dist/cjs/lib/sparql11HelperTypes.js +2 -15
  70. package/dist/cjs/lib/sparql11HelperTypes.js.map +1 -0
  71. package/dist/cjs/lib/utils.js +40 -58
  72. package/dist/cjs/lib/utils.js.map +1 -0
  73. package/dist/cjs/lib/validation/validators.js +197 -186
  74. package/dist/cjs/lib/validation/validators.js.map +1 -0
  75. package/dist/cjs/package.json +1 -0
  76. package/package.json +10 -9
@@ -1,546 +1,578 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var updateUnit_exports = {};
30
- __export(updateUnit_exports, {
31
- add: () => add,
32
- clear: () => clear,
33
- copy: () => copy,
34
- create: () => create,
35
- deleteClause: () => deleteClause,
36
- deleteData: () => deleteData,
37
- deleteWhere: () => deleteWhere,
38
- drop: () => drop,
39
- graphOrDefault: () => graphOrDefault,
40
- graphRef: () => graphRef,
41
- graphRefAll: () => graphRefAll,
42
- insertClause: () => insertClause,
43
- insertData: () => insertData,
44
- load: () => load,
45
- modify: () => modify,
46
- move: () => move,
47
- quadData: () => quadData,
48
- quadPattern: () => quadPattern,
49
- quads: () => quads,
50
- quadsNotTriples: () => quadsNotTriples,
51
- update: () => update,
52
- update1: () => update1,
53
- updateUnit: () => updateUnit
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
54
17
  });
55
- module.exports = __toCommonJS(updateUnit_exports);
56
- var import_core = require("@traqula/core");
57
- var l = __toESM(require("../lexer/index.js"), 1);
58
- var import_validators = require("../validation/validators.js");
59
- var import_dataSetClause = require("./dataSetClause.js");
60
- var import_general = require("./general.js");
61
- var import_literals = require("./literals.js");
62
- var import_tripleBlock = require("./tripleBlock.js");
63
- var import_whereClause = require("./whereClause.js");
64
- const updateUnit = {
65
- name: "updateUnit",
66
- impl: ({ SUBRULE }) => () => SUBRULE(update)
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.quadsNotTriples = exports.quads = exports.graphRefAll = exports.graphRef = exports.graphOrDefault = exports.insertClause = exports.deleteClause = exports.modify = exports.deleteWhere = exports.deleteData = exports.insertData = exports.quadData = exports.quadPattern = exports.copy = exports.move = exports.add = exports.create = exports.drop = exports.clear = exports.load = exports.update1 = exports.update = exports.updateUnit = void 0;
37
+ const core_1 = require("@traqula/core");
38
+ const l = __importStar(require("../lexer/index.js"));
39
+ const validators_js_1 = require("../validation/validators.js");
40
+ const dataSetClause_js_1 = require("./dataSetClause.js");
41
+ const general_js_1 = require("./general.js");
42
+ const literals_js_1 = require("./literals.js");
43
+ const tripleBlock_js_1 = require("./tripleBlock.js");
44
+ const whereClause_js_1 = require("./whereClause.js");
45
+ /**
46
+ * [[3]](https://www.w3.org/TR/sparql11-query/#rUpdateUnit)
47
+ */
48
+ exports.updateUnit = {
49
+ name: 'updateUnit',
50
+ impl: ({ SUBRULE }) => () => SUBRULE(exports.update),
67
51
  };
68
- const update = {
69
- name: "update",
70
- impl: ({ ACTION, SUBRULE, SUBRULE1, SUBRULE2, CONSUME, OPTION1, MANY }) => (C) => {
71
- const updates = [];
72
- const prologueValues = SUBRULE1(import_general.prologue);
73
- updates.push({ context: prologueValues });
74
- let parsedSemi = true;
75
- MANY({
76
- GATE: () => parsedSemi,
77
- DEF: () => {
78
- parsedSemi = false;
79
- updates.at(-1).operation = SUBRULE(update1);
80
- OPTION1(() => {
81
- CONSUME(l.symbols.semi);
82
- parsedSemi = true;
83
- const innerPrologue = SUBRULE2(import_general.prologue);
84
- updates.push({ context: innerPrologue });
52
+ /**
53
+ * [[29]](https://www.w3.org/TR/sparql11-query/#rUpdate)
54
+ */
55
+ exports.update = {
56
+ name: 'update',
57
+ impl: ({ ACTION, SUBRULE, SUBRULE1, SUBRULE2, CONSUME, OPTION1, MANY }) => (C) => {
58
+ // Override prologueValues on new reads of prologue and sink them into updates later
59
+ const updates = [];
60
+ const prologueValues = SUBRULE1(general_js_1.prologue);
61
+ updates.push({ context: prologueValues });
62
+ let parsedSemi = true;
63
+ MANY({
64
+ GATE: () => parsedSemi,
65
+ DEF: () => {
66
+ parsedSemi = false;
67
+ updates.at(-1).operation = SUBRULE(exports.update1);
68
+ OPTION1(() => {
69
+ CONSUME(l.symbols.semi);
70
+ parsedSemi = true;
71
+ const innerPrologue = SUBRULE2(general_js_1.prologue);
72
+ updates.push({ context: innerPrologue });
73
+ });
74
+ },
85
75
  });
86
- }
87
- });
88
- return ACTION(() => {
89
- const update2 = {
90
- type: "update",
91
- updates,
92
- loc: C.astFactory.sourceLocation(...updates[0].context, updates[0].operation, ...updates.at(-1).context, updates.at(-1)?.operation)
93
- };
94
- (0, import_validators.updateNoReuseBlankNodeLabels)(update2);
95
- return update2;
96
- });
97
- },
98
- gImpl: ({ SUBRULE, PRINT, NEW_LINE }) => (ast, { astFactory: F }) => {
99
- const [head, ...tail] = ast.updates;
100
- if (head) {
101
- SUBRULE(import_general.prologue, head.context);
102
- if (head.operation) {
103
- SUBRULE(update1, head.operation);
104
- }
105
- }
106
- for (const update2 of tail) {
107
- F.printFilter(ast, () => {
108
- PRINT(";");
109
- NEW_LINE();
110
- });
111
- SUBRULE(import_general.prologue, update2.context);
112
- if (update2.operation) {
113
- SUBRULE(update1, update2.operation);
114
- }
115
- }
116
- }
76
+ return ACTION(() => {
77
+ const update = {
78
+ type: 'update',
79
+ updates,
80
+ loc: C.astFactory.sourceLocation(...updates[0].context, updates[0].operation, ...updates.at(-1).context, updates.at(-1)?.operation),
81
+ };
82
+ (0, validators_js_1.updateNoReuseBlankNodeLabels)(update);
83
+ return update;
84
+ });
85
+ },
86
+ gImpl: ({ SUBRULE, PRINT, NEW_LINE }) => (ast, { astFactory: F }) => {
87
+ const [head, ...tail] = ast.updates;
88
+ if (head) {
89
+ SUBRULE(general_js_1.prologue, head.context);
90
+ if (head.operation) {
91
+ SUBRULE(exports.update1, head.operation);
92
+ }
93
+ }
94
+ for (const update of tail) {
95
+ F.printFilter(ast, () => {
96
+ PRINT(';');
97
+ NEW_LINE();
98
+ });
99
+ SUBRULE(general_js_1.prologue, update.context);
100
+ if (update.operation) {
101
+ SUBRULE(exports.update1, update.operation);
102
+ }
103
+ }
104
+ },
117
105
  };
118
- const update1 = {
119
- name: "update1",
120
- impl: ({ SUBRULE, OR }) => () => OR([
121
- { ALT: () => SUBRULE(load) },
122
- { ALT: () => SUBRULE(clear) },
123
- { ALT: () => SUBRULE(drop) },
124
- { ALT: () => SUBRULE(add) },
125
- { ALT: () => SUBRULE(move) },
126
- { ALT: () => SUBRULE(copy) },
127
- { ALT: () => SUBRULE(create) },
128
- { ALT: () => SUBRULE(insertData) },
129
- { ALT: () => SUBRULE(deleteData) },
130
- { ALT: () => SUBRULE(deleteWhere) },
131
- { ALT: () => SUBRULE(modify) }
132
- ]),
133
- gImpl: ({ SUBRULE }) => (ast) => {
134
- switch (ast.subType) {
135
- case "load":
136
- SUBRULE(load, ast);
137
- break;
138
- case "clear":
139
- SUBRULE(clear, ast);
140
- break;
141
- case "drop":
142
- SUBRULE(drop, ast);
143
- break;
144
- case "add":
145
- SUBRULE(add, ast);
146
- break;
147
- case "move":
148
- SUBRULE(move, ast);
149
- break;
150
- case "copy":
151
- SUBRULE(copy, ast);
152
- break;
153
- case "create":
154
- SUBRULE(create, ast);
155
- break;
156
- case "insertdata":
157
- SUBRULE(insertData, ast);
158
- break;
159
- case "deletedata":
160
- SUBRULE(deleteData, ast);
161
- break;
162
- case "deletewhere":
163
- SUBRULE(deleteWhere, ast);
164
- break;
165
- case "modify":
166
- SUBRULE(modify, ast);
167
- break;
168
- }
169
- }
106
+ /**
107
+ * [[30]](https://www.w3.org/TR/sparql11-query/#rUpdate1)
108
+ */
109
+ exports.update1 = {
110
+ name: 'update1',
111
+ impl: ({ SUBRULE, OR }) => () => OR([
112
+ { ALT: () => SUBRULE(exports.load) },
113
+ { ALT: () => SUBRULE(exports.clear) },
114
+ { ALT: () => SUBRULE(exports.drop) },
115
+ { ALT: () => SUBRULE(exports.add) },
116
+ { ALT: () => SUBRULE(exports.move) },
117
+ { ALT: () => SUBRULE(exports.copy) },
118
+ { ALT: () => SUBRULE(exports.create) },
119
+ { ALT: () => SUBRULE(exports.insertData) },
120
+ { ALT: () => SUBRULE(exports.deleteData) },
121
+ { ALT: () => SUBRULE(exports.deleteWhere) },
122
+ { ALT: () => SUBRULE(exports.modify) },
123
+ ]),
124
+ gImpl: ({ SUBRULE }) => (ast) => {
125
+ switch (ast.subType) {
126
+ case ('load'):
127
+ SUBRULE(exports.load, ast);
128
+ break;
129
+ case ('clear'):
130
+ SUBRULE(exports.clear, ast);
131
+ break;
132
+ case ('drop'):
133
+ SUBRULE(exports.drop, ast);
134
+ break;
135
+ case ('add'):
136
+ SUBRULE(exports.add, ast);
137
+ break;
138
+ case ('move'):
139
+ SUBRULE(exports.move, ast);
140
+ break;
141
+ case ('copy'):
142
+ SUBRULE(exports.copy, ast);
143
+ break;
144
+ case ('create'):
145
+ SUBRULE(exports.create, ast);
146
+ break;
147
+ case ('insertdata'):
148
+ SUBRULE(exports.insertData, ast);
149
+ break;
150
+ case ('deletedata'):
151
+ SUBRULE(exports.deleteData, ast);
152
+ break;
153
+ case ('deletewhere'):
154
+ SUBRULE(exports.deleteWhere, ast);
155
+ break;
156
+ case ('modify'):
157
+ SUBRULE(exports.modify, ast);
158
+ break;
159
+ }
160
+ },
170
161
  };
171
- const load = {
172
- name: "load",
173
- impl: ({ ACTION, SUBRULE1, CONSUME, OPTION1, OPTION2 }) => (C) => {
174
- const loadToken = CONSUME(l.load);
175
- const silent = OPTION1(() => CONSUME(l.silent));
176
- const source = SUBRULE1(import_literals.iri);
177
- const destination = OPTION2(() => {
178
- CONSUME(l.loadInto);
179
- return SUBRULE1(graphRef);
180
- });
181
- return ACTION(() => C.astFactory.updateOperationLoad(C.astFactory.sourceLocation(loadToken, source, destination), source, Boolean(silent), destination));
182
- },
183
- gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, { astFactory: F }) => {
184
- F.printFilter(ast, () => {
185
- PRINT_ON_EMPTY("LOAD ");
186
- if (ast.silent) {
187
- PRINT_WORD("SILENT");
188
- }
189
- });
190
- SUBRULE(import_literals.iri, ast.source);
191
- if (ast.destination) {
192
- F.printFilter(ast, () => PRINT_WORD("INTO"));
193
- SUBRULE(graphRefAll, ast.destination);
194
- }
195
- }
162
+ /**
163
+ * [[31]](https://www.w3.org/TR/sparql11-query/#rLoad)
164
+ */
165
+ exports.load = {
166
+ name: 'load',
167
+ impl: ({ ACTION, SUBRULE1, CONSUME, OPTION1, OPTION2 }) => (C) => {
168
+ const loadToken = CONSUME(l.load);
169
+ const silent = OPTION1(() => CONSUME(l.silent));
170
+ const source = SUBRULE1(literals_js_1.iri);
171
+ const destination = OPTION2(() => {
172
+ CONSUME(l.loadInto);
173
+ return SUBRULE1(exports.graphRef);
174
+ });
175
+ return ACTION(() => C.astFactory.updateOperationLoad(C.astFactory.sourceLocation(loadToken, source, destination), source, Boolean(silent), destination));
176
+ },
177
+ gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, { astFactory: F }) => {
178
+ F.printFilter(ast, () => {
179
+ PRINT_ON_EMPTY('LOAD ');
180
+ if (ast.silent) {
181
+ PRINT_WORD('SILENT');
182
+ }
183
+ });
184
+ SUBRULE(literals_js_1.iri, ast.source);
185
+ if (ast.destination) {
186
+ F.printFilter(ast, () => PRINT_WORD('INTO'));
187
+ SUBRULE(exports.graphRefAll, ast.destination);
188
+ }
189
+ },
196
190
  };
197
191
  function clearOrDrop(operation) {
198
- return {
199
- name: (0, import_core.unCapitalize)(operation.name),
192
+ return {
193
+ name: (0, core_1.unCapitalize)(operation.name),
194
+ impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
195
+ const opToken = CONSUME(operation);
196
+ const silent = OPTION(() => CONSUME(l.silent));
197
+ const destination = SUBRULE1(exports.graphRefAll);
198
+ return ACTION(() => C.astFactory.updateOperationClearDrop((0, core_1.unCapitalize)(operation.name), Boolean(silent), destination, C.astFactory.sourceLocation(opToken, destination)));
199
+ },
200
+ gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, { astFactory: F }) => {
201
+ F.printFilter(ast, () => {
202
+ PRINT_ON_EMPTY(operation.name.toUpperCase(), ' ');
203
+ if (ast.silent) {
204
+ PRINT_WORD('SILENT');
205
+ }
206
+ });
207
+ SUBRULE(exports.graphRefAll, ast.destination);
208
+ },
209
+ };
210
+ }
211
+ /**
212
+ * [[32]](https://www.w3.org/TR/sparql11-query/#rClear)
213
+ */
214
+ exports.clear = clearOrDrop(l.clear);
215
+ /**
216
+ * [[33]](https://www.w3.org/TR/sparql11-query/#rDrop)
217
+ */
218
+ exports.drop = clearOrDrop(l.drop);
219
+ /**
220
+ * [[34]](https://www.w3.org/TR/sparql11-query/#rCreate)
221
+ */
222
+ exports.create = {
223
+ name: 'create',
200
224
  impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
201
- const opToken = CONSUME(operation);
202
- const silent = OPTION(() => CONSUME(l.silent));
203
- const destination = SUBRULE1(graphRefAll);
204
- return ACTION(() => C.astFactory.updateOperationClearDrop((0, import_core.unCapitalize)(operation.name), Boolean(silent), destination, C.astFactory.sourceLocation(opToken, destination)));
225
+ const createToken = CONSUME(l.create);
226
+ const silent = OPTION(() => CONSUME(l.silent));
227
+ const destination = SUBRULE1(exports.graphRef);
228
+ return ACTION(() => C.astFactory.updateOperationCreate(destination, Boolean(silent), C.astFactory.sourceLocation(createToken, destination)));
205
229
  },
206
230
  gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, { astFactory: F }) => {
207
- F.printFilter(ast, () => {
208
- PRINT_ON_EMPTY(operation.name.toUpperCase(), " ");
209
- if (ast.silent) {
210
- PRINT_WORD("SILENT");
211
- }
212
- });
213
- SUBRULE(graphRefAll, ast.destination);
214
- }
215
- };
216
- }
217
- const clear = clearOrDrop(l.clear);
218
- const drop = clearOrDrop(l.drop);
219
- const create = {
220
- name: "create",
221
- impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
222
- const createToken = CONSUME(l.create);
223
- const silent = OPTION(() => CONSUME(l.silent));
224
- const destination = SUBRULE1(graphRef);
225
- return ACTION(() => C.astFactory.updateOperationCreate(destination, Boolean(silent), C.astFactory.sourceLocation(createToken, destination)));
226
- },
227
- gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, { astFactory: F }) => {
228
- F.printFilter(ast, () => {
229
- PRINT_ON_EMPTY("CREATE ");
230
- if (ast.silent) {
231
- PRINT_WORD("SILENT");
232
- }
233
- });
234
- SUBRULE(graphRefAll, ast.destination);
235
- }
231
+ F.printFilter(ast, () => {
232
+ PRINT_ON_EMPTY('CREATE ');
233
+ if (ast.silent) {
234
+ PRINT_WORD('SILENT');
235
+ }
236
+ });
237
+ SUBRULE(exports.graphRefAll, ast.destination);
238
+ },
236
239
  };
237
240
  function copyMoveAddOperation(operation) {
238
- return {
239
- name: (0, import_core.unCapitalize)(operation.name),
240
- impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION }) => (C) => {
241
- const op = CONSUME(operation);
242
- const silent = OPTION(() => CONSUME(l.silent));
243
- const source = SUBRULE1(graphOrDefault);
244
- CONSUME(l.to);
245
- const destination = SUBRULE2(graphOrDefault);
246
- return ACTION(() => C.astFactory.updateOperationAddMoveCopy((0, import_core.unCapitalize)(operation.name), source, destination, Boolean(silent), C.astFactory.sourceLocation(op, destination)));
247
- },
248
- gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, { astFactory: F }) => {
249
- F.printFilter(ast, () => {
250
- PRINT_ON_EMPTY(operation.name.toUpperCase(), " ");
251
- if (ast.silent) {
252
- PRINT_WORD("SILENT");
253
- }
254
- });
255
- SUBRULE(graphRefAll, ast.source);
256
- F.printFilter(ast, () => PRINT_WORD("TO"));
257
- SUBRULE(graphRefAll, ast.destination);
258
- }
259
- };
241
+ return {
242
+ name: (0, core_1.unCapitalize)(operation.name),
243
+ impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION }) => (C) => {
244
+ const op = CONSUME(operation);
245
+ const silent = OPTION(() => CONSUME(l.silent));
246
+ const source = SUBRULE1(exports.graphOrDefault);
247
+ CONSUME(l.to);
248
+ const destination = SUBRULE2(exports.graphOrDefault);
249
+ return ACTION(() => C.astFactory.updateOperationAddMoveCopy((0, core_1.unCapitalize)(operation.name), source, destination, Boolean(silent), C.astFactory.sourceLocation(op, destination)));
250
+ },
251
+ gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, { astFactory: F }) => {
252
+ F.printFilter(ast, () => {
253
+ PRINT_ON_EMPTY(operation.name.toUpperCase(), ' ');
254
+ if (ast.silent) {
255
+ PRINT_WORD('SILENT');
256
+ }
257
+ });
258
+ SUBRULE(exports.graphRefAll, ast.source);
259
+ F.printFilter(ast, () => PRINT_WORD('TO'));
260
+ SUBRULE(exports.graphRefAll, ast.destination);
261
+ },
262
+ };
260
263
  }
261
- const add = copyMoveAddOperation(l.add);
262
- const move = copyMoveAddOperation(l.move);
263
- const copy = copyMoveAddOperation(l.copy);
264
- const quadPattern = {
265
- name: "quadPattern",
266
- impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
267
- const open = CONSUME(l.symbols.LCurly);
268
- const val = SUBRULE1(quads);
269
- const close = CONSUME(l.symbols.RCurly);
270
- return ACTION(() => C.astFactory.wrap(val.val, C.astFactory.sourceLocation(open, close)));
271
- }
264
+ /**
265
+ * [[35]](https://www.w3.org/TR/sparql11-query/#rAdd)
266
+ */
267
+ exports.add = copyMoveAddOperation(l.add);
268
+ /**
269
+ * [[36]](https://www.w3.org/TR/sparql11-query/#rMove)
270
+ */
271
+ exports.move = copyMoveAddOperation(l.move);
272
+ /**
273
+ * [[37]](https://www.w3.org/TR/sparql11-query/#rCopy)
274
+ */
275
+ exports.copy = copyMoveAddOperation(l.copy);
276
+ /**
277
+ * [[48]](https://www.w3.org/TR/sparql11-query/#rQuadPattern)
278
+ */
279
+ exports.quadPattern = {
280
+ name: 'quadPattern',
281
+ impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
282
+ const open = CONSUME(l.symbols.LCurly);
283
+ const val = SUBRULE1(exports.quads);
284
+ const close = CONSUME(l.symbols.RCurly);
285
+ return ACTION(() => C.astFactory.wrap(val.val, C.astFactory.sourceLocation(open, close)));
286
+ },
272
287
  };
273
- const quadData = {
274
- name: "quadData",
275
- impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
276
- const open = CONSUME(l.symbols.LCurly);
277
- const couldParseVars = ACTION(() => C.parseMode.delete("canParseVars"));
278
- const val = SUBRULE1(quads);
279
- ACTION(() => couldParseVars && C.parseMode.add("canParseVars"));
280
- const close = CONSUME(l.symbols.RCurly);
281
- return ACTION(() => C.astFactory.wrap(val.val, C.astFactory.sourceLocation(open, close)));
282
- }
288
+ /**
289
+ * [[49]](https://www.w3.org/TR/sparql11-query/#rQuadData)
290
+ */
291
+ exports.quadData = {
292
+ name: 'quadData',
293
+ impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
294
+ const open = CONSUME(l.symbols.LCurly);
295
+ const couldParseVars = ACTION(() => C.parseMode.delete('canParseVars'));
296
+ const val = SUBRULE1(exports.quads);
297
+ ACTION(() => couldParseVars && C.parseMode.add('canParseVars'));
298
+ const close = CONSUME(l.symbols.RCurly);
299
+ return ACTION(() => C.astFactory.wrap(val.val, C.astFactory.sourceLocation(open, close)));
300
+ },
283
301
  };
284
302
  function insertDeleteDelWhere(name, subType, cons1, dataRule) {
285
- return {
286
- name,
287
- impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
288
- const insDelToken = CONSUME(cons1);
289
- let couldCreateBlankNodes = true;
290
- if (name !== "insertData") {
291
- couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
292
- }
293
- const data = SUBRULE1(dataRule);
294
- if (name !== "insertData") {
295
- ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
296
- }
297
- return ACTION(() => C.astFactory.updateOperationInsDelDataWhere(subType, data.val, C.astFactory.sourceLocation(insDelToken, data)));
303
+ return {
304
+ name,
305
+ impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
306
+ const insDelToken = CONSUME(cons1);
307
+ let couldCreateBlankNodes = true;
308
+ if (name !== 'insertData') {
309
+ couldCreateBlankNodes = ACTION(() => C.parseMode.delete('canCreateBlankNodes'));
310
+ }
311
+ const data = SUBRULE1(dataRule);
312
+ if (name !== 'insertData') {
313
+ ACTION(() => couldCreateBlankNodes && C.parseMode.add('canCreateBlankNodes'));
314
+ }
315
+ return ACTION(() => C.astFactory.updateOperationInsDelDataWhere(subType, data.val, C.astFactory.sourceLocation(insDelToken, data)));
316
+ },
317
+ gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY, PRINT_ON_OWN_LINE, NEW_LINE }) => (ast, C) => {
318
+ const { astFactory: F, indentInc } = C;
319
+ F.printFilter(ast, () => {
320
+ if (subType === 'insertdata') {
321
+ PRINT_ON_EMPTY('INSERT DATA ');
322
+ }
323
+ else if (subType === 'deletedata') {
324
+ PRINT_ON_EMPTY('DELETE DATA ');
325
+ }
326
+ else if (subType === 'deletewhere') {
327
+ PRINT_ON_EMPTY('DELETE WHERE ');
328
+ }
329
+ C[core_1.traqulaIndentation] += indentInc;
330
+ PRINT_WORD('{');
331
+ NEW_LINE();
332
+ });
333
+ SUBRULE(exports.quads, F.wrap(ast.data, ast.loc));
334
+ F.printFilter(ast, () => {
335
+ C[core_1.traqulaIndentation] -= indentInc;
336
+ PRINT_ON_OWN_LINE('}');
337
+ });
338
+ },
339
+ };
340
+ }
341
+ /**
342
+ * [[38]](https://www.w3.org/TR/sparql11-query/#rInsertData)
343
+ */
344
+ exports.insertData = insertDeleteDelWhere('insertData', 'insertdata', l.insertDataClause, exports.quadData);
345
+ /**
346
+ * [[39]](https://www.w3.org/TR/sparql11-query/#rDeleteData)
347
+ */
348
+ exports.deleteData = insertDeleteDelWhere('deleteData', 'deletedata', l.deleteDataClause, exports.quadData);
349
+ /**
350
+ * [[40]](https://www.w3.org/TR/sparql11-query/#rDeleteWhere)
351
+ */
352
+ exports.deleteWhere = insertDeleteDelWhere('deleteWhere', 'deletewhere', l.deleteWhereClause, exports.quadPattern);
353
+ /**
354
+ * [[41]](https://www.w3.org/TR/sparql11-query/#rModify)
355
+ */
356
+ exports.modify = {
357
+ name: 'modify',
358
+ impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => (C) => {
359
+ const graph = OPTION1(() => {
360
+ const withToken = CONSUME(l.modifyWith);
361
+ const graph = SUBRULE1(literals_js_1.iri);
362
+ return { withToken, graph };
363
+ });
364
+ const { insert, del } = OR([
365
+ { ALT: () => {
366
+ const del = SUBRULE1(exports.deleteClause);
367
+ const insert = OPTION2(() => SUBRULE1(exports.insertClause));
368
+ return { del, insert };
369
+ } },
370
+ { ALT: () => {
371
+ const insert = SUBRULE2(exports.insertClause);
372
+ return { insert, del: undefined };
373
+ } },
374
+ ]);
375
+ const using = SUBRULE1(dataSetClause_js_1.usingClauseStar);
376
+ CONSUME(l.where);
377
+ const where = SUBRULE1(whereClause_js_1.groupGraphPattern);
378
+ return ACTION(() => C.astFactory.updateOperationModify(C.astFactory.sourceLocation(graph?.withToken, del, insert, where), insert?.val ?? [], del?.val ?? [], where, using, graph?.graph));
298
379
  },
299
- gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY, PRINT_ON_OWN_LINE, NEW_LINE }) => (ast, C) => {
300
- const { astFactory: F, indentInc } = C;
301
- F.printFilter(ast, () => {
302
- if (subType === "insertdata") {
303
- PRINT_ON_EMPTY("INSERT DATA ");
304
- } else if (subType === "deletedata") {
305
- PRINT_ON_EMPTY("DELETE DATA ");
306
- } else if (subType === "deletewhere") {
307
- PRINT_ON_EMPTY("DELETE WHERE ");
380
+ gImpl: ({ SUBRULE, PRINT_WORDS, PRINT_ON_EMPTY, NEW_LINE }) => (ast, C) => {
381
+ const { astFactory: F, indentInc } = C;
382
+ if (ast.graph) {
383
+ F.printFilter(ast, () => PRINT_WORDS('WITH'));
384
+ SUBRULE(literals_js_1.iri, ast.graph);
308
385
  }
309
- C[import_core.traqulaIndentation] += indentInc;
310
- PRINT_WORD("{");
311
- NEW_LINE();
312
- });
313
- SUBRULE(quads, F.wrap(ast.data, ast.loc));
314
- F.printFilter(ast, () => {
315
- C[import_core.traqulaIndentation] -= indentInc;
316
- PRINT_ON_OWN_LINE("}");
317
- });
318
- }
319
- };
320
- }
321
- const insertData = insertDeleteDelWhere("insertData", "insertdata", l.insertDataClause, quadData);
322
- const deleteData = insertDeleteDelWhere("deleteData", "deletedata", l.deleteDataClause, quadData);
323
- const deleteWhere = insertDeleteDelWhere("deleteWhere", "deletewhere", l.deleteWhereClause, quadPattern);
324
- const modify = {
325
- name: "modify",
326
- impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => (C) => {
327
- const graph = OPTION1(() => {
328
- const withToken = CONSUME(l.modifyWith);
329
- const graph2 = SUBRULE1(import_literals.iri);
330
- return { withToken, graph: graph2 };
331
- });
332
- const { insert, del } = OR([
333
- { ALT: () => {
334
- const del2 = SUBRULE1(deleteClause);
335
- const insert2 = OPTION2(() => SUBRULE1(insertClause));
336
- return { del: del2, insert: insert2 };
337
- } },
338
- { ALT: () => {
339
- const insert2 = SUBRULE2(insertClause);
340
- return { insert: insert2, del: void 0 };
341
- } }
342
- ]);
343
- const using = SUBRULE1(import_dataSetClause.usingClauseStar);
344
- CONSUME(l.where);
345
- const where = SUBRULE1(import_whereClause.groupGraphPattern);
346
- return ACTION(() => C.astFactory.updateOperationModify(C.astFactory.sourceLocation(graph?.withToken, del, insert, where), insert?.val ?? [], del?.val ?? [], where, using, graph?.graph));
347
- },
348
- gImpl: ({ SUBRULE, PRINT_WORDS, PRINT_ON_EMPTY, NEW_LINE }) => (ast, C) => {
349
- const { astFactory: F, indentInc } = C;
350
- if (ast.graph) {
351
- F.printFilter(ast, () => PRINT_WORDS("WITH"));
352
- SUBRULE(import_literals.iri, ast.graph);
353
- }
354
- if (ast.delete.length > 0) {
355
- F.printFilter(ast, () => {
356
- C[import_core.traqulaIndentation] += indentInc;
357
- PRINT_WORDS("DELETE", "{");
358
- NEW_LINE();
359
- });
360
- SUBRULE(quads, F.wrap(ast.delete, ast.loc));
361
- F.printFilter(ast, () => {
362
- C[import_core.traqulaIndentation] -= indentInc;
363
- PRINT_ON_EMPTY("}");
364
- NEW_LINE();
365
- });
366
- }
367
- if (ast.insert.length > 0) {
368
- F.printFilter(ast, () => {
369
- C[import_core.traqulaIndentation] += indentInc;
370
- PRINT_WORDS("INSERT", "{");
371
- NEW_LINE();
372
- });
373
- SUBRULE(quads, F.wrap(ast.insert, ast.loc));
374
- F.printFilter(ast, () => {
375
- C[import_core.traqulaIndentation] -= indentInc;
376
- PRINT_ON_EMPTY("} ");
377
- NEW_LINE();
378
- });
379
- }
380
- SUBRULE(import_dataSetClause.usingClauseStar, ast.from);
381
- F.printFilter(ast, () => PRINT_WORDS("WHERE"));
382
- SUBRULE(import_whereClause.groupGraphPattern, ast.where);
383
- }
386
+ if (ast.delete.length > 0) {
387
+ F.printFilter(ast, () => {
388
+ C[core_1.traqulaIndentation] += indentInc;
389
+ PRINT_WORDS('DELETE', '{');
390
+ NEW_LINE();
391
+ });
392
+ SUBRULE(exports.quads, F.wrap(ast.delete, ast.loc));
393
+ F.printFilter(ast, () => {
394
+ C[core_1.traqulaIndentation] -= indentInc;
395
+ PRINT_ON_EMPTY('}');
396
+ NEW_LINE();
397
+ });
398
+ }
399
+ if (ast.insert.length > 0) {
400
+ F.printFilter(ast, () => {
401
+ C[core_1.traqulaIndentation] += indentInc;
402
+ PRINT_WORDS('INSERT', '{');
403
+ NEW_LINE();
404
+ });
405
+ SUBRULE(exports.quads, F.wrap(ast.insert, ast.loc));
406
+ F.printFilter(ast, () => {
407
+ C[core_1.traqulaIndentation] -= indentInc;
408
+ PRINT_ON_EMPTY('} ');
409
+ NEW_LINE();
410
+ });
411
+ }
412
+ SUBRULE(dataSetClause_js_1.usingClauseStar, ast.from);
413
+ F.printFilter(ast, () => PRINT_WORDS('WHERE'));
414
+ SUBRULE(whereClause_js_1.groupGraphPattern, ast.where);
415
+ },
384
416
  };
385
- const deleteClause = {
386
- name: "deleteClause",
387
- impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
388
- const delToken = CONSUME(l.deleteClause);
389
- const couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
390
- const del = SUBRULE(quadPattern);
391
- ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
392
- return ACTION(() => C.astFactory.wrap(del.val, C.astFactory.sourceLocation(delToken, del)));
393
- }
417
+ /**
418
+ * [[42]](https://www.w3.org/TR/sparql11-query/#rDeleteClause)
419
+ */
420
+ exports.deleteClause = {
421
+ name: 'deleteClause',
422
+ impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
423
+ const delToken = CONSUME(l.deleteClause);
424
+ const couldCreateBlankNodes = ACTION(() => C.parseMode.delete('canCreateBlankNodes'));
425
+ const del = SUBRULE(exports.quadPattern);
426
+ ACTION(() => couldCreateBlankNodes && C.parseMode.add('canCreateBlankNodes'));
427
+ return ACTION(() => C.astFactory.wrap(del.val, C.astFactory.sourceLocation(delToken, del)));
428
+ },
394
429
  };
395
- const insertClause = {
396
- name: "insertClause",
397
- impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
398
- const insertToken = CONSUME(l.insertClause);
399
- const insert = SUBRULE(quadPattern);
400
- return ACTION(() => C.astFactory.wrap(insert.val, C.astFactory.sourceLocation(insertToken, insert)));
401
- }
430
+ /**
431
+ * [[43]](https://www.w3.org/TR/sparql11-query/#rInsertClause)
432
+ */
433
+ exports.insertClause = {
434
+ name: 'insertClause',
435
+ impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
436
+ const insertToken = CONSUME(l.insertClause);
437
+ const insert = SUBRULE(exports.quadPattern);
438
+ return ACTION(() => C.astFactory.wrap(insert.val, C.astFactory.sourceLocation(insertToken, insert)));
439
+ },
402
440
  };
403
- const graphOrDefault = {
404
- name: "graphOrDefault",
405
- impl: ({ ACTION, SUBRULE1, CONSUME, OPTION, OR }) => (C) => OR([
406
- { ALT: () => {
407
- const def = CONSUME(l.graph.default_);
408
- return ACTION(() => C.astFactory.graphRefDefault(C.astFactory.sourceLocation(def)));
409
- } },
410
- { ALT: () => {
411
- const graph = OPTION(() => CONSUME(l.graph.graph));
412
- const name = SUBRULE1(import_literals.iri);
413
- return ACTION(() => C.astFactory.graphRefSpecific(name, C.astFactory.sourceLocation(graph, name)));
414
- } }
415
- ])
441
+ /**
442
+ * [[45]](https://www.w3.org/TR/sparql11-query/#rGraphOrDefault)
443
+ */
444
+ exports.graphOrDefault = {
445
+ name: 'graphOrDefault',
446
+ impl: ({ ACTION, SUBRULE1, CONSUME, OPTION, OR }) => C => OR([
447
+ { ALT: () => {
448
+ const def = CONSUME(l.graph.default_);
449
+ return ACTION(() => C.astFactory.graphRefDefault(C.astFactory.sourceLocation(def)));
450
+ } },
451
+ { ALT: () => {
452
+ const graph = OPTION(() => CONSUME(l.graph.graph));
453
+ const name = SUBRULE1(literals_js_1.iri);
454
+ return ACTION(() => C.astFactory.graphRefSpecific(name, C.astFactory.sourceLocation(graph, name)));
455
+ } },
456
+ ]),
416
457
  };
417
- const graphRef = {
418
- name: "graphRef",
419
- impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
420
- const graph = CONSUME(l.graph.graph);
421
- const val = SUBRULE(import_literals.iri);
422
- return ACTION(() => C.astFactory.graphRefSpecific(val, C.astFactory.sourceLocation(graph, val)));
423
- },
424
- gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F }) => {
425
- F.printFilter(ast, () => PRINT_WORD("GRAPH"));
426
- SUBRULE(import_literals.iri, ast.graph);
427
- }
458
+ /**
459
+ * [[46]](https://www.w3.org/TR/sparql11-query/#rGraphRef)
460
+ */
461
+ exports.graphRef = {
462
+ name: 'graphRef',
463
+ impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
464
+ const graph = CONSUME(l.graph.graph);
465
+ const val = SUBRULE(literals_js_1.iri);
466
+ return ACTION(() => C.astFactory.graphRefSpecific(val, C.astFactory.sourceLocation(graph, val)));
467
+ },
468
+ gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F }) => {
469
+ F.printFilter(ast, () => PRINT_WORD('GRAPH'));
470
+ SUBRULE(literals_js_1.iri, ast.graph);
471
+ },
428
472
  };
429
- const graphRefAll = {
430
- name: "graphRefAll",
431
- impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
432
- { ALT: () => SUBRULE(graphRef) },
433
- { ALT: () => {
434
- const def = CONSUME(l.graph.default_);
435
- return ACTION(() => C.astFactory.graphRefDefault(C.astFactory.sourceLocation(def)));
436
- } },
437
- { ALT: () => {
438
- const named = CONSUME(l.graph.named);
439
- return ACTION(() => C.astFactory.graphRefNamed(C.astFactory.sourceLocation(named)));
440
- } },
441
- { ALT: () => {
442
- const graphAll = CONSUME(l.graph.graphAll);
443
- return ACTION(() => C.astFactory.graphRefAll(C.astFactory.sourceLocation(graphAll)));
444
- } }
445
- ]),
446
- gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F }) => {
447
- if (F.isGraphRefSpecific(ast)) {
448
- SUBRULE(graphRef, ast);
449
- } else if (F.isGraphRefDefault(ast)) {
450
- F.printFilter(ast, () => PRINT_WORD("DEFAULT"));
451
- } else if (F.isGraphRefNamed(ast)) {
452
- F.printFilter(ast, () => PRINT_WORD("NAMED"));
453
- } else if (F.isGraphRefAll(ast)) {
454
- F.printFilter(ast, () => PRINT_WORD("ALL"));
455
- }
456
- }
473
+ /**
474
+ * [[47]](https://www.w3.org/TR/sparql11-query/#rGraphRefAll)
475
+ */
476
+ exports.graphRefAll = {
477
+ name: 'graphRefAll',
478
+ impl: ({ ACTION, SUBRULE, CONSUME, OR }) => C => OR([
479
+ { ALT: () => SUBRULE(exports.graphRef) },
480
+ { ALT: () => {
481
+ const def = CONSUME(l.graph.default_);
482
+ return ACTION(() => C.astFactory.graphRefDefault(C.astFactory.sourceLocation(def)));
483
+ } },
484
+ { ALT: () => {
485
+ const named = CONSUME(l.graph.named);
486
+ return ACTION(() => C.astFactory.graphRefNamed(C.astFactory.sourceLocation(named)));
487
+ } },
488
+ { ALT: () => {
489
+ const graphAll = CONSUME(l.graph.graphAll);
490
+ return ACTION(() => C.astFactory.graphRefAll(C.astFactory.sourceLocation(graphAll)));
491
+ } },
492
+ ]),
493
+ gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F }) => {
494
+ if (F.isGraphRefSpecific(ast)) {
495
+ SUBRULE(exports.graphRef, ast);
496
+ }
497
+ else if (F.isGraphRefDefault(ast)) {
498
+ F.printFilter(ast, () => PRINT_WORD('DEFAULT'));
499
+ }
500
+ else if (F.isGraphRefNamed(ast)) {
501
+ F.printFilter(ast, () => PRINT_WORD('NAMED'));
502
+ }
503
+ else if (F.isGraphRefAll(ast)) {
504
+ F.printFilter(ast, () => PRINT_WORD('ALL'));
505
+ }
506
+ },
457
507
  };
458
- const quads = {
459
- name: "quads",
460
- impl: ({ ACTION, SUBRULE, CONSUME, MANY, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OPTION3 }) => (C) => {
461
- const quads2 = [];
462
- let last;
463
- OPTION1(() => {
464
- const triples = SUBRULE1(import_tripleBlock.triplesTemplate);
465
- last = triples;
466
- ACTION(() => quads2.push(triples));
467
- });
468
- MANY(() => {
469
- const notTriples = SUBRULE(quadsNotTriples);
470
- last = notTriples;
471
- quads2.push(notTriples);
472
- OPTION2(() => {
473
- const dotToken = CONSUME(l.symbols.dot);
474
- last = dotToken;
475
- return dotToken;
476
- });
477
- OPTION3(() => {
478
- const triples = SUBRULE2(import_tripleBlock.triplesTemplate);
479
- last = triples;
480
- ACTION(() => quads2.push(triples));
481
- });
482
- });
483
- return ACTION(() => C.astFactory.wrap(quads2, C.astFactory.sourceLocation(quads2.at(0), last)));
484
- },
485
- gImpl: ({ SUBRULE }) => (ast, { astFactory: F }) => {
486
- for (const quad of ast.val) {
487
- if (F.isPattern(quad)) {
488
- SUBRULE(import_tripleBlock.triplesBlock, quad);
489
- } else {
490
- SUBRULE(quadsNotTriples, quad);
491
- }
492
- }
493
- }
508
+ /**
509
+ * [[50]](https://www.w3.org/TR/sparql11-query/#rQuads)
510
+ */
511
+ exports.quads = {
512
+ name: 'quads',
513
+ impl: ({ ACTION, SUBRULE, CONSUME, MANY, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OPTION3 }) => (C) => {
514
+ const quads = [];
515
+ let last;
516
+ OPTION1(() => {
517
+ const triples = SUBRULE1(tripleBlock_js_1.triplesTemplate);
518
+ last = triples;
519
+ ACTION(() => quads.push(triples));
520
+ });
521
+ MANY(() => {
522
+ const notTriples = SUBRULE(exports.quadsNotTriples);
523
+ last = notTriples;
524
+ quads.push(notTriples);
525
+ OPTION2(() => {
526
+ const dotToken = CONSUME(l.symbols.dot);
527
+ last = dotToken;
528
+ return dotToken;
529
+ });
530
+ OPTION3(() => {
531
+ const triples = SUBRULE2(tripleBlock_js_1.triplesTemplate);
532
+ last = triples;
533
+ ACTION(() => quads.push(triples));
534
+ });
535
+ });
536
+ return ACTION(() => C.astFactory.wrap(quads, C.astFactory.sourceLocation(quads.at(0), last)));
537
+ },
538
+ gImpl: ({ SUBRULE }) => (ast, { astFactory: F }) => {
539
+ for (const quad of ast.val) {
540
+ if (F.isPattern(quad)) {
541
+ SUBRULE(tripleBlock_js_1.triplesBlock, quad);
542
+ }
543
+ else {
544
+ SUBRULE(exports.quadsNotTriples, quad);
545
+ }
546
+ }
547
+ },
494
548
  };
495
- const quadsNotTriples = {
496
- name: "quadsNotTriples",
497
- impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
498
- const graph = CONSUME(l.graph.graph);
499
- const name = SUBRULE1(import_general.varOrIri);
500
- CONSUME(l.symbols.LCurly);
501
- const triples = OPTION(() => SUBRULE1(import_tripleBlock.triplesTemplate));
502
- const close = CONSUME(l.symbols.RCurly);
503
- return ACTION(() => C.astFactory.graphQuads(name, triples ?? C.astFactory.patternBgp([], C.astFactory.sourceLocationNoMaterialize()), C.astFactory.sourceLocation(graph, close)));
504
- },
505
- gImpl: ({ SUBRULE, PRINT_WORD, NEW_LINE, PRINT_ON_OWN_LINE }) => (ast, C) => {
506
- const { astFactory: F, indentInc } = C;
507
- F.printFilter(ast, () => PRINT_WORD("GRAPH"));
508
- SUBRULE(import_general.varOrTerm, ast.graph);
509
- F.printFilter(ast, () => {
510
- C[import_core.traqulaIndentation] += indentInc;
511
- PRINT_WORD("{");
512
- NEW_LINE();
513
- });
514
- SUBRULE(import_tripleBlock.triplesBlock, ast.triples);
515
- F.printFilter(ast, () => {
516
- C[import_core.traqulaIndentation] -= indentInc;
517
- PRINT_ON_OWN_LINE("}");
518
- });
519
- }
549
+ /**
550
+ * [[51]](https://www.w3.org/TR/sparql11-query/#rQuadsNotTriples)
551
+ */
552
+ exports.quadsNotTriples = {
553
+ name: 'quadsNotTriples',
554
+ impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
555
+ const graph = CONSUME(l.graph.graph);
556
+ const name = SUBRULE1(general_js_1.varOrIri);
557
+ CONSUME(l.symbols.LCurly);
558
+ const triples = OPTION(() => SUBRULE1(tripleBlock_js_1.triplesTemplate));
559
+ const close = CONSUME(l.symbols.RCurly);
560
+ return ACTION(() => C.astFactory.graphQuads(name, triples ?? C.astFactory.patternBgp([], C.astFactory.sourceLocationNoMaterialize()), C.astFactory.sourceLocation(graph, close)));
561
+ },
562
+ gImpl: ({ SUBRULE, PRINT_WORD, NEW_LINE, PRINT_ON_OWN_LINE }) => (ast, C) => {
563
+ const { astFactory: F, indentInc } = C;
564
+ F.printFilter(ast, () => PRINT_WORD('GRAPH'));
565
+ SUBRULE(general_js_1.varOrTerm, ast.graph);
566
+ F.printFilter(ast, () => {
567
+ C[core_1.traqulaIndentation] += indentInc;
568
+ PRINT_WORD('{');
569
+ NEW_LINE();
570
+ });
571
+ SUBRULE(tripleBlock_js_1.triplesBlock, ast.triples);
572
+ F.printFilter(ast, () => {
573
+ C[core_1.traqulaIndentation] -= indentInc;
574
+ PRINT_ON_OWN_LINE('}');
575
+ });
576
+ },
520
577
  };
521
- // Annotate the CommonJS export names for ESM import in node:
522
- 0 && (module.exports = {
523
- add,
524
- clear,
525
- copy,
526
- create,
527
- deleteClause,
528
- deleteData,
529
- deleteWhere,
530
- drop,
531
- graphOrDefault,
532
- graphRef,
533
- graphRefAll,
534
- insertClause,
535
- insertData,
536
- load,
537
- modify,
538
- move,
539
- quadData,
540
- quadPattern,
541
- quads,
542
- quadsNotTriples,
543
- update,
544
- update1,
545
- updateUnit
546
- });
578
+ //# sourceMappingURL=updateUnit.js.map