@traqula/generator-sparql-1-1 0.0.4 → 0.0.5
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.
- package/README.md +4 -0
- package/lib/index.cjs +430 -364
- package/lib/index.d.ts +10 -5
- package/lib/index.js +7 -17
- package/lib/index.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
Traqula Generator Sparql 1.1 is a [SPARQL 1.1](https://www.w3.org/TR/sparql11-query/#grammar) query generator for TypeScript.
|
|
12
12
|
It can generate SPARQL given the AST created by [Traqula parser SPARQL 1-1](https://github.com/comunica/traqula/tree/main/engines/parser-sparql-1-1).
|
|
13
13
|
|
|
14
|
+
TODO: explain API
|
|
15
|
+
|
|
14
16
|
## Installation
|
|
15
17
|
|
|
16
18
|
```bash
|
|
@@ -45,3 +47,5 @@ This package contains a `Generator` that is able to generate SPARQL 1.1 queries:
|
|
|
45
47
|
const generator = new Generator();
|
|
46
48
|
const abstractSyntaxTree = generator.generate(abstractSyntaxTree);
|
|
47
49
|
```
|
|
50
|
+
|
|
51
|
+
Note that a single generator cannot generate multiple queries in parallel.
|
package/lib/index.cjs
CHANGED
|
@@ -156,92 +156,8 @@ var CoreFactory = class {
|
|
|
156
156
|
var DynamicGenerator = class {
|
|
157
157
|
constructor(rules) {
|
|
158
158
|
this.rules = rules;
|
|
159
|
-
this.factory = new CoreFactory();
|
|
160
|
-
this.__context = void 0;
|
|
161
|
-
this.origSource = "";
|
|
162
|
-
this.generatedUntil = 0;
|
|
163
|
-
this.stringBuilder = [];
|
|
164
|
-
this.subrule = (cstDef, ast, ...arg) => {
|
|
165
|
-
const def = this.rules[cstDef.name];
|
|
166
|
-
if (!def) {
|
|
167
|
-
throw new Error(`Rule ${cstDef.name} not found`);
|
|
168
|
-
}
|
|
169
|
-
const generate = () => def.gImpl({
|
|
170
|
-
SUBRULE: this.subrule,
|
|
171
|
-
PRINT: this.print,
|
|
172
|
-
PRINT_SPACE_LEFT: this.printSpaceLeft,
|
|
173
|
-
PRINT_WORD: this.printWord,
|
|
174
|
-
PRINT_WORDS: this.printWords,
|
|
175
|
-
CATCHUP: this.catchup,
|
|
176
|
-
HANDLE_LOC: this.handleLoc
|
|
177
|
-
})(ast, this.getSafeContext(), ...arg);
|
|
178
|
-
if (this.factory.isLocalized(ast)) {
|
|
179
|
-
this.handleLoc(ast, generate);
|
|
180
|
-
} else {
|
|
181
|
-
generate();
|
|
182
|
-
}
|
|
183
|
-
};
|
|
184
|
-
this.handleLoc = (localized, handle) => {
|
|
185
|
-
if (this.factory.isSourceLocationNoMaterialize(localized.loc)) {
|
|
186
|
-
return;
|
|
187
|
-
}
|
|
188
|
-
if (this.factory.isSourceLocationStringReplace(localized.loc)) {
|
|
189
|
-
this.catchup(localized.loc.start);
|
|
190
|
-
this.print(localized.loc.newSource);
|
|
191
|
-
this.generatedUntil = localized.loc.end;
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
if (this.factory.isSourceLocationNodeReplace(localized.loc)) {
|
|
195
|
-
this.catchup(localized.loc.start);
|
|
196
|
-
this.generatedUntil = localized.loc.end;
|
|
197
|
-
}
|
|
198
|
-
if (this.factory.isSourceLocationSource(localized.loc)) {
|
|
199
|
-
this.catchup(localized.loc.start);
|
|
200
|
-
}
|
|
201
|
-
const ret = handle();
|
|
202
|
-
if (this.factory.isSourceLocationSource(localized.loc)) {
|
|
203
|
-
this.catchup(localized.loc.end);
|
|
204
|
-
}
|
|
205
|
-
return ret;
|
|
206
|
-
};
|
|
207
|
-
this.catchup = (until) => {
|
|
208
|
-
const start = this.generatedUntil;
|
|
209
|
-
if (start < until) {
|
|
210
|
-
this.print(this.origSource.slice(start, until));
|
|
211
|
-
}
|
|
212
|
-
this.generatedUntil = Math.max(this.generatedUntil, until);
|
|
213
|
-
};
|
|
214
|
-
this.print = (...args) => {
|
|
215
|
-
const pureArgs = args.filter((x) => x.length > 0);
|
|
216
|
-
if (pureArgs.length > 0) {
|
|
217
|
-
const [head2, ...tail] = pureArgs;
|
|
218
|
-
if (this.expectsSpace) {
|
|
219
|
-
this.expectsSpace = false;
|
|
220
|
-
const blanks = /* @__PURE__ */ new Set(["\n", " ", " "]);
|
|
221
|
-
if (this.stringBuilder.length > 0 && !(blanks.has(head2[0]) || blanks.has(this.stringBuilder.at(-1).at(-1)))) {
|
|
222
|
-
this.stringBuilder.push(" ");
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
this.stringBuilder.push(head2);
|
|
226
|
-
this.stringBuilder.push(...tail);
|
|
227
|
-
}
|
|
228
|
-
};
|
|
229
|
-
this.printWord = (...args) => {
|
|
230
|
-
this.expectsSpace = true;
|
|
231
|
-
this.print(...args);
|
|
232
|
-
this.expectsSpace = true;
|
|
233
|
-
};
|
|
234
|
-
this.printSpaceLeft = (...args) => {
|
|
235
|
-
this.expectsSpace = true;
|
|
236
|
-
this.print(...args);
|
|
237
|
-
};
|
|
238
|
-
this.printWords = (...args) => {
|
|
239
|
-
for (const arg of args) {
|
|
240
|
-
this.printWord(arg);
|
|
241
|
-
}
|
|
242
|
-
};
|
|
243
159
|
for (const rule of Object.values(rules)) {
|
|
244
|
-
this[rule.name] = (input, context, args) => {
|
|
160
|
+
this[rule.name] = ((input, context, args) => {
|
|
245
161
|
this.expectsSpace = false;
|
|
246
162
|
this.stringBuilder.length = 0;
|
|
247
163
|
this.origSource = context.origSource;
|
|
@@ -250,15 +166,100 @@ var DynamicGenerator = class {
|
|
|
250
166
|
this.subrule(rule, input, args);
|
|
251
167
|
this.catchup(this.origSource.length);
|
|
252
168
|
return this.stringBuilder.join("");
|
|
253
|
-
};
|
|
169
|
+
});
|
|
254
170
|
}
|
|
255
171
|
}
|
|
172
|
+
factory = new CoreFactory();
|
|
173
|
+
__context = void 0;
|
|
174
|
+
origSource = "";
|
|
175
|
+
generatedUntil = 0;
|
|
176
|
+
expectsSpace;
|
|
177
|
+
stringBuilder = [];
|
|
256
178
|
setContext(context) {
|
|
257
179
|
this.__context = context;
|
|
258
180
|
}
|
|
259
181
|
getSafeContext() {
|
|
260
182
|
return this.__context;
|
|
261
183
|
}
|
|
184
|
+
subrule = (cstDef, ast, ...arg) => {
|
|
185
|
+
const def = this.rules[cstDef.name];
|
|
186
|
+
if (!def) {
|
|
187
|
+
throw new Error(`Rule ${cstDef.name} not found`);
|
|
188
|
+
}
|
|
189
|
+
const generate = () => def.gImpl({
|
|
190
|
+
SUBRULE: this.subrule,
|
|
191
|
+
PRINT: this.print,
|
|
192
|
+
PRINT_SPACE_LEFT: this.printSpaceLeft,
|
|
193
|
+
PRINT_WORD: this.printWord,
|
|
194
|
+
PRINT_WORDS: this.printWords,
|
|
195
|
+
CATCHUP: this.catchup,
|
|
196
|
+
HANDLE_LOC: this.handleLoc
|
|
197
|
+
})(ast, this.getSafeContext(), ...arg);
|
|
198
|
+
if (this.factory.isLocalized(ast)) {
|
|
199
|
+
this.handleLoc(ast, generate);
|
|
200
|
+
} else {
|
|
201
|
+
generate();
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
handleLoc = (localized, handle) => {
|
|
205
|
+
if (this.factory.isSourceLocationNoMaterialize(localized.loc)) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
if (this.factory.isSourceLocationStringReplace(localized.loc)) {
|
|
209
|
+
this.catchup(localized.loc.start);
|
|
210
|
+
this.print(localized.loc.newSource);
|
|
211
|
+
this.generatedUntil = localized.loc.end;
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
if (this.factory.isSourceLocationNodeReplace(localized.loc)) {
|
|
215
|
+
this.catchup(localized.loc.start);
|
|
216
|
+
this.generatedUntil = localized.loc.end;
|
|
217
|
+
}
|
|
218
|
+
if (this.factory.isSourceLocationSource(localized.loc)) {
|
|
219
|
+
this.catchup(localized.loc.start);
|
|
220
|
+
}
|
|
221
|
+
const ret = handle();
|
|
222
|
+
if (this.factory.isSourceLocationSource(localized.loc)) {
|
|
223
|
+
this.catchup(localized.loc.end);
|
|
224
|
+
}
|
|
225
|
+
return ret;
|
|
226
|
+
};
|
|
227
|
+
catchup = (until) => {
|
|
228
|
+
const start = this.generatedUntil;
|
|
229
|
+
if (start < until) {
|
|
230
|
+
this.print(this.origSource.slice(start, until));
|
|
231
|
+
}
|
|
232
|
+
this.generatedUntil = Math.max(this.generatedUntil, until);
|
|
233
|
+
};
|
|
234
|
+
print = (...args) => {
|
|
235
|
+
const pureArgs = args.filter((x) => x.length > 0);
|
|
236
|
+
if (pureArgs.length > 0) {
|
|
237
|
+
const [head2, ...tail] = pureArgs;
|
|
238
|
+
if (this.expectsSpace) {
|
|
239
|
+
this.expectsSpace = false;
|
|
240
|
+
const blanks = /* @__PURE__ */ new Set(["\n", " ", " "]);
|
|
241
|
+
if (this.stringBuilder.length > 0 && !(blanks.has(head2[0]) || blanks.has(this.stringBuilder.at(-1).at(-1)))) {
|
|
242
|
+
this.stringBuilder.push(" ");
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
this.stringBuilder.push(head2);
|
|
246
|
+
this.stringBuilder.push(...tail);
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
printWord = (...args) => {
|
|
250
|
+
this.expectsSpace = true;
|
|
251
|
+
this.print(...args);
|
|
252
|
+
this.expectsSpace = true;
|
|
253
|
+
};
|
|
254
|
+
printSpaceLeft = (...args) => {
|
|
255
|
+
this.expectsSpace = true;
|
|
256
|
+
this.print(...args);
|
|
257
|
+
};
|
|
258
|
+
printWords = (...args) => {
|
|
259
|
+
for (const arg of args) {
|
|
260
|
+
this.printWord(arg);
|
|
261
|
+
}
|
|
262
|
+
};
|
|
262
263
|
};
|
|
263
264
|
|
|
264
265
|
// ../../packages/core/lib/generator-builder/generatorBuilder.ts
|
|
@@ -276,6 +277,7 @@ var GeneratorBuilder = class _GeneratorBuilder {
|
|
|
276
277
|
}
|
|
277
278
|
return new _GeneratorBuilder(listToRuleDefMap(start));
|
|
278
279
|
}
|
|
280
|
+
rules;
|
|
279
281
|
constructor(startRules) {
|
|
280
282
|
this.rules = startRules;
|
|
281
283
|
}
|
|
@@ -558,10 +560,10 @@ var coreJsData = root_default["__core-js_shared__"];
|
|
|
558
560
|
var coreJsData_default = coreJsData;
|
|
559
561
|
|
|
560
562
|
// ../../node_modules/lodash-es/_isMasked.js
|
|
561
|
-
var maskSrcKey = function() {
|
|
563
|
+
var maskSrcKey = (function() {
|
|
562
564
|
var uid = /[^.]+$/.exec(coreJsData_default && coreJsData_default.keys && coreJsData_default.keys.IE_PROTO || "");
|
|
563
565
|
return uid ? "Symbol(src)_1." + uid : "";
|
|
564
|
-
}();
|
|
566
|
+
})();
|
|
565
567
|
function isMasked(func) {
|
|
566
568
|
return !!maskSrcKey && maskSrcKey in func;
|
|
567
569
|
}
|
|
@@ -623,7 +625,7 @@ var WeakMap_default = WeakMap;
|
|
|
623
625
|
|
|
624
626
|
// ../../node_modules/lodash-es/_baseCreate.js
|
|
625
627
|
var objectCreate = Object.create;
|
|
626
|
-
var baseCreate = /* @__PURE__ */ function() {
|
|
628
|
+
var baseCreate = /* @__PURE__ */ (function() {
|
|
627
629
|
function object2() {
|
|
628
630
|
}
|
|
629
631
|
return function(proto) {
|
|
@@ -638,7 +640,7 @@ var baseCreate = /* @__PURE__ */ function() {
|
|
|
638
640
|
object2.prototype = void 0;
|
|
639
641
|
return result;
|
|
640
642
|
};
|
|
641
|
-
}();
|
|
643
|
+
})();
|
|
642
644
|
var baseCreate_default = baseCreate;
|
|
643
645
|
|
|
644
646
|
// ../../node_modules/lodash-es/_apply.js
|
|
@@ -703,14 +705,14 @@ function constant(value) {
|
|
|
703
705
|
var constant_default = constant;
|
|
704
706
|
|
|
705
707
|
// ../../node_modules/lodash-es/_defineProperty.js
|
|
706
|
-
var defineProperty = function() {
|
|
708
|
+
var defineProperty = (function() {
|
|
707
709
|
try {
|
|
708
710
|
var func = getNative_default(Object, "defineProperty");
|
|
709
711
|
func({}, "", {});
|
|
710
712
|
return func;
|
|
711
713
|
} catch (e) {
|
|
712
714
|
}
|
|
713
|
-
}();
|
|
715
|
+
})();
|
|
714
716
|
var defineProperty_default = defineProperty;
|
|
715
717
|
|
|
716
718
|
// ../../node_modules/lodash-es/_baseSetToString.js
|
|
@@ -948,9 +950,9 @@ var baseIsArguments_default = baseIsArguments;
|
|
|
948
950
|
var objectProto6 = Object.prototype;
|
|
949
951
|
var hasOwnProperty4 = objectProto6.hasOwnProperty;
|
|
950
952
|
var propertyIsEnumerable = objectProto6.propertyIsEnumerable;
|
|
951
|
-
var isArguments = baseIsArguments_default(/* @__PURE__ */ function() {
|
|
953
|
+
var isArguments = baseIsArguments_default(/* @__PURE__ */ (function() {
|
|
952
954
|
return arguments;
|
|
953
|
-
}()) ? baseIsArguments_default : function(value) {
|
|
955
|
+
})()) ? baseIsArguments_default : function(value) {
|
|
954
956
|
return isObjectLike_default(value) && hasOwnProperty4.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
|
|
955
957
|
};
|
|
956
958
|
var isArguments_default = isArguments;
|
|
@@ -1016,7 +1018,7 @@ var freeExports2 = typeof exports == "object" && exports && !exports.nodeType &&
|
|
|
1016
1018
|
var freeModule2 = freeExports2 && typeof module == "object" && module && !module.nodeType && module;
|
|
1017
1019
|
var moduleExports2 = freeModule2 && freeModule2.exports === freeExports2;
|
|
1018
1020
|
var freeProcess = moduleExports2 && freeGlobal_default.process;
|
|
1019
|
-
var nodeUtil = function() {
|
|
1021
|
+
var nodeUtil = (function() {
|
|
1020
1022
|
try {
|
|
1021
1023
|
var types = freeModule2 && freeModule2.require && freeModule2.require("util").types;
|
|
1022
1024
|
if (types) {
|
|
@@ -1025,7 +1027,7 @@ var nodeUtil = function() {
|
|
|
1025
1027
|
return freeProcess && freeProcess.binding && freeProcess.binding("util");
|
|
1026
1028
|
} catch (e) {
|
|
1027
1029
|
}
|
|
1028
|
-
}();
|
|
1030
|
+
})();
|
|
1029
1031
|
var nodeUtil_default = nodeUtil;
|
|
1030
1032
|
|
|
1031
1033
|
// ../../node_modules/lodash-es/isTypedArray.js
|
|
@@ -9570,6 +9572,7 @@ applyMixins(Parser, [
|
|
|
9570
9572
|
|
|
9571
9573
|
// ../../packages/core/lib/lexer-builder/LexerBuilder.ts
|
|
9572
9574
|
var LexerBuilder = class _LexerBuilder {
|
|
9575
|
+
tokens;
|
|
9573
9576
|
static create(starter) {
|
|
9574
9577
|
return new _LexerBuilder(starter);
|
|
9575
9578
|
}
|
|
@@ -9910,6 +9913,7 @@ __export(grammar_exports, {
|
|
|
9910
9913
|
quads: () => quads,
|
|
9911
9914
|
quadsNotTriples: () => quadsNotTriples,
|
|
9912
9915
|
query: () => query,
|
|
9916
|
+
queryOrUpdate: () => queryOrUpdate,
|
|
9913
9917
|
queryUnit: () => queryUnit,
|
|
9914
9918
|
rdfLiteral: () => rdfLiteral,
|
|
9915
9919
|
regexExpression: () => regexExpression,
|
|
@@ -9948,10 +9952,10 @@ __export(grammar_exports, {
|
|
|
9948
9952
|
whereClause: () => whereClause
|
|
9949
9953
|
});
|
|
9950
9954
|
|
|
9951
|
-
// ../../packages/rules-sparql-1-1/lib/lexer/
|
|
9952
|
-
var
|
|
9953
|
-
__export(
|
|
9954
|
-
|
|
9955
|
+
// ../../packages/rules-sparql-1-1/lib/lexer/BuiltInCalls.ts
|
|
9956
|
+
var BuiltInCalls_exports = {};
|
|
9957
|
+
__export(BuiltInCalls_exports, {
|
|
9958
|
+
BuiltInCalls: () => BuiltInCalls,
|
|
9955
9959
|
abs: () => abs,
|
|
9956
9960
|
allBuiltInCalls: () => allBuiltInCalls,
|
|
9957
9961
|
avg: () => avg,
|
|
@@ -10015,70 +10019,70 @@ __export(BuildinCalls_exports, {
|
|
|
10015
10019
|
uuid: () => uuid,
|
|
10016
10020
|
year: () => year
|
|
10017
10021
|
});
|
|
10018
|
-
var
|
|
10019
|
-
|
|
10020
|
-
|
|
10021
|
-
|
|
10022
|
-
|
|
10023
|
-
|
|
10024
|
-
|
|
10025
|
-
|
|
10026
|
-
|
|
10027
|
-
|
|
10028
|
-
|
|
10029
|
-
|
|
10030
|
-
|
|
10031
|
-
|
|
10032
|
-
|
|
10033
|
-
|
|
10034
|
-
|
|
10035
|
-
|
|
10036
|
-
|
|
10037
|
-
|
|
10038
|
-
|
|
10039
|
-
|
|
10040
|
-
|
|
10041
|
-
|
|
10042
|
-
|
|
10043
|
-
|
|
10044
|
-
|
|
10045
|
-
|
|
10046
|
-
|
|
10047
|
-
|
|
10048
|
-
|
|
10049
|
-
|
|
10050
|
-
|
|
10051
|
-
|
|
10052
|
-
|
|
10053
|
-
|
|
10054
|
-
|
|
10055
|
-
|
|
10056
|
-
|
|
10057
|
-
|
|
10058
|
-
|
|
10059
|
-
|
|
10060
|
-
|
|
10061
|
-
|
|
10062
|
-
|
|
10063
|
-
|
|
10064
|
-
|
|
10065
|
-
|
|
10066
|
-
|
|
10067
|
-
|
|
10068
|
-
|
|
10069
|
-
|
|
10070
|
-
|
|
10071
|
-
|
|
10072
|
-
|
|
10073
|
-
|
|
10074
|
-
|
|
10075
|
-
|
|
10076
|
-
|
|
10077
|
-
|
|
10078
|
-
|
|
10079
|
-
|
|
10080
|
-
return
|
|
10081
|
-
})(
|
|
10022
|
+
var BuiltInCalls = /* @__PURE__ */ ((BuiltInCalls2) => {
|
|
10023
|
+
BuiltInCalls2["Str"] = "builtInStr";
|
|
10024
|
+
BuiltInCalls2["Lang"] = "builtInLang";
|
|
10025
|
+
BuiltInCalls2["Langmatches"] = "builtInLangmatches";
|
|
10026
|
+
BuiltInCalls2["Datatype"] = "builtInDatatype";
|
|
10027
|
+
BuiltInCalls2["Bound"] = "builtInBound";
|
|
10028
|
+
BuiltInCalls2["Iri"] = "builtInIri";
|
|
10029
|
+
BuiltInCalls2["Uri"] = "builtInUri";
|
|
10030
|
+
BuiltInCalls2["Bnode"] = "builtInBnode";
|
|
10031
|
+
BuiltInCalls2["Rand"] = "builtInRand";
|
|
10032
|
+
BuiltInCalls2["Abs"] = "builtInAbs";
|
|
10033
|
+
BuiltInCalls2["Ceil"] = "builtInCeil";
|
|
10034
|
+
BuiltInCalls2["Floor"] = "builtInFloor";
|
|
10035
|
+
BuiltInCalls2["Round"] = "builtInRound";
|
|
10036
|
+
BuiltInCalls2["Concat"] = "builtInConcat";
|
|
10037
|
+
BuiltInCalls2["Strlen"] = "builtInStrlen";
|
|
10038
|
+
BuiltInCalls2["Ucase"] = "builtInUcase";
|
|
10039
|
+
BuiltInCalls2["Lcase"] = "builtInLcase";
|
|
10040
|
+
BuiltInCalls2["Encode_for_uri"] = "builtInEncode_for_uri";
|
|
10041
|
+
BuiltInCalls2["Contains"] = "builtInContains";
|
|
10042
|
+
BuiltInCalls2["Strstarts"] = "builtInStrstarts";
|
|
10043
|
+
BuiltInCalls2["Strends"] = "builtInStrends";
|
|
10044
|
+
BuiltInCalls2["Strbefore"] = "builtInStrbefore";
|
|
10045
|
+
BuiltInCalls2["Strafter"] = "builtInStrafter";
|
|
10046
|
+
BuiltInCalls2["Year"] = "builtInYear";
|
|
10047
|
+
BuiltInCalls2["Month"] = "builtInMonth";
|
|
10048
|
+
BuiltInCalls2["Day"] = "builtInDay";
|
|
10049
|
+
BuiltInCalls2["Hours"] = "builtInHours";
|
|
10050
|
+
BuiltInCalls2["Minutes"] = "builtInMinutes";
|
|
10051
|
+
BuiltInCalls2["Seconds"] = "builtInSeconds";
|
|
10052
|
+
BuiltInCalls2["Timezone"] = "builtInTimezone";
|
|
10053
|
+
BuiltInCalls2["Tz"] = "builtInTz";
|
|
10054
|
+
BuiltInCalls2["Now"] = "builtInNow";
|
|
10055
|
+
BuiltInCalls2["Uuid"] = "builtInUuid";
|
|
10056
|
+
BuiltInCalls2["Struuid"] = "builtInStruuid";
|
|
10057
|
+
BuiltInCalls2["Md5"] = "builtInMd5";
|
|
10058
|
+
BuiltInCalls2["Sha1"] = "builtInSha1";
|
|
10059
|
+
BuiltInCalls2["Sha256"] = "builtInSha256";
|
|
10060
|
+
BuiltInCalls2["Sha384"] = "builtInSha384";
|
|
10061
|
+
BuiltInCalls2["Sha512"] = "builtInSha512";
|
|
10062
|
+
BuiltInCalls2["Coalesce"] = "builtInCoalesce";
|
|
10063
|
+
BuiltInCalls2["If"] = "builtInIf";
|
|
10064
|
+
BuiltInCalls2["Strlang"] = "builtInStrlang";
|
|
10065
|
+
BuiltInCalls2["Strdt"] = "builtInStrdt";
|
|
10066
|
+
BuiltInCalls2["Sameterm"] = "builtInSameterm";
|
|
10067
|
+
BuiltInCalls2["Isiri"] = "builtInIsiri";
|
|
10068
|
+
BuiltInCalls2["Isuri"] = "builtInIsuri";
|
|
10069
|
+
BuiltInCalls2["Isblank"] = "builtInIsblank";
|
|
10070
|
+
BuiltInCalls2["Isliteral"] = "builtInIsliteral";
|
|
10071
|
+
BuiltInCalls2["Isnumeric"] = "builtInIsnumeric";
|
|
10072
|
+
BuiltInCalls2["Regex"] = "builtInRegex";
|
|
10073
|
+
BuiltInCalls2["Substr"] = "builtInSubstr";
|
|
10074
|
+
BuiltInCalls2["Replace"] = "builtInReplace";
|
|
10075
|
+
BuiltInCalls2["Exists"] = "builtInExists";
|
|
10076
|
+
BuiltInCalls2["Notexists"] = "builtInNotexists";
|
|
10077
|
+
BuiltInCalls2["Count"] = "builtInCount";
|
|
10078
|
+
BuiltInCalls2["Sum"] = "builtInSum";
|
|
10079
|
+
BuiltInCalls2["Min"] = "builtInMin";
|
|
10080
|
+
BuiltInCalls2["Max"] = "builtInMax";
|
|
10081
|
+
BuiltInCalls2["Avg"] = "builtInAvg";
|
|
10082
|
+
BuiltInCalls2["Sample"] = "builtInSample";
|
|
10083
|
+
BuiltInCalls2["Group_concat"] = "builtInGroup_concat";
|
|
10084
|
+
return BuiltInCalls2;
|
|
10085
|
+
})(BuiltInCalls || {});
|
|
10082
10086
|
function capitalize(string2) {
|
|
10083
10087
|
return string2.charAt(0).toUpperCase() + string2.slice(1);
|
|
10084
10088
|
}
|
|
@@ -10582,7 +10586,7 @@ var allBaseTokens = LexerBuilder.create().add(
|
|
|
10582
10586
|
notIn,
|
|
10583
10587
|
separator
|
|
10584
10588
|
);
|
|
10585
|
-
var
|
|
10589
|
+
var sparql11LexerBuilder = LexerBuilder.create(allTerminals).merge(allBaseTokens).merge(allBuiltInCalls).merge(allGraphTokens).merge(allSymbols).moveBefore(datatype, dataClause).moveAfter(avg, a).moveBefore(a, graphAll).moveAfter(groupConcat, groupByGroup);
|
|
10586
10590
|
|
|
10587
10591
|
// ../../packages/rules-sparql-1-1/lib/factoryMixins/ContextFactory.ts
|
|
10588
10592
|
var nodeType = "contextDef";
|
|
@@ -11027,10 +11031,7 @@ function SolutionModifiersFactoryMixin(Base) {
|
|
|
11027
11031
|
var nodeType8 = "term";
|
|
11028
11032
|
function TermFactoryMixin(Base) {
|
|
11029
11033
|
return class TermFactory extends Base {
|
|
11030
|
-
|
|
11031
|
-
super(...arguments);
|
|
11032
|
-
this.__blankNodeCounter = 0;
|
|
11033
|
-
}
|
|
11034
|
+
__blankNodeCounter = 0;
|
|
11034
11035
|
resetBlankNodeCounter() {
|
|
11035
11036
|
this.__blankNodeCounter = 0;
|
|
11036
11037
|
}
|
|
@@ -11746,6 +11747,120 @@ var verbA = {
|
|
|
11746
11747
|
}
|
|
11747
11748
|
};
|
|
11748
11749
|
|
|
11750
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/general.ts
|
|
11751
|
+
var prologue = {
|
|
11752
|
+
name: "prologue",
|
|
11753
|
+
impl: ({ SUBRULE, MANY, OR }) => () => {
|
|
11754
|
+
const result = [];
|
|
11755
|
+
MANY(() => OR([
|
|
11756
|
+
{ ALT: () => result.push(SUBRULE(baseDecl2)) },
|
|
11757
|
+
// TODO: the [spec](https://www.w3.org/TR/sparql11-query/#iriRefs) says you cannot redefine prefixes.
|
|
11758
|
+
// We might need to check this.
|
|
11759
|
+
{ ALT: () => result.push(SUBRULE(prefixDecl2)) }
|
|
11760
|
+
]));
|
|
11761
|
+
return result;
|
|
11762
|
+
},
|
|
11763
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
11764
|
+
for (const context of ast) {
|
|
11765
|
+
if (F2.isContextDefinitionBase(context)) {
|
|
11766
|
+
SUBRULE(baseDecl2, context);
|
|
11767
|
+
} else if (F2.isContextDefinitionPrefix(context)) {
|
|
11768
|
+
SUBRULE(prefixDecl2, context);
|
|
11769
|
+
}
|
|
11770
|
+
}
|
|
11771
|
+
}
|
|
11772
|
+
};
|
|
11773
|
+
var baseDecl2 = {
|
|
11774
|
+
name: "baseDecl",
|
|
11775
|
+
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11776
|
+
const base = CONSUME(baseDecl);
|
|
11777
|
+
const val = SUBRULE(iriFull);
|
|
11778
|
+
return ACTION(() => C.factory.contextDefinitionBase(C.factory.sourceLocation(base, val), val));
|
|
11779
|
+
},
|
|
11780
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
11781
|
+
F2.printFilter(ast, () => PRINT_WORD("BASE"));
|
|
11782
|
+
SUBRULE(iri2, ast.value);
|
|
11783
|
+
}
|
|
11784
|
+
};
|
|
11785
|
+
var prefixDecl2 = {
|
|
11786
|
+
name: "prefixDecl",
|
|
11787
|
+
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11788
|
+
const prefix = CONSUME(prefixDecl);
|
|
11789
|
+
const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
|
|
11790
|
+
const value = SUBRULE(iriFull);
|
|
11791
|
+
return ACTION(() => C.factory.contextDefinitionPrefix(C.factory.sourceLocation(prefix, value), name, value));
|
|
11792
|
+
},
|
|
11793
|
+
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, { factory: F2 }) => {
|
|
11794
|
+
F2.printFilter(ast, () => {
|
|
11795
|
+
PRINT_WORDS("PREFIX", `${ast.key}:`);
|
|
11796
|
+
});
|
|
11797
|
+
SUBRULE(iri2, ast.value);
|
|
11798
|
+
}
|
|
11799
|
+
};
|
|
11800
|
+
var verb = {
|
|
11801
|
+
name: "verb",
|
|
11802
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
11803
|
+
{ ALT: () => SUBRULE(varOrIri) },
|
|
11804
|
+
{ ALT: () => SUBRULE(verbA) }
|
|
11805
|
+
])
|
|
11806
|
+
};
|
|
11807
|
+
var varOrTerm = {
|
|
11808
|
+
name: "varOrTerm",
|
|
11809
|
+
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
11810
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
11811
|
+
{ ALT: () => SUBRULE(graphTerm) }
|
|
11812
|
+
]),
|
|
11813
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
11814
|
+
if (F2.isTermVariable(ast)) {
|
|
11815
|
+
return SUBRULE(var_, ast);
|
|
11816
|
+
}
|
|
11817
|
+
return SUBRULE(graphTerm, ast);
|
|
11818
|
+
}
|
|
11819
|
+
};
|
|
11820
|
+
var varOrIri = {
|
|
11821
|
+
name: "varOrIri",
|
|
11822
|
+
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
11823
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
11824
|
+
{ ALT: () => SUBRULE(iri2) }
|
|
11825
|
+
])
|
|
11826
|
+
};
|
|
11827
|
+
var var_ = {
|
|
11828
|
+
name: "var",
|
|
11829
|
+
impl: ({ ACTION, CONSUME, OR }) => (C) => {
|
|
11830
|
+
const varToken = OR([
|
|
11831
|
+
{ ALT: () => CONSUME(terminals_exports.var1) },
|
|
11832
|
+
{ ALT: () => CONSUME(terminals_exports.var2) }
|
|
11833
|
+
]);
|
|
11834
|
+
return ACTION(() => C.factory.variable(varToken.image.slice(1), C.factory.sourceLocation(varToken)));
|
|
11835
|
+
},
|
|
11836
|
+
gImpl: ({ PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
11837
|
+
F2.printFilter(ast, () => PRINT_WORD(`?${ast.value}`));
|
|
11838
|
+
}
|
|
11839
|
+
};
|
|
11840
|
+
var graphTerm = {
|
|
11841
|
+
name: "graphTerm",
|
|
11842
|
+
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
|
|
11843
|
+
{ ALT: () => SUBRULE(iri2) },
|
|
11844
|
+
{ ALT: () => SUBRULE(rdfLiteral) },
|
|
11845
|
+
{ ALT: () => SUBRULE(numericLiteral) },
|
|
11846
|
+
{ ALT: () => SUBRULE(booleanLiteral) },
|
|
11847
|
+
{ GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode) },
|
|
11848
|
+
{ ALT: () => {
|
|
11849
|
+
const tokenNil = CONSUME(terminals_exports.nil);
|
|
11850
|
+
return ACTION(() => C.factory.namedNode(C.factory.sourceLocation(tokenNil), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */));
|
|
11851
|
+
} }
|
|
11852
|
+
]),
|
|
11853
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
11854
|
+
if (F2.isTermNamed(ast)) {
|
|
11855
|
+
SUBRULE(iri2, ast);
|
|
11856
|
+
} else if (F2.isTermLiteral(ast)) {
|
|
11857
|
+
SUBRULE(rdfLiteral, ast);
|
|
11858
|
+
} else if (F2.isTermBlank(ast)) {
|
|
11859
|
+
SUBRULE(blankNode, ast);
|
|
11860
|
+
}
|
|
11861
|
+
}
|
|
11862
|
+
};
|
|
11863
|
+
|
|
11749
11864
|
// ../../packages/rules-sparql-1-1/lib/grammar/dataSetClause.ts
|
|
11750
11865
|
function datasetClauseUsing(name, token) {
|
|
11751
11866
|
return {
|
|
@@ -12001,55 +12116,55 @@ function baseAggregateFunc(func) {
|
|
|
12001
12116
|
}
|
|
12002
12117
|
|
|
12003
12118
|
// ../../packages/rules-sparql-1-1/lib/grammar/builtIn.ts
|
|
12004
|
-
var builtInStr = funcExpr1(
|
|
12005
|
-
var builtInLang = funcExpr1(
|
|
12006
|
-
var builtInLangmatches = funcExpr2(
|
|
12007
|
-
var builtInDatatype = funcExpr1(
|
|
12008
|
-
var builtInBound = funcVar1(
|
|
12009
|
-
var builtInIri = funcExpr1(
|
|
12010
|
-
var builtInUri = funcExpr1(
|
|
12011
|
-
var builtInBnodeSparqlJs = funcExprOrNil1(
|
|
12012
|
-
var builtInRand = funcNil1(
|
|
12013
|
-
var builtInAbs = funcExpr1(
|
|
12014
|
-
var builtInCeil = funcExpr1(
|
|
12015
|
-
var builtInFloor = funcExpr1(
|
|
12016
|
-
var builtInRound = funcExpr1(
|
|
12017
|
-
var builtInConcat = funcExprList1(
|
|
12018
|
-
var builtInStrlen = funcExpr1(
|
|
12019
|
-
var builtInUcase = funcExpr1(
|
|
12020
|
-
var builtInLcase = funcExpr1(
|
|
12021
|
-
var builtInEncode_for_uri = funcExpr1(
|
|
12022
|
-
var builtInContains = funcExpr2(
|
|
12023
|
-
var builtInStrstarts = funcExpr2(
|
|
12024
|
-
var builtInStrends = funcExpr2(
|
|
12025
|
-
var builtInStrbefore = funcExpr2(
|
|
12026
|
-
var builtInStrafter = funcExpr2(
|
|
12027
|
-
var builtInYear = funcExpr1(
|
|
12028
|
-
var builtInMonth = funcExpr1(
|
|
12029
|
-
var builtInDay = funcExpr1(
|
|
12030
|
-
var builtInHours = funcExpr1(
|
|
12031
|
-
var builtInMinutes = funcExpr1(
|
|
12032
|
-
var builtInSeconds = funcExpr1(
|
|
12033
|
-
var builtInTimezone = funcExpr1(
|
|
12034
|
-
var builtInTz = funcExpr1(
|
|
12035
|
-
var builtInNow = funcNil1(
|
|
12036
|
-
var builtInUuid = funcNil1(
|
|
12037
|
-
var builtInStruuid = funcNil1(
|
|
12038
|
-
var builtInMd5 = funcExpr1(
|
|
12039
|
-
var builtInSha1 = funcExpr1(
|
|
12040
|
-
var builtInSha256 = funcExpr1(
|
|
12041
|
-
var builtInSha384 = funcExpr1(
|
|
12042
|
-
var builtInSha512 = funcExpr1(
|
|
12043
|
-
var builtInCoalesce = funcExprList1(
|
|
12044
|
-
var builtInIf = funcExpr3(
|
|
12045
|
-
var builtInStrlang = funcExpr2(
|
|
12046
|
-
var builtInStrdt = funcExpr2(
|
|
12047
|
-
var builtInSameterm = funcExpr2(
|
|
12048
|
-
var builtInIsiri = funcExpr1(
|
|
12049
|
-
var builtInIsuri = funcExpr1(
|
|
12050
|
-
var builtInIsblank = funcExpr1(
|
|
12051
|
-
var builtInIsliteral = funcExpr1(
|
|
12052
|
-
var builtInIsnumeric = funcExpr1(
|
|
12119
|
+
var builtInStr = funcExpr1(BuiltInCalls_exports.str);
|
|
12120
|
+
var builtInLang = funcExpr1(BuiltInCalls_exports.lang);
|
|
12121
|
+
var builtInLangmatches = funcExpr2(BuiltInCalls_exports.langmatches);
|
|
12122
|
+
var builtInDatatype = funcExpr1(BuiltInCalls_exports.datatype);
|
|
12123
|
+
var builtInBound = funcVar1(BuiltInCalls_exports.bound);
|
|
12124
|
+
var builtInIri = funcExpr1(BuiltInCalls_exports.iri);
|
|
12125
|
+
var builtInUri = funcExpr1(BuiltInCalls_exports.uri);
|
|
12126
|
+
var builtInBnodeSparqlJs = funcExprOrNil1(BuiltInCalls_exports.bnode);
|
|
12127
|
+
var builtInRand = funcNil1(BuiltInCalls_exports.rand);
|
|
12128
|
+
var builtInAbs = funcExpr1(BuiltInCalls_exports.abs);
|
|
12129
|
+
var builtInCeil = funcExpr1(BuiltInCalls_exports.ceil);
|
|
12130
|
+
var builtInFloor = funcExpr1(BuiltInCalls_exports.floor);
|
|
12131
|
+
var builtInRound = funcExpr1(BuiltInCalls_exports.round);
|
|
12132
|
+
var builtInConcat = funcExprList1(BuiltInCalls_exports.concat);
|
|
12133
|
+
var builtInStrlen = funcExpr1(BuiltInCalls_exports.strlen);
|
|
12134
|
+
var builtInUcase = funcExpr1(BuiltInCalls_exports.ucase);
|
|
12135
|
+
var builtInLcase = funcExpr1(BuiltInCalls_exports.lcase);
|
|
12136
|
+
var builtInEncode_for_uri = funcExpr1(BuiltInCalls_exports.encode_for_uri);
|
|
12137
|
+
var builtInContains = funcExpr2(BuiltInCalls_exports.contains);
|
|
12138
|
+
var builtInStrstarts = funcExpr2(BuiltInCalls_exports.strstarts);
|
|
12139
|
+
var builtInStrends = funcExpr2(BuiltInCalls_exports.strends);
|
|
12140
|
+
var builtInStrbefore = funcExpr2(BuiltInCalls_exports.strbefore);
|
|
12141
|
+
var builtInStrafter = funcExpr2(BuiltInCalls_exports.strafter);
|
|
12142
|
+
var builtInYear = funcExpr1(BuiltInCalls_exports.year);
|
|
12143
|
+
var builtInMonth = funcExpr1(BuiltInCalls_exports.month);
|
|
12144
|
+
var builtInDay = funcExpr1(BuiltInCalls_exports.day);
|
|
12145
|
+
var builtInHours = funcExpr1(BuiltInCalls_exports.hours);
|
|
12146
|
+
var builtInMinutes = funcExpr1(BuiltInCalls_exports.minutes);
|
|
12147
|
+
var builtInSeconds = funcExpr1(BuiltInCalls_exports.seconds);
|
|
12148
|
+
var builtInTimezone = funcExpr1(BuiltInCalls_exports.timezone);
|
|
12149
|
+
var builtInTz = funcExpr1(BuiltInCalls_exports.tz);
|
|
12150
|
+
var builtInNow = funcNil1(BuiltInCalls_exports.now);
|
|
12151
|
+
var builtInUuid = funcNil1(BuiltInCalls_exports.uuid);
|
|
12152
|
+
var builtInStruuid = funcNil1(BuiltInCalls_exports.struuid);
|
|
12153
|
+
var builtInMd5 = funcExpr1(BuiltInCalls_exports.md5);
|
|
12154
|
+
var builtInSha1 = funcExpr1(BuiltInCalls_exports.sha1);
|
|
12155
|
+
var builtInSha256 = funcExpr1(BuiltInCalls_exports.sha256);
|
|
12156
|
+
var builtInSha384 = funcExpr1(BuiltInCalls_exports.sha384);
|
|
12157
|
+
var builtInSha512 = funcExpr1(BuiltInCalls_exports.sha512);
|
|
12158
|
+
var builtInCoalesce = funcExprList1(BuiltInCalls_exports.coalesce);
|
|
12159
|
+
var builtInIf = funcExpr3(BuiltInCalls_exports.if_);
|
|
12160
|
+
var builtInStrlang = funcExpr2(BuiltInCalls_exports.strlang);
|
|
12161
|
+
var builtInStrdt = funcExpr2(BuiltInCalls_exports.strdt);
|
|
12162
|
+
var builtInSameterm = funcExpr2(BuiltInCalls_exports.sameterm);
|
|
12163
|
+
var builtInIsiri = funcExpr1(BuiltInCalls_exports.isiri);
|
|
12164
|
+
var builtInIsuri = funcExpr1(BuiltInCalls_exports.isuri);
|
|
12165
|
+
var builtInIsblank = funcExpr1(BuiltInCalls_exports.isblank);
|
|
12166
|
+
var builtInIsliteral = funcExpr1(BuiltInCalls_exports.isliteral);
|
|
12167
|
+
var builtInIsnumeric = funcExpr1(BuiltInCalls_exports.isnumeric);
|
|
12053
12168
|
function builtInCallList(SUBRULE) {
|
|
12054
12169
|
return [
|
|
12055
12170
|
{ ALT: () => SUBRULE(aggregate) },
|
|
@@ -12121,15 +12236,15 @@ var builtInCall = {
|
|
|
12121
12236
|
return OR(builtIns);
|
|
12122
12237
|
}
|
|
12123
12238
|
};
|
|
12124
|
-
var regexExpression = funcExpr2or3(
|
|
12125
|
-
var substringExpression = funcExpr2or3(
|
|
12126
|
-
var strReplaceExpression = funcExpr3or4(
|
|
12127
|
-
var existsFunc = funcGroupGraphPattern(
|
|
12128
|
-
var notExistsFunc = funcGroupGraphPattern(
|
|
12239
|
+
var regexExpression = funcExpr2or3(BuiltInCalls_exports.regex);
|
|
12240
|
+
var substringExpression = funcExpr2or3(BuiltInCalls_exports.substr);
|
|
12241
|
+
var strReplaceExpression = funcExpr3or4(BuiltInCalls_exports.replace);
|
|
12242
|
+
var existsFunc = funcGroupGraphPattern(BuiltInCalls_exports.exists);
|
|
12243
|
+
var notExistsFunc = funcGroupGraphPattern(BuiltInCalls_exports.notexists);
|
|
12129
12244
|
var aggregateCount = {
|
|
12130
|
-
name: unCapitalize(
|
|
12245
|
+
name: unCapitalize(BuiltInCalls_exports.count.name),
|
|
12131
12246
|
impl: ({ ACTION, CONSUME, SUBRULE, OR, OPTION }) => (C) => {
|
|
12132
|
-
const operatorToken = CONSUME(
|
|
12247
|
+
const operatorToken = CONSUME(BuiltInCalls_exports.count);
|
|
12133
12248
|
CONSUME(symbols_exports.LParen);
|
|
12134
12249
|
const distinctToken = OPTION(() => CONSUME(distinct));
|
|
12135
12250
|
const expressionVal = OR([
|
|
@@ -12161,15 +12276,15 @@ var aggregateCount = {
|
|
|
12161
12276
|
});
|
|
12162
12277
|
}
|
|
12163
12278
|
};
|
|
12164
|
-
var aggregateSum = baseAggregateFunc(
|
|
12165
|
-
var aggregateMin = baseAggregateFunc(
|
|
12166
|
-
var aggregateMax = baseAggregateFunc(
|
|
12167
|
-
var aggregateAvg = baseAggregateFunc(
|
|
12168
|
-
var aggregateSample = baseAggregateFunc(
|
|
12279
|
+
var aggregateSum = baseAggregateFunc(BuiltInCalls_exports.sum);
|
|
12280
|
+
var aggregateMin = baseAggregateFunc(BuiltInCalls_exports.min);
|
|
12281
|
+
var aggregateMax = baseAggregateFunc(BuiltInCalls_exports.max);
|
|
12282
|
+
var aggregateAvg = baseAggregateFunc(BuiltInCalls_exports.avg);
|
|
12283
|
+
var aggregateSample = baseAggregateFunc(BuiltInCalls_exports.sample);
|
|
12169
12284
|
var aggregateGroup_concat = {
|
|
12170
|
-
name: unCapitalize(
|
|
12285
|
+
name: unCapitalize(BuiltInCalls_exports.groupConcat.name),
|
|
12171
12286
|
impl: ({ ACTION, CONSUME, OPTION1, SUBRULE, OPTION2 }) => (C) => {
|
|
12172
|
-
const operatorToken = CONSUME(
|
|
12287
|
+
const operatorToken = CONSUME(BuiltInCalls_exports.groupConcat);
|
|
12173
12288
|
CONSUME(symbols_exports.LParen);
|
|
12174
12289
|
const distinctToken = OPTION1(() => CONSUME(distinct));
|
|
12175
12290
|
const expr = SUBRULE(expression);
|
|
@@ -12237,120 +12352,6 @@ var aggregate = {
|
|
|
12237
12352
|
}
|
|
12238
12353
|
};
|
|
12239
12354
|
|
|
12240
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/general.ts
|
|
12241
|
-
var prologue = {
|
|
12242
|
-
name: "prologue",
|
|
12243
|
-
impl: ({ SUBRULE, MANY, OR }) => () => {
|
|
12244
|
-
const result = [];
|
|
12245
|
-
MANY(() => OR([
|
|
12246
|
-
{ ALT: () => result.push(SUBRULE(baseDecl2)) },
|
|
12247
|
-
// TODO: the [spec](https://www.w3.org/TR/sparql11-query/#iriRefs) says you cannot redefine prefixes.
|
|
12248
|
-
// We might need to check this.
|
|
12249
|
-
{ ALT: () => result.push(SUBRULE(prefixDecl2)) }
|
|
12250
|
-
]));
|
|
12251
|
-
return result;
|
|
12252
|
-
},
|
|
12253
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
12254
|
-
for (const context of ast) {
|
|
12255
|
-
if (F2.isContextDefinitionBase(context)) {
|
|
12256
|
-
SUBRULE(baseDecl2, context);
|
|
12257
|
-
} else if (F2.isContextDefinitionPrefix(context)) {
|
|
12258
|
-
SUBRULE(prefixDecl2, context);
|
|
12259
|
-
}
|
|
12260
|
-
}
|
|
12261
|
-
}
|
|
12262
|
-
};
|
|
12263
|
-
var baseDecl2 = {
|
|
12264
|
-
name: "baseDecl",
|
|
12265
|
-
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
12266
|
-
const base = CONSUME(baseDecl);
|
|
12267
|
-
const val = SUBRULE(iriFull);
|
|
12268
|
-
return ACTION(() => C.factory.contextDefinitionBase(C.factory.sourceLocation(base, val), val));
|
|
12269
|
-
},
|
|
12270
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12271
|
-
F2.printFilter(ast, () => PRINT_WORD("BASE"));
|
|
12272
|
-
SUBRULE(iri2, ast.value);
|
|
12273
|
-
}
|
|
12274
|
-
};
|
|
12275
|
-
var prefixDecl2 = {
|
|
12276
|
-
name: "prefixDecl",
|
|
12277
|
-
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
12278
|
-
const prefix = CONSUME(prefixDecl);
|
|
12279
|
-
const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
|
|
12280
|
-
const value = SUBRULE(iriFull);
|
|
12281
|
-
return ACTION(() => C.factory.contextDefinitionPrefix(C.factory.sourceLocation(prefix, value), name, value));
|
|
12282
|
-
},
|
|
12283
|
-
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, { factory: F2 }) => {
|
|
12284
|
-
F2.printFilter(ast, () => {
|
|
12285
|
-
PRINT_WORDS("PREFIX", `${ast.key}:`);
|
|
12286
|
-
});
|
|
12287
|
-
SUBRULE(iri2, ast.value);
|
|
12288
|
-
}
|
|
12289
|
-
};
|
|
12290
|
-
var verb = {
|
|
12291
|
-
name: "verb",
|
|
12292
|
-
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12293
|
-
{ ALT: () => SUBRULE(varOrIri) },
|
|
12294
|
-
{ ALT: () => SUBRULE(verbA) }
|
|
12295
|
-
])
|
|
12296
|
-
};
|
|
12297
|
-
var varOrTerm = {
|
|
12298
|
-
name: "varOrTerm",
|
|
12299
|
-
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
12300
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
12301
|
-
{ ALT: () => SUBRULE(graphTerm) }
|
|
12302
|
-
]),
|
|
12303
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
12304
|
-
if (F2.isTermVariable(ast)) {
|
|
12305
|
-
return SUBRULE(var_, ast);
|
|
12306
|
-
}
|
|
12307
|
-
return SUBRULE(graphTerm, ast);
|
|
12308
|
-
}
|
|
12309
|
-
};
|
|
12310
|
-
var varOrIri = {
|
|
12311
|
-
name: "varOrIri",
|
|
12312
|
-
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
12313
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
12314
|
-
{ ALT: () => SUBRULE(iri2) }
|
|
12315
|
-
])
|
|
12316
|
-
};
|
|
12317
|
-
var var_ = {
|
|
12318
|
-
name: "var",
|
|
12319
|
-
impl: ({ ACTION, CONSUME, OR }) => (C) => {
|
|
12320
|
-
const varToken = OR([
|
|
12321
|
-
{ ALT: () => CONSUME(terminals_exports.var1) },
|
|
12322
|
-
{ ALT: () => CONSUME(terminals_exports.var2) }
|
|
12323
|
-
]);
|
|
12324
|
-
return ACTION(() => C.factory.variable(varToken.image.slice(1), C.factory.sourceLocation(varToken)));
|
|
12325
|
-
},
|
|
12326
|
-
gImpl: ({ PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12327
|
-
F2.printFilter(ast, () => PRINT_WORD(`?${ast.value}`));
|
|
12328
|
-
}
|
|
12329
|
-
};
|
|
12330
|
-
var graphTerm = {
|
|
12331
|
-
name: "graphTerm",
|
|
12332
|
-
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
|
|
12333
|
-
{ ALT: () => SUBRULE(iri2) },
|
|
12334
|
-
{ ALT: () => SUBRULE(rdfLiteral) },
|
|
12335
|
-
{ ALT: () => SUBRULE(numericLiteral) },
|
|
12336
|
-
{ ALT: () => SUBRULE(booleanLiteral) },
|
|
12337
|
-
{ GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode) },
|
|
12338
|
-
{ ALT: () => {
|
|
12339
|
-
const tokenNil = CONSUME(terminals_exports.nil);
|
|
12340
|
-
return ACTION(() => C.factory.namedNode(C.factory.sourceLocation(tokenNil), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */));
|
|
12341
|
-
} }
|
|
12342
|
-
]),
|
|
12343
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
12344
|
-
if (F2.isTermNamed(ast)) {
|
|
12345
|
-
SUBRULE(iri2, ast);
|
|
12346
|
-
} else if (F2.isTermLiteral(ast)) {
|
|
12347
|
-
SUBRULE(rdfLiteral, ast);
|
|
12348
|
-
} else if (F2.isTermBlank(ast)) {
|
|
12349
|
-
SUBRULE(blankNode, ast);
|
|
12350
|
-
}
|
|
12351
|
-
}
|
|
12352
|
-
};
|
|
12353
|
-
|
|
12354
12355
|
// ../../packages/rules-sparql-1-1/lib/grammar/propertyPaths.ts
|
|
12355
12356
|
var path = {
|
|
12356
12357
|
name: "path",
|
|
@@ -14606,8 +14607,83 @@ var quadsNotTriples = {
|
|
|
14606
14607
|
}
|
|
14607
14608
|
};
|
|
14608
14609
|
|
|
14609
|
-
// lib/index.ts
|
|
14610
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/index.ts
|
|
14610
14611
|
var queryOrUpdate = {
|
|
14612
|
+
name: "queryOrUpdate",
|
|
14613
|
+
impl: ({ ACTION, SUBRULE, OR1, OR2, MANY, OPTION1, CONSUME, SUBRULE2 }) => (C) => {
|
|
14614
|
+
const prologueValues = SUBRULE(prologue);
|
|
14615
|
+
return OR1([
|
|
14616
|
+
{ ALT: () => {
|
|
14617
|
+
const subType = OR2([
|
|
14618
|
+
{ ALT: () => SUBRULE(selectQuery) },
|
|
14619
|
+
{ ALT: () => SUBRULE(constructQuery) },
|
|
14620
|
+
{ ALT: () => SUBRULE(describeQuery) },
|
|
14621
|
+
{ ALT: () => SUBRULE(askQuery) }
|
|
14622
|
+
]);
|
|
14623
|
+
const values3 = SUBRULE(valuesClause);
|
|
14624
|
+
return ACTION(() => ({
|
|
14625
|
+
context: prologueValues,
|
|
14626
|
+
...subType,
|
|
14627
|
+
type: "query",
|
|
14628
|
+
...values3 && { values: values3 },
|
|
14629
|
+
loc: C.factory.sourceLocation(
|
|
14630
|
+
prologueValues.at(0),
|
|
14631
|
+
subType,
|
|
14632
|
+
values3
|
|
14633
|
+
)
|
|
14634
|
+
}));
|
|
14635
|
+
} },
|
|
14636
|
+
{ ALT: () => {
|
|
14637
|
+
const updates = [];
|
|
14638
|
+
updates.push({ context: prologueValues });
|
|
14639
|
+
let parsedSemi = true;
|
|
14640
|
+
MANY({
|
|
14641
|
+
GATE: () => parsedSemi,
|
|
14642
|
+
DEF: () => {
|
|
14643
|
+
parsedSemi = false;
|
|
14644
|
+
updates.at(-1).operation = SUBRULE(update1);
|
|
14645
|
+
OPTION1(() => {
|
|
14646
|
+
CONSUME(symbols_exports.semi);
|
|
14647
|
+
parsedSemi = true;
|
|
14648
|
+
const innerPrologue = SUBRULE2(prologue);
|
|
14649
|
+
updates.push({ context: innerPrologue });
|
|
14650
|
+
});
|
|
14651
|
+
}
|
|
14652
|
+
});
|
|
14653
|
+
return ACTION(() => {
|
|
14654
|
+
const update2 = {
|
|
14655
|
+
type: "update",
|
|
14656
|
+
updates,
|
|
14657
|
+
loc: C.factory.sourceLocation(
|
|
14658
|
+
...updates[0].context,
|
|
14659
|
+
updates[0].operation,
|
|
14660
|
+
...updates.at(-1).context,
|
|
14661
|
+
updates.at(-1)?.operation
|
|
14662
|
+
)
|
|
14663
|
+
};
|
|
14664
|
+
updateNoReuseBlankNodeLabels(update2);
|
|
14665
|
+
return update2;
|
|
14666
|
+
});
|
|
14667
|
+
} }
|
|
14668
|
+
]);
|
|
14669
|
+
}
|
|
14670
|
+
};
|
|
14671
|
+
|
|
14672
|
+
// ../../packages/rules-sparql-1-1/lib/MinimalSparqlParser.ts
|
|
14673
|
+
function completeParseContext(context) {
|
|
14674
|
+
return {
|
|
14675
|
+
factory: context.factory ?? new Factory(),
|
|
14676
|
+
baseIRI: context.baseIRI,
|
|
14677
|
+
prefixes: { ...context.prefixes },
|
|
14678
|
+
origSource: context.origSource ?? "",
|
|
14679
|
+
offset: context.offset,
|
|
14680
|
+
parseMode: context.parseMode ? new Set(context.parseMode) : /* @__PURE__ */ new Set(["canParseVars", "canCreateBlankNodes"]),
|
|
14681
|
+
skipValidation: context.skipValidation ?? false
|
|
14682
|
+
};
|
|
14683
|
+
}
|
|
14684
|
+
|
|
14685
|
+
// lib/index.ts
|
|
14686
|
+
var queryOrUpdate2 = {
|
|
14611
14687
|
name: "queryOrUpdate",
|
|
14612
14688
|
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
14613
14689
|
if (F2.isQuery(ast)) {
|
|
@@ -14687,25 +14763,15 @@ var sparql11GeneratorBuilder = GeneratorBuilder.create([
|
|
|
14687
14763
|
grammar_exports.minusGraphPattern,
|
|
14688
14764
|
grammar_exports.groupOrUnionGraphPattern,
|
|
14689
14765
|
grammar_exports.filter
|
|
14690
|
-
).addRule(
|
|
14766
|
+
).addRule(queryOrUpdate2);
|
|
14691
14767
|
var Generator = class {
|
|
14692
|
-
|
|
14693
|
-
|
|
14694
|
-
|
|
14695
|
-
|
|
14696
|
-
generate(ast, origSource = "") {
|
|
14697
|
-
return this.generator.queryOrUpdate(ast, {
|
|
14698
|
-
factory: this.factory,
|
|
14699
|
-
offset: 0,
|
|
14700
|
-
origSource
|
|
14701
|
-
});
|
|
14768
|
+
generator = sparql11GeneratorBuilder.build();
|
|
14769
|
+
factory = new Factory();
|
|
14770
|
+
generate(ast, context = {}) {
|
|
14771
|
+
return this.generator.queryOrUpdate(ast, completeParseContext(context));
|
|
14702
14772
|
}
|
|
14703
|
-
generatePath(ast,
|
|
14704
|
-
return this.generator.path(ast,
|
|
14705
|
-
factory: this.factory,
|
|
14706
|
-
offset: 0,
|
|
14707
|
-
origSource
|
|
14708
|
-
}, void 0);
|
|
14773
|
+
generatePath(ast, context = {}) {
|
|
14774
|
+
return this.generator.path(ast, completeParseContext(context), void 0);
|
|
14709
14775
|
}
|
|
14710
14776
|
};
|
|
14711
14777
|
/*! Bundled license information:
|
package/lib/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type * as T11 from '@traqula/rules-sparql-1-1';
|
|
|
3
3
|
import { Factory } from '@traqula/rules-sparql-1-1';
|
|
4
4
|
export declare const sparql11GeneratorBuilder: GeneratorBuilder<{
|
|
5
5
|
factory: Factory;
|
|
6
|
-
}, "filter" | "add" | "clear" | "copy" | "move" | "var" | "path" | "drop" | "load" | "update" | "query" | "quads" | "graphRef" | "create" | "modify" | "datasetClauses" | "bind" | "solutionModifier" | "expression" | "aggregate" | "blankNode" | "rdfLiteral" | "iri" | "iriFull" | "prefixedName" | "
|
|
6
|
+
}, "filter" | "add" | "clear" | "copy" | "move" | "var" | "path" | "drop" | "load" | "update" | "query" | "quads" | "graphRef" | "create" | "modify" | "datasetClauses" | "bind" | "solutionModifier" | "expression" | "aggregate" | "blankNode" | "rdfLiteral" | "iri" | "iriFull" | "prefixedName" | "prologue" | "baseDecl" | "prefixDecl" | "varOrTerm" | "graphTerm" | "usingClauses" | "groupGraphPattern" | "triplesBlock" | "triplesNodePath" | "graphNodePath" | "collectionPath" | "blankNodePropertyListPath" | "whereClause" | "generatePattern" | "graphPatternNotTriples" | "groupOrUnionGraphPattern" | "optionalGraphPattern" | "minusGraphPattern" | "graphGraphPattern" | "serviceGraphPattern" | "inlineData" | "argList" | "iriOrFunction" | "limitOffsetClauses" | "groupClause" | "havingClause" | "orderClause" | "selectQuery" | "constructQuery" | "describeQuery" | "askQuery" | "selectClause" | "update1" | "insertData" | "deleteData" | "deleteWhere" | "graphRefAll" | "quadsNotTriples" | "queryOrUpdate", {
|
|
7
7
|
filter: import("@traqula/core").GeneratorRule<any, "filter"> & T11.SparqlGrammarRule<"filter", T11.PatternFilter, []> & T11.SparqlGeneratorRule<"filter", T11.PatternFilter, []>;
|
|
8
8
|
add: import("@traqula/core").GeneratorRule<any, "add"> & T11.SparqlGrammarRule<"add", T11.UpdateOperationAdd | T11.UpdateOperationMove | T11.UpdateOperationCopy, []> & T11.SparqlGeneratorRule<"add", T11.UpdateOperationAdd | T11.UpdateOperationMove | T11.UpdateOperationCopy, []>;
|
|
9
9
|
clear: import("@traqula/core").GeneratorRule<any, "clear"> & T11.SparqlGrammarRule<"clear", T11.UpdateOperationClear | T11.UpdateOperationDrop, []> & T11.SparqlGeneratorRule<"clear", T11.UpdateOperationClear | T11.UpdateOperationDrop, []>;
|
|
@@ -33,13 +33,13 @@ export declare const sparql11GeneratorBuilder: GeneratorBuilder<{
|
|
|
33
33
|
iri: import("@traqula/core").GeneratorRule<any, "iri"> & T11.SparqlGrammarRule<"iri", T11.TermIri, []> & T11.SparqlGeneratorRule<"iri", T11.TermIri, []>;
|
|
34
34
|
iriFull: import("@traqula/core").GeneratorRule<any, "iriFull"> & T11.SparqlGrammarRule<"iriFull", T11.TermIriFull, []> & T11.SparqlGeneratorRule<"iriFull", T11.TermIriFull, []>;
|
|
35
35
|
prefixedName: import("@traqula/core").GeneratorRule<any, "prefixedName"> & T11.SparqlGrammarRule<"prefixedName", T11.TermIriPrefixed, []> & T11.SparqlGeneratorRule<"prefixedName", T11.TermIriPrefixed, []>;
|
|
36
|
-
usingClauses: import("@traqula/core").GeneratorRule<any, "usingClauses"> & T11.SparqlGrammarRule<"usingClauses", T11.DatasetClauses, []> & T11.SparqlGeneratorRule<"usingClauses", T11.DatasetClauses, []>;
|
|
37
|
-
groupGraphPattern: import("@traqula/core").GeneratorRule<any, "groupGraphPattern"> & T11.SparqlGrammarRule<"groupGraphPattern", T11.PatternGroup, []> & T11.SparqlGeneratorRule<"groupGraphPattern", T11.PatternGroup, []>;
|
|
38
36
|
prologue: import("@traqula/core").GeneratorRule<any, "prologue"> & T11.SparqlGrammarRule<"prologue", T11.ContextDefinition[], []> & T11.SparqlGeneratorRule<"prologue", T11.ContextDefinition[], []>;
|
|
39
37
|
baseDecl: import("@traqula/core").GeneratorRule<any, "baseDecl"> & T11.SparqlGrammarRule<"baseDecl", T11.ContextDefinitionBase, []> & T11.SparqlGeneratorRule<"baseDecl", T11.ContextDefinitionBase, []>;
|
|
40
38
|
prefixDecl: import("@traqula/core").GeneratorRule<any, "prefixDecl"> & T11.SparqlGrammarRule<"prefixDecl", T11.ContextDefinitionPrefix, []> & T11.SparqlGeneratorRule<"prefixDecl", T11.ContextDefinitionPrefix, []>;
|
|
41
39
|
varOrTerm: import("@traqula/core").GeneratorRule<any, "varOrTerm"> & T11.SparqlGrammarRule<"varOrTerm", T11.Term, []> & T11.SparqlGeneratorRule<"varOrTerm", T11.Term, []>;
|
|
42
40
|
graphTerm: import("@traqula/core").GeneratorRule<any, "graphTerm"> & T11.SparqlGrammarRule<"graphTerm", T11.GraphTerm, []> & T11.SparqlGeneratorRule<"graphTerm", T11.GraphTerm, []>;
|
|
41
|
+
usingClauses: import("@traqula/core").GeneratorRule<any, "usingClauses"> & T11.SparqlGrammarRule<"usingClauses", T11.DatasetClauses, []> & T11.SparqlGeneratorRule<"usingClauses", T11.DatasetClauses, []>;
|
|
42
|
+
groupGraphPattern: import("@traqula/core").GeneratorRule<any, "groupGraphPattern"> & T11.SparqlGrammarRule<"groupGraphPattern", T11.PatternGroup, []> & T11.SparqlGeneratorRule<"groupGraphPattern", T11.PatternGroup, []>;
|
|
43
43
|
triplesBlock: import("@traqula/core").GeneratorRule<any, "triplesBlock"> & T11.SparqlGrammarRule<"triplesBlock", T11.PatternBgp, []> & T11.SparqlGeneratorRule<"triplesBlock", T11.PatternBgp, []>;
|
|
44
44
|
triplesNodePath: import("@traqula/core").GeneratorRule<any, "triplesNodePath"> & T11.SparqlGrammarRule<"triplesNodePath", T11.TripleCollection, []> & T11.SparqlGeneratorRule<"triplesNodePath", T11.TripleCollection, []>;
|
|
45
45
|
graphNodePath: import("@traqula/core").GeneratorRule<any, "graphNodePath"> & T11.SparqlGrammarRule<"graphNodePath", T11.TripleCollection | T11.Term, []> & T11.SparqlGeneratorRule<"graphNodePath", T11.TripleCollection | T11.Term, []>;
|
|
@@ -75,9 +75,14 @@ export declare const sparql11GeneratorBuilder: GeneratorBuilder<{
|
|
|
75
75
|
factory: Factory;
|
|
76
76
|
}, "queryOrUpdate", T11.Update | T11.Query, []>;
|
|
77
77
|
}>;
|
|
78
|
+
export type SparqlGenerator = ReturnType<typeof sparql11GeneratorBuilder.build>;
|
|
78
79
|
export declare class Generator {
|
|
79
80
|
private readonly generator;
|
|
80
81
|
private readonly factory;
|
|
81
|
-
generate(ast: T11.Query | T11.Update,
|
|
82
|
-
|
|
82
|
+
generate(ast: T11.Query | T11.Update, context?: Partial<T11.SparqlContext & {
|
|
83
|
+
origSource: string;
|
|
84
|
+
}>): string;
|
|
85
|
+
generatePath(ast: T11.Path, context?: Partial<T11.SparqlContext & {
|
|
86
|
+
origSource: string;
|
|
87
|
+
}>): string;
|
|
83
88
|
}
|
package/lib/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GeneratorBuilder } from '@traqula/core';
|
|
2
|
-
import { Factory, gram } from '@traqula/rules-sparql-1-1';
|
|
2
|
+
import { completeParseContext, Factory, gram } from '@traqula/rules-sparql-1-1';
|
|
3
3
|
const queryOrUpdate = {
|
|
4
4
|
name: 'queryOrUpdate',
|
|
5
5
|
gImpl: ({ SUBRULE }) => (ast, { factory: F }) => {
|
|
@@ -31,23 +31,13 @@ export const sparql11GeneratorBuilder = GeneratorBuilder.create([
|
|
|
31
31
|
.addMany(gram.whereClause, gram.generatePattern, gram.groupGraphPattern, gram.graphPatternNotTriples, gram.optionalGraphPattern, gram.graphGraphPattern, gram.serviceGraphPattern, gram.bind, gram.inlineData, gram.minusGraphPattern, gram.groupOrUnionGraphPattern, gram.filter)
|
|
32
32
|
.addRule(queryOrUpdate);
|
|
33
33
|
export class Generator {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
generator = sparql11GeneratorBuilder.build();
|
|
35
|
+
factory = new Factory();
|
|
36
|
+
generate(ast, context = {}) {
|
|
37
|
+
return this.generator.queryOrUpdate(ast, completeParseContext(context));
|
|
37
38
|
}
|
|
38
|
-
|
|
39
|
-
return this.generator.
|
|
40
|
-
factory: this.factory,
|
|
41
|
-
offset: 0,
|
|
42
|
-
origSource,
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
generatePath(ast, origSource = '') {
|
|
46
|
-
return this.generator.path(ast, {
|
|
47
|
-
factory: this.factory,
|
|
48
|
-
offset: 0,
|
|
49
|
-
origSource,
|
|
50
|
-
}, undefined);
|
|
39
|
+
generatePath(ast, context = {}) {
|
|
40
|
+
return this.generator.path(ast, completeParseContext(context), undefined);
|
|
51
41
|
}
|
|
52
42
|
}
|
|
53
43
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["import { GeneratorBuilder } from '@traqula/core';\nimport type * as T11 from '@traqula/rules-sparql-1-1';\nimport { completeParseContext, Factory, gram } from '@traqula/rules-sparql-1-1';\n\nconst queryOrUpdate: T11.SparqlGeneratorRule<'queryOrUpdate', T11.Query | T11.Update> = {\n name: 'queryOrUpdate',\n gImpl: ({ SUBRULE }) => (ast, { factory: F }) => {\n if (F.isQuery(ast)) {\n SUBRULE(gram.query, ast);\n } else {\n SUBRULE(gram.update, ast);\n }\n },\n};\n\nexport const sparql11GeneratorBuilder = GeneratorBuilder.create(<const> [\n gram.query,\n gram.selectQuery,\n gram.constructQuery,\n gram.describeQuery,\n gram.askQuery,\n gram.selectClause,\n])\n .addMany(\n gram.update,\n gram.update1,\n gram.load,\n gram.clear,\n gram.drop,\n gram.create,\n gram.copy,\n gram.move,\n gram.add,\n gram.insertData,\n gram.deleteData,\n gram.deleteWhere,\n gram.modify,\n gram.graphRef,\n gram.graphRefAll,\n gram.quads,\n gram.quadsNotTriples,\n )\n .addRule(gram.aggregate)\n .addMany(\n gram.datasetClauseStar,\n gram.usingClauseStar,\n )\n .addMany(\n gram.argList,\n gram.expression,\n gram.iriOrFunction,\n )\n .addMany(\n gram.prologue,\n gram.prefixDecl,\n gram.baseDecl,\n gram.varOrTerm,\n gram.var_,\n gram.graphTerm,\n )\n .addMany(\n gram.rdfLiteral,\n gram.iri,\n gram.iriFull,\n gram.prefixedName,\n gram.blankNode,\n )\n .addRule(gram.pathGenerator)\n .addMany(\n gram.solutionModifier,\n gram.groupClause,\n gram.havingClause,\n gram.orderClause,\n gram.limitOffsetClauses,\n )\n .addMany(\n gram.triplesBlock,\n gram.collectionPath,\n gram.blankNodePropertyListPath,\n gram.triplesNodePath,\n gram.graphNodePath,\n )\n .addMany(\n gram.whereClause,\n gram.generatePattern,\n gram.groupGraphPattern,\n gram.graphPatternNotTriples,\n gram.optionalGraphPattern,\n gram.graphGraphPattern,\n gram.serviceGraphPattern,\n gram.bind,\n gram.inlineData,\n gram.minusGraphPattern,\n gram.groupOrUnionGraphPattern,\n gram.filter,\n )\n .addRule(queryOrUpdate);\n\nexport type SparqlGenerator = ReturnType<typeof sparql11GeneratorBuilder.build>;\n\nexport class Generator {\n private readonly generator: SparqlGenerator = sparql11GeneratorBuilder.build();\n private readonly factory = new Factory();\n\n public generate(\n ast: T11.Query | T11.Update,\ncontext: Partial<T11.SparqlContext & { origSource: string }> = {},\n ): string {\n return this.generator.queryOrUpdate(ast, completeParseContext(context));\n }\n\n public generatePath(ast: T11.Path, context: Partial<T11.SparqlContext & { origSource: string }> = {}): string {\n return this.generator.path(ast, completeParseContext(context), undefined);\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@traqula/generator-sparql-1-1",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.5",
|
|
5
5
|
"description": "SPARQL 1.1 generator",
|
|
6
6
|
"lsd:module": true,
|
|
7
7
|
"license": "MIT",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"lib/**/*.js.map"
|
|
33
33
|
],
|
|
34
34
|
"engines": {
|
|
35
|
-
"node": ">=
|
|
35
|
+
"node": "^20.19.0 || >=22.12.0"
|
|
36
36
|
},
|
|
37
37
|
"typings": "lib/index",
|
|
38
38
|
"scripts": {
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
"build:transpile": " node \"../../node_modules/esbuild/bin/esbuild\" --format=cjs --bundle --log-level=error --outfile=lib/index.cjs lib/index.ts"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@traqula/core": "^0.0.
|
|
45
|
-
"@traqula/rules-sparql-1-1": "^0.0.
|
|
44
|
+
"@traqula/core": "^0.0.5",
|
|
45
|
+
"@traqula/rules-sparql-1-1": "^0.0.5"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@traqula/parser-sparql-1-1": "^0.0.
|
|
48
|
+
"@traqula/parser-sparql-1-1": "^0.0.5",
|
|
49
49
|
"@traqula/rules-sparql-1-1": "^0.0.1",
|
|
50
|
-
"@traqula/test-utils": "^0.0.
|
|
50
|
+
"@traqula/test-utils": "^0.0.5"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "b3d2326976e4e3b41b13c8231e76d3c5116a12aa"
|
|
53
53
|
}
|