@traqula/parser-sparql-1-1 0.0.3 → 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 +2 -2
- package/lib/Parser.d.ts +89 -88
- package/lib/Parser.js +4 -59
- package/lib/Parser.js.map +1 -1
- package/lib/expressionParser.d.ts +12 -11
- package/lib/expressionParser.js.map +1 -1
- package/lib/index.cjs +1631 -1627
- package/lib/objectListParser.d.ts +5 -4
- package/lib/objectListParser.js +1 -1
- package/lib/objectListParser.js.map +1 -1
- package/lib/queryUnitParser.d.ts +67 -66
- package/lib/queryUnitParser.js.map +1 -1
- package/lib/subSelectParser.d.ts +49 -48
- package/lib/subSelectParser.js.map +1 -1
- package/lib/triplesBlockParser.d.ts +25 -24
- package/lib/triplesBlockParser.js +2 -2
- package/lib/triplesBlockParser.js.map +1 -1
- package/lib/triplesTemplateParserBuilder.d.ts +5 -4
- package/lib/triplesTemplateParserBuilder.js.map +1 -1
- package/lib/updateNoModifyParser.d.ts +38 -37
- package/lib/updateNoModifyParser.js +10 -10
- package/lib/updateNoModifyParser.js.map +1 -1
- package/lib/updateUnitParser.d.ts +74 -73
- package/lib/updateUnitParser.js +2 -2
- package/lib/updateUnitParser.js.map +1 -1
- package/package.json +6 -6
package/lib/index.cjs
CHANGED
|
@@ -22,7 +22,7 @@ var index_exports = {};
|
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
Parser: () => Parser2,
|
|
24
24
|
expressionParserBuilder: () => expressionParserBuilder,
|
|
25
|
-
|
|
25
|
+
objectListParserBuilder: () => objectListParserBuilder,
|
|
26
26
|
queryUnitParserBuilder: () => queryUnitParserBuilder,
|
|
27
27
|
sparql11ParserBuilder: () => sparql11ParserBuilder,
|
|
28
28
|
subSelectParserBuilder: () => subSelectParserBuilder,
|
|
@@ -361,10 +361,10 @@ var coreJsData = root_default["__core-js_shared__"];
|
|
|
361
361
|
var coreJsData_default = coreJsData;
|
|
362
362
|
|
|
363
363
|
// ../../node_modules/lodash-es/_isMasked.js
|
|
364
|
-
var maskSrcKey = function() {
|
|
364
|
+
var maskSrcKey = (function() {
|
|
365
365
|
var uid = /[^.]+$/.exec(coreJsData_default && coreJsData_default.keys && coreJsData_default.keys.IE_PROTO || "");
|
|
366
366
|
return uid ? "Symbol(src)_1." + uid : "";
|
|
367
|
-
}();
|
|
367
|
+
})();
|
|
368
368
|
function isMasked(func) {
|
|
369
369
|
return !!maskSrcKey && maskSrcKey in func;
|
|
370
370
|
}
|
|
@@ -426,7 +426,7 @@ var WeakMap_default = WeakMap2;
|
|
|
426
426
|
|
|
427
427
|
// ../../node_modules/lodash-es/_baseCreate.js
|
|
428
428
|
var objectCreate = Object.create;
|
|
429
|
-
var baseCreate = /* @__PURE__ */ function() {
|
|
429
|
+
var baseCreate = /* @__PURE__ */ (function() {
|
|
430
430
|
function object2() {
|
|
431
431
|
}
|
|
432
432
|
return function(proto) {
|
|
@@ -441,7 +441,7 @@ var baseCreate = /* @__PURE__ */ function() {
|
|
|
441
441
|
object2.prototype = void 0;
|
|
442
442
|
return result;
|
|
443
443
|
};
|
|
444
|
-
}();
|
|
444
|
+
})();
|
|
445
445
|
var baseCreate_default = baseCreate;
|
|
446
446
|
|
|
447
447
|
// ../../node_modules/lodash-es/_apply.js
|
|
@@ -506,14 +506,14 @@ function constant(value) {
|
|
|
506
506
|
var constant_default = constant;
|
|
507
507
|
|
|
508
508
|
// ../../node_modules/lodash-es/_defineProperty.js
|
|
509
|
-
var defineProperty = function() {
|
|
509
|
+
var defineProperty = (function() {
|
|
510
510
|
try {
|
|
511
511
|
var func = getNative_default(Object, "defineProperty");
|
|
512
512
|
func({}, "", {});
|
|
513
513
|
return func;
|
|
514
514
|
} catch (e) {
|
|
515
515
|
}
|
|
516
|
-
}();
|
|
516
|
+
})();
|
|
517
517
|
var defineProperty_default = defineProperty;
|
|
518
518
|
|
|
519
519
|
// ../../node_modules/lodash-es/_baseSetToString.js
|
|
@@ -751,9 +751,9 @@ var baseIsArguments_default = baseIsArguments;
|
|
|
751
751
|
var objectProto6 = Object.prototype;
|
|
752
752
|
var hasOwnProperty4 = objectProto6.hasOwnProperty;
|
|
753
753
|
var propertyIsEnumerable = objectProto6.propertyIsEnumerable;
|
|
754
|
-
var isArguments = baseIsArguments_default(/* @__PURE__ */ function() {
|
|
754
|
+
var isArguments = baseIsArguments_default(/* @__PURE__ */ (function() {
|
|
755
755
|
return arguments;
|
|
756
|
-
}()) ? baseIsArguments_default : function(value) {
|
|
756
|
+
})()) ? baseIsArguments_default : function(value) {
|
|
757
757
|
return isObjectLike_default(value) && hasOwnProperty4.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
|
|
758
758
|
};
|
|
759
759
|
var isArguments_default = isArguments;
|
|
@@ -819,7 +819,7 @@ var freeExports2 = typeof exports == "object" && exports && !exports.nodeType &&
|
|
|
819
819
|
var freeModule2 = freeExports2 && typeof module == "object" && module && !module.nodeType && module;
|
|
820
820
|
var moduleExports2 = freeModule2 && freeModule2.exports === freeExports2;
|
|
821
821
|
var freeProcess = moduleExports2 && freeGlobal_default.process;
|
|
822
|
-
var nodeUtil = function() {
|
|
822
|
+
var nodeUtil = (function() {
|
|
823
823
|
try {
|
|
824
824
|
var types = freeModule2 && freeModule2.require && freeModule2.require("util").types;
|
|
825
825
|
if (types) {
|
|
@@ -828,7 +828,7 @@ var nodeUtil = function() {
|
|
|
828
828
|
return freeProcess && freeProcess.binding && freeProcess.binding("util");
|
|
829
829
|
} catch (e) {
|
|
830
830
|
}
|
|
831
|
-
}();
|
|
831
|
+
})();
|
|
832
832
|
var nodeUtil_default = nodeUtil;
|
|
833
833
|
|
|
834
834
|
// ../../node_modules/lodash-es/isTypedArray.js
|
|
@@ -9380,6 +9380,7 @@ var EmbeddedActionsParser = class extends Parser {
|
|
|
9380
9380
|
|
|
9381
9381
|
// ../../packages/core/lib/lexer-builder/LexerBuilder.ts
|
|
9382
9382
|
var LexerBuilder = class _LexerBuilder {
|
|
9383
|
+
tokens;
|
|
9383
9384
|
static create(starter) {
|
|
9384
9385
|
return new _LexerBuilder(starter);
|
|
9385
9386
|
}
|
|
@@ -9476,6 +9477,7 @@ var LexerBuilder = class _LexerBuilder {
|
|
|
9476
9477
|
|
|
9477
9478
|
// ../../packages/core/lib/parser-builder/dynamicParser.ts
|
|
9478
9479
|
var DynamicParser = class extends EmbeddedActionsParser {
|
|
9480
|
+
context;
|
|
9479
9481
|
setContext(context) {
|
|
9480
9482
|
this.context = context;
|
|
9481
9483
|
}
|
|
@@ -9483,7 +9485,7 @@ var DynamicParser = class extends EmbeddedActionsParser {
|
|
|
9483
9485
|
super(tokenVocabulary, {
|
|
9484
9486
|
// RecoveryEnabled: true,
|
|
9485
9487
|
maxLookahead: 2,
|
|
9486
|
-
|
|
9488
|
+
skipValidations: true,
|
|
9487
9489
|
...config
|
|
9488
9490
|
});
|
|
9489
9491
|
this.context = void 0;
|
|
@@ -9498,7 +9500,7 @@ var DynamicParser = class extends EmbeddedActionsParser {
|
|
|
9498
9500
|
this.performSelfAnalysis();
|
|
9499
9501
|
}
|
|
9500
9502
|
constructSelfRef() {
|
|
9501
|
-
const subRuleImpl = (chevrotainSubrule) => (cstDef, arg) => chevrotainSubrule(this[cstDef.name], { ARGS: [this.context, arg] });
|
|
9503
|
+
const subRuleImpl = (chevrotainSubrule) => ((cstDef, ...arg) => chevrotainSubrule(this[cstDef.name], { ARGS: [this.context, ...arg] }));
|
|
9502
9504
|
return {
|
|
9503
9505
|
CONSUME: (tokenType, option) => this.CONSUME(tokenType, option),
|
|
9504
9506
|
CONSUME1: (tokenType, option) => this.CONSUME1(tokenType, option),
|
|
@@ -9605,6 +9607,7 @@ var ParserBuilder = class _ParserBuilder {
|
|
|
9605
9607
|
}
|
|
9606
9608
|
return new _ParserBuilder(listToRuleDefMap(start));
|
|
9607
9609
|
}
|
|
9610
|
+
rules;
|
|
9608
9611
|
constructor(startRules) {
|
|
9609
9612
|
this.rules = startRules;
|
|
9610
9613
|
}
|
|
@@ -9685,7 +9688,7 @@ var ParserBuilder = class _ParserBuilder {
|
|
|
9685
9688
|
const firstError = errors[0];
|
|
9686
9689
|
const messageBuilder = ["Parse error"];
|
|
9687
9690
|
const lineIdx = firstError.token.startLine;
|
|
9688
|
-
if (lineIdx !== void 0) {
|
|
9691
|
+
if (lineIdx !== void 0 && !Number.isNaN(lineIdx)) {
|
|
9689
9692
|
const errorLine = input.split("\n")[lineIdx - 1];
|
|
9690
9693
|
messageBuilder.push(` on line ${lineIdx}
|
|
9691
9694
|
${errorLine}`);
|
|
@@ -9709,9 +9712,9 @@ ${firstError.message}`);
|
|
|
9709
9712
|
const lexer = LexerBuilder.create().add(...tokenVocabulary).build({
|
|
9710
9713
|
positionTracking: "full",
|
|
9711
9714
|
recoveryEnabled: false,
|
|
9712
|
-
|
|
9713
|
-
|
|
9714
|
-
|
|
9715
|
+
ensureOptimizations: true,
|
|
9716
|
+
safeMode: false,
|
|
9717
|
+
skipValidations: true,
|
|
9715
9718
|
...lexerConfig
|
|
9716
9719
|
});
|
|
9717
9720
|
const parser = this.consume({
|
|
@@ -9720,12 +9723,12 @@ ${firstError.message}`);
|
|
|
9720
9723
|
});
|
|
9721
9724
|
const selfSufficientParser = {};
|
|
9722
9725
|
for (const rule of Object.values(this.rules)) {
|
|
9723
|
-
selfSufficientParser[rule.name] = (input, context,
|
|
9726
|
+
selfSufficientParser[rule.name] = ((input, context, ...args) => {
|
|
9724
9727
|
const processedInput = queryPreProcessor(input);
|
|
9725
9728
|
const lexResult = lexer.tokenize(processedInput);
|
|
9726
9729
|
parser.input = lexResult.tokens;
|
|
9727
9730
|
parser.setContext(context);
|
|
9728
|
-
const result = parser[rule.name](context,
|
|
9731
|
+
const result = parser[rule.name](context, ...args);
|
|
9729
9732
|
if (parser.errors.length > 0) {
|
|
9730
9733
|
if (errorHandler) {
|
|
9731
9734
|
errorHandler(parser.errors);
|
|
@@ -9734,7 +9737,7 @@ ${firstError.message}`);
|
|
|
9734
9737
|
}
|
|
9735
9738
|
}
|
|
9736
9739
|
return result;
|
|
9737
|
-
};
|
|
9740
|
+
});
|
|
9738
9741
|
}
|
|
9739
9742
|
return selfSufficientParser;
|
|
9740
9743
|
}
|
|
@@ -9989,6 +9992,7 @@ __export(grammar_exports, {
|
|
|
9989
9992
|
quads: () => quads,
|
|
9990
9993
|
quadsNotTriples: () => quadsNotTriples,
|
|
9991
9994
|
query: () => query,
|
|
9995
|
+
queryOrUpdate: () => queryOrUpdate,
|
|
9992
9996
|
queryUnit: () => queryUnit,
|
|
9993
9997
|
rdfLiteral: () => rdfLiteral,
|
|
9994
9998
|
regexExpression: () => regexExpression,
|
|
@@ -10037,7 +10041,7 @@ __export(lexer_exports, {
|
|
|
10037
10041
|
ask: () => ask,
|
|
10038
10042
|
baseDecl: () => baseDecl,
|
|
10039
10043
|
bind: () => bind,
|
|
10040
|
-
builtIn: () =>
|
|
10044
|
+
builtIn: () => BuiltInCalls_exports,
|
|
10041
10045
|
by: () => by,
|
|
10042
10046
|
clear: () => clear,
|
|
10043
10047
|
construct: () => construct,
|
|
@@ -10074,7 +10078,7 @@ __export(lexer_exports, {
|
|
|
10074
10078
|
separator: () => separator,
|
|
10075
10079
|
service: () => service,
|
|
10076
10080
|
silent: () => silent,
|
|
10077
|
-
|
|
10081
|
+
sparql11LexerBuilder: () => sparql11LexerBuilder,
|
|
10078
10082
|
symbols: () => symbols_exports,
|
|
10079
10083
|
terminals: () => terminals_exports,
|
|
10080
10084
|
to: () => to,
|
|
@@ -10086,10 +10090,10 @@ __export(lexer_exports, {
|
|
|
10086
10090
|
where: () => where
|
|
10087
10091
|
});
|
|
10088
10092
|
|
|
10089
|
-
// ../../packages/rules-sparql-1-1/lib/lexer/
|
|
10090
|
-
var
|
|
10091
|
-
__export(
|
|
10092
|
-
|
|
10093
|
+
// ../../packages/rules-sparql-1-1/lib/lexer/BuiltInCalls.ts
|
|
10094
|
+
var BuiltInCalls_exports = {};
|
|
10095
|
+
__export(BuiltInCalls_exports, {
|
|
10096
|
+
BuiltInCalls: () => BuiltInCalls,
|
|
10093
10097
|
abs: () => abs,
|
|
10094
10098
|
allBuiltInCalls: () => allBuiltInCalls,
|
|
10095
10099
|
avg: () => avg,
|
|
@@ -10153,70 +10157,70 @@ __export(BuildinCalls_exports, {
|
|
|
10153
10157
|
uuid: () => uuid,
|
|
10154
10158
|
year: () => year
|
|
10155
10159
|
});
|
|
10156
|
-
var
|
|
10157
|
-
|
|
10158
|
-
|
|
10159
|
-
|
|
10160
|
-
|
|
10161
|
-
|
|
10162
|
-
|
|
10163
|
-
|
|
10164
|
-
|
|
10165
|
-
|
|
10166
|
-
|
|
10167
|
-
|
|
10168
|
-
|
|
10169
|
-
|
|
10170
|
-
|
|
10171
|
-
|
|
10172
|
-
|
|
10173
|
-
|
|
10174
|
-
|
|
10175
|
-
|
|
10176
|
-
|
|
10177
|
-
|
|
10178
|
-
|
|
10179
|
-
|
|
10180
|
-
|
|
10181
|
-
|
|
10182
|
-
|
|
10183
|
-
|
|
10184
|
-
|
|
10185
|
-
|
|
10186
|
-
|
|
10187
|
-
|
|
10188
|
-
|
|
10189
|
-
|
|
10190
|
-
|
|
10191
|
-
|
|
10192
|
-
|
|
10193
|
-
|
|
10194
|
-
|
|
10195
|
-
|
|
10196
|
-
|
|
10197
|
-
|
|
10198
|
-
|
|
10199
|
-
|
|
10200
|
-
|
|
10201
|
-
|
|
10202
|
-
|
|
10203
|
-
|
|
10204
|
-
|
|
10205
|
-
|
|
10206
|
-
|
|
10207
|
-
|
|
10208
|
-
|
|
10209
|
-
|
|
10210
|
-
|
|
10211
|
-
|
|
10212
|
-
|
|
10213
|
-
|
|
10214
|
-
|
|
10215
|
-
|
|
10216
|
-
|
|
10217
|
-
|
|
10218
|
-
return
|
|
10219
|
-
})(
|
|
10160
|
+
var BuiltInCalls = /* @__PURE__ */ ((BuiltInCalls2) => {
|
|
10161
|
+
BuiltInCalls2["Str"] = "builtInStr";
|
|
10162
|
+
BuiltInCalls2["Lang"] = "builtInLang";
|
|
10163
|
+
BuiltInCalls2["Langmatches"] = "builtInLangmatches";
|
|
10164
|
+
BuiltInCalls2["Datatype"] = "builtInDatatype";
|
|
10165
|
+
BuiltInCalls2["Bound"] = "builtInBound";
|
|
10166
|
+
BuiltInCalls2["Iri"] = "builtInIri";
|
|
10167
|
+
BuiltInCalls2["Uri"] = "builtInUri";
|
|
10168
|
+
BuiltInCalls2["Bnode"] = "builtInBnode";
|
|
10169
|
+
BuiltInCalls2["Rand"] = "builtInRand";
|
|
10170
|
+
BuiltInCalls2["Abs"] = "builtInAbs";
|
|
10171
|
+
BuiltInCalls2["Ceil"] = "builtInCeil";
|
|
10172
|
+
BuiltInCalls2["Floor"] = "builtInFloor";
|
|
10173
|
+
BuiltInCalls2["Round"] = "builtInRound";
|
|
10174
|
+
BuiltInCalls2["Concat"] = "builtInConcat";
|
|
10175
|
+
BuiltInCalls2["Strlen"] = "builtInStrlen";
|
|
10176
|
+
BuiltInCalls2["Ucase"] = "builtInUcase";
|
|
10177
|
+
BuiltInCalls2["Lcase"] = "builtInLcase";
|
|
10178
|
+
BuiltInCalls2["Encode_for_uri"] = "builtInEncode_for_uri";
|
|
10179
|
+
BuiltInCalls2["Contains"] = "builtInContains";
|
|
10180
|
+
BuiltInCalls2["Strstarts"] = "builtInStrstarts";
|
|
10181
|
+
BuiltInCalls2["Strends"] = "builtInStrends";
|
|
10182
|
+
BuiltInCalls2["Strbefore"] = "builtInStrbefore";
|
|
10183
|
+
BuiltInCalls2["Strafter"] = "builtInStrafter";
|
|
10184
|
+
BuiltInCalls2["Year"] = "builtInYear";
|
|
10185
|
+
BuiltInCalls2["Month"] = "builtInMonth";
|
|
10186
|
+
BuiltInCalls2["Day"] = "builtInDay";
|
|
10187
|
+
BuiltInCalls2["Hours"] = "builtInHours";
|
|
10188
|
+
BuiltInCalls2["Minutes"] = "builtInMinutes";
|
|
10189
|
+
BuiltInCalls2["Seconds"] = "builtInSeconds";
|
|
10190
|
+
BuiltInCalls2["Timezone"] = "builtInTimezone";
|
|
10191
|
+
BuiltInCalls2["Tz"] = "builtInTz";
|
|
10192
|
+
BuiltInCalls2["Now"] = "builtInNow";
|
|
10193
|
+
BuiltInCalls2["Uuid"] = "builtInUuid";
|
|
10194
|
+
BuiltInCalls2["Struuid"] = "builtInStruuid";
|
|
10195
|
+
BuiltInCalls2["Md5"] = "builtInMd5";
|
|
10196
|
+
BuiltInCalls2["Sha1"] = "builtInSha1";
|
|
10197
|
+
BuiltInCalls2["Sha256"] = "builtInSha256";
|
|
10198
|
+
BuiltInCalls2["Sha384"] = "builtInSha384";
|
|
10199
|
+
BuiltInCalls2["Sha512"] = "builtInSha512";
|
|
10200
|
+
BuiltInCalls2["Coalesce"] = "builtInCoalesce";
|
|
10201
|
+
BuiltInCalls2["If"] = "builtInIf";
|
|
10202
|
+
BuiltInCalls2["Strlang"] = "builtInStrlang";
|
|
10203
|
+
BuiltInCalls2["Strdt"] = "builtInStrdt";
|
|
10204
|
+
BuiltInCalls2["Sameterm"] = "builtInSameterm";
|
|
10205
|
+
BuiltInCalls2["Isiri"] = "builtInIsiri";
|
|
10206
|
+
BuiltInCalls2["Isuri"] = "builtInIsuri";
|
|
10207
|
+
BuiltInCalls2["Isblank"] = "builtInIsblank";
|
|
10208
|
+
BuiltInCalls2["Isliteral"] = "builtInIsliteral";
|
|
10209
|
+
BuiltInCalls2["Isnumeric"] = "builtInIsnumeric";
|
|
10210
|
+
BuiltInCalls2["Regex"] = "builtInRegex";
|
|
10211
|
+
BuiltInCalls2["Substr"] = "builtInSubstr";
|
|
10212
|
+
BuiltInCalls2["Replace"] = "builtInReplace";
|
|
10213
|
+
BuiltInCalls2["Exists"] = "builtInExists";
|
|
10214
|
+
BuiltInCalls2["Notexists"] = "builtInNotexists";
|
|
10215
|
+
BuiltInCalls2["Count"] = "builtInCount";
|
|
10216
|
+
BuiltInCalls2["Sum"] = "builtInSum";
|
|
10217
|
+
BuiltInCalls2["Min"] = "builtInMin";
|
|
10218
|
+
BuiltInCalls2["Max"] = "builtInMax";
|
|
10219
|
+
BuiltInCalls2["Avg"] = "builtInAvg";
|
|
10220
|
+
BuiltInCalls2["Sample"] = "builtInSample";
|
|
10221
|
+
BuiltInCalls2["Group_concat"] = "builtInGroup_concat";
|
|
10222
|
+
return BuiltInCalls2;
|
|
10223
|
+
})(BuiltInCalls || {});
|
|
10220
10224
|
function capitalize(string2) {
|
|
10221
10225
|
return string2.charAt(0).toUpperCase() + string2.slice(1);
|
|
10222
10226
|
}
|
|
@@ -10720,7 +10724,7 @@ var allBaseTokens = LexerBuilder.create().add(
|
|
|
10720
10724
|
notIn,
|
|
10721
10725
|
separator
|
|
10722
10726
|
);
|
|
10723
|
-
var
|
|
10727
|
+
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);
|
|
10724
10728
|
|
|
10725
10729
|
// ../../packages/rules-sparql-1-1/lib/factoryMixins/ContextFactory.ts
|
|
10726
10730
|
var nodeType = "contextDef";
|
|
@@ -11165,10 +11169,7 @@ function SolutionModifiersFactoryMixin(Base) {
|
|
|
11165
11169
|
var nodeType8 = "term";
|
|
11166
11170
|
function TermFactoryMixin(Base) {
|
|
11167
11171
|
return class TermFactory extends Base {
|
|
11168
|
-
|
|
11169
|
-
super(...arguments);
|
|
11170
|
-
this.__blankNodeCounter = 0;
|
|
11171
|
-
}
|
|
11172
|
+
__blankNodeCounter = 0;
|
|
11172
11173
|
resetBlankNodeCounter() {
|
|
11173
11174
|
this.__blankNodeCounter = 0;
|
|
11174
11175
|
}
|
|
@@ -11644,6 +11645,29 @@ function updateNoReuseBlankNodeLabels(updateQuery) {
|
|
|
11644
11645
|
}
|
|
11645
11646
|
}
|
|
11646
11647
|
|
|
11648
|
+
// ../../packages/rules-sparql-1-1/lib/utils.ts
|
|
11649
|
+
function sparqlCodepointEscape(input) {
|
|
11650
|
+
const sanitizedInput = input.replaceAll(
|
|
11651
|
+
/\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{8})/gu,
|
|
11652
|
+
(_, unicode4, unicode8) => {
|
|
11653
|
+
if (unicode4) {
|
|
11654
|
+
const charCode2 = Number.parseInt(unicode4, 16);
|
|
11655
|
+
return String.fromCodePoint(charCode2);
|
|
11656
|
+
}
|
|
11657
|
+
const charCode = Number.parseInt(unicode8, 16);
|
|
11658
|
+
if (charCode < 65535) {
|
|
11659
|
+
return String.fromCodePoint(charCode);
|
|
11660
|
+
}
|
|
11661
|
+
const substractedCharCode = charCode - 65536;
|
|
11662
|
+
return String.fromCodePoint(55296 + (substractedCharCode >> 10), 56320 + (substractedCharCode & 1023));
|
|
11663
|
+
}
|
|
11664
|
+
);
|
|
11665
|
+
if (/[\uD800-\uDBFF](?:[^\uDC00-\uDFFF]|$)/u.test(sanitizedInput)) {
|
|
11666
|
+
throw new Error(`Invalid unicode codepoint of surrogate pair without corresponding codepoint`);
|
|
11667
|
+
}
|
|
11668
|
+
return sanitizedInput;
|
|
11669
|
+
}
|
|
11670
|
+
|
|
11647
11671
|
// ../../packages/rules-sparql-1-1/lib/grammar/literals.ts
|
|
11648
11672
|
function stringEscapedLexical(str2) {
|
|
11649
11673
|
const lexical = str2.replaceAll(/["\\\t\n\r\b\f]/gu, (char) => {
|
|
@@ -11671,7 +11695,7 @@ function stringEscapedLexical(str2) {
|
|
|
11671
11695
|
var rdfLiteral = {
|
|
11672
11696
|
name: "rdfLiteral",
|
|
11673
11697
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION, OR }) => (C) => {
|
|
11674
|
-
const value = SUBRULE1(string
|
|
11698
|
+
const value = SUBRULE1(string);
|
|
11675
11699
|
return OPTION(() => OR([
|
|
11676
11700
|
{ ALT: () => {
|
|
11677
11701
|
const lang2 = CONSUME(terminals_exports.langTag);
|
|
@@ -11683,7 +11707,7 @@ var rdfLiteral = {
|
|
|
11683
11707
|
} },
|
|
11684
11708
|
{ ALT: () => {
|
|
11685
11709
|
CONSUME(symbols_exports.hathat);
|
|
11686
|
-
const iriVal = SUBRULE1(iri2
|
|
11710
|
+
const iriVal = SUBRULE1(iri2);
|
|
11687
11711
|
return ACTION(() => C.factory.literalTerm(
|
|
11688
11712
|
C.factory.sourceLocation(value, iriVal),
|
|
11689
11713
|
value.value,
|
|
@@ -11699,7 +11723,7 @@ var rdfLiteral = {
|
|
|
11699
11723
|
factory.printFilter(ast, () => PRINT("@", ast.langOrIri));
|
|
11700
11724
|
} else {
|
|
11701
11725
|
factory.printFilter(ast, () => PRINT("^^"));
|
|
11702
|
-
SUBRULE(iri2, ast.langOrIri
|
|
11726
|
+
SUBRULE(iri2, ast.langOrIri);
|
|
11703
11727
|
}
|
|
11704
11728
|
}
|
|
11705
11729
|
}
|
|
@@ -11707,9 +11731,9 @@ var rdfLiteral = {
|
|
|
11707
11731
|
var numericLiteral = {
|
|
11708
11732
|
name: "numericLiteral",
|
|
11709
11733
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
11710
|
-
{ ALT: () => SUBRULE(numericLiteralUnsigned
|
|
11711
|
-
{ ALT: () => SUBRULE(numericLiteralPositive
|
|
11712
|
-
{ ALT: () => SUBRULE(numericLiteralNegative
|
|
11734
|
+
{ ALT: () => SUBRULE(numericLiteralUnsigned) },
|
|
11735
|
+
{ ALT: () => SUBRULE(numericLiteralPositive) },
|
|
11736
|
+
{ ALT: () => SUBRULE(numericLiteralNegative) }
|
|
11713
11737
|
])
|
|
11714
11738
|
};
|
|
11715
11739
|
var numericLiteralUnsigned = {
|
|
@@ -11817,10 +11841,10 @@ var string = {
|
|
|
11817
11841
|
var iri2 = {
|
|
11818
11842
|
name: "iri",
|
|
11819
11843
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
11820
|
-
{ ALT: () => SUBRULE(iriFull
|
|
11821
|
-
{ ALT: () => SUBRULE(prefixedName
|
|
11844
|
+
{ ALT: () => SUBRULE(iriFull) },
|
|
11845
|
+
{ ALT: () => SUBRULE(prefixedName) }
|
|
11822
11846
|
]),
|
|
11823
|
-
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => F2.isTermNamedPrefixed(ast) ? SUBRULE(prefixedName, ast
|
|
11847
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => F2.isTermNamedPrefixed(ast) ? SUBRULE(prefixedName, ast) : SUBRULE(iriFull, ast)
|
|
11824
11848
|
};
|
|
11825
11849
|
var iriFull = {
|
|
11826
11850
|
name: "iriFull",
|
|
@@ -11884,93 +11908,25 @@ var verbA = {
|
|
|
11884
11908
|
}
|
|
11885
11909
|
};
|
|
11886
11910
|
|
|
11887
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/dataSetClause.ts
|
|
11888
|
-
function datasetClauseUsing(name, token) {
|
|
11889
|
-
return {
|
|
11890
|
-
name,
|
|
11891
|
-
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => {
|
|
11892
|
-
const start = CONSUME(token);
|
|
11893
|
-
return OR([
|
|
11894
|
-
{ ALT: () => {
|
|
11895
|
-
const iri3 = SUBRULE(defaultGraphClause, void 0);
|
|
11896
|
-
return ACTION(() => C.factory.wrap({ clauseType: "default", value: iri3 }, C.factory.sourceLocation(start, iri3)));
|
|
11897
|
-
} },
|
|
11898
|
-
{ ALT: () => {
|
|
11899
|
-
const namedClause = SUBRULE(namedGraphClause, void 0);
|
|
11900
|
-
return ACTION(() => C.factory.wrap({
|
|
11901
|
-
clauseType: "named",
|
|
11902
|
-
value: namedClause.val
|
|
11903
|
-
}, C.factory.sourceLocation(start, namedClause)));
|
|
11904
|
-
} }
|
|
11905
|
-
]);
|
|
11906
|
-
}
|
|
11907
|
-
};
|
|
11908
|
-
}
|
|
11909
|
-
var datasetClause = datasetClauseUsing("datasetClause", from);
|
|
11910
|
-
var defaultGraphClause = {
|
|
11911
|
-
name: "defaultGraphClause",
|
|
11912
|
-
impl: ({ SUBRULE }) => () => SUBRULE(sourceSelector, void 0)
|
|
11913
|
-
};
|
|
11914
|
-
var usingClause2 = datasetClauseUsing("usingClause", usingClause);
|
|
11915
|
-
function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
11916
|
-
return {
|
|
11917
|
-
name,
|
|
11918
|
-
impl: ({ ACTION, MANY, SUBRULE }) => (C) => {
|
|
11919
|
-
const clauses = [];
|
|
11920
|
-
MANY(() => {
|
|
11921
|
-
const clause = SUBRULE(subRule, void 0);
|
|
11922
|
-
clauses.push(clause);
|
|
11923
|
-
});
|
|
11924
|
-
return ACTION(() => C.factory.datasetClauses(
|
|
11925
|
-
clauses.map((clause) => clause.val),
|
|
11926
|
-
C.factory.sourceLocation(...clauses)
|
|
11927
|
-
));
|
|
11928
|
-
},
|
|
11929
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
11930
|
-
for (const clause of ast.clauses) {
|
|
11931
|
-
F2.printFilter(ast, () => PRINT_WORD(fromUsing));
|
|
11932
|
-
if (clause.clauseType === "named") {
|
|
11933
|
-
F2.printFilter(ast, () => PRINT_WORD("NAMED"));
|
|
11934
|
-
}
|
|
11935
|
-
SUBRULE(iri2, clause.value, void 0);
|
|
11936
|
-
}
|
|
11937
|
-
}
|
|
11938
|
-
};
|
|
11939
|
-
}
|
|
11940
|
-
var datasetClauseStar = datasetClauseUsingStar("datasetClauses", datasetClause, "FROM");
|
|
11941
|
-
var usingClauseStar = datasetClauseUsingStar("usingClauses", usingClause2, "USING");
|
|
11942
|
-
var namedGraphClause = {
|
|
11943
|
-
name: "namedGraphClause",
|
|
11944
|
-
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11945
|
-
const named2 = CONSUME(graph_exports.named);
|
|
11946
|
-
const iri3 = SUBRULE(sourceSelector, void 0);
|
|
11947
|
-
return ACTION(() => C.factory.wrap(iri3, C.factory.sourceLocation(named2, iri3)));
|
|
11948
|
-
}
|
|
11949
|
-
};
|
|
11950
|
-
var sourceSelector = {
|
|
11951
|
-
name: "sourceSelector",
|
|
11952
|
-
impl: ({ SUBRULE }) => () => SUBRULE(iri2, void 0)
|
|
11953
|
-
};
|
|
11954
|
-
|
|
11955
11911
|
// ../../packages/rules-sparql-1-1/lib/grammar/general.ts
|
|
11956
11912
|
var prologue = {
|
|
11957
11913
|
name: "prologue",
|
|
11958
11914
|
impl: ({ SUBRULE, MANY, OR }) => () => {
|
|
11959
11915
|
const result = [];
|
|
11960
11916
|
MANY(() => OR([
|
|
11961
|
-
{ ALT: () => result.push(SUBRULE(baseDecl2
|
|
11917
|
+
{ ALT: () => result.push(SUBRULE(baseDecl2)) },
|
|
11962
11918
|
// TODO: the [spec](https://www.w3.org/TR/sparql11-query/#iriRefs) says you cannot redefine prefixes.
|
|
11963
11919
|
// We might need to check this.
|
|
11964
|
-
{ ALT: () => result.push(SUBRULE(prefixDecl2
|
|
11920
|
+
{ ALT: () => result.push(SUBRULE(prefixDecl2)) }
|
|
11965
11921
|
]));
|
|
11966
11922
|
return result;
|
|
11967
11923
|
},
|
|
11968
11924
|
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
11969
11925
|
for (const context of ast) {
|
|
11970
11926
|
if (F2.isContextDefinitionBase(context)) {
|
|
11971
|
-
SUBRULE(baseDecl2, context
|
|
11927
|
+
SUBRULE(baseDecl2, context);
|
|
11972
11928
|
} else if (F2.isContextDefinitionPrefix(context)) {
|
|
11973
|
-
SUBRULE(prefixDecl2, context
|
|
11929
|
+
SUBRULE(prefixDecl2, context);
|
|
11974
11930
|
}
|
|
11975
11931
|
}
|
|
11976
11932
|
}
|
|
@@ -11979,12 +11935,12 @@ var baseDecl2 = {
|
|
|
11979
11935
|
name: "baseDecl",
|
|
11980
11936
|
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11981
11937
|
const base = CONSUME(baseDecl);
|
|
11982
|
-
const val = SUBRULE(iriFull
|
|
11938
|
+
const val = SUBRULE(iriFull);
|
|
11983
11939
|
return ACTION(() => C.factory.contextDefinitionBase(C.factory.sourceLocation(base, val), val));
|
|
11984
11940
|
},
|
|
11985
11941
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
11986
11942
|
F2.printFilter(ast, () => PRINT_WORD("BASE"));
|
|
11987
|
-
SUBRULE(iri2, ast.value
|
|
11943
|
+
SUBRULE(iri2, ast.value);
|
|
11988
11944
|
}
|
|
11989
11945
|
};
|
|
11990
11946
|
var prefixDecl2 = {
|
|
@@ -11992,41 +11948,41 @@ var prefixDecl2 = {
|
|
|
11992
11948
|
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11993
11949
|
const prefix = CONSUME(prefixDecl);
|
|
11994
11950
|
const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
|
|
11995
|
-
const value = SUBRULE(iriFull
|
|
11951
|
+
const value = SUBRULE(iriFull);
|
|
11996
11952
|
return ACTION(() => C.factory.contextDefinitionPrefix(C.factory.sourceLocation(prefix, value), name, value));
|
|
11997
11953
|
},
|
|
11998
11954
|
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, { factory: F2 }) => {
|
|
11999
11955
|
F2.printFilter(ast, () => {
|
|
12000
11956
|
PRINT_WORDS("PREFIX", `${ast.key}:`);
|
|
12001
11957
|
});
|
|
12002
|
-
SUBRULE(iri2, ast.value
|
|
11958
|
+
SUBRULE(iri2, ast.value);
|
|
12003
11959
|
}
|
|
12004
11960
|
};
|
|
12005
11961
|
var verb = {
|
|
12006
11962
|
name: "verb",
|
|
12007
11963
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12008
|
-
{ ALT: () => SUBRULE(varOrIri
|
|
12009
|
-
{ ALT: () => SUBRULE(verbA
|
|
11964
|
+
{ ALT: () => SUBRULE(varOrIri) },
|
|
11965
|
+
{ ALT: () => SUBRULE(verbA) }
|
|
12010
11966
|
])
|
|
12011
11967
|
};
|
|
12012
11968
|
var varOrTerm = {
|
|
12013
11969
|
name: "varOrTerm",
|
|
12014
11970
|
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
12015
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_
|
|
12016
|
-
{ ALT: () => SUBRULE(graphTerm
|
|
11971
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
11972
|
+
{ ALT: () => SUBRULE(graphTerm) }
|
|
12017
11973
|
]),
|
|
12018
11974
|
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
12019
11975
|
if (F2.isTermVariable(ast)) {
|
|
12020
|
-
return SUBRULE(var_, ast
|
|
11976
|
+
return SUBRULE(var_, ast);
|
|
12021
11977
|
}
|
|
12022
|
-
return SUBRULE(graphTerm, ast
|
|
11978
|
+
return SUBRULE(graphTerm, ast);
|
|
12023
11979
|
}
|
|
12024
11980
|
};
|
|
12025
11981
|
var varOrIri = {
|
|
12026
11982
|
name: "varOrIri",
|
|
12027
11983
|
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
12028
|
-
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_
|
|
12029
|
-
{ ALT: () => SUBRULE(iri2
|
|
11984
|
+
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
11985
|
+
{ ALT: () => SUBRULE(iri2) }
|
|
12030
11986
|
])
|
|
12031
11987
|
};
|
|
12032
11988
|
var var_ = {
|
|
@@ -12045,11 +12001,11 @@ var var_ = {
|
|
|
12045
12001
|
var graphTerm = {
|
|
12046
12002
|
name: "graphTerm",
|
|
12047
12003
|
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
|
|
12048
|
-
{ ALT: () => SUBRULE(iri2
|
|
12049
|
-
{ ALT: () => SUBRULE(rdfLiteral
|
|
12050
|
-
{ ALT: () => SUBRULE(numericLiteral
|
|
12051
|
-
{ ALT: () => SUBRULE(booleanLiteral
|
|
12052
|
-
{ GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode
|
|
12004
|
+
{ ALT: () => SUBRULE(iri2) },
|
|
12005
|
+
{ ALT: () => SUBRULE(rdfLiteral) },
|
|
12006
|
+
{ ALT: () => SUBRULE(numericLiteral) },
|
|
12007
|
+
{ ALT: () => SUBRULE(booleanLiteral) },
|
|
12008
|
+
{ GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode) },
|
|
12053
12009
|
{ ALT: () => {
|
|
12054
12010
|
const tokenNil = CONSUME(terminals_exports.nil);
|
|
12055
12011
|
return ACTION(() => C.factory.namedNode(C.factory.sourceLocation(tokenNil), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */));
|
|
@@ -12057,1275 +12013,1344 @@ var graphTerm = {
|
|
|
12057
12013
|
]),
|
|
12058
12014
|
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
12059
12015
|
if (F2.isTermNamed(ast)) {
|
|
12060
|
-
SUBRULE(iri2, ast
|
|
12016
|
+
SUBRULE(iri2, ast);
|
|
12061
12017
|
} else if (F2.isTermLiteral(ast)) {
|
|
12062
|
-
SUBRULE(rdfLiteral, ast
|
|
12018
|
+
SUBRULE(rdfLiteral, ast);
|
|
12063
12019
|
} else if (F2.isTermBlank(ast)) {
|
|
12064
|
-
SUBRULE(blankNode, ast
|
|
12020
|
+
SUBRULE(blankNode, ast);
|
|
12065
12021
|
}
|
|
12066
12022
|
}
|
|
12067
12023
|
};
|
|
12068
12024
|
|
|
12069
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/
|
|
12070
|
-
|
|
12071
|
-
|
|
12072
|
-
|
|
12073
|
-
}
|
|
12074
|
-
|
|
12075
|
-
|
|
12076
|
-
|
|
12077
|
-
|
|
12078
|
-
|
|
12079
|
-
|
|
12080
|
-
|
|
12081
|
-
|
|
12082
|
-
|
|
12083
|
-
|
|
12084
|
-
|
|
12085
|
-
|
|
12086
|
-
|
|
12087
|
-
|
|
12088
|
-
SUBRULE(pathGenerator, val, braces);
|
|
12089
|
-
}
|
|
12090
|
-
break;
|
|
12091
|
-
}
|
|
12092
|
-
case "^":
|
|
12093
|
-
F2.printFilter(ast, () => PRINT("^"));
|
|
12094
|
-
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
12095
|
-
break;
|
|
12096
|
-
case "?":
|
|
12097
|
-
case "*":
|
|
12098
|
-
case "+":
|
|
12099
|
-
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
12100
|
-
F2.printFilter(ast, () => PRINT(ast.subType));
|
|
12101
|
-
break;
|
|
12102
|
-
case "!":
|
|
12103
|
-
F2.printFilter(ast, () => PRINT("!"));
|
|
12104
|
-
F2.printFilter(ast, () => PRINT("("));
|
|
12105
|
-
SUBRULE(pathGenerator, ast.items[0], false);
|
|
12106
|
-
F2.printFilter(ast, () => PRINT(")"));
|
|
12107
|
-
break;
|
|
12108
|
-
}
|
|
12109
|
-
F2.printFilter(ast, () => braces && PRINT(")"));
|
|
12025
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/dataSetClause.ts
|
|
12026
|
+
function datasetClauseUsing(name, token) {
|
|
12027
|
+
return {
|
|
12028
|
+
name,
|
|
12029
|
+
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => {
|
|
12030
|
+
const start = CONSUME(token);
|
|
12031
|
+
return OR([
|
|
12032
|
+
{ ALT: () => {
|
|
12033
|
+
const iri3 = SUBRULE(defaultGraphClause);
|
|
12034
|
+
return ACTION(() => C.factory.wrap({ clauseType: "default", value: iri3 }, C.factory.sourceLocation(start, iri3)));
|
|
12035
|
+
} },
|
|
12036
|
+
{ ALT: () => {
|
|
12037
|
+
const namedClause = SUBRULE(namedGraphClause);
|
|
12038
|
+
return ACTION(() => C.factory.wrap({
|
|
12039
|
+
clauseType: "named",
|
|
12040
|
+
value: namedClause.val
|
|
12041
|
+
}, C.factory.sourceLocation(start, namedClause)));
|
|
12042
|
+
} }
|
|
12043
|
+
]);
|
|
12110
12044
|
}
|
|
12111
|
-
}
|
|
12045
|
+
};
|
|
12046
|
+
}
|
|
12047
|
+
var datasetClause = datasetClauseUsing("datasetClause", from);
|
|
12048
|
+
var defaultGraphClause = {
|
|
12049
|
+
name: "defaultGraphClause",
|
|
12050
|
+
impl: ({ SUBRULE }) => () => SUBRULE(sourceSelector)
|
|
12112
12051
|
};
|
|
12113
|
-
|
|
12052
|
+
var usingClause2 = datasetClauseUsing("usingClause", usingClause);
|
|
12053
|
+
function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
12114
12054
|
return {
|
|
12115
12055
|
name,
|
|
12116
|
-
impl: ({ ACTION,
|
|
12117
|
-
const
|
|
12118
|
-
let tailEnd = head2;
|
|
12119
|
-
const tail = [];
|
|
12056
|
+
impl: ({ ACTION, MANY, SUBRULE }) => (C) => {
|
|
12057
|
+
const clauses = [];
|
|
12120
12058
|
MANY(() => {
|
|
12121
|
-
|
|
12122
|
-
|
|
12123
|
-
tail.push(tailEnd);
|
|
12059
|
+
const clause = SUBRULE(subRule);
|
|
12060
|
+
clauses.push(clause);
|
|
12124
12061
|
});
|
|
12125
|
-
return ACTION(() =>
|
|
12062
|
+
return ACTION(() => C.factory.datasetClauses(
|
|
12063
|
+
clauses.map((clause) => clause.val),
|
|
12064
|
+
C.factory.sourceLocation(...clauses)
|
|
12065
|
+
));
|
|
12066
|
+
},
|
|
12067
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12068
|
+
for (const clause of ast.clauses) {
|
|
12069
|
+
F2.printFilter(ast, () => PRINT_WORD(fromUsing));
|
|
12070
|
+
if (clause.clauseType === "named") {
|
|
12071
|
+
F2.printFilter(ast, () => PRINT_WORD("NAMED"));
|
|
12072
|
+
}
|
|
12073
|
+
SUBRULE(iri2, clause.value);
|
|
12074
|
+
}
|
|
12126
12075
|
}
|
|
12127
12076
|
};
|
|
12128
12077
|
}
|
|
12129
|
-
var
|
|
12130
|
-
|
|
12131
|
-
|
|
12132
|
-
|
|
12133
|
-
|
|
12134
|
-
|
|
12135
|
-
|
|
12136
|
-
|
|
12137
|
-
} }
|
|
12138
|
-
])
|
|
12139
|
-
};
|
|
12140
|
-
var pathSequence = pathChainHelper("pathSequence", symbols_exports.slash, "/", pathEltOrInverse);
|
|
12141
|
-
var pathAlternative = pathChainHelper("pathAlternative", symbols_exports.pipe, "|", pathSequence);
|
|
12142
|
-
var pathElt = {
|
|
12143
|
-
name: "pathElt",
|
|
12144
|
-
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
12145
|
-
const item = SUBRULE(pathPrimary, void 0);
|
|
12146
|
-
const modification = OPTION(() => SUBRULE(pathMod, void 0));
|
|
12147
|
-
return ACTION(() => modification === void 0 ? item : C.factory.path(modification.image, [item], C.factory.sourceLocation(item, modification)));
|
|
12078
|
+
var datasetClauseStar = datasetClauseUsingStar("datasetClauses", datasetClause, "FROM");
|
|
12079
|
+
var usingClauseStar = datasetClauseUsingStar("usingClauses", usingClause2, "USING");
|
|
12080
|
+
var namedGraphClause = {
|
|
12081
|
+
name: "namedGraphClause",
|
|
12082
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12083
|
+
const named2 = CONSUME(graph_exports.named);
|
|
12084
|
+
const iri3 = SUBRULE(sourceSelector);
|
|
12085
|
+
return ACTION(() => C.factory.wrap(iri3, C.factory.sourceLocation(named2, iri3)));
|
|
12148
12086
|
}
|
|
12149
12087
|
};
|
|
12150
|
-
var
|
|
12151
|
-
name: "
|
|
12152
|
-
impl: ({
|
|
12153
|
-
{ ALT: () => CONSUME(symbols_exports.question) },
|
|
12154
|
-
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
12155
|
-
{ ALT: () => CONSUME(symbols_exports.opPlus) }
|
|
12156
|
-
])
|
|
12088
|
+
var sourceSelector = {
|
|
12089
|
+
name: "sourceSelector",
|
|
12090
|
+
impl: ({ SUBRULE }) => () => SUBRULE(iri2)
|
|
12157
12091
|
};
|
|
12158
|
-
|
|
12159
|
-
|
|
12160
|
-
|
|
12161
|
-
|
|
12162
|
-
|
|
12163
|
-
|
|
12164
|
-
|
|
12092
|
+
|
|
12093
|
+
// ../../packages/rules-sparql-1-1/lib/expressionHelpers.ts
|
|
12094
|
+
function funcExpr1(func) {
|
|
12095
|
+
return {
|
|
12096
|
+
name: unCapitalize(func.name),
|
|
12097
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12098
|
+
const operator = CONSUME(func);
|
|
12165
12099
|
CONSUME(symbols_exports.LParen);
|
|
12166
|
-
const
|
|
12167
|
-
CONSUME(symbols_exports.RParen);
|
|
12168
|
-
return
|
|
12169
|
-
} }
|
|
12170
|
-
])
|
|
12171
|
-
};
|
|
12172
|
-
var pathNegatedPropertySet = {
|
|
12173
|
-
name: "pathNegatedPropertySet",
|
|
12174
|
-
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, OR, MANY }) => (C) => {
|
|
12175
|
-
const exclamation2 = CONSUME(symbols_exports.exclamation);
|
|
12176
|
-
return OR([
|
|
12177
|
-
{ ALT: () => {
|
|
12178
|
-
const noAlternative = SUBRULE1(pathOneInPropertySet, void 0);
|
|
12179
|
-
return ACTION(() => C.factory.path("!", [noAlternative], C.factory.sourceLocation(exclamation2, noAlternative)));
|
|
12180
|
-
} },
|
|
12181
|
-
{ ALT: () => {
|
|
12182
|
-
const open = CONSUME(symbols_exports.LParen);
|
|
12183
|
-
const head2 = SUBRULE2(pathOneInPropertySet, void 0);
|
|
12184
|
-
const tail = [];
|
|
12185
|
-
MANY(() => {
|
|
12186
|
-
CONSUME(symbols_exports.pipe);
|
|
12187
|
-
const item = SUBRULE3(pathOneInPropertySet, void 0);
|
|
12188
|
-
tail.push(item);
|
|
12189
|
-
});
|
|
12190
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12191
|
-
return ACTION(() => {
|
|
12192
|
-
const F2 = C.factory;
|
|
12193
|
-
if (tail.length === 0) {
|
|
12194
|
-
return F2.path("!", [head2], F2.sourceLocation(exclamation2, close));
|
|
12195
|
-
}
|
|
12196
|
-
return F2.path(
|
|
12197
|
-
"!",
|
|
12198
|
-
[F2.path("|", [head2, ...tail], F2.sourceLocation(open, close))],
|
|
12199
|
-
F2.sourceLocation(exclamation2, close)
|
|
12200
|
-
);
|
|
12201
|
-
});
|
|
12202
|
-
} }
|
|
12203
|
-
]);
|
|
12204
|
-
}
|
|
12205
|
-
};
|
|
12206
|
-
var pathOneInPropertySet = {
|
|
12207
|
-
name: "pathOneInPropertySet",
|
|
12208
|
-
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => (C) => OR1([
|
|
12209
|
-
{ ALT: () => SUBRULE1(iri2, void 0) },
|
|
12210
|
-
{ ALT: () => SUBRULE1(verbA, void 0) },
|
|
12211
|
-
{ ALT: () => {
|
|
12212
|
-
const hat2 = CONSUME(symbols_exports.hat);
|
|
12213
|
-
const item = OR2([
|
|
12214
|
-
{ ALT: () => SUBRULE2(iri2, void 0) },
|
|
12215
|
-
{ ALT: () => SUBRULE2(verbA, void 0) }
|
|
12216
|
-
]);
|
|
12217
|
-
return ACTION(() => C.factory.path("^", [item], C.factory.sourceLocation(hat2, item)));
|
|
12218
|
-
} }
|
|
12219
|
-
])
|
|
12220
|
-
};
|
|
12221
|
-
|
|
12222
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/tripleBlock.ts
|
|
12223
|
-
function triplesDotSeperated(triplesSameSubjectSubrule) {
|
|
12224
|
-
return ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
12225
|
-
const triples = [];
|
|
12226
|
-
let parsedDot = true;
|
|
12227
|
-
let dotToken;
|
|
12228
|
-
AT_LEAST_ONE({
|
|
12229
|
-
GATE: () => parsedDot,
|
|
12230
|
-
DEF: () => {
|
|
12231
|
-
parsedDot = false;
|
|
12232
|
-
const template = SUBRULE(triplesSameSubjectSubrule, void 0);
|
|
12233
|
-
ACTION(() => {
|
|
12234
|
-
triples.push(...template);
|
|
12235
|
-
});
|
|
12236
|
-
OPTION(() => {
|
|
12237
|
-
dotToken = CONSUME(symbols_exports.dot);
|
|
12238
|
-
parsedDot = true;
|
|
12239
|
-
});
|
|
12240
|
-
}
|
|
12241
|
-
});
|
|
12242
|
-
return ACTION(() => C.factory.patternBgp(triples, C.factory.sourceLocation(...triples, dotToken)));
|
|
12243
|
-
};
|
|
12244
|
-
}
|
|
12245
|
-
var triplesBlock = {
|
|
12246
|
-
name: "triplesBlock",
|
|
12247
|
-
impl: (implArgs) => (C) => triplesDotSeperated(triplesSameSubjectPath)(implArgs)(C, void 0),
|
|
12248
|
-
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F2 }) => {
|
|
12249
|
-
for (const [index, triple] of ast.triples.entries()) {
|
|
12250
|
-
HANDLE_LOC(triple, () => {
|
|
12251
|
-
const nextTriple = ast.triples.at(index);
|
|
12252
|
-
if (F2.isTripleCollection(triple)) {
|
|
12253
|
-
SUBRULE(graphNodePath, triple, void 0);
|
|
12254
|
-
F2.printFilter(triple, () => PRINT_WORD("."));
|
|
12255
|
-
} else {
|
|
12256
|
-
SUBRULE(graphNodePath, triple.subject, void 0);
|
|
12257
|
-
if (F2.isTerm(triple.predicate) && F2.isTermVariable(triple.predicate)) {
|
|
12258
|
-
SUBRULE(varOrTerm, triple.predicate, void 0);
|
|
12259
|
-
} else {
|
|
12260
|
-
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12261
|
-
}
|
|
12262
|
-
SUBRULE(graphNodePath, triple.object, void 0);
|
|
12263
|
-
if (nextTriple === void 0 || F2.isTripleCollection(nextTriple) || !F2.isSourceLocationNoMaterialize(nextTriple.subject.loc)) {
|
|
12264
|
-
F2.printFilter(ast, () => PRINT_WORD("."));
|
|
12265
|
-
} else if (F2.isSourceLocationNoMaterialize(nextTriple.predicate.loc)) {
|
|
12266
|
-
F2.printFilter(ast, () => PRINT_WORD(","));
|
|
12267
|
-
} else {
|
|
12268
|
-
F2.printFilter(ast, () => PRINT_WORD(";"));
|
|
12269
|
-
}
|
|
12270
|
-
}
|
|
12271
|
-
});
|
|
12100
|
+
const arg = SUBRULE(expression);
|
|
12101
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12102
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
12272
12103
|
}
|
|
12273
|
-
}
|
|
12274
|
-
};
|
|
12275
|
-
function triplesSameSubjectImpl(name, allowPaths) {
|
|
12276
|
-
return {
|
|
12277
|
-
name,
|
|
12278
|
-
impl: ({ ACTION, SUBRULE, OR }) => (C) => OR([
|
|
12279
|
-
{ ALT: () => {
|
|
12280
|
-
const subject = SUBRULE(varOrTerm, void 0);
|
|
12281
|
-
const res = SUBRULE(
|
|
12282
|
-
allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty,
|
|
12283
|
-
{ subject: ACTION(() => C.factory.dematerialized(subject)) }
|
|
12284
|
-
);
|
|
12285
|
-
return ACTION(() => {
|
|
12286
|
-
if (res.length > 0) {
|
|
12287
|
-
res[0].subject = subject;
|
|
12288
|
-
res[0].loc = C.factory.sourceLocation(subject, res[0]);
|
|
12289
|
-
}
|
|
12290
|
-
return res;
|
|
12291
|
-
});
|
|
12292
|
-
} },
|
|
12293
|
-
{ ALT: () => {
|
|
12294
|
-
const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode, void 0);
|
|
12295
|
-
const restNode = SUBRULE(
|
|
12296
|
-
allowPaths ? propertyListPath : propertyList,
|
|
12297
|
-
{ subject: ACTION(() => C.factory.graphNodeIdentifier(subjectNode)) }
|
|
12298
|
-
);
|
|
12299
|
-
return ACTION(() => {
|
|
12300
|
-
if (restNode.length === 0) {
|
|
12301
|
-
return [subjectNode];
|
|
12302
|
-
}
|
|
12303
|
-
restNode[0].subject = subjectNode;
|
|
12304
|
-
restNode[0].loc = C.factory.sourceLocation(subjectNode, restNode[0]);
|
|
12305
|
-
return restNode;
|
|
12306
|
-
});
|
|
12307
|
-
} }
|
|
12308
|
-
])
|
|
12309
12104
|
};
|
|
12310
12105
|
}
|
|
12311
|
-
|
|
12312
|
-
var triplesSameSubjectPath = triplesSameSubjectImpl("triplesSameSubjectPath", true);
|
|
12313
|
-
var triplesTemplate = {
|
|
12314
|
-
name: "triplesTemplate",
|
|
12315
|
-
impl: triplesDotSeperated(triplesSameSubject)
|
|
12316
|
-
};
|
|
12317
|
-
function propertyListImpl(name, allowPaths) {
|
|
12106
|
+
function funcExpr2(func) {
|
|
12318
12107
|
return {
|
|
12319
|
-
name,
|
|
12320
|
-
impl: ({
|
|
12108
|
+
name: unCapitalize(func.name),
|
|
12109
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2 }) => (C) => {
|
|
12110
|
+
const operator = CONSUME(func);
|
|
12111
|
+
CONSUME(symbols_exports.LParen);
|
|
12112
|
+
const arg1 = SUBRULE1(expression);
|
|
12113
|
+
CONSUME(symbols_exports.comma);
|
|
12114
|
+
const arg2 = SUBRULE2(expression);
|
|
12115
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12116
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg1, arg2], C.factory.sourceLocation(operator, close)));
|
|
12117
|
+
}
|
|
12321
12118
|
};
|
|
12322
12119
|
}
|
|
12323
|
-
|
|
12324
|
-
var propertyListPath = propertyListImpl("propertyListPath", true);
|
|
12325
|
-
function propertyListNotEmptyImplementation(name, allowPaths) {
|
|
12120
|
+
function funcExpr3(func) {
|
|
12326
12121
|
return {
|
|
12327
|
-
name,
|
|
12328
|
-
impl: ({ ACTION, CONSUME,
|
|
12329
|
-
const
|
|
12330
|
-
|
|
12331
|
-
|
|
12332
|
-
|
|
12333
|
-
|
|
12334
|
-
|
|
12335
|
-
|
|
12336
|
-
|
|
12337
|
-
|
|
12338
|
-
]) : SUBRULE1(verb, void 0);
|
|
12339
|
-
const triples = SUBRULE1(
|
|
12340
|
-
allowPaths ? objectListPath : objectList,
|
|
12341
|
-
ACTION(() => ({ subject: arg.subject, predicate }))
|
|
12342
|
-
);
|
|
12343
|
-
MANY2(() => {
|
|
12344
|
-
CONSUME(symbols_exports.semi);
|
|
12345
|
-
parsedSemi = true;
|
|
12346
|
-
});
|
|
12347
|
-
ACTION(() => {
|
|
12348
|
-
result.push(...triples);
|
|
12349
|
-
});
|
|
12350
|
-
}
|
|
12351
|
-
});
|
|
12352
|
-
return result;
|
|
12122
|
+
name: unCapitalize(func.name),
|
|
12123
|
+
impl: ({ ACTION, CONSUME, CONSUME1, CONSUME2, SUBRULE1, SUBRULE2, SUBRULE3 }) => (C) => {
|
|
12124
|
+
const operator = CONSUME(func);
|
|
12125
|
+
CONSUME(symbols_exports.LParen);
|
|
12126
|
+
const arg1 = SUBRULE1(expression);
|
|
12127
|
+
CONSUME1(symbols_exports.comma);
|
|
12128
|
+
const arg2 = SUBRULE2(expression);
|
|
12129
|
+
CONSUME2(symbols_exports.comma);
|
|
12130
|
+
const arg3 = SUBRULE3(expression);
|
|
12131
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12132
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg1, arg2, arg3], C.factory.sourceLocation(operator, close)));
|
|
12353
12133
|
}
|
|
12354
12134
|
};
|
|
12355
12135
|
}
|
|
12356
|
-
|
|
12357
|
-
var propertyListPathNotEmpty = propertyListNotEmptyImplementation("propertyListPathNotEmpty", true);
|
|
12358
|
-
var verbPath = {
|
|
12359
|
-
name: "verbPath",
|
|
12360
|
-
impl: ({ SUBRULE }) => () => SUBRULE(path, void 0)
|
|
12361
|
-
};
|
|
12362
|
-
var verbSimple = {
|
|
12363
|
-
name: "verbSimple",
|
|
12364
|
-
impl: ({ SUBRULE }) => () => SUBRULE(var_, void 0)
|
|
12365
|
-
};
|
|
12366
|
-
function objectListImpl(name, allowPaths) {
|
|
12136
|
+
function funcVar1(func) {
|
|
12367
12137
|
return {
|
|
12368
|
-
name,
|
|
12369
|
-
impl: ({ ACTION, SUBRULE,
|
|
12370
|
-
const
|
|
12371
|
-
|
|
12372
|
-
|
|
12373
|
-
|
|
12374
|
-
|
|
12375
|
-
ACTION(() => {
|
|
12376
|
-
objects.push(objectTriple);
|
|
12377
|
-
});
|
|
12378
|
-
}
|
|
12379
|
-
});
|
|
12380
|
-
return objects;
|
|
12138
|
+
name: unCapitalize(func.name),
|
|
12139
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12140
|
+
const operator = CONSUME(func);
|
|
12141
|
+
CONSUME(symbols_exports.LParen);
|
|
12142
|
+
const arg = SUBRULE(var_);
|
|
12143
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12144
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
12381
12145
|
}
|
|
12382
12146
|
};
|
|
12383
12147
|
}
|
|
12384
|
-
|
|
12385
|
-
var objectListPath = objectListImpl("objectListPath", true);
|
|
12386
|
-
function objectImpl(name, allowPaths) {
|
|
12148
|
+
function funcExprOrNil1(func) {
|
|
12387
12149
|
return {
|
|
12388
|
-
name,
|
|
12389
|
-
impl: ({ ACTION, SUBRULE }) => (C
|
|
12390
|
-
const
|
|
12391
|
-
return
|
|
12150
|
+
name: unCapitalize(func.name),
|
|
12151
|
+
impl: ({ ACTION, CONSUME, OR, SUBRULE }) => (C) => {
|
|
12152
|
+
const operator = CONSUME(func);
|
|
12153
|
+
return OR([
|
|
12154
|
+
{ ALT: () => {
|
|
12155
|
+
CONSUME(symbols_exports.LParen);
|
|
12156
|
+
const arg = SUBRULE(expression);
|
|
12157
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12158
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
12159
|
+
} },
|
|
12160
|
+
{ ALT: () => {
|
|
12161
|
+
const nil2 = CONSUME(terminals_exports.nil);
|
|
12162
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [], C.factory.sourceLocation(operator, nil2)));
|
|
12163
|
+
} }
|
|
12164
|
+
]);
|
|
12392
12165
|
}
|
|
12393
12166
|
};
|
|
12394
12167
|
}
|
|
12395
|
-
|
|
12396
|
-
var objectPath = objectImpl("objectPath", true);
|
|
12397
|
-
function collectionImpl(name, allowPaths) {
|
|
12168
|
+
function funcNil1(func) {
|
|
12398
12169
|
return {
|
|
12399
|
-
name,
|
|
12400
|
-
impl: ({ ACTION,
|
|
12401
|
-
const
|
|
12402
|
-
const
|
|
12403
|
-
|
|
12404
|
-
terms.push(SUBRULE(allowPaths ? graphNodePath : graphNode, void 0));
|
|
12405
|
-
});
|
|
12406
|
-
const endToken = CONSUME(symbols_exports.RParen);
|
|
12407
|
-
return ACTION(() => {
|
|
12408
|
-
const F2 = C.factory;
|
|
12409
|
-
const triples = [];
|
|
12410
|
-
const predFirst = F2.namedNode(F2.sourceLocationNoMaterialize(), "http://www.w3.org/1999/02/22-rdf-syntax-ns#first" /* FIRST */, void 0);
|
|
12411
|
-
const predRest = F2.namedNode(F2.sourceLocationNoMaterialize(), "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest" /* REST */, void 0);
|
|
12412
|
-
const predNil = F2.namedNode(F2.sourceLocationNoMaterialize(), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */, void 0);
|
|
12413
|
-
const listHead = F2.blankNode(void 0, F2.sourceLocationNoMaterialize());
|
|
12414
|
-
let iterHead = listHead;
|
|
12415
|
-
for (const [index, term] of terms.entries()) {
|
|
12416
|
-
const lastInList = index === terms.length - 1;
|
|
12417
|
-
const headTriple = F2.triple(
|
|
12418
|
-
iterHead,
|
|
12419
|
-
predFirst,
|
|
12420
|
-
term
|
|
12421
|
-
);
|
|
12422
|
-
triples.push(headTriple);
|
|
12423
|
-
if (lastInList) {
|
|
12424
|
-
const nilTriple = F2.triple(iterHead, predRest, predNil);
|
|
12425
|
-
triples.push(nilTriple);
|
|
12426
|
-
} else {
|
|
12427
|
-
const tail = F2.blankNode(void 0, F2.sourceLocationNoMaterialize());
|
|
12428
|
-
const linkTriple = F2.triple(iterHead, predRest, tail);
|
|
12429
|
-
triples.push(linkTriple);
|
|
12430
|
-
iterHead = tail;
|
|
12431
|
-
}
|
|
12432
|
-
}
|
|
12433
|
-
return F2.tripleCollectionList(listHead, triples, F2.sourceLocation(startToken, endToken));
|
|
12434
|
-
});
|
|
12435
|
-
},
|
|
12436
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12437
|
-
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
12438
|
-
for (const [idx, triple] of ast.triples.entries()) {
|
|
12439
|
-
if (idx % 2 === 0) {
|
|
12440
|
-
SUBRULE(allowPaths ? graphNodePath : graphNode, triple.object, void 0);
|
|
12441
|
-
}
|
|
12442
|
-
}
|
|
12443
|
-
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
12170
|
+
name: unCapitalize(func.name),
|
|
12171
|
+
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
12172
|
+
const operator = CONSUME(func);
|
|
12173
|
+
const nil2 = CONSUME(terminals_exports.nil);
|
|
12174
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, [], C.factory.sourceLocation(operator, nil2)));
|
|
12444
12175
|
}
|
|
12445
12176
|
};
|
|
12446
12177
|
}
|
|
12447
|
-
|
|
12448
|
-
var collectionPath = collectionImpl("collectionPath", true);
|
|
12449
|
-
function triplesNodeImpl(name, allowPaths) {
|
|
12178
|
+
function funcExprList1(func) {
|
|
12450
12179
|
return {
|
|
12451
|
-
name,
|
|
12452
|
-
impl: ({
|
|
12453
|
-
|
|
12454
|
-
|
|
12455
|
-
|
|
12456
|
-
|
|
12180
|
+
name: unCapitalize(func.name),
|
|
12181
|
+
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
12182
|
+
const operator = CONSUME(func);
|
|
12183
|
+
const args = SUBRULE(expressionList);
|
|
12184
|
+
return ACTION(() => C.factory.expressionOperation(operator.image, args.val, C.factory.sourceLocation(operator, args)));
|
|
12185
|
+
}
|
|
12457
12186
|
};
|
|
12458
12187
|
}
|
|
12459
|
-
|
|
12460
|
-
var triplesNodePath = triplesNodeImpl("triplesNodePath", true);
|
|
12461
|
-
function blankNodePropertyListImpl(name, allowPaths) {
|
|
12462
|
-
const propertyPathNotEmptyImpl = allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty;
|
|
12188
|
+
function funcExpr2or3(func) {
|
|
12463
12189
|
return {
|
|
12464
|
-
name,
|
|
12190
|
+
name: unCapitalize(func.name),
|
|
12191
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, CONSUME1, OPTION, CONSUME2 }) => (C) => {
|
|
12192
|
+
const operator = CONSUME(func);
|
|
12193
|
+
CONSUME(symbols_exports.LParen);
|
|
12194
|
+
const arg1 = SUBRULE1(expression);
|
|
12195
|
+
CONSUME1(symbols_exports.comma);
|
|
12196
|
+
const arg2 = SUBRULE2(expression);
|
|
12197
|
+
const arg3 = OPTION(() => {
|
|
12198
|
+
CONSUME2(symbols_exports.comma);
|
|
12199
|
+
return SUBRULE3(expression);
|
|
12200
|
+
});
|
|
12201
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12202
|
+
return ACTION(() => C.factory.expressionOperation(
|
|
12203
|
+
operator.image,
|
|
12204
|
+
arg3 ? [arg1, arg2, arg3] : [arg1, arg2],
|
|
12205
|
+
C.factory.sourceLocation(operator, close)
|
|
12206
|
+
));
|
|
12207
|
+
}
|
|
12208
|
+
};
|
|
12209
|
+
}
|
|
12210
|
+
function funcExpr3or4(func) {
|
|
12211
|
+
return {
|
|
12212
|
+
name: unCapitalize(func.name),
|
|
12213
|
+
impl: ({
|
|
12214
|
+
ACTION,
|
|
12215
|
+
CONSUME,
|
|
12216
|
+
SUBRULE1,
|
|
12217
|
+
SUBRULE2,
|
|
12218
|
+
SUBRULE3,
|
|
12219
|
+
SUBRULE4,
|
|
12220
|
+
CONSUME1,
|
|
12221
|
+
OPTION,
|
|
12222
|
+
CONSUME2,
|
|
12223
|
+
CONSUME3
|
|
12224
|
+
}) => (C) => {
|
|
12225
|
+
const operator = CONSUME(func);
|
|
12226
|
+
CONSUME(symbols_exports.LParen);
|
|
12227
|
+
const arg1 = SUBRULE1(expression);
|
|
12228
|
+
CONSUME1(symbols_exports.comma);
|
|
12229
|
+
const arg2 = SUBRULE2(expression);
|
|
12230
|
+
CONSUME2(symbols_exports.comma);
|
|
12231
|
+
const arg3 = SUBRULE3(expression);
|
|
12232
|
+
const arg4 = OPTION(() => {
|
|
12233
|
+
CONSUME3(symbols_exports.comma);
|
|
12234
|
+
return SUBRULE4(expression);
|
|
12235
|
+
});
|
|
12236
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12237
|
+
return ACTION(() => C.factory.expressionOperation(
|
|
12238
|
+
operator.image,
|
|
12239
|
+
arg4 ? [arg1, arg2, arg3, arg4] : [arg1, arg2, arg3],
|
|
12240
|
+
C.factory.sourceLocation(operator, close)
|
|
12241
|
+
));
|
|
12242
|
+
}
|
|
12243
|
+
};
|
|
12244
|
+
}
|
|
12245
|
+
function funcGroupGraphPattern(func) {
|
|
12246
|
+
return {
|
|
12247
|
+
name: unCapitalize(func.name),
|
|
12465
12248
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12466
|
-
const
|
|
12467
|
-
const
|
|
12468
|
-
|
|
12469
|
-
|
|
12470
|
-
|
|
12471
|
-
|
|
12472
|
-
propList,
|
|
12473
|
-
C.factory.sourceLocation(startToken, endToken)
|
|
12249
|
+
const operator = CONSUME(func);
|
|
12250
|
+
const group = SUBRULE(groupGraphPattern);
|
|
12251
|
+
return ACTION(() => C.factory.expressionPatternOperation(
|
|
12252
|
+
operator.image,
|
|
12253
|
+
group,
|
|
12254
|
+
C.factory.sourceLocation(operator, group)
|
|
12474
12255
|
));
|
|
12475
|
-
},
|
|
12476
|
-
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F2 }) => {
|
|
12477
|
-
F2.printFilter(ast, () => PRINT("["));
|
|
12478
|
-
for (const triple of ast.triples) {
|
|
12479
|
-
HANDLE_LOC(triple, () => {
|
|
12480
|
-
if (F2.isTerm(triple.predicate) && F2.isTermVariable(triple.predicate)) {
|
|
12481
|
-
SUBRULE(varOrTerm, triple.predicate, void 0);
|
|
12482
|
-
} else {
|
|
12483
|
-
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12484
|
-
}
|
|
12485
|
-
SUBRULE(graphNodePath, triple.object, void 0);
|
|
12486
|
-
F2.printFilter(ast, () => PRINT_WORD(";"));
|
|
12487
|
-
});
|
|
12488
|
-
}
|
|
12489
|
-
F2.printFilter(ast, () => PRINT("]"));
|
|
12490
12256
|
}
|
|
12491
12257
|
};
|
|
12492
12258
|
}
|
|
12493
|
-
|
|
12494
|
-
var blankNodePropertyListPath = blankNodePropertyListImpl("blankNodePropertyListPath", true);
|
|
12495
|
-
function graphNodeImpl(name, allowPaths) {
|
|
12496
|
-
const triplesNodeRule = allowPaths ? triplesNodePath : triplesNode;
|
|
12259
|
+
function baseAggregateFunc(func) {
|
|
12497
12260
|
return {
|
|
12498
|
-
name,
|
|
12499
|
-
impl: ({ SUBRULE,
|
|
12500
|
-
|
|
12501
|
-
|
|
12502
|
-
|
|
12503
|
-
|
|
12504
|
-
|
|
12505
|
-
|
|
12506
|
-
|
|
12507
|
-
|
|
12508
|
-
|
|
12509
|
-
|
|
12510
|
-
|
|
12511
|
-
|
|
12261
|
+
name: unCapitalize(func.name),
|
|
12262
|
+
impl: ({ ACTION, CONSUME, SUBRULE, OPTION }) => (C) => {
|
|
12263
|
+
const operator = CONSUME(func);
|
|
12264
|
+
CONSUME(symbols_exports.LParen);
|
|
12265
|
+
const distinct2 = OPTION(() => CONSUME(distinct));
|
|
12266
|
+
const expr1 = SUBRULE(expression);
|
|
12267
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12268
|
+
return ACTION(() => C.factory.aggregate(
|
|
12269
|
+
operator.image,
|
|
12270
|
+
distinct2 !== void 0,
|
|
12271
|
+
expr1,
|
|
12272
|
+
void 0,
|
|
12273
|
+
C.factory.sourceLocation(operator, close)
|
|
12274
|
+
));
|
|
12512
12275
|
}
|
|
12513
12276
|
};
|
|
12514
12277
|
}
|
|
12515
|
-
var graphNode = graphNodeImpl("graphNode", false);
|
|
12516
|
-
var graphNodePath = graphNodeImpl("graphNodePath", true);
|
|
12517
12278
|
|
|
12518
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/
|
|
12519
|
-
var
|
|
12520
|
-
|
|
12521
|
-
|
|
12522
|
-
|
|
12523
|
-
|
|
12524
|
-
|
|
12525
|
-
|
|
12526
|
-
|
|
12527
|
-
|
|
12528
|
-
|
|
12529
|
-
|
|
12530
|
-
|
|
12531
|
-
var
|
|
12532
|
-
|
|
12533
|
-
|
|
12534
|
-
|
|
12535
|
-
|
|
12536
|
-
|
|
12537
|
-
|
|
12538
|
-
|
|
12539
|
-
|
|
12540
|
-
|
|
12541
|
-
|
|
12542
|
-
|
|
12543
|
-
|
|
12544
|
-
|
|
12545
|
-
|
|
12546
|
-
|
|
12547
|
-
|
|
12548
|
-
|
|
12549
|
-
|
|
12550
|
-
var
|
|
12551
|
-
|
|
12552
|
-
|
|
12553
|
-
|
|
12554
|
-
|
|
12555
|
-
|
|
12556
|
-
|
|
12557
|
-
|
|
12558
|
-
|
|
12559
|
-
|
|
12560
|
-
|
|
12561
|
-
|
|
12562
|
-
|
|
12563
|
-
|
|
12564
|
-
|
|
12565
|
-
|
|
12566
|
-
|
|
12567
|
-
|
|
12568
|
-
|
|
12569
|
-
|
|
12279
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/builtIn.ts
|
|
12280
|
+
var builtInStr = funcExpr1(BuiltInCalls_exports.str);
|
|
12281
|
+
var builtInLang = funcExpr1(BuiltInCalls_exports.lang);
|
|
12282
|
+
var builtInLangmatches = funcExpr2(BuiltInCalls_exports.langmatches);
|
|
12283
|
+
var builtInDatatype = funcExpr1(BuiltInCalls_exports.datatype);
|
|
12284
|
+
var builtInBound = funcVar1(BuiltInCalls_exports.bound);
|
|
12285
|
+
var builtInIri = funcExpr1(BuiltInCalls_exports.iri);
|
|
12286
|
+
var builtInUri = funcExpr1(BuiltInCalls_exports.uri);
|
|
12287
|
+
var builtInBnodeSparqlJs = funcExprOrNil1(BuiltInCalls_exports.bnode);
|
|
12288
|
+
var builtInRand = funcNil1(BuiltInCalls_exports.rand);
|
|
12289
|
+
var builtInAbs = funcExpr1(BuiltInCalls_exports.abs);
|
|
12290
|
+
var builtInCeil = funcExpr1(BuiltInCalls_exports.ceil);
|
|
12291
|
+
var builtInFloor = funcExpr1(BuiltInCalls_exports.floor);
|
|
12292
|
+
var builtInRound = funcExpr1(BuiltInCalls_exports.round);
|
|
12293
|
+
var builtInConcat = funcExprList1(BuiltInCalls_exports.concat);
|
|
12294
|
+
var builtInStrlen = funcExpr1(BuiltInCalls_exports.strlen);
|
|
12295
|
+
var builtInUcase = funcExpr1(BuiltInCalls_exports.ucase);
|
|
12296
|
+
var builtInLcase = funcExpr1(BuiltInCalls_exports.lcase);
|
|
12297
|
+
var builtInEncode_for_uri = funcExpr1(BuiltInCalls_exports.encode_for_uri);
|
|
12298
|
+
var builtInContains = funcExpr2(BuiltInCalls_exports.contains);
|
|
12299
|
+
var builtInStrstarts = funcExpr2(BuiltInCalls_exports.strstarts);
|
|
12300
|
+
var builtInStrends = funcExpr2(BuiltInCalls_exports.strends);
|
|
12301
|
+
var builtInStrbefore = funcExpr2(BuiltInCalls_exports.strbefore);
|
|
12302
|
+
var builtInStrafter = funcExpr2(BuiltInCalls_exports.strafter);
|
|
12303
|
+
var builtInYear = funcExpr1(BuiltInCalls_exports.year);
|
|
12304
|
+
var builtInMonth = funcExpr1(BuiltInCalls_exports.month);
|
|
12305
|
+
var builtInDay = funcExpr1(BuiltInCalls_exports.day);
|
|
12306
|
+
var builtInHours = funcExpr1(BuiltInCalls_exports.hours);
|
|
12307
|
+
var builtInMinutes = funcExpr1(BuiltInCalls_exports.minutes);
|
|
12308
|
+
var builtInSeconds = funcExpr1(BuiltInCalls_exports.seconds);
|
|
12309
|
+
var builtInTimezone = funcExpr1(BuiltInCalls_exports.timezone);
|
|
12310
|
+
var builtInTz = funcExpr1(BuiltInCalls_exports.tz);
|
|
12311
|
+
var builtInNow = funcNil1(BuiltInCalls_exports.now);
|
|
12312
|
+
var builtInUuid = funcNil1(BuiltInCalls_exports.uuid);
|
|
12313
|
+
var builtInStruuid = funcNil1(BuiltInCalls_exports.struuid);
|
|
12314
|
+
var builtInMd5 = funcExpr1(BuiltInCalls_exports.md5);
|
|
12315
|
+
var builtInSha1 = funcExpr1(BuiltInCalls_exports.sha1);
|
|
12316
|
+
var builtInSha256 = funcExpr1(BuiltInCalls_exports.sha256);
|
|
12317
|
+
var builtInSha384 = funcExpr1(BuiltInCalls_exports.sha384);
|
|
12318
|
+
var builtInSha512 = funcExpr1(BuiltInCalls_exports.sha512);
|
|
12319
|
+
var builtInCoalesce = funcExprList1(BuiltInCalls_exports.coalesce);
|
|
12320
|
+
var builtInIf = funcExpr3(BuiltInCalls_exports.if_);
|
|
12321
|
+
var builtInStrlang = funcExpr2(BuiltInCalls_exports.strlang);
|
|
12322
|
+
var builtInStrdt = funcExpr2(BuiltInCalls_exports.strdt);
|
|
12323
|
+
var builtInSameterm = funcExpr2(BuiltInCalls_exports.sameterm);
|
|
12324
|
+
var builtInIsiri = funcExpr1(BuiltInCalls_exports.isiri);
|
|
12325
|
+
var builtInIsuri = funcExpr1(BuiltInCalls_exports.isuri);
|
|
12326
|
+
var builtInIsblank = funcExpr1(BuiltInCalls_exports.isblank);
|
|
12327
|
+
var builtInIsliteral = funcExpr1(BuiltInCalls_exports.isliteral);
|
|
12328
|
+
var builtInIsnumeric = funcExpr1(BuiltInCalls_exports.isnumeric);
|
|
12329
|
+
function builtInCallList(SUBRULE) {
|
|
12330
|
+
return [
|
|
12331
|
+
{ ALT: () => SUBRULE(aggregate) },
|
|
12332
|
+
{ ALT: () => SUBRULE(builtInStr) },
|
|
12333
|
+
{ ALT: () => SUBRULE(builtInLang) },
|
|
12334
|
+
{ ALT: () => SUBRULE(builtInLangmatches) },
|
|
12335
|
+
{ ALT: () => SUBRULE(builtInDatatype) },
|
|
12336
|
+
{ ALT: () => SUBRULE(builtInBound) },
|
|
12337
|
+
{ ALT: () => SUBRULE(builtInIri) },
|
|
12338
|
+
{ ALT: () => SUBRULE(builtInUri) },
|
|
12339
|
+
{ ALT: () => SUBRULE(builtInBnodeSparqlJs) },
|
|
12340
|
+
{ ALT: () => SUBRULE(builtInRand) },
|
|
12341
|
+
{ ALT: () => SUBRULE(builtInAbs) },
|
|
12342
|
+
{ ALT: () => SUBRULE(builtInCeil) },
|
|
12343
|
+
{ ALT: () => SUBRULE(builtInFloor) },
|
|
12344
|
+
{ ALT: () => SUBRULE(builtInRound) },
|
|
12345
|
+
{ ALT: () => SUBRULE(builtInConcat) },
|
|
12346
|
+
{ ALT: () => SUBRULE(substringExpression) },
|
|
12347
|
+
{ ALT: () => SUBRULE(builtInStrlen) },
|
|
12348
|
+
{ ALT: () => SUBRULE(strReplaceExpression) },
|
|
12349
|
+
{ ALT: () => SUBRULE(builtInUcase) },
|
|
12350
|
+
{ ALT: () => SUBRULE(builtInLcase) },
|
|
12351
|
+
{ ALT: () => SUBRULE(builtInEncode_for_uri) },
|
|
12352
|
+
{ ALT: () => SUBRULE(builtInContains) },
|
|
12353
|
+
{ ALT: () => SUBRULE(builtInStrstarts) },
|
|
12354
|
+
{ ALT: () => SUBRULE(builtInStrends) },
|
|
12355
|
+
{ ALT: () => SUBRULE(builtInStrbefore) },
|
|
12356
|
+
{ ALT: () => SUBRULE(builtInStrafter) },
|
|
12357
|
+
{ ALT: () => SUBRULE(builtInYear) },
|
|
12358
|
+
{ ALT: () => SUBRULE(builtInMonth) },
|
|
12359
|
+
{ ALT: () => SUBRULE(builtInDay) },
|
|
12360
|
+
{ ALT: () => SUBRULE(builtInHours) },
|
|
12361
|
+
{ ALT: () => SUBRULE(builtInMinutes) },
|
|
12362
|
+
{ ALT: () => SUBRULE(builtInSeconds) },
|
|
12363
|
+
{ ALT: () => SUBRULE(builtInTimezone) },
|
|
12364
|
+
{ ALT: () => SUBRULE(builtInTz) },
|
|
12365
|
+
{ ALT: () => SUBRULE(builtInNow) },
|
|
12366
|
+
{ ALT: () => SUBRULE(builtInUuid) },
|
|
12367
|
+
{ ALT: () => SUBRULE(builtInStruuid) },
|
|
12368
|
+
{ ALT: () => SUBRULE(builtInMd5) },
|
|
12369
|
+
{ ALT: () => SUBRULE(builtInSha1) },
|
|
12370
|
+
{ ALT: () => SUBRULE(builtInSha256) },
|
|
12371
|
+
{ ALT: () => SUBRULE(builtInSha384) },
|
|
12372
|
+
{ ALT: () => SUBRULE(builtInSha512) },
|
|
12373
|
+
{ ALT: () => SUBRULE(builtInCoalesce) },
|
|
12374
|
+
{ ALT: () => SUBRULE(builtInIf) },
|
|
12375
|
+
{ ALT: () => SUBRULE(builtInStrlang) },
|
|
12376
|
+
{ ALT: () => SUBRULE(builtInStrdt) },
|
|
12377
|
+
{ ALT: () => SUBRULE(builtInSameterm) },
|
|
12378
|
+
{ ALT: () => SUBRULE(builtInIsiri) },
|
|
12379
|
+
{ ALT: () => SUBRULE(builtInIsuri) },
|
|
12380
|
+
{ ALT: () => SUBRULE(builtInIsblank) },
|
|
12381
|
+
{ ALT: () => SUBRULE(builtInIsliteral) },
|
|
12382
|
+
{ ALT: () => SUBRULE(builtInIsnumeric) },
|
|
12383
|
+
{ ALT: () => SUBRULE(regexExpression) },
|
|
12384
|
+
{ ALT: () => SUBRULE(existsFunc) },
|
|
12385
|
+
{ ALT: () => SUBRULE(notExistsFunc) }
|
|
12386
|
+
];
|
|
12387
|
+
}
|
|
12388
|
+
var builtInCall = {
|
|
12389
|
+
name: "builtInCall",
|
|
12390
|
+
impl: ({ OR, SUBRULE, cache }) => () => {
|
|
12391
|
+
const cached = cache.get(builtInCall);
|
|
12392
|
+
if (cached) {
|
|
12393
|
+
return OR(cached);
|
|
12570
12394
|
}
|
|
12395
|
+
const builtIns = builtInCallList(SUBRULE);
|
|
12396
|
+
cache.set(builtInCall, builtIns);
|
|
12397
|
+
return OR(builtIns);
|
|
12571
12398
|
}
|
|
12572
12399
|
};
|
|
12573
|
-
var
|
|
12574
|
-
|
|
12575
|
-
|
|
12576
|
-
|
|
12577
|
-
|
|
12578
|
-
|
|
12579
|
-
|
|
12580
|
-
|
|
12581
|
-
|
|
12582
|
-
|
|
12583
|
-
|
|
12584
|
-
|
|
12585
|
-
|
|
12586
|
-
|
|
12587
|
-
|
|
12400
|
+
var regexExpression = funcExpr2or3(BuiltInCalls_exports.regex);
|
|
12401
|
+
var substringExpression = funcExpr2or3(BuiltInCalls_exports.substr);
|
|
12402
|
+
var strReplaceExpression = funcExpr3or4(BuiltInCalls_exports.replace);
|
|
12403
|
+
var existsFunc = funcGroupGraphPattern(BuiltInCalls_exports.exists);
|
|
12404
|
+
var notExistsFunc = funcGroupGraphPattern(BuiltInCalls_exports.notexists);
|
|
12405
|
+
var aggregateCount = {
|
|
12406
|
+
name: unCapitalize(BuiltInCalls_exports.count.name),
|
|
12407
|
+
impl: ({ ACTION, CONSUME, SUBRULE, OR, OPTION }) => (C) => {
|
|
12408
|
+
const operatorToken = CONSUME(BuiltInCalls_exports.count);
|
|
12409
|
+
CONSUME(symbols_exports.LParen);
|
|
12410
|
+
const distinctToken = OPTION(() => CONSUME(distinct));
|
|
12411
|
+
const expressionVal = OR([
|
|
12412
|
+
{ ALT: () => {
|
|
12413
|
+
const starToken = CONSUME(symbols_exports.star);
|
|
12414
|
+
return ACTION(() => C.factory.wildcard(C.factory.sourceLocation(starToken)));
|
|
12415
|
+
} },
|
|
12416
|
+
{ ALT: () => SUBRULE(expression) }
|
|
12417
|
+
]);
|
|
12418
|
+
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12419
|
+
return ACTION(() => {
|
|
12420
|
+
const F2 = C.factory;
|
|
12421
|
+
if (C.factory.isWildcard(expressionVal)) {
|
|
12422
|
+
return F2.aggregate(
|
|
12423
|
+
operatorToken.image,
|
|
12424
|
+
Boolean(distinctToken),
|
|
12425
|
+
expressionVal,
|
|
12426
|
+
void 0,
|
|
12427
|
+
C.factory.sourceLocation(operatorToken, closeToken)
|
|
12428
|
+
);
|
|
12588
12429
|
}
|
|
12430
|
+
return F2.aggregate(
|
|
12431
|
+
operatorToken.image,
|
|
12432
|
+
Boolean(distinctToken),
|
|
12433
|
+
expressionVal,
|
|
12434
|
+
void 0,
|
|
12435
|
+
C.factory.sourceLocation(operatorToken, closeToken)
|
|
12436
|
+
);
|
|
12589
12437
|
});
|
|
12590
|
-
ACTION(() => checkNote13(patterns));
|
|
12591
|
-
return patterns;
|
|
12592
12438
|
}
|
|
12593
12439
|
};
|
|
12594
|
-
var
|
|
12595
|
-
|
|
12596
|
-
|
|
12597
|
-
|
|
12598
|
-
|
|
12599
|
-
|
|
12600
|
-
|
|
12601
|
-
|
|
12602
|
-
|
|
12603
|
-
|
|
12604
|
-
|
|
12605
|
-
|
|
12606
|
-
|
|
12607
|
-
|
|
12608
|
-
|
|
12609
|
-
|
|
12610
|
-
|
|
12611
|
-
|
|
12612
|
-
|
|
12613
|
-
|
|
12614
|
-
|
|
12615
|
-
|
|
12616
|
-
|
|
12617
|
-
|
|
12618
|
-
|
|
12619
|
-
|
|
12620
|
-
|
|
12621
|
-
|
|
12622
|
-
|
|
12623
|
-
break;
|
|
12624
|
-
case "filter":
|
|
12625
|
-
SUBRULE(filter3, ast, void 0);
|
|
12626
|
-
break;
|
|
12627
|
-
case "bind":
|
|
12628
|
-
SUBRULE(bind2, ast, void 0);
|
|
12629
|
-
break;
|
|
12630
|
-
case "values":
|
|
12631
|
-
SUBRULE(inlineData, ast, void 0);
|
|
12632
|
-
break;
|
|
12633
|
-
}
|
|
12440
|
+
var aggregateSum = baseAggregateFunc(BuiltInCalls_exports.sum);
|
|
12441
|
+
var aggregateMin = baseAggregateFunc(BuiltInCalls_exports.min);
|
|
12442
|
+
var aggregateMax = baseAggregateFunc(BuiltInCalls_exports.max);
|
|
12443
|
+
var aggregateAvg = baseAggregateFunc(BuiltInCalls_exports.avg);
|
|
12444
|
+
var aggregateSample = baseAggregateFunc(BuiltInCalls_exports.sample);
|
|
12445
|
+
var aggregateGroup_concat = {
|
|
12446
|
+
name: unCapitalize(BuiltInCalls_exports.groupConcat.name),
|
|
12447
|
+
impl: ({ ACTION, CONSUME, OPTION1, SUBRULE, OPTION2 }) => (C) => {
|
|
12448
|
+
const operatorToken = CONSUME(BuiltInCalls_exports.groupConcat);
|
|
12449
|
+
CONSUME(symbols_exports.LParen);
|
|
12450
|
+
const distinctToken = OPTION1(() => CONSUME(distinct));
|
|
12451
|
+
const expr = SUBRULE(expression);
|
|
12452
|
+
const sep = OPTION2(() => {
|
|
12453
|
+
CONSUME(symbols_exports.semi);
|
|
12454
|
+
CONSUME(separator);
|
|
12455
|
+
CONSUME(symbols_exports.equal);
|
|
12456
|
+
return SUBRULE(string);
|
|
12457
|
+
});
|
|
12458
|
+
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12459
|
+
return ACTION(() => {
|
|
12460
|
+
const F2 = C.factory;
|
|
12461
|
+
return F2.aggregate(
|
|
12462
|
+
operatorToken.image,
|
|
12463
|
+
Boolean(distinctToken),
|
|
12464
|
+
expr,
|
|
12465
|
+
sep?.value ?? " ",
|
|
12466
|
+
F2.sourceLocation(operatorToken, closeToken)
|
|
12467
|
+
);
|
|
12468
|
+
});
|
|
12634
12469
|
}
|
|
12635
12470
|
};
|
|
12636
|
-
var
|
|
12637
|
-
name: "
|
|
12638
|
-
impl: ({ ACTION, SUBRULE,
|
|
12639
|
-
const
|
|
12640
|
-
|
|
12641
|
-
|
|
12642
|
-
|
|
12643
|
-
|
|
12644
|
-
|
|
12645
|
-
|
|
12646
|
-
|
|
12647
|
-
}
|
|
12648
|
-
|
|
12649
|
-
|
|
12650
|
-
|
|
12651
|
-
|
|
12652
|
-
|
|
12653
|
-
|
|
12654
|
-
|
|
12655
|
-
|
|
12656
|
-
|
|
12657
|
-
|
|
12658
|
-
|
|
12659
|
-
|
|
12660
|
-
}
|
|
12661
|
-
};
|
|
12662
|
-
var serviceGraphPattern = {
|
|
12663
|
-
name: "serviceGraphPattern",
|
|
12664
|
-
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
12665
|
-
const service2 = CONSUME(service);
|
|
12666
|
-
const silent2 = OPTION(() => {
|
|
12667
|
-
CONSUME(silent);
|
|
12668
|
-
return true;
|
|
12669
|
-
}) ?? false;
|
|
12670
|
-
const name = SUBRULE1(varOrIri, void 0);
|
|
12671
|
-
const group = SUBRULE1(groupGraphPattern, void 0);
|
|
12672
|
-
return ACTION(() => C.factory.patternService(name, group.patterns, silent2, C.factory.sourceLocation(service2, group)));
|
|
12471
|
+
var aggregate = {
|
|
12472
|
+
name: "aggregate",
|
|
12473
|
+
impl: ({ ACTION, SUBRULE, OR }) => (C) => {
|
|
12474
|
+
const wasInAggregate = ACTION(() => C.parseMode.has("inAggregate"));
|
|
12475
|
+
ACTION(() => C.parseMode.add("inAggregate"));
|
|
12476
|
+
const result = OR([
|
|
12477
|
+
{ ALT: () => SUBRULE(aggregateCount) },
|
|
12478
|
+
{ ALT: () => SUBRULE(aggregateSum) },
|
|
12479
|
+
{ ALT: () => SUBRULE(aggregateMin) },
|
|
12480
|
+
{ ALT: () => SUBRULE(aggregateMax) },
|
|
12481
|
+
{ ALT: () => SUBRULE(aggregateAvg) },
|
|
12482
|
+
{ ALT: () => SUBRULE(aggregateSample) },
|
|
12483
|
+
{ ALT: () => SUBRULE(aggregateGroup_concat) }
|
|
12484
|
+
]);
|
|
12485
|
+
ACTION(() => !wasInAggregate && C.parseMode.delete("inAggregate"));
|
|
12486
|
+
ACTION(() => {
|
|
12487
|
+
if (!C.parseMode.has("canParseAggregate")) {
|
|
12488
|
+
throw new Error("Aggregates are only allowed in SELECT, HAVING, and ORDER BY clauses.");
|
|
12489
|
+
}
|
|
12490
|
+
if (C.parseMode.has("inAggregate")) {
|
|
12491
|
+
throw new Error("An aggregate function is not allowed within an aggregate function.");
|
|
12492
|
+
}
|
|
12493
|
+
});
|
|
12494
|
+
return result;
|
|
12673
12495
|
},
|
|
12674
12496
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12675
12497
|
F2.printFilter(ast, () => {
|
|
12676
|
-
PRINT_WORD("
|
|
12677
|
-
if (ast.
|
|
12678
|
-
PRINT_WORD("
|
|
12498
|
+
PRINT_WORD(ast.aggregation, "(");
|
|
12499
|
+
if (ast.distinct) {
|
|
12500
|
+
PRINT_WORD("DISTINCT");
|
|
12679
12501
|
}
|
|
12680
12502
|
});
|
|
12681
|
-
|
|
12682
|
-
|
|
12683
|
-
|
|
12684
|
-
}
|
|
12685
|
-
|
|
12686
|
-
|
|
12687
|
-
|
|
12688
|
-
|
|
12689
|
-
|
|
12690
|
-
const expressionVal = SUBRULE(expression, void 0);
|
|
12691
|
-
CONSUME(as);
|
|
12692
|
-
const variable = SUBRULE(var_, void 0);
|
|
12693
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12694
|
-
return ACTION(() => C.factory.patternBind(expressionVal, variable, C.factory.sourceLocation(bind3, close)));
|
|
12695
|
-
},
|
|
12696
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12697
|
-
F2.printFilter(ast, () => PRINT_WORD("BIND", "("));
|
|
12698
|
-
SUBRULE(expression, ast.expression, void 0);
|
|
12699
|
-
F2.printFilter(ast, () => PRINT_WORD("AS"));
|
|
12700
|
-
SUBRULE(var_, ast.variable, void 0);
|
|
12503
|
+
const arg = ast.expression[0];
|
|
12504
|
+
if (F2.isWildcard(arg)) {
|
|
12505
|
+
F2.printFilter(ast, () => PRINT_WORD("*"));
|
|
12506
|
+
} else {
|
|
12507
|
+
SUBRULE(expression, arg);
|
|
12508
|
+
}
|
|
12509
|
+
if (F2.isExpressionAggregateSeparator(ast)) {
|
|
12510
|
+
F2.printFilter(ast, () => PRINT_WORD(";", "SEPARATOR", "=", stringEscapedLexical(ast.separator)));
|
|
12511
|
+
}
|
|
12701
12512
|
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
12702
12513
|
}
|
|
12703
12514
|
};
|
|
12704
|
-
|
|
12705
|
-
|
|
12706
|
-
|
|
12707
|
-
|
|
12708
|
-
|
|
12709
|
-
|
|
12710
|
-
|
|
12711
|
-
|
|
12712
|
-
|
|
12713
|
-
F2.
|
|
12714
|
-
|
|
12715
|
-
|
|
12716
|
-
|
|
12717
|
-
|
|
12718
|
-
|
|
12719
|
-
|
|
12720
|
-
|
|
12721
|
-
|
|
12722
|
-
|
|
12723
|
-
|
|
12724
|
-
|
|
12725
|
-
|
|
12726
|
-
|
|
12515
|
+
|
|
12516
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/propertyPaths.ts
|
|
12517
|
+
var path = {
|
|
12518
|
+
name: "path",
|
|
12519
|
+
impl: ({ SUBRULE }) => () => SUBRULE(pathAlternative)
|
|
12520
|
+
};
|
|
12521
|
+
var pathGenerator = {
|
|
12522
|
+
name: "path",
|
|
12523
|
+
gImpl: ({ PRINT, SUBRULE }) => (ast, { factory: F2 }, braces = true) => {
|
|
12524
|
+
if (F2.isTerm(ast) && F2.isTermNamed(ast)) {
|
|
12525
|
+
SUBRULE(iri2, ast);
|
|
12526
|
+
} else {
|
|
12527
|
+
F2.printFilter(ast, () => braces && PRINT("("));
|
|
12528
|
+
switch (ast.subType) {
|
|
12529
|
+
case "|":
|
|
12530
|
+
case "/": {
|
|
12531
|
+
const [head2, ...tail] = ast.items;
|
|
12532
|
+
SUBRULE(pathGenerator, head2, braces);
|
|
12533
|
+
for (const val of tail) {
|
|
12534
|
+
F2.printFilter(ast, () => PRINT(ast.subType));
|
|
12535
|
+
SUBRULE(pathGenerator, val, braces);
|
|
12536
|
+
}
|
|
12537
|
+
break;
|
|
12727
12538
|
}
|
|
12539
|
+
case "^":
|
|
12540
|
+
F2.printFilter(ast, () => PRINT("^"));
|
|
12541
|
+
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
12542
|
+
break;
|
|
12543
|
+
case "?":
|
|
12544
|
+
case "*":
|
|
12545
|
+
case "+":
|
|
12546
|
+
SUBRULE(pathGenerator, ast.items[0], braces);
|
|
12547
|
+
F2.printFilter(ast, () => PRINT(ast.subType));
|
|
12548
|
+
break;
|
|
12549
|
+
case "!":
|
|
12550
|
+
F2.printFilter(ast, () => PRINT("!"));
|
|
12551
|
+
F2.printFilter(ast, () => PRINT("("));
|
|
12552
|
+
SUBRULE(pathGenerator, ast.items[0], false);
|
|
12553
|
+
F2.printFilter(ast, () => PRINT(")"));
|
|
12554
|
+
break;
|
|
12728
12555
|
}
|
|
12729
|
-
F2.printFilter(ast, () =>
|
|
12556
|
+
F2.printFilter(ast, () => braces && PRINT(")"));
|
|
12730
12557
|
}
|
|
12731
|
-
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
12732
12558
|
}
|
|
12733
12559
|
};
|
|
12734
|
-
|
|
12735
|
-
|
|
12736
|
-
|
|
12737
|
-
{
|
|
12738
|
-
|
|
12560
|
+
function pathChainHelper(name, SEP, subType, subRule) {
|
|
12561
|
+
return {
|
|
12562
|
+
name,
|
|
12563
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, MANY }) => (C) => {
|
|
12564
|
+
const head2 = SUBRULE1(subRule);
|
|
12565
|
+
let tailEnd = head2;
|
|
12566
|
+
const tail = [];
|
|
12567
|
+
MANY(() => {
|
|
12568
|
+
CONSUME(SEP);
|
|
12569
|
+
tailEnd = SUBRULE2(subRule);
|
|
12570
|
+
tail.push(tailEnd);
|
|
12571
|
+
});
|
|
12572
|
+
return ACTION(() => tail.length === 0 ? head2 : C.factory.path(subType, [head2, ...tail], C.factory.sourceLocation(head2, tailEnd)));
|
|
12573
|
+
}
|
|
12574
|
+
};
|
|
12575
|
+
}
|
|
12576
|
+
var pathEltOrInverse = {
|
|
12577
|
+
name: "pathEltOrInverse",
|
|
12578
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR }) => (C) => OR([
|
|
12579
|
+
{ ALT: () => SUBRULE1(pathElt) },
|
|
12580
|
+
{ ALT: () => {
|
|
12581
|
+
const hat2 = CONSUME(symbols_exports.hat);
|
|
12582
|
+
const item = SUBRULE2(pathElt);
|
|
12583
|
+
return ACTION(() => C.factory.path("^", [item], C.factory.sourceLocation(hat2, item)));
|
|
12584
|
+
} }
|
|
12739
12585
|
])
|
|
12740
12586
|
};
|
|
12741
|
-
var
|
|
12742
|
-
|
|
12743
|
-
|
|
12744
|
-
|
|
12745
|
-
|
|
12746
|
-
|
|
12747
|
-
|
|
12748
|
-
|
|
12749
|
-
ACTION(() => {
|
|
12750
|
-
res.push({ [varVal.value]: value });
|
|
12751
|
-
});
|
|
12752
|
-
});
|
|
12753
|
-
const close = CONSUME(symbols_exports.RCurly);
|
|
12754
|
-
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(varVal, close)));
|
|
12587
|
+
var pathSequence = pathChainHelper("pathSequence", symbols_exports.slash, "/", pathEltOrInverse);
|
|
12588
|
+
var pathAlternative = pathChainHelper("pathAlternative", symbols_exports.pipe, "|", pathSequence);
|
|
12589
|
+
var pathElt = {
|
|
12590
|
+
name: "pathElt",
|
|
12591
|
+
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
12592
|
+
const item = SUBRULE(pathPrimary);
|
|
12593
|
+
const modification = OPTION(() => SUBRULE(pathMod));
|
|
12594
|
+
return ACTION(() => modification === void 0 ? item : C.factory.path(modification.image, [item], C.factory.sourceLocation(item, modification)));
|
|
12755
12595
|
}
|
|
12756
12596
|
};
|
|
12757
|
-
var
|
|
12758
|
-
name: "
|
|
12759
|
-
impl: ({
|
|
12760
|
-
|
|
12761
|
-
|
|
12762
|
-
|
|
12763
|
-
|
|
12764
|
-
MANY3,
|
|
12765
|
-
MANY4,
|
|
12766
|
-
SUBRULE,
|
|
12767
|
-
CONSUME1,
|
|
12768
|
-
CONSUME2
|
|
12769
|
-
}) => (C) => {
|
|
12770
|
-
const res = [];
|
|
12771
|
-
const vars = [];
|
|
12772
|
-
return OR([
|
|
12773
|
-
{ ALT: () => {
|
|
12774
|
-
const nil2 = CONSUME1(terminals_exports.nil);
|
|
12775
|
-
CONSUME1(symbols_exports.LCurly);
|
|
12776
|
-
MANY1(() => {
|
|
12777
|
-
CONSUME2(terminals_exports.nil);
|
|
12778
|
-
res.push({});
|
|
12779
|
-
});
|
|
12780
|
-
const close = CONSUME1(symbols_exports.RCurly);
|
|
12781
|
-
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(nil2, close)));
|
|
12782
|
-
} },
|
|
12783
|
-
{ ALT: () => {
|
|
12784
|
-
const open = CONSUME1(symbols_exports.LParen);
|
|
12785
|
-
MANY2(() => {
|
|
12786
|
-
vars.push(SUBRULE(var_, void 0));
|
|
12787
|
-
});
|
|
12788
|
-
CONSUME1(symbols_exports.RParen);
|
|
12789
|
-
CONSUME2(symbols_exports.LCurly);
|
|
12790
|
-
MANY3(() => {
|
|
12791
|
-
let parsedValues = 0;
|
|
12792
|
-
const currentRow = {};
|
|
12793
|
-
CONSUME2(symbols_exports.LParen);
|
|
12794
|
-
MANY4(() => {
|
|
12795
|
-
if (parsedValues >= vars.length) {
|
|
12796
|
-
throw new Error("Number of dataBlockValues does not match number of variables. Too much values.");
|
|
12797
|
-
}
|
|
12798
|
-
const value = SUBRULE(dataBlockValue, void 0);
|
|
12799
|
-
ACTION(() => {
|
|
12800
|
-
currentRow[vars[parsedValues].value] = value;
|
|
12801
|
-
parsedValues++;
|
|
12802
|
-
});
|
|
12803
|
-
});
|
|
12804
|
-
CONSUME2(symbols_exports.RParen);
|
|
12805
|
-
ACTION(() => {
|
|
12806
|
-
res.push(currentRow);
|
|
12807
|
-
if (vars.length !== parsedValues) {
|
|
12808
|
-
throw new Error("Number of dataBlockValues does not match number of variables. Too few values.");
|
|
12809
|
-
}
|
|
12810
|
-
});
|
|
12811
|
-
});
|
|
12812
|
-
const close = CONSUME2(symbols_exports.RCurly);
|
|
12813
|
-
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(open, close)));
|
|
12814
|
-
} }
|
|
12815
|
-
]);
|
|
12816
|
-
}
|
|
12597
|
+
var pathMod = {
|
|
12598
|
+
name: "pathMod",
|
|
12599
|
+
impl: ({ CONSUME, OR }) => () => OR([
|
|
12600
|
+
{ ALT: () => CONSUME(symbols_exports.question) },
|
|
12601
|
+
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
12602
|
+
{ ALT: () => CONSUME(symbols_exports.opPlus) }
|
|
12603
|
+
])
|
|
12817
12604
|
};
|
|
12818
|
-
var
|
|
12819
|
-
name: "
|
|
12605
|
+
var pathPrimary = {
|
|
12606
|
+
name: "pathPrimary",
|
|
12820
12607
|
impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
|
|
12821
|
-
{ ALT: () => SUBRULE(iri2
|
|
12822
|
-
{ ALT: () => SUBRULE(
|
|
12823
|
-
{ ALT: () => SUBRULE(
|
|
12824
|
-
{ ALT: () => SUBRULE(booleanLiteral, void 0) },
|
|
12608
|
+
{ ALT: () => SUBRULE(iri2) },
|
|
12609
|
+
{ ALT: () => SUBRULE(verbA) },
|
|
12610
|
+
{ ALT: () => SUBRULE(pathNegatedPropertySet) },
|
|
12825
12611
|
{ ALT: () => {
|
|
12826
|
-
CONSUME(
|
|
12827
|
-
|
|
12612
|
+
CONSUME(symbols_exports.LParen);
|
|
12613
|
+
const resRecursive = SUBRULE(path);
|
|
12614
|
+
CONSUME(symbols_exports.RParen);
|
|
12615
|
+
return resRecursive;
|
|
12828
12616
|
} }
|
|
12829
12617
|
])
|
|
12830
12618
|
};
|
|
12831
|
-
var
|
|
12832
|
-
name: "
|
|
12833
|
-
impl: ({ ACTION,
|
|
12834
|
-
const
|
|
12835
|
-
|
|
12836
|
-
|
|
12837
|
-
|
|
12838
|
-
|
|
12839
|
-
|
|
12840
|
-
|
|
12841
|
-
|
|
12842
|
-
|
|
12843
|
-
|
|
12844
|
-
|
|
12845
|
-
|
|
12846
|
-
|
|
12847
|
-
|
|
12848
|
-
|
|
12849
|
-
|
|
12850
|
-
|
|
12851
|
-
|
|
12852
|
-
|
|
12853
|
-
|
|
12854
|
-
|
|
12855
|
-
|
|
12856
|
-
|
|
12857
|
-
|
|
12858
|
-
|
|
12859
|
-
|
|
12860
|
-
|
|
12861
|
-
|
|
12862
|
-
|
|
12863
|
-
for (const pattern of tail) {
|
|
12864
|
-
F2.printFilter(ast, () => PRINT_WORD("UNION"));
|
|
12865
|
-
SUBRULE(groupGraphPattern, pattern, void 0);
|
|
12866
|
-
}
|
|
12867
|
-
} else {
|
|
12868
|
-
SUBRULE(groupGraphPattern, ast, void 0);
|
|
12869
|
-
}
|
|
12870
|
-
}
|
|
12871
|
-
};
|
|
12872
|
-
var filter3 = {
|
|
12873
|
-
name: "filter",
|
|
12874
|
-
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12875
|
-
const filterToken = CONSUME(filter2);
|
|
12876
|
-
const expression2 = SUBRULE(constraint, void 0);
|
|
12877
|
-
return ACTION(() => C.factory.patternFilter(expression2, C.factory.sourceLocation(filterToken, expression2)));
|
|
12878
|
-
},
|
|
12879
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12880
|
-
F2.printFilter(ast, () => PRINT_WORD("FILTER ("));
|
|
12881
|
-
SUBRULE(expression, ast.expression, void 0);
|
|
12882
|
-
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
12619
|
+
var pathNegatedPropertySet = {
|
|
12620
|
+
name: "pathNegatedPropertySet",
|
|
12621
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, OR, MANY }) => (C) => {
|
|
12622
|
+
const exclamation2 = CONSUME(symbols_exports.exclamation);
|
|
12623
|
+
return OR([
|
|
12624
|
+
{ ALT: () => {
|
|
12625
|
+
const noAlternative = SUBRULE1(pathOneInPropertySet);
|
|
12626
|
+
return ACTION(() => C.factory.path("!", [noAlternative], C.factory.sourceLocation(exclamation2, noAlternative)));
|
|
12627
|
+
} },
|
|
12628
|
+
{ ALT: () => {
|
|
12629
|
+
const open = CONSUME(symbols_exports.LParen);
|
|
12630
|
+
const head2 = SUBRULE2(pathOneInPropertySet);
|
|
12631
|
+
const tail = [];
|
|
12632
|
+
MANY(() => {
|
|
12633
|
+
CONSUME(symbols_exports.pipe);
|
|
12634
|
+
const item = SUBRULE3(pathOneInPropertySet);
|
|
12635
|
+
tail.push(item);
|
|
12636
|
+
});
|
|
12637
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
12638
|
+
return ACTION(() => {
|
|
12639
|
+
const F2 = C.factory;
|
|
12640
|
+
if (tail.length === 0) {
|
|
12641
|
+
return F2.path("!", [head2], F2.sourceLocation(exclamation2, close));
|
|
12642
|
+
}
|
|
12643
|
+
return F2.path(
|
|
12644
|
+
"!",
|
|
12645
|
+
[F2.path("|", [head2, ...tail], F2.sourceLocation(open, close))],
|
|
12646
|
+
F2.sourceLocation(exclamation2, close)
|
|
12647
|
+
);
|
|
12648
|
+
});
|
|
12649
|
+
} }
|
|
12650
|
+
]);
|
|
12883
12651
|
}
|
|
12884
12652
|
};
|
|
12885
|
-
var
|
|
12886
|
-
name: "
|
|
12887
|
-
impl: ({
|
|
12888
|
-
{ ALT: () =>
|
|
12889
|
-
{ ALT: () =>
|
|
12890
|
-
{ ALT: () =>
|
|
12653
|
+
var pathOneInPropertySet = {
|
|
12654
|
+
name: "pathOneInPropertySet",
|
|
12655
|
+
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => (C) => OR1([
|
|
12656
|
+
{ ALT: () => SUBRULE1(iri2) },
|
|
12657
|
+
{ ALT: () => SUBRULE1(verbA) },
|
|
12658
|
+
{ ALT: () => {
|
|
12659
|
+
const hat2 = CONSUME(symbols_exports.hat);
|
|
12660
|
+
const item = OR2([
|
|
12661
|
+
{ ALT: () => SUBRULE2(iri2) },
|
|
12662
|
+
{ ALT: () => SUBRULE2(verbA) }
|
|
12663
|
+
]);
|
|
12664
|
+
return ACTION(() => C.factory.path("^", [item], C.factory.sourceLocation(hat2, item)));
|
|
12665
|
+
} }
|
|
12891
12666
|
])
|
|
12892
12667
|
};
|
|
12893
|
-
|
|
12894
|
-
|
|
12895
|
-
|
|
12896
|
-
|
|
12897
|
-
const
|
|
12898
|
-
|
|
12899
|
-
|
|
12900
|
-
|
|
12901
|
-
|
|
12902
|
-
|
|
12903
|
-
|
|
12668
|
+
|
|
12669
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/tripleBlock.ts
|
|
12670
|
+
function triplesDotSeperated(triplesSameSubjectSubrule) {
|
|
12671
|
+
return ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
12672
|
+
const triples = [];
|
|
12673
|
+
let parsedDot = true;
|
|
12674
|
+
let dotToken;
|
|
12675
|
+
AT_LEAST_ONE({
|
|
12676
|
+
GATE: () => parsedDot,
|
|
12677
|
+
DEF: () => {
|
|
12678
|
+
parsedDot = false;
|
|
12679
|
+
const template = SUBRULE(triplesSameSubjectSubrule);
|
|
12680
|
+
ACTION(() => {
|
|
12681
|
+
triples.push(...template);
|
|
12682
|
+
});
|
|
12683
|
+
OPTION(() => {
|
|
12684
|
+
dotToken = CONSUME(symbols_exports.dot);
|
|
12685
|
+
parsedDot = true;
|
|
12686
|
+
});
|
|
12687
|
+
}
|
|
12688
|
+
});
|
|
12689
|
+
return ACTION(() => C.factory.patternBgp(triples, C.factory.sourceLocation(...triples, dotToken)));
|
|
12690
|
+
};
|
|
12691
|
+
}
|
|
12692
|
+
var triplesBlock = {
|
|
12693
|
+
name: "triplesBlock",
|
|
12694
|
+
impl: (implArgs) => (C) => triplesDotSeperated(triplesSameSubjectPath)(implArgs)(C),
|
|
12695
|
+
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F2 }) => {
|
|
12696
|
+
for (const [index, triple] of ast.triples.entries()) {
|
|
12697
|
+
HANDLE_LOC(triple, () => {
|
|
12698
|
+
const nextTriple = ast.triples.at(index);
|
|
12699
|
+
if (F2.isTripleCollection(triple)) {
|
|
12700
|
+
SUBRULE(graphNodePath, triple);
|
|
12701
|
+
F2.printFilter(triple, () => PRINT_WORD("."));
|
|
12702
|
+
} else {
|
|
12703
|
+
SUBRULE(graphNodePath, triple.subject);
|
|
12704
|
+
if (F2.isTerm(triple.predicate) && F2.isTermVariable(triple.predicate)) {
|
|
12705
|
+
SUBRULE(varOrTerm, triple.predicate);
|
|
12706
|
+
} else {
|
|
12707
|
+
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12708
|
+
}
|
|
12709
|
+
SUBRULE(graphNodePath, triple.object);
|
|
12710
|
+
if (nextTriple === void 0 || F2.isTripleCollection(nextTriple) || !F2.isSourceLocationNoMaterialize(nextTriple.subject.loc)) {
|
|
12711
|
+
F2.printFilter(ast, () => PRINT_WORD("."));
|
|
12712
|
+
} else if (F2.isSourceLocationNoMaterialize(nextTriple.predicate.loc)) {
|
|
12713
|
+
F2.printFilter(ast, () => PRINT_WORD(","));
|
|
12714
|
+
} else {
|
|
12715
|
+
F2.printFilter(ast, () => PRINT_WORD(";"));
|
|
12716
|
+
}
|
|
12717
|
+
}
|
|
12718
|
+
});
|
|
12719
|
+
}
|
|
12904
12720
|
}
|
|
12905
12721
|
};
|
|
12906
|
-
|
|
12907
|
-
// ../../packages/rules-sparql-1-1/lib/expressionHelpers.ts
|
|
12908
|
-
function funcExpr1(func) {
|
|
12722
|
+
function triplesSameSubjectImpl(name, allowPaths) {
|
|
12909
12723
|
return {
|
|
12910
|
-
name
|
|
12911
|
-
impl: ({ ACTION, SUBRULE,
|
|
12912
|
-
|
|
12913
|
-
|
|
12914
|
-
|
|
12915
|
-
|
|
12916
|
-
|
|
12917
|
-
|
|
12724
|
+
name,
|
|
12725
|
+
impl: ({ ACTION, SUBRULE, OR }) => (C) => OR([
|
|
12726
|
+
{ ALT: () => {
|
|
12727
|
+
const subject = SUBRULE(varOrTerm);
|
|
12728
|
+
const res = SUBRULE(
|
|
12729
|
+
allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty,
|
|
12730
|
+
ACTION(() => C.factory.dematerialized(subject))
|
|
12731
|
+
);
|
|
12732
|
+
return ACTION(() => {
|
|
12733
|
+
if (res.length > 0) {
|
|
12734
|
+
res[0].subject = subject;
|
|
12735
|
+
res[0].loc = C.factory.sourceLocation(subject, res[0]);
|
|
12736
|
+
}
|
|
12737
|
+
return res;
|
|
12738
|
+
});
|
|
12739
|
+
} },
|
|
12740
|
+
{ ALT: () => {
|
|
12741
|
+
const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode);
|
|
12742
|
+
const restNode = SUBRULE(
|
|
12743
|
+
allowPaths ? propertyListPath : propertyList,
|
|
12744
|
+
ACTION(() => C.factory.graphNodeIdentifier(subjectNode))
|
|
12745
|
+
);
|
|
12746
|
+
return ACTION(() => {
|
|
12747
|
+
if (restNode.length === 0) {
|
|
12748
|
+
return [subjectNode];
|
|
12749
|
+
}
|
|
12750
|
+
restNode[0].subject = subjectNode;
|
|
12751
|
+
restNode[0].loc = C.factory.sourceLocation(subjectNode, restNode[0]);
|
|
12752
|
+
return restNode;
|
|
12753
|
+
});
|
|
12754
|
+
} }
|
|
12755
|
+
])
|
|
12918
12756
|
};
|
|
12919
12757
|
}
|
|
12920
|
-
|
|
12758
|
+
var triplesSameSubject = triplesSameSubjectImpl("triplesSameSubject", false);
|
|
12759
|
+
var triplesSameSubjectPath = triplesSameSubjectImpl("triplesSameSubjectPath", true);
|
|
12760
|
+
var triplesTemplate = {
|
|
12761
|
+
name: "triplesTemplate",
|
|
12762
|
+
impl: triplesDotSeperated(triplesSameSubject)
|
|
12763
|
+
};
|
|
12764
|
+
function propertyListImpl(name, allowPaths) {
|
|
12921
12765
|
return {
|
|
12922
|
-
name
|
|
12923
|
-
impl: ({
|
|
12924
|
-
|
|
12925
|
-
|
|
12926
|
-
|
|
12927
|
-
|
|
12928
|
-
|
|
12929
|
-
|
|
12930
|
-
|
|
12766
|
+
name,
|
|
12767
|
+
impl: ({ SUBRULE, OPTION }) => (_, subject) => OPTION(() => SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, subject)) ?? []
|
|
12768
|
+
};
|
|
12769
|
+
}
|
|
12770
|
+
var propertyList = propertyListImpl("propertyList", false);
|
|
12771
|
+
var propertyListPath = propertyListImpl("propertyListPath", true);
|
|
12772
|
+
function propertyListNotEmptyImplementation(name, allowPaths) {
|
|
12773
|
+
return {
|
|
12774
|
+
name,
|
|
12775
|
+
impl: ({ ACTION, CONSUME, AT_LEAST_ONE, SUBRULE1, MANY2, OR1 }) => (_, subject) => {
|
|
12776
|
+
const result = [];
|
|
12777
|
+
let parsedSemi = true;
|
|
12778
|
+
AT_LEAST_ONE({
|
|
12779
|
+
GATE: () => parsedSemi,
|
|
12780
|
+
DEF: () => {
|
|
12781
|
+
parsedSemi = false;
|
|
12782
|
+
const predicate = allowPaths ? OR1([
|
|
12783
|
+
{ ALT: () => SUBRULE1(verbPath) },
|
|
12784
|
+
{ ALT: () => SUBRULE1(verbSimple) }
|
|
12785
|
+
]) : SUBRULE1(verb);
|
|
12786
|
+
const triples = SUBRULE1(
|
|
12787
|
+
allowPaths ? objectListPath : objectList,
|
|
12788
|
+
subject,
|
|
12789
|
+
predicate
|
|
12790
|
+
);
|
|
12791
|
+
MANY2(() => {
|
|
12792
|
+
CONSUME(symbols_exports.semi);
|
|
12793
|
+
parsedSemi = true;
|
|
12794
|
+
});
|
|
12795
|
+
ACTION(() => {
|
|
12796
|
+
result.push(...triples);
|
|
12797
|
+
});
|
|
12798
|
+
}
|
|
12799
|
+
});
|
|
12800
|
+
return result;
|
|
12931
12801
|
}
|
|
12932
12802
|
};
|
|
12933
12803
|
}
|
|
12934
|
-
|
|
12804
|
+
var propertyListNotEmpty = propertyListNotEmptyImplementation("propertyListNotEmpty", false);
|
|
12805
|
+
var propertyListPathNotEmpty = propertyListNotEmptyImplementation("propertyListPathNotEmpty", true);
|
|
12806
|
+
var verbPath = {
|
|
12807
|
+
name: "verbPath",
|
|
12808
|
+
impl: ({ SUBRULE }) => () => SUBRULE(path)
|
|
12809
|
+
};
|
|
12810
|
+
var verbSimple = {
|
|
12811
|
+
name: "verbSimple",
|
|
12812
|
+
impl: ({ SUBRULE }) => () => SUBRULE(var_)
|
|
12813
|
+
};
|
|
12814
|
+
function objectListImpl(name, allowPaths) {
|
|
12935
12815
|
return {
|
|
12936
|
-
name
|
|
12937
|
-
impl: ({ ACTION,
|
|
12938
|
-
const
|
|
12939
|
-
|
|
12940
|
-
|
|
12941
|
-
|
|
12942
|
-
|
|
12943
|
-
|
|
12944
|
-
|
|
12945
|
-
|
|
12946
|
-
|
|
12816
|
+
name,
|
|
12817
|
+
impl: ({ ACTION, SUBRULE, AT_LEAST_ONE_SEP }) => (_, subj, pred) => {
|
|
12818
|
+
const objects = [];
|
|
12819
|
+
AT_LEAST_ONE_SEP({
|
|
12820
|
+
SEP: symbols_exports.comma,
|
|
12821
|
+
DEF: () => {
|
|
12822
|
+
const objectTriple = SUBRULE(allowPaths ? objectPath : object, subj, pred);
|
|
12823
|
+
ACTION(() => {
|
|
12824
|
+
objects.push(objectTriple);
|
|
12825
|
+
});
|
|
12826
|
+
}
|
|
12827
|
+
});
|
|
12828
|
+
return objects;
|
|
12947
12829
|
}
|
|
12948
12830
|
};
|
|
12949
12831
|
}
|
|
12950
|
-
|
|
12832
|
+
var objectList = objectListImpl("objectList", false);
|
|
12833
|
+
var objectListPath = objectListImpl("objectListPath", true);
|
|
12834
|
+
function objectImpl(name, allowPaths) {
|
|
12951
12835
|
return {
|
|
12952
|
-
name
|
|
12953
|
-
impl: ({ ACTION, SUBRULE
|
|
12954
|
-
const
|
|
12955
|
-
|
|
12956
|
-
const arg = SUBRULE(var_, void 0);
|
|
12957
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12958
|
-
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
12836
|
+
name,
|
|
12837
|
+
impl: ({ ACTION, SUBRULE }) => (C, subject, predicate) => {
|
|
12838
|
+
const node = SUBRULE(allowPaths ? graphNodePath : graphNode);
|
|
12839
|
+
return ACTION(() => C.factory.triple(subject, predicate, node));
|
|
12959
12840
|
}
|
|
12960
12841
|
};
|
|
12961
12842
|
}
|
|
12962
|
-
|
|
12843
|
+
var object = objectImpl("object", false);
|
|
12844
|
+
var objectPath = objectImpl("objectPath", true);
|
|
12845
|
+
function collectionImpl(name, allowPaths) {
|
|
12963
12846
|
return {
|
|
12964
|
-
name
|
|
12965
|
-
impl: ({ ACTION,
|
|
12966
|
-
const
|
|
12967
|
-
|
|
12968
|
-
|
|
12969
|
-
|
|
12970
|
-
const arg = SUBRULE(expression, void 0);
|
|
12971
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
12972
|
-
return ACTION(() => C.factory.expressionOperation(operator.image, [arg], C.factory.sourceLocation(operator, close)));
|
|
12973
|
-
} },
|
|
12974
|
-
{ ALT: () => {
|
|
12975
|
-
const nil2 = CONSUME(terminals_exports.nil);
|
|
12976
|
-
return ACTION(() => C.factory.expressionOperation(operator.image, [], C.factory.sourceLocation(operator, nil2)));
|
|
12977
|
-
} }
|
|
12978
|
-
]);
|
|
12979
|
-
}
|
|
12980
|
-
};
|
|
12981
|
-
}
|
|
12982
|
-
function funcNil1(func) {
|
|
12983
|
-
return {
|
|
12984
|
-
name: unCapitalize(func.name),
|
|
12985
|
-
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
12986
|
-
const operator = CONSUME(func);
|
|
12987
|
-
const nil2 = CONSUME(terminals_exports.nil);
|
|
12988
|
-
return ACTION(() => C.factory.expressionOperation(operator.image, [], C.factory.sourceLocation(operator, nil2)));
|
|
12989
|
-
}
|
|
12990
|
-
};
|
|
12991
|
-
}
|
|
12992
|
-
function funcExprList1(func) {
|
|
12993
|
-
return {
|
|
12994
|
-
name: unCapitalize(func.name),
|
|
12995
|
-
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
12996
|
-
const operator = CONSUME(func);
|
|
12997
|
-
const args = SUBRULE(expressionList, void 0);
|
|
12998
|
-
return ACTION(() => C.factory.expressionOperation(operator.image, args.val, C.factory.sourceLocation(operator, args)));
|
|
12999
|
-
}
|
|
13000
|
-
};
|
|
13001
|
-
}
|
|
13002
|
-
function funcExpr2or3(func) {
|
|
13003
|
-
return {
|
|
13004
|
-
name: unCapitalize(func.name),
|
|
13005
|
-
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, SUBRULE3, CONSUME1, OPTION, CONSUME2 }) => (C) => {
|
|
13006
|
-
const operator = CONSUME(func);
|
|
13007
|
-
CONSUME(symbols_exports.LParen);
|
|
13008
|
-
const arg1 = SUBRULE1(expression, void 0);
|
|
13009
|
-
CONSUME1(symbols_exports.comma);
|
|
13010
|
-
const arg2 = SUBRULE2(expression, void 0);
|
|
13011
|
-
const arg3 = OPTION(() => {
|
|
13012
|
-
CONSUME2(symbols_exports.comma);
|
|
13013
|
-
return SUBRULE3(expression, void 0);
|
|
12847
|
+
name,
|
|
12848
|
+
impl: ({ ACTION, AT_LEAST_ONE, SUBRULE, CONSUME }) => (C) => {
|
|
12849
|
+
const terms = [];
|
|
12850
|
+
const startToken = CONSUME(symbols_exports.LParen);
|
|
12851
|
+
AT_LEAST_ONE(() => {
|
|
12852
|
+
terms.push(SUBRULE(allowPaths ? graphNodePath : graphNode));
|
|
13014
12853
|
});
|
|
13015
|
-
const
|
|
13016
|
-
return ACTION(() =>
|
|
13017
|
-
|
|
13018
|
-
|
|
13019
|
-
|
|
13020
|
-
|
|
12854
|
+
const endToken = CONSUME(symbols_exports.RParen);
|
|
12855
|
+
return ACTION(() => {
|
|
12856
|
+
const F2 = C.factory;
|
|
12857
|
+
const triples = [];
|
|
12858
|
+
const predFirst = F2.namedNode(F2.sourceLocationNoMaterialize(), "http://www.w3.org/1999/02/22-rdf-syntax-ns#first" /* FIRST */, void 0);
|
|
12859
|
+
const predRest = F2.namedNode(F2.sourceLocationNoMaterialize(), "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest" /* REST */, void 0);
|
|
12860
|
+
const predNil = F2.namedNode(F2.sourceLocationNoMaterialize(), "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /* NIL */, void 0);
|
|
12861
|
+
const listHead = F2.blankNode(void 0, F2.sourceLocationNoMaterialize());
|
|
12862
|
+
let iterHead = listHead;
|
|
12863
|
+
for (const [index, term] of terms.entries()) {
|
|
12864
|
+
const lastInList = index === terms.length - 1;
|
|
12865
|
+
const headTriple = F2.triple(
|
|
12866
|
+
iterHead,
|
|
12867
|
+
predFirst,
|
|
12868
|
+
term
|
|
12869
|
+
);
|
|
12870
|
+
triples.push(headTriple);
|
|
12871
|
+
if (lastInList) {
|
|
12872
|
+
const nilTriple = F2.triple(iterHead, predRest, predNil);
|
|
12873
|
+
triples.push(nilTriple);
|
|
12874
|
+
} else {
|
|
12875
|
+
const tail = F2.blankNode(void 0, F2.sourceLocationNoMaterialize());
|
|
12876
|
+
const linkTriple = F2.triple(iterHead, predRest, tail);
|
|
12877
|
+
triples.push(linkTriple);
|
|
12878
|
+
iterHead = tail;
|
|
12879
|
+
}
|
|
12880
|
+
}
|
|
12881
|
+
return F2.tripleCollectionList(listHead, triples, F2.sourceLocation(startToken, endToken));
|
|
12882
|
+
});
|
|
12883
|
+
},
|
|
12884
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12885
|
+
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
12886
|
+
for (const [idx, triple] of ast.triples.entries()) {
|
|
12887
|
+
if (idx % 2 === 0) {
|
|
12888
|
+
SUBRULE(allowPaths ? graphNodePath : graphNode, triple.object);
|
|
12889
|
+
}
|
|
12890
|
+
}
|
|
12891
|
+
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
13021
12892
|
}
|
|
13022
12893
|
};
|
|
13023
12894
|
}
|
|
13024
|
-
|
|
12895
|
+
var collection = collectionImpl("collection", false);
|
|
12896
|
+
var collectionPath = collectionImpl("collectionPath", true);
|
|
12897
|
+
function triplesNodeImpl(name, allowPaths) {
|
|
13025
12898
|
return {
|
|
13026
|
-
name
|
|
13027
|
-
impl: ({
|
|
13028
|
-
|
|
13029
|
-
|
|
13030
|
-
|
|
13031
|
-
|
|
13032
|
-
SUBRULE3,
|
|
13033
|
-
SUBRULE4,
|
|
13034
|
-
CONSUME1,
|
|
13035
|
-
OPTION,
|
|
13036
|
-
CONSUME2,
|
|
13037
|
-
CONSUME3
|
|
13038
|
-
}) => (C) => {
|
|
13039
|
-
const operator = CONSUME(func);
|
|
13040
|
-
CONSUME(symbols_exports.LParen);
|
|
13041
|
-
const arg1 = SUBRULE1(expression, void 0);
|
|
13042
|
-
CONSUME1(symbols_exports.comma);
|
|
13043
|
-
const arg2 = SUBRULE2(expression, void 0);
|
|
13044
|
-
CONSUME2(symbols_exports.comma);
|
|
13045
|
-
const arg3 = SUBRULE3(expression, void 0);
|
|
13046
|
-
const arg4 = OPTION(() => {
|
|
13047
|
-
CONSUME3(symbols_exports.comma);
|
|
13048
|
-
return SUBRULE4(expression, void 0);
|
|
13049
|
-
});
|
|
13050
|
-
const close = CONSUME(symbols_exports.RParen);
|
|
13051
|
-
return ACTION(() => C.factory.expressionOperation(
|
|
13052
|
-
operator.image,
|
|
13053
|
-
arg4 ? [arg1, arg2, arg3, arg4] : [arg1, arg2, arg3],
|
|
13054
|
-
C.factory.sourceLocation(operator, close)
|
|
13055
|
-
));
|
|
13056
|
-
}
|
|
12899
|
+
name,
|
|
12900
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
12901
|
+
{ ALT: () => SUBRULE(allowPaths ? collectionPath : collection) },
|
|
12902
|
+
{ ALT: () => SUBRULE(allowPaths ? blankNodePropertyListPath : blankNodePropertyList) }
|
|
12903
|
+
]),
|
|
12904
|
+
gImpl: ({ SUBRULE }) => (ast) => ast.subType === "list" ? SUBRULE(allowPaths ? collectionPath : collection, ast) : SUBRULE(allowPaths ? blankNodePropertyListPath : blankNodePropertyList, ast)
|
|
13057
12905
|
};
|
|
13058
12906
|
}
|
|
13059
|
-
|
|
12907
|
+
var triplesNode = triplesNodeImpl("triplesNode", false);
|
|
12908
|
+
var triplesNodePath = triplesNodeImpl("triplesNodePath", true);
|
|
12909
|
+
function blankNodePropertyListImpl(name, allowPaths) {
|
|
12910
|
+
const propertyPathNotEmptyImpl = allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty;
|
|
13060
12911
|
return {
|
|
13061
|
-
name
|
|
12912
|
+
name,
|
|
13062
12913
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13063
|
-
const
|
|
13064
|
-
const
|
|
13065
|
-
|
|
13066
|
-
|
|
13067
|
-
|
|
13068
|
-
|
|
12914
|
+
const startToken = CONSUME(symbols_exports.LSquare);
|
|
12915
|
+
const blankNode2 = ACTION(() => C.factory.blankNode(void 0, C.factory.sourceLocationNoMaterialize()));
|
|
12916
|
+
const propList = SUBRULE(propertyPathNotEmptyImpl, blankNode2);
|
|
12917
|
+
const endToken = CONSUME(symbols_exports.RSquare);
|
|
12918
|
+
return ACTION(() => C.factory.tripleCollectionBlankNodeProperties(
|
|
12919
|
+
blankNode2,
|
|
12920
|
+
propList,
|
|
12921
|
+
C.factory.sourceLocation(startToken, endToken)
|
|
13069
12922
|
));
|
|
12923
|
+
},
|
|
12924
|
+
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F2 }) => {
|
|
12925
|
+
F2.printFilter(ast, () => PRINT("["));
|
|
12926
|
+
for (const triple of ast.triples) {
|
|
12927
|
+
HANDLE_LOC(triple, () => {
|
|
12928
|
+
if (F2.isTerm(triple.predicate) && F2.isTermVariable(triple.predicate)) {
|
|
12929
|
+
SUBRULE(varOrTerm, triple.predicate);
|
|
12930
|
+
} else {
|
|
12931
|
+
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12932
|
+
}
|
|
12933
|
+
SUBRULE(graphNodePath, triple.object);
|
|
12934
|
+
F2.printFilter(ast, () => PRINT_WORD(";"));
|
|
12935
|
+
});
|
|
12936
|
+
}
|
|
12937
|
+
F2.printFilter(ast, () => PRINT("]"));
|
|
13070
12938
|
}
|
|
13071
12939
|
};
|
|
13072
12940
|
}
|
|
13073
|
-
|
|
12941
|
+
var blankNodePropertyList = blankNodePropertyListImpl("blankNodePropertyList", false);
|
|
12942
|
+
var blankNodePropertyListPath = blankNodePropertyListImpl("blankNodePropertyListPath", true);
|
|
12943
|
+
function graphNodeImpl(name, allowPaths) {
|
|
12944
|
+
const triplesNodeRule = allowPaths ? triplesNodePath : triplesNode;
|
|
13074
12945
|
return {
|
|
13075
|
-
name
|
|
13076
|
-
impl: ({
|
|
13077
|
-
|
|
13078
|
-
|
|
13079
|
-
|
|
13080
|
-
|
|
13081
|
-
|
|
13082
|
-
|
|
13083
|
-
|
|
13084
|
-
|
|
13085
|
-
|
|
13086
|
-
|
|
13087
|
-
|
|
13088
|
-
|
|
12946
|
+
name,
|
|
12947
|
+
impl: ({ SUBRULE, OR }) => (C) => OR([
|
|
12948
|
+
{ ALT: () => SUBRULE(varOrTerm) },
|
|
12949
|
+
{
|
|
12950
|
+
GATE: () => C.parseMode.has("canCreateBlankNodes"),
|
|
12951
|
+
ALT: () => SUBRULE(triplesNodeRule)
|
|
12952
|
+
}
|
|
12953
|
+
]),
|
|
12954
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
12955
|
+
if (F2.isTerm(ast)) {
|
|
12956
|
+
SUBRULE(varOrTerm, ast);
|
|
12957
|
+
} else {
|
|
12958
|
+
SUBRULE(triplesNodeRule, ast);
|
|
12959
|
+
}
|
|
13089
12960
|
}
|
|
13090
12961
|
};
|
|
13091
12962
|
}
|
|
12963
|
+
var graphNode = graphNodeImpl("graphNode", false);
|
|
12964
|
+
var graphNodePath = graphNodeImpl("graphNodePath", true);
|
|
13092
12965
|
|
|
13093
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/
|
|
13094
|
-
var
|
|
13095
|
-
|
|
13096
|
-
|
|
13097
|
-
|
|
13098
|
-
|
|
13099
|
-
|
|
13100
|
-
|
|
13101
|
-
|
|
13102
|
-
|
|
13103
|
-
|
|
13104
|
-
|
|
13105
|
-
|
|
13106
|
-
var
|
|
13107
|
-
|
|
13108
|
-
|
|
13109
|
-
|
|
13110
|
-
|
|
13111
|
-
|
|
13112
|
-
|
|
13113
|
-
|
|
13114
|
-
|
|
13115
|
-
|
|
13116
|
-
|
|
13117
|
-
|
|
13118
|
-
|
|
13119
|
-
|
|
13120
|
-
|
|
13121
|
-
var builtInMinutes = funcExpr1(BuildinCalls_exports.minutes);
|
|
13122
|
-
var builtInSeconds = funcExpr1(BuildinCalls_exports.seconds);
|
|
13123
|
-
var builtInTimezone = funcExpr1(BuildinCalls_exports.timezone);
|
|
13124
|
-
var builtInTz = funcExpr1(BuildinCalls_exports.tz);
|
|
13125
|
-
var builtInNow = funcNil1(BuildinCalls_exports.now);
|
|
13126
|
-
var builtInUuid = funcNil1(BuildinCalls_exports.uuid);
|
|
13127
|
-
var builtInStruuid = funcNil1(BuildinCalls_exports.struuid);
|
|
13128
|
-
var builtInMd5 = funcExpr1(BuildinCalls_exports.md5);
|
|
13129
|
-
var builtInSha1 = funcExpr1(BuildinCalls_exports.sha1);
|
|
13130
|
-
var builtInSha256 = funcExpr1(BuildinCalls_exports.sha256);
|
|
13131
|
-
var builtInSha384 = funcExpr1(BuildinCalls_exports.sha384);
|
|
13132
|
-
var builtInSha512 = funcExpr1(BuildinCalls_exports.sha512);
|
|
13133
|
-
var builtInCoalesce = funcExprList1(BuildinCalls_exports.coalesce);
|
|
13134
|
-
var builtInIf = funcExpr3(BuildinCalls_exports.if_);
|
|
13135
|
-
var builtInStrlang = funcExpr2(BuildinCalls_exports.strlang);
|
|
13136
|
-
var builtInStrdt = funcExpr2(BuildinCalls_exports.strdt);
|
|
13137
|
-
var builtInSameterm = funcExpr2(BuildinCalls_exports.sameterm);
|
|
13138
|
-
var builtInIsiri = funcExpr1(BuildinCalls_exports.isiri);
|
|
13139
|
-
var builtInIsuri = funcExpr1(BuildinCalls_exports.isuri);
|
|
13140
|
-
var builtInIsblank = funcExpr1(BuildinCalls_exports.isblank);
|
|
13141
|
-
var builtInIsliteral = funcExpr1(BuildinCalls_exports.isliteral);
|
|
13142
|
-
var builtInIsnumeric = funcExpr1(BuildinCalls_exports.isnumeric);
|
|
13143
|
-
function builtInCallList(SUBRULE) {
|
|
13144
|
-
return [
|
|
13145
|
-
{ ALT: () => SUBRULE(aggregate, void 0) },
|
|
13146
|
-
{ ALT: () => SUBRULE(builtInStr, void 0) },
|
|
13147
|
-
{ ALT: () => SUBRULE(builtInLang, void 0) },
|
|
13148
|
-
{ ALT: () => SUBRULE(builtInLangmatches, void 0) },
|
|
13149
|
-
{ ALT: () => SUBRULE(builtInDatatype, void 0) },
|
|
13150
|
-
{ ALT: () => SUBRULE(builtInBound, void 0) },
|
|
13151
|
-
{ ALT: () => SUBRULE(builtInIri, void 0) },
|
|
13152
|
-
{ ALT: () => SUBRULE(builtInUri, void 0) },
|
|
13153
|
-
{ ALT: () => SUBRULE(builtInBnodeSparqlJs, void 0) },
|
|
13154
|
-
{ ALT: () => SUBRULE(builtInRand, void 0) },
|
|
13155
|
-
{ ALT: () => SUBRULE(builtInAbs, void 0) },
|
|
13156
|
-
{ ALT: () => SUBRULE(builtInCeil, void 0) },
|
|
13157
|
-
{ ALT: () => SUBRULE(builtInFloor, void 0) },
|
|
13158
|
-
{ ALT: () => SUBRULE(builtInRound, void 0) },
|
|
13159
|
-
{ ALT: () => SUBRULE(builtInConcat, void 0) },
|
|
13160
|
-
{ ALT: () => SUBRULE(substringExpression, void 0) },
|
|
13161
|
-
{ ALT: () => SUBRULE(builtInStrlen, void 0) },
|
|
13162
|
-
{ ALT: () => SUBRULE(strReplaceExpression, void 0) },
|
|
13163
|
-
{ ALT: () => SUBRULE(builtInUcase, void 0) },
|
|
13164
|
-
{ ALT: () => SUBRULE(builtInLcase, void 0) },
|
|
13165
|
-
{ ALT: () => SUBRULE(builtInEncode_for_uri, void 0) },
|
|
13166
|
-
{ ALT: () => SUBRULE(builtInContains, void 0) },
|
|
13167
|
-
{ ALT: () => SUBRULE(builtInStrstarts, void 0) },
|
|
13168
|
-
{ ALT: () => SUBRULE(builtInStrends, void 0) },
|
|
13169
|
-
{ ALT: () => SUBRULE(builtInStrbefore, void 0) },
|
|
13170
|
-
{ ALT: () => SUBRULE(builtInStrafter, void 0) },
|
|
13171
|
-
{ ALT: () => SUBRULE(builtInYear, void 0) },
|
|
13172
|
-
{ ALT: () => SUBRULE(builtInMonth, void 0) },
|
|
13173
|
-
{ ALT: () => SUBRULE(builtInDay, void 0) },
|
|
13174
|
-
{ ALT: () => SUBRULE(builtInHours, void 0) },
|
|
13175
|
-
{ ALT: () => SUBRULE(builtInMinutes, void 0) },
|
|
13176
|
-
{ ALT: () => SUBRULE(builtInSeconds, void 0) },
|
|
13177
|
-
{ ALT: () => SUBRULE(builtInTimezone, void 0) },
|
|
13178
|
-
{ ALT: () => SUBRULE(builtInTz, void 0) },
|
|
13179
|
-
{ ALT: () => SUBRULE(builtInNow, void 0) },
|
|
13180
|
-
{ ALT: () => SUBRULE(builtInUuid, void 0) },
|
|
13181
|
-
{ ALT: () => SUBRULE(builtInStruuid, void 0) },
|
|
13182
|
-
{ ALT: () => SUBRULE(builtInMd5, void 0) },
|
|
13183
|
-
{ ALT: () => SUBRULE(builtInSha1, void 0) },
|
|
13184
|
-
{ ALT: () => SUBRULE(builtInSha256, void 0) },
|
|
13185
|
-
{ ALT: () => SUBRULE(builtInSha384, void 0) },
|
|
13186
|
-
{ ALT: () => SUBRULE(builtInSha512, void 0) },
|
|
13187
|
-
{ ALT: () => SUBRULE(builtInCoalesce, void 0) },
|
|
13188
|
-
{ ALT: () => SUBRULE(builtInIf, void 0) },
|
|
13189
|
-
{ ALT: () => SUBRULE(builtInStrlang, void 0) },
|
|
13190
|
-
{ ALT: () => SUBRULE(builtInStrdt, void 0) },
|
|
13191
|
-
{ ALT: () => SUBRULE(builtInSameterm, void 0) },
|
|
13192
|
-
{ ALT: () => SUBRULE(builtInIsiri, void 0) },
|
|
13193
|
-
{ ALT: () => SUBRULE(builtInIsuri, void 0) },
|
|
13194
|
-
{ ALT: () => SUBRULE(builtInIsblank, void 0) },
|
|
13195
|
-
{ ALT: () => SUBRULE(builtInIsliteral, void 0) },
|
|
13196
|
-
{ ALT: () => SUBRULE(builtInIsnumeric, void 0) },
|
|
13197
|
-
{ ALT: () => SUBRULE(regexExpression, void 0) },
|
|
13198
|
-
{ ALT: () => SUBRULE(existsFunc, void 0) },
|
|
13199
|
-
{ ALT: () => SUBRULE(notExistsFunc, void 0) }
|
|
13200
|
-
];
|
|
13201
|
-
}
|
|
13202
|
-
var builtInCall = {
|
|
13203
|
-
name: "builtInCall",
|
|
13204
|
-
impl: ({ OR, SUBRULE, cache }) => () => {
|
|
13205
|
-
const cached = cache.get(builtInCall);
|
|
13206
|
-
if (cached) {
|
|
13207
|
-
return OR(cached);
|
|
12966
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/whereClause.ts
|
|
12967
|
+
var whereClause = {
|
|
12968
|
+
name: "whereClause",
|
|
12969
|
+
impl: ({ ACTION, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
12970
|
+
const where2 = OPTION(() => CONSUME(where));
|
|
12971
|
+
const group = SUBRULE(groupGraphPattern);
|
|
12972
|
+
return ACTION(() => C.factory.wrap(group, C.factory.sourceLocation(where2, group)));
|
|
12973
|
+
},
|
|
12974
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12975
|
+
F2.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
12976
|
+
SUBRULE(groupGraphPattern, ast.val);
|
|
12977
|
+
}
|
|
12978
|
+
};
|
|
12979
|
+
var groupGraphPattern = {
|
|
12980
|
+
name: "groupGraphPattern",
|
|
12981
|
+
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => {
|
|
12982
|
+
const open = CONSUME(symbols_exports.LCurly);
|
|
12983
|
+
const patterns = OR([
|
|
12984
|
+
{ ALT: () => [SUBRULE(subSelect)] },
|
|
12985
|
+
{ ALT: () => SUBRULE(groupGraphPatternSub) }
|
|
12986
|
+
]);
|
|
12987
|
+
const close = CONSUME(symbols_exports.RCurly);
|
|
12988
|
+
return ACTION(() => C.factory.patternGroup(patterns, C.factory.sourceLocation(open, close)));
|
|
12989
|
+
},
|
|
12990
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
12991
|
+
F2.printFilter(ast, () => PRINT_WORD("{"));
|
|
12992
|
+
for (const pattern of ast.patterns) {
|
|
12993
|
+
SUBRULE(generatePattern, pattern);
|
|
13208
12994
|
}
|
|
13209
|
-
|
|
13210
|
-
cache.set(builtInCall, builtIns);
|
|
13211
|
-
return OR(builtIns);
|
|
12995
|
+
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
13212
12996
|
}
|
|
13213
12997
|
};
|
|
13214
|
-
var
|
|
13215
|
-
|
|
13216
|
-
|
|
13217
|
-
|
|
13218
|
-
|
|
13219
|
-
|
|
13220
|
-
|
|
13221
|
-
|
|
13222
|
-
|
|
12998
|
+
var generatePattern = {
|
|
12999
|
+
name: "generatePattern",
|
|
13000
|
+
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
13001
|
+
if (ast.type === "query") {
|
|
13002
|
+
SUBRULE(query, F2.querySelect({
|
|
13003
|
+
context: [],
|
|
13004
|
+
datasets: F2.datasetClauses([], F2.sourceLocation()),
|
|
13005
|
+
where: ast.where,
|
|
13006
|
+
variables: ast.variables,
|
|
13007
|
+
solutionModifiers: ast.solutionModifiers,
|
|
13008
|
+
values: ast.values,
|
|
13009
|
+
distinct: ast.distinct,
|
|
13010
|
+
reduced: ast.reduced
|
|
13011
|
+
}, ast.loc));
|
|
13012
|
+
} else if (ast.subType === "group") {
|
|
13013
|
+
SUBRULE(groupGraphPattern, ast);
|
|
13014
|
+
} else if (ast.subType === "bgp") {
|
|
13015
|
+
SUBRULE(triplesBlock, ast);
|
|
13016
|
+
} else {
|
|
13017
|
+
SUBRULE(graphPatternNotTriples, ast);
|
|
13018
|
+
}
|
|
13019
|
+
}
|
|
13020
|
+
};
|
|
13021
|
+
var groupGraphPatternSub = {
|
|
13022
|
+
name: "groupGraphPatternSub",
|
|
13023
|
+
impl: ({ ACTION, SUBRULE, CONSUME, MANY, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OPTION3 }) => () => {
|
|
13024
|
+
const patterns = [];
|
|
13025
|
+
const bgpPattern = OPTION1(() => SUBRULE1(triplesBlock));
|
|
13026
|
+
if (bgpPattern) {
|
|
13027
|
+
patterns.push(bgpPattern);
|
|
13028
|
+
}
|
|
13029
|
+
MANY(() => {
|
|
13030
|
+
const notTriples = SUBRULE(graphPatternNotTriples);
|
|
13031
|
+
patterns.push(notTriples);
|
|
13032
|
+
OPTION2(() => CONSUME(symbols_exports.dot));
|
|
13033
|
+
const moreTriples = OPTION3(() => SUBRULE2(triplesBlock));
|
|
13034
|
+
if (moreTriples) {
|
|
13035
|
+
patterns.push(moreTriples);
|
|
13036
|
+
}
|
|
13037
|
+
});
|
|
13038
|
+
ACTION(() => checkNote13(patterns));
|
|
13039
|
+
return patterns;
|
|
13040
|
+
}
|
|
13041
|
+
};
|
|
13042
|
+
var graphPatternNotTriples = {
|
|
13043
|
+
name: "graphPatternNotTriples",
|
|
13044
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
13045
|
+
{ ALT: () => SUBRULE(groupOrUnionGraphPattern) },
|
|
13046
|
+
{ ALT: () => SUBRULE(optionalGraphPattern) },
|
|
13047
|
+
{ ALT: () => SUBRULE(minusGraphPattern) },
|
|
13048
|
+
{ ALT: () => SUBRULE(graphGraphPattern) },
|
|
13049
|
+
{ ALT: () => SUBRULE(serviceGraphPattern) },
|
|
13050
|
+
{ ALT: () => SUBRULE(filter3) },
|
|
13051
|
+
{ ALT: () => SUBRULE(bind2) },
|
|
13052
|
+
{ ALT: () => SUBRULE(inlineData) }
|
|
13053
|
+
]),
|
|
13054
|
+
gImpl: ({ SUBRULE }) => (ast) => {
|
|
13055
|
+
switch (ast.subType) {
|
|
13056
|
+
case "group":
|
|
13057
|
+
case "union":
|
|
13058
|
+
SUBRULE(groupOrUnionGraphPattern, ast);
|
|
13059
|
+
break;
|
|
13060
|
+
case "optional":
|
|
13061
|
+
SUBRULE(optionalGraphPattern, ast);
|
|
13062
|
+
break;
|
|
13063
|
+
case "minus":
|
|
13064
|
+
SUBRULE(minusGraphPattern, ast);
|
|
13065
|
+
break;
|
|
13066
|
+
case "graph":
|
|
13067
|
+
SUBRULE(graphGraphPattern, ast);
|
|
13068
|
+
break;
|
|
13069
|
+
case "service":
|
|
13070
|
+
SUBRULE(serviceGraphPattern, ast);
|
|
13071
|
+
break;
|
|
13072
|
+
case "filter":
|
|
13073
|
+
SUBRULE(filter3, ast);
|
|
13074
|
+
break;
|
|
13075
|
+
case "bind":
|
|
13076
|
+
SUBRULE(bind2, ast);
|
|
13077
|
+
break;
|
|
13078
|
+
case "values":
|
|
13079
|
+
SUBRULE(inlineData, ast);
|
|
13080
|
+
break;
|
|
13081
|
+
}
|
|
13082
|
+
}
|
|
13083
|
+
};
|
|
13084
|
+
var optionalGraphPattern = {
|
|
13085
|
+
name: "optionalGraphPattern",
|
|
13086
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13087
|
+
const optional2 = CONSUME(optional);
|
|
13088
|
+
const group = SUBRULE(groupGraphPattern);
|
|
13089
|
+
return ACTION(() => C.factory.patternOptional(group.patterns, C.factory.sourceLocation(optional2, group)));
|
|
13090
|
+
},
|
|
13091
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
13092
|
+
F2.printFilter(ast, () => PRINT_WORD("OPTIONAL"));
|
|
13093
|
+
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
13094
|
+
}
|
|
13095
|
+
};
|
|
13096
|
+
var graphGraphPattern = {
|
|
13097
|
+
name: "graphGraphPattern",
|
|
13098
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13099
|
+
const graph2 = CONSUME(graph_exports.graph);
|
|
13100
|
+
const name = SUBRULE(varOrIri);
|
|
13101
|
+
const group = SUBRULE(groupGraphPattern);
|
|
13102
|
+
return ACTION(() => C.factory.patternGraph(name, group.patterns, C.factory.sourceLocation(graph2, group)));
|
|
13103
|
+
},
|
|
13104
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
13105
|
+
F2.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
13106
|
+
SUBRULE(varOrTerm, ast.name);
|
|
13107
|
+
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
13108
|
+
}
|
|
13109
|
+
};
|
|
13110
|
+
var serviceGraphPattern = {
|
|
13111
|
+
name: "serviceGraphPattern",
|
|
13112
|
+
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
13113
|
+
const service2 = CONSUME(service);
|
|
13114
|
+
const silent2 = OPTION(() => {
|
|
13115
|
+
CONSUME(silent);
|
|
13116
|
+
return true;
|
|
13117
|
+
}) ?? false;
|
|
13118
|
+
const name = SUBRULE1(varOrIri);
|
|
13119
|
+
const group = SUBRULE1(groupGraphPattern);
|
|
13120
|
+
return ACTION(() => C.factory.patternService(name, group.patterns, silent2, C.factory.sourceLocation(service2, group)));
|
|
13121
|
+
},
|
|
13122
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
13123
|
+
F2.printFilter(ast, () => {
|
|
13124
|
+
PRINT_WORD("SERVICE");
|
|
13125
|
+
if (ast.silent) {
|
|
13126
|
+
PRINT_WORD("SILENT");
|
|
13127
|
+
}
|
|
13128
|
+
});
|
|
13129
|
+
SUBRULE(varOrTerm, ast.name);
|
|
13130
|
+
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
13131
|
+
}
|
|
13132
|
+
};
|
|
13133
|
+
var bind2 = {
|
|
13134
|
+
name: "bind",
|
|
13135
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13136
|
+
const bind3 = CONSUME(bind);
|
|
13223
13137
|
CONSUME(symbols_exports.LParen);
|
|
13224
|
-
const
|
|
13225
|
-
|
|
13138
|
+
const expressionVal = SUBRULE(expression);
|
|
13139
|
+
CONSUME(as);
|
|
13140
|
+
const variable = SUBRULE(var_);
|
|
13141
|
+
const close = CONSUME(symbols_exports.RParen);
|
|
13142
|
+
return ACTION(() => C.factory.patternBind(expressionVal, variable, C.factory.sourceLocation(bind3, close)));
|
|
13143
|
+
},
|
|
13144
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
13145
|
+
F2.printFilter(ast, () => PRINT_WORD("BIND", "("));
|
|
13146
|
+
SUBRULE(expression, ast.expression);
|
|
13147
|
+
F2.printFilter(ast, () => PRINT_WORD("AS"));
|
|
13148
|
+
SUBRULE(var_, ast.variable);
|
|
13149
|
+
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
13150
|
+
}
|
|
13151
|
+
};
|
|
13152
|
+
var inlineData = {
|
|
13153
|
+
name: "inlineData",
|
|
13154
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13155
|
+
const values3 = CONSUME(values2);
|
|
13156
|
+
const datablock = SUBRULE(dataBlock);
|
|
13157
|
+
return ACTION(() => C.factory.patternValues(datablock.val, C.factory.sourceLocation(values3, datablock)));
|
|
13158
|
+
},
|
|
13159
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
13160
|
+
const variables = Object.keys(ast.values[0]);
|
|
13161
|
+
F2.printFilter(ast, () => {
|
|
13162
|
+
PRINT_WORD("VALUES", "(");
|
|
13163
|
+
for (const variable of variables) {
|
|
13164
|
+
PRINT_WORD(`?${variable}`);
|
|
13165
|
+
}
|
|
13166
|
+
PRINT_WORD(")", "{");
|
|
13167
|
+
});
|
|
13168
|
+
for (const mapping of ast.values) {
|
|
13169
|
+
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
13170
|
+
for (const variable of variables) {
|
|
13171
|
+
if (mapping[variable] === void 0) {
|
|
13172
|
+
F2.printFilter(ast, () => PRINT_WORD("UNDEF"));
|
|
13173
|
+
} else {
|
|
13174
|
+
SUBRULE(graphNodePath, mapping[variable]);
|
|
13175
|
+
}
|
|
13176
|
+
}
|
|
13177
|
+
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
13178
|
+
}
|
|
13179
|
+
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
13180
|
+
}
|
|
13181
|
+
};
|
|
13182
|
+
var dataBlock = {
|
|
13183
|
+
name: "dataBlock",
|
|
13184
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
13185
|
+
{ ALT: () => SUBRULE(inlineDataOneVar) },
|
|
13186
|
+
{ ALT: () => SUBRULE(inlineDataFull) }
|
|
13187
|
+
])
|
|
13188
|
+
};
|
|
13189
|
+
var inlineDataOneVar = {
|
|
13190
|
+
name: "inlineDataOneVar",
|
|
13191
|
+
impl: ({ ACTION, SUBRULE, CONSUME, MANY }) => (C) => {
|
|
13192
|
+
const res = [];
|
|
13193
|
+
const varVal = SUBRULE(var_);
|
|
13194
|
+
CONSUME(symbols_exports.LCurly);
|
|
13195
|
+
MANY(() => {
|
|
13196
|
+
const value = SUBRULE(dataBlockValue);
|
|
13197
|
+
ACTION(() => {
|
|
13198
|
+
res.push({ [varVal.value]: value });
|
|
13199
|
+
});
|
|
13200
|
+
});
|
|
13201
|
+
const close = CONSUME(symbols_exports.RCurly);
|
|
13202
|
+
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(varVal, close)));
|
|
13203
|
+
}
|
|
13204
|
+
};
|
|
13205
|
+
var inlineDataFull = {
|
|
13206
|
+
name: "inlineDataFull",
|
|
13207
|
+
impl: ({
|
|
13208
|
+
ACTION,
|
|
13209
|
+
OR,
|
|
13210
|
+
MANY1,
|
|
13211
|
+
MANY2,
|
|
13212
|
+
MANY3,
|
|
13213
|
+
MANY4,
|
|
13214
|
+
SUBRULE,
|
|
13215
|
+
CONSUME1,
|
|
13216
|
+
CONSUME2
|
|
13217
|
+
}) => (C) => {
|
|
13218
|
+
const res = [];
|
|
13219
|
+
const vars = [];
|
|
13220
|
+
return OR([
|
|
13226
13221
|
{ ALT: () => {
|
|
13227
|
-
const
|
|
13228
|
-
|
|
13222
|
+
const nil2 = CONSUME1(terminals_exports.nil);
|
|
13223
|
+
CONSUME1(symbols_exports.LCurly);
|
|
13224
|
+
MANY1(() => {
|
|
13225
|
+
CONSUME2(terminals_exports.nil);
|
|
13226
|
+
res.push({});
|
|
13227
|
+
});
|
|
13228
|
+
const close = CONSUME1(symbols_exports.RCurly);
|
|
13229
|
+
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(nil2, close)));
|
|
13229
13230
|
} },
|
|
13230
|
-
{ ALT: () =>
|
|
13231
|
+
{ ALT: () => {
|
|
13232
|
+
const open = CONSUME1(symbols_exports.LParen);
|
|
13233
|
+
MANY2(() => {
|
|
13234
|
+
vars.push(SUBRULE(var_));
|
|
13235
|
+
});
|
|
13236
|
+
CONSUME1(symbols_exports.RParen);
|
|
13237
|
+
CONSUME2(symbols_exports.LCurly);
|
|
13238
|
+
MANY3(() => {
|
|
13239
|
+
let parsedValues = 0;
|
|
13240
|
+
const currentRow = {};
|
|
13241
|
+
CONSUME2(symbols_exports.LParen);
|
|
13242
|
+
MANY4(() => {
|
|
13243
|
+
if (parsedValues >= vars.length) {
|
|
13244
|
+
throw new Error("Number of dataBlockValues does not match number of variables. Too much values.");
|
|
13245
|
+
}
|
|
13246
|
+
const value = SUBRULE(dataBlockValue);
|
|
13247
|
+
ACTION(() => {
|
|
13248
|
+
currentRow[vars[parsedValues].value] = value;
|
|
13249
|
+
parsedValues++;
|
|
13250
|
+
});
|
|
13251
|
+
});
|
|
13252
|
+
CONSUME2(symbols_exports.RParen);
|
|
13253
|
+
ACTION(() => {
|
|
13254
|
+
res.push(currentRow);
|
|
13255
|
+
if (vars.length !== parsedValues) {
|
|
13256
|
+
throw new Error("Number of dataBlockValues does not match number of variables. Too few values.");
|
|
13257
|
+
}
|
|
13258
|
+
});
|
|
13259
|
+
});
|
|
13260
|
+
const close = CONSUME2(symbols_exports.RCurly);
|
|
13261
|
+
return ACTION(() => C.factory.wrap(res, C.factory.sourceLocation(open, close)));
|
|
13262
|
+
} }
|
|
13231
13263
|
]);
|
|
13232
|
-
const closeToken = CONSUME(symbols_exports.RParen);
|
|
13233
|
-
return ACTION(() => {
|
|
13234
|
-
const F2 = C.factory;
|
|
13235
|
-
if (C.factory.isWildcard(expressionVal)) {
|
|
13236
|
-
return F2.aggregate(
|
|
13237
|
-
operatorToken.image,
|
|
13238
|
-
Boolean(distinctToken),
|
|
13239
|
-
expressionVal,
|
|
13240
|
-
void 0,
|
|
13241
|
-
C.factory.sourceLocation(operatorToken, closeToken)
|
|
13242
|
-
);
|
|
13243
|
-
}
|
|
13244
|
-
return F2.aggregate(
|
|
13245
|
-
operatorToken.image,
|
|
13246
|
-
Boolean(distinctToken),
|
|
13247
|
-
expressionVal,
|
|
13248
|
-
void 0,
|
|
13249
|
-
C.factory.sourceLocation(operatorToken, closeToken)
|
|
13250
|
-
);
|
|
13251
|
-
});
|
|
13252
13264
|
}
|
|
13253
13265
|
};
|
|
13254
|
-
var
|
|
13255
|
-
|
|
13256
|
-
|
|
13257
|
-
|
|
13258
|
-
|
|
13259
|
-
|
|
13260
|
-
|
|
13261
|
-
|
|
13262
|
-
|
|
13263
|
-
|
|
13264
|
-
|
|
13265
|
-
|
|
13266
|
-
|
|
13267
|
-
|
|
13268
|
-
|
|
13269
|
-
|
|
13270
|
-
|
|
13271
|
-
|
|
13272
|
-
|
|
13273
|
-
|
|
13274
|
-
|
|
13275
|
-
|
|
13276
|
-
|
|
13277
|
-
Boolean(distinctToken),
|
|
13278
|
-
expr,
|
|
13279
|
-
sep?.value ?? " ",
|
|
13280
|
-
F2.sourceLocation(operatorToken, closeToken)
|
|
13281
|
-
);
|
|
13282
|
-
});
|
|
13266
|
+
var dataBlockValue = {
|
|
13267
|
+
name: "dataBlockValue",
|
|
13268
|
+
impl: ({ SUBRULE, CONSUME, OR }) => () => OR([
|
|
13269
|
+
{ ALT: () => SUBRULE(iri2) },
|
|
13270
|
+
{ ALT: () => SUBRULE(rdfLiteral) },
|
|
13271
|
+
{ ALT: () => SUBRULE(numericLiteral) },
|
|
13272
|
+
{ ALT: () => SUBRULE(booleanLiteral) },
|
|
13273
|
+
{ ALT: () => {
|
|
13274
|
+
CONSUME(undef);
|
|
13275
|
+
return void 0;
|
|
13276
|
+
} }
|
|
13277
|
+
])
|
|
13278
|
+
};
|
|
13279
|
+
var minusGraphPattern = {
|
|
13280
|
+
name: "minusGraphPattern",
|
|
13281
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13282
|
+
const minus2 = CONSUME(minus);
|
|
13283
|
+
const group = SUBRULE(groupGraphPattern);
|
|
13284
|
+
return ACTION(() => C.factory.patternMinus(group.patterns, C.factory.sourceLocation(minus2, group)));
|
|
13285
|
+
},
|
|
13286
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
13287
|
+
F2.printFilter(ast, () => PRINT_WORD("MINUS"));
|
|
13288
|
+
SUBRULE(groupGraphPattern, F2.patternGroup(ast.patterns, ast.loc));
|
|
13283
13289
|
}
|
|
13284
13290
|
};
|
|
13285
|
-
var
|
|
13286
|
-
name: "
|
|
13287
|
-
impl: ({ ACTION,
|
|
13288
|
-
const
|
|
13289
|
-
|
|
13290
|
-
|
|
13291
|
-
|
|
13292
|
-
|
|
13293
|
-
|
|
13294
|
-
|
|
13295
|
-
{ ALT: () => SUBRULE(aggregateAvg, void 0) },
|
|
13296
|
-
{ ALT: () => SUBRULE(aggregateSample, void 0) },
|
|
13297
|
-
{ ALT: () => SUBRULE(aggregateGroup_concat, void 0) }
|
|
13298
|
-
]);
|
|
13299
|
-
ACTION(() => !wasInAggregate && C.parseMode.delete("inAggregate"));
|
|
13300
|
-
ACTION(() => {
|
|
13301
|
-
if (!C.parseMode.has("canParseAggregate")) {
|
|
13302
|
-
throw new Error("Aggregates are only allowed in SELECT, HAVING, and ORDER BY clauses.");
|
|
13303
|
-
}
|
|
13304
|
-
if (C.parseMode.has("inAggregate")) {
|
|
13305
|
-
throw new Error("An aggregate function is not allowed within an aggregate function.");
|
|
13306
|
-
}
|
|
13291
|
+
var groupOrUnionGraphPattern = {
|
|
13292
|
+
name: "groupOrUnionGraphPattern",
|
|
13293
|
+
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => (C) => {
|
|
13294
|
+
const groups = [];
|
|
13295
|
+
const group = SUBRULE1(groupGraphPattern);
|
|
13296
|
+
groups.push(group);
|
|
13297
|
+
MANY(() => {
|
|
13298
|
+
CONSUME(union);
|
|
13299
|
+
const group2 = SUBRULE2(groupGraphPattern);
|
|
13300
|
+
groups.push(group2);
|
|
13307
13301
|
});
|
|
13308
|
-
return
|
|
13302
|
+
return ACTION(() => groups.length === 1 ? groups[0] : C.factory.patternUnion(
|
|
13303
|
+
groups,
|
|
13304
|
+
C.factory.sourceLocation(group, groups.at(-1))
|
|
13305
|
+
));
|
|
13309
13306
|
},
|
|
13310
13307
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
13311
|
-
F2.
|
|
13312
|
-
|
|
13313
|
-
|
|
13314
|
-
|
|
13308
|
+
if (F2.isPatternUnion(ast)) {
|
|
13309
|
+
const [head2, ...tail] = ast.patterns;
|
|
13310
|
+
SUBRULE(groupGraphPattern, head2);
|
|
13311
|
+
for (const pattern of tail) {
|
|
13312
|
+
F2.printFilter(ast, () => PRINT_WORD("UNION"));
|
|
13313
|
+
SUBRULE(groupGraphPattern, pattern);
|
|
13315
13314
|
}
|
|
13316
|
-
});
|
|
13317
|
-
const arg = ast.expression[0];
|
|
13318
|
-
if (F2.isWildcard(arg)) {
|
|
13319
|
-
F2.printFilter(ast, () => PRINT_WORD("*"));
|
|
13320
13315
|
} else {
|
|
13321
|
-
SUBRULE(
|
|
13322
|
-
}
|
|
13323
|
-
if (F2.isExpressionAggregateSeparator(ast)) {
|
|
13324
|
-
F2.printFilter(ast, () => PRINT_WORD(";", "SEPARATOR", "=", stringEscapedLexical(ast.separator)));
|
|
13316
|
+
SUBRULE(groupGraphPattern, ast);
|
|
13325
13317
|
}
|
|
13318
|
+
}
|
|
13319
|
+
};
|
|
13320
|
+
var filter3 = {
|
|
13321
|
+
name: "filter",
|
|
13322
|
+
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13323
|
+
const filterToken = CONSUME(filter2);
|
|
13324
|
+
const expression2 = SUBRULE(constraint);
|
|
13325
|
+
return ACTION(() => C.factory.patternFilter(expression2, C.factory.sourceLocation(filterToken, expression2)));
|
|
13326
|
+
},
|
|
13327
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
13328
|
+
F2.printFilter(ast, () => PRINT_WORD("FILTER ("));
|
|
13329
|
+
SUBRULE(expression, ast.expression);
|
|
13326
13330
|
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
13327
13331
|
}
|
|
13328
13332
|
};
|
|
13333
|
+
var constraint = {
|
|
13334
|
+
name: "constraint",
|
|
13335
|
+
impl: ({ SUBRULE, OR }) => () => OR([
|
|
13336
|
+
{ ALT: () => SUBRULE(brackettedExpression) },
|
|
13337
|
+
{ ALT: () => SUBRULE(builtInCall) },
|
|
13338
|
+
{ ALT: () => SUBRULE(functionCall) }
|
|
13339
|
+
])
|
|
13340
|
+
};
|
|
13341
|
+
var functionCall = {
|
|
13342
|
+
name: "functionCall",
|
|
13343
|
+
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
13344
|
+
const func = SUBRULE(iri2);
|
|
13345
|
+
const args = SUBRULE(argList);
|
|
13346
|
+
return ACTION(() => C.factory.expressionFunctionCall(
|
|
13347
|
+
func,
|
|
13348
|
+
args.val.args,
|
|
13349
|
+
args.val.distinct,
|
|
13350
|
+
C.factory.sourceLocation(func, args)
|
|
13351
|
+
));
|
|
13352
|
+
}
|
|
13353
|
+
};
|
|
13329
13354
|
|
|
13330
13355
|
// ../../packages/rules-sparql-1-1/lib/grammar/expression.ts
|
|
13331
13356
|
var argList = {
|
|
@@ -13345,7 +13370,7 @@ var argList = {
|
|
|
13345
13370
|
AT_LEAST_ONE_SEP({
|
|
13346
13371
|
SEP: symbols_exports.comma,
|
|
13347
13372
|
DEF: () => {
|
|
13348
|
-
const arg = SUBRULE1(expression
|
|
13373
|
+
const arg = SUBRULE1(expression);
|
|
13349
13374
|
args.push(arg);
|
|
13350
13375
|
}
|
|
13351
13376
|
});
|
|
@@ -13362,11 +13387,11 @@ var argList = {
|
|
|
13362
13387
|
});
|
|
13363
13388
|
const [head2, ...tail] = ast.val.args;
|
|
13364
13389
|
if (head2) {
|
|
13365
|
-
SUBRULE(expression, head2
|
|
13390
|
+
SUBRULE(expression, head2);
|
|
13366
13391
|
}
|
|
13367
13392
|
for (const expr of tail) {
|
|
13368
13393
|
F2.printFilter(ast, () => PRINT_WORD(","));
|
|
13369
|
-
SUBRULE(expression, expr
|
|
13394
|
+
SUBRULE(expression, expr);
|
|
13370
13395
|
}
|
|
13371
13396
|
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
13372
13397
|
}
|
|
@@ -13380,11 +13405,11 @@ var expressionList = {
|
|
|
13380
13405
|
} },
|
|
13381
13406
|
{ ALT: () => {
|
|
13382
13407
|
const open = CONSUME(symbols_exports.LParen);
|
|
13383
|
-
const expr1 = SUBRULE1(expression
|
|
13408
|
+
const expr1 = SUBRULE1(expression);
|
|
13384
13409
|
const args = [expr1];
|
|
13385
13410
|
MANY(() => {
|
|
13386
13411
|
CONSUME(symbols_exports.comma);
|
|
13387
|
-
const expr = SUBRULE2(expression
|
|
13412
|
+
const expr = SUBRULE2(expression);
|
|
13388
13413
|
args.push(expr);
|
|
13389
13414
|
});
|
|
13390
13415
|
const close = CONSUME(symbols_exports.RParen);
|
|
@@ -13396,15 +13421,15 @@ var infixOperators = /* @__PURE__ */ new Set(["in", "notin", "||", "&&", "=", "!
|
|
|
13396
13421
|
var prefixOperator = /* @__PURE__ */ new Set(["!", "UPLUS", "UMINUS"]);
|
|
13397
13422
|
var expression = {
|
|
13398
13423
|
name: "expression",
|
|
13399
|
-
impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression
|
|
13424
|
+
impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression),
|
|
13400
13425
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
13401
13426
|
if (F2.isTerm(ast)) {
|
|
13402
|
-
SUBRULE(varOrTerm, ast
|
|
13427
|
+
SUBRULE(varOrTerm, ast);
|
|
13403
13428
|
} else if (F2.isExpressionOperator(ast)) {
|
|
13404
13429
|
if (infixOperators.has(ast.operator)) {
|
|
13405
13430
|
const [left, ...right] = ast.args;
|
|
13406
13431
|
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
13407
|
-
SUBRULE(expression, left
|
|
13432
|
+
SUBRULE(expression, left);
|
|
13408
13433
|
F2.printFilter(ast, () => {
|
|
13409
13434
|
if (ast.operator === "notin") {
|
|
13410
13435
|
PRINT_WORD("NOT IN");
|
|
@@ -13415,35 +13440,35 @@ var expression = {
|
|
|
13415
13440
|
}
|
|
13416
13441
|
});
|
|
13417
13442
|
if (right.length === 1) {
|
|
13418
|
-
SUBRULE(expression, right[0]
|
|
13443
|
+
SUBRULE(expression, right[0]);
|
|
13419
13444
|
} else {
|
|
13420
|
-
SUBRULE(argList, F2.wrap({ args: right, distinct: false }, ast.loc)
|
|
13445
|
+
SUBRULE(argList, F2.wrap({ args: right, distinct: false }, ast.loc));
|
|
13421
13446
|
}
|
|
13422
13447
|
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
13423
13448
|
} else if (prefixOperator.has(ast.operator)) {
|
|
13424
13449
|
const [expr] = ast.args;
|
|
13425
13450
|
F2.printFilter(ast, () => PRINT_WORD(ast.operator));
|
|
13426
|
-
SUBRULE(expression, expr
|
|
13451
|
+
SUBRULE(expression, expr);
|
|
13427
13452
|
} else {
|
|
13428
13453
|
F2.printFilter(ast, () => PRINT_WORD(ast.operator, "("));
|
|
13429
13454
|
const [head2, ...tail] = ast.args;
|
|
13430
13455
|
if (head2) {
|
|
13431
|
-
SUBRULE(expression, head2
|
|
13456
|
+
SUBRULE(expression, head2);
|
|
13432
13457
|
}
|
|
13433
13458
|
for (const arg of tail) {
|
|
13434
13459
|
F2.printFilter(ast, () => PRINT_WORD(","));
|
|
13435
|
-
SUBRULE(expression, arg
|
|
13460
|
+
SUBRULE(expression, arg);
|
|
13436
13461
|
}
|
|
13437
13462
|
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
13438
13463
|
}
|
|
13439
13464
|
} else if (F2.isExpressionPatternOperation(ast)) {
|
|
13440
13465
|
const patterns = ast.args;
|
|
13441
13466
|
F2.printFilter(ast, () => PRINT_WORD(ast.operator === "exists" ? "EXISTS" : "NOT EXISTS"));
|
|
13442
|
-
SUBRULE(groupGraphPattern, patterns
|
|
13467
|
+
SUBRULE(groupGraphPattern, patterns);
|
|
13443
13468
|
} else if (F2.isExpressionFunctionCall(ast)) {
|
|
13444
|
-
SUBRULE(iriOrFunction, ast
|
|
13469
|
+
SUBRULE(iriOrFunction, ast);
|
|
13445
13470
|
} else if (F2.isExpressionAggregate(ast)) {
|
|
13446
|
-
SUBRULE(aggregate, ast
|
|
13471
|
+
SUBRULE(aggregate, ast);
|
|
13447
13472
|
}
|
|
13448
13473
|
}
|
|
13449
13474
|
};
|
|
@@ -13460,10 +13485,10 @@ function constructLeftDeep(startGenerator, restGenerator, ACTION, MANY) {
|
|
|
13460
13485
|
var conditionalOrExpression = {
|
|
13461
13486
|
name: "conditionalOrExpression",
|
|
13462
13487
|
impl: ({ ACTION, MANY, CONSUME, SUBRULE1, SUBRULE2 }) => (C) => constructLeftDeep(
|
|
13463
|
-
() => SUBRULE1(conditionalAndExpression
|
|
13488
|
+
() => SUBRULE1(conditionalAndExpression),
|
|
13464
13489
|
() => {
|
|
13465
13490
|
CONSUME(symbols_exports.logicOr);
|
|
13466
|
-
const args = SUBRULE2(conditionalAndExpression
|
|
13491
|
+
const args = SUBRULE2(conditionalAndExpression);
|
|
13467
13492
|
return (left) => ACTION(() => C.factory.expressionOperation("||", [left, args], C.factory.sourceLocation(left, args)));
|
|
13468
13493
|
},
|
|
13469
13494
|
ACTION,
|
|
@@ -13473,10 +13498,10 @@ var conditionalOrExpression = {
|
|
|
13473
13498
|
var conditionalAndExpression = {
|
|
13474
13499
|
name: "conditionalAndExpression",
|
|
13475
13500
|
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => (C) => constructLeftDeep(
|
|
13476
|
-
() => SUBRULE1(valueLogical
|
|
13501
|
+
() => SUBRULE1(valueLogical),
|
|
13477
13502
|
() => {
|
|
13478
13503
|
CONSUME(symbols_exports.logicAnd);
|
|
13479
|
-
const arg = SUBRULE2(valueLogical
|
|
13504
|
+
const arg = SUBRULE2(valueLogical);
|
|
13480
13505
|
return (left) => ACTION(() => C.factory.expressionOperation("&&", [left, arg], C.factory.sourceLocation(left, arg)));
|
|
13481
13506
|
},
|
|
13482
13507
|
ACTION,
|
|
@@ -13485,12 +13510,12 @@ var conditionalAndExpression = {
|
|
|
13485
13510
|
};
|
|
13486
13511
|
var valueLogical = {
|
|
13487
13512
|
name: "valueLogical",
|
|
13488
|
-
impl: ({ SUBRULE }) => () => SUBRULE(relationalExpression
|
|
13513
|
+
impl: ({ SUBRULE }) => () => SUBRULE(relationalExpression)
|
|
13489
13514
|
};
|
|
13490
13515
|
var relationalExpression = {
|
|
13491
13516
|
name: "relationalExpression",
|
|
13492
13517
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR1, OR2, OR3 }) => (C) => {
|
|
13493
|
-
const args1 = SUBRULE1(numericExpression
|
|
13518
|
+
const args1 = SUBRULE1(numericExpression);
|
|
13494
13519
|
const expression2 = OPTION(() => OR1([
|
|
13495
13520
|
{ ALT: () => {
|
|
13496
13521
|
const operator = OR2([
|
|
@@ -13501,7 +13526,7 @@ var relationalExpression = {
|
|
|
13501
13526
|
{ ALT: () => CONSUME(symbols_exports.lessThanEqual) },
|
|
13502
13527
|
{ ALT: () => CONSUME(symbols_exports.greaterThanEqual) }
|
|
13503
13528
|
]);
|
|
13504
|
-
const expr = SUBRULE2(numericExpression
|
|
13529
|
+
const expr = SUBRULE2(numericExpression);
|
|
13505
13530
|
return ACTION(() => C.factory.expressionOperation(
|
|
13506
13531
|
operator.image,
|
|
13507
13532
|
[args1, expr],
|
|
@@ -13513,7 +13538,7 @@ var relationalExpression = {
|
|
|
13513
13538
|
{ ALT: () => CONSUME(in_) },
|
|
13514
13539
|
{ ALT: () => CONSUME(notIn) }
|
|
13515
13540
|
]);
|
|
13516
|
-
const args = SUBRULE1(expressionList
|
|
13541
|
+
const args = SUBRULE1(expressionList);
|
|
13517
13542
|
return ACTION(() => C.factory.expressionOperation(
|
|
13518
13543
|
operator.image,
|
|
13519
13544
|
[args1, ...args.val],
|
|
@@ -13526,25 +13551,25 @@ var relationalExpression = {
|
|
|
13526
13551
|
};
|
|
13527
13552
|
var numericExpression = {
|
|
13528
13553
|
name: "numericExpression",
|
|
13529
|
-
impl: ({ SUBRULE }) => () => SUBRULE(additiveExpression
|
|
13554
|
+
impl: ({ SUBRULE }) => () => SUBRULE(additiveExpression)
|
|
13530
13555
|
};
|
|
13531
13556
|
var additiveExpression = {
|
|
13532
13557
|
name: "additiveExpression",
|
|
13533
13558
|
impl: ({ ACTION, SUBRULE, CONSUME, SUBRULE1, SUBRULE2, MANY1, MANY2, OR1, OR2, OR3, OR4 }) => (C) => constructLeftDeep(
|
|
13534
|
-
() => SUBRULE1(multiplicativeExpression
|
|
13559
|
+
() => SUBRULE1(multiplicativeExpression),
|
|
13535
13560
|
() => OR1([
|
|
13536
13561
|
{ ALT: () => {
|
|
13537
13562
|
const operator = OR2([
|
|
13538
13563
|
{ ALT: () => CONSUME(symbols_exports.opPlus) },
|
|
13539
13564
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13540
13565
|
]);
|
|
13541
|
-
const arg = SUBRULE2(multiplicativeExpression
|
|
13566
|
+
const arg = SUBRULE2(multiplicativeExpression);
|
|
13542
13567
|
return ACTION(() => (left) => C.factory.expressionOperation(operator.image, [left, arg], C.factory.sourceLocation(left, arg)));
|
|
13543
13568
|
} },
|
|
13544
13569
|
{ ALT: () => {
|
|
13545
13570
|
const { operator, startInt } = OR3([
|
|
13546
13571
|
{ ALT: () => {
|
|
13547
|
-
const integer2 = SUBRULE(numericLiteralPositive
|
|
13572
|
+
const integer2 = SUBRULE(numericLiteralPositive);
|
|
13548
13573
|
return ACTION(() => {
|
|
13549
13574
|
integer2.value = integer2.value.replace(/^\+/u, "");
|
|
13550
13575
|
return {
|
|
@@ -13554,7 +13579,7 @@ var additiveExpression = {
|
|
|
13554
13579
|
});
|
|
13555
13580
|
} },
|
|
13556
13581
|
{ ALT: () => {
|
|
13557
|
-
const integer2 = SUBRULE(numericLiteralNegative
|
|
13582
|
+
const integer2 = SUBRULE(numericLiteralNegative);
|
|
13558
13583
|
return ACTION(() => {
|
|
13559
13584
|
integer2.value = integer2.value.replace(/^-/u, "");
|
|
13560
13585
|
return {
|
|
@@ -13571,7 +13596,7 @@ var additiveExpression = {
|
|
|
13571
13596
|
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
13572
13597
|
{ ALT: () => CONSUME(symbols_exports.slash) }
|
|
13573
13598
|
]);
|
|
13574
|
-
const innerExpr = SUBRULE1(unaryExpression
|
|
13599
|
+
const innerExpr = SUBRULE1(unaryExpression);
|
|
13575
13600
|
return ACTION(() => (leftInner) => C.factory.expressionOperation(
|
|
13576
13601
|
innerOperator.image,
|
|
13577
13602
|
[leftInner, innerExpr],
|
|
@@ -13595,13 +13620,13 @@ var additiveExpression = {
|
|
|
13595
13620
|
var multiplicativeExpression = {
|
|
13596
13621
|
name: "multiplicativeExpression",
|
|
13597
13622
|
impl: ({ ACTION, CONSUME, MANY, SUBRULE1, SUBRULE2, OR }) => (C) => constructLeftDeep(
|
|
13598
|
-
() => SUBRULE1(unaryExpression
|
|
13623
|
+
() => SUBRULE1(unaryExpression),
|
|
13599
13624
|
() => {
|
|
13600
13625
|
const operator = OR([
|
|
13601
13626
|
{ ALT: () => CONSUME(symbols_exports.star) },
|
|
13602
13627
|
{ ALT: () => CONSUME(symbols_exports.slash) }
|
|
13603
13628
|
]);
|
|
13604
|
-
const expr = SUBRULE2(unaryExpression
|
|
13629
|
+
const expr = SUBRULE2(unaryExpression);
|
|
13605
13630
|
return (left) => ({
|
|
13606
13631
|
type: "expression",
|
|
13607
13632
|
subType: "operation",
|
|
@@ -13617,14 +13642,14 @@ var multiplicativeExpression = {
|
|
|
13617
13642
|
var unaryExpression = {
|
|
13618
13643
|
name: "unaryExpression",
|
|
13619
13644
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => (C) => OR1([
|
|
13620
|
-
{ ALT: () => SUBRULE1(primaryExpression
|
|
13645
|
+
{ ALT: () => SUBRULE1(primaryExpression) },
|
|
13621
13646
|
{ ALT: () => {
|
|
13622
13647
|
const operator = OR2([
|
|
13623
13648
|
{ ALT: () => CONSUME(symbols_exports.exclamation) },
|
|
13624
13649
|
{ ALT: () => CONSUME(symbols_exports.opPlus) },
|
|
13625
13650
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13626
13651
|
]);
|
|
13627
|
-
const expr = SUBRULE2(primaryExpression
|
|
13652
|
+
const expr = SUBRULE2(primaryExpression);
|
|
13628
13653
|
return ACTION(() => ({
|
|
13629
13654
|
type: "expression",
|
|
13630
13655
|
subType: "operation",
|
|
@@ -13638,20 +13663,20 @@ var unaryExpression = {
|
|
|
13638
13663
|
var primaryExpression = {
|
|
13639
13664
|
name: "primaryExpression",
|
|
13640
13665
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
13641
|
-
{ ALT: () => SUBRULE(brackettedExpression
|
|
13642
|
-
{ ALT: () => SUBRULE(builtInCall
|
|
13643
|
-
{ ALT: () => SUBRULE(iriOrFunction
|
|
13644
|
-
{ ALT: () => SUBRULE(rdfLiteral
|
|
13645
|
-
{ ALT: () => SUBRULE(numericLiteral
|
|
13646
|
-
{ ALT: () => SUBRULE(booleanLiteral
|
|
13647
|
-
{ ALT: () => SUBRULE(var_
|
|
13666
|
+
{ ALT: () => SUBRULE(brackettedExpression) },
|
|
13667
|
+
{ ALT: () => SUBRULE(builtInCall) },
|
|
13668
|
+
{ ALT: () => SUBRULE(iriOrFunction) },
|
|
13669
|
+
{ ALT: () => SUBRULE(rdfLiteral) },
|
|
13670
|
+
{ ALT: () => SUBRULE(numericLiteral) },
|
|
13671
|
+
{ ALT: () => SUBRULE(booleanLiteral) },
|
|
13672
|
+
{ ALT: () => SUBRULE(var_) }
|
|
13648
13673
|
])
|
|
13649
13674
|
};
|
|
13650
13675
|
var brackettedExpression = {
|
|
13651
13676
|
name: "brackettedExpression",
|
|
13652
13677
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
13653
13678
|
const open = CONSUME(symbols_exports.LParen);
|
|
13654
|
-
const expr = SUBRULE(expression
|
|
13679
|
+
const expr = SUBRULE(expression);
|
|
13655
13680
|
const close = CONSUME(symbols_exports.RParen);
|
|
13656
13681
|
return ACTION(() => {
|
|
13657
13682
|
expr.loc = C.factory.sourceLocation(open, close);
|
|
@@ -13662,9 +13687,9 @@ var brackettedExpression = {
|
|
|
13662
13687
|
var iriOrFunction = {
|
|
13663
13688
|
name: "iriOrFunction",
|
|
13664
13689
|
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
13665
|
-
const iriVal = SUBRULE(iri2
|
|
13690
|
+
const iriVal = SUBRULE(iri2);
|
|
13666
13691
|
const functionCall2 = OPTION(() => {
|
|
13667
|
-
const args = SUBRULE(argList
|
|
13692
|
+
const args = SUBRULE(argList);
|
|
13668
13693
|
return ACTION(() => {
|
|
13669
13694
|
const distinct2 = args.val.distinct;
|
|
13670
13695
|
if (!C.parseMode.has("canParseAggregate") && distinct2) {
|
|
@@ -13684,10 +13709,10 @@ var iriOrFunction = {
|
|
|
13684
13709
|
},
|
|
13685
13710
|
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
13686
13711
|
if (F2.isTermNamed(ast)) {
|
|
13687
|
-
SUBRULE(iri2, ast
|
|
13712
|
+
SUBRULE(iri2, ast);
|
|
13688
13713
|
} else {
|
|
13689
|
-
SUBRULE(iri2, ast.function
|
|
13690
|
-
SUBRULE(argList, F2.wrap({ args: ast.args, distinct: ast.distinct }, ast.loc)
|
|
13714
|
+
SUBRULE(iri2, ast.function);
|
|
13715
|
+
SUBRULE(argList, F2.wrap({ args: ast.args, distinct: ast.distinct }, ast.loc));
|
|
13691
13716
|
}
|
|
13692
13717
|
}
|
|
13693
13718
|
};
|
|
@@ -13696,10 +13721,10 @@ var iriOrFunction = {
|
|
|
13696
13721
|
var solutionModifier = {
|
|
13697
13722
|
name: "solutionModifier",
|
|
13698
13723
|
impl: ({ ACTION, SUBRULE, OPTION1, OPTION2, OPTION3, OPTION4 }) => () => {
|
|
13699
|
-
const group = OPTION1(() => SUBRULE(groupClause
|
|
13700
|
-
const having2 = OPTION2(() => SUBRULE(havingClause
|
|
13701
|
-
const order2 = OPTION3(() => SUBRULE(orderClause
|
|
13702
|
-
const limitOffset = OPTION4(() => SUBRULE(limitOffsetClauses
|
|
13724
|
+
const group = OPTION1(() => SUBRULE(groupClause));
|
|
13725
|
+
const having2 = OPTION2(() => SUBRULE(havingClause));
|
|
13726
|
+
const order2 = OPTION3(() => SUBRULE(orderClause));
|
|
13727
|
+
const limitOffset = OPTION4(() => SUBRULE(limitOffsetClauses));
|
|
13703
13728
|
return ACTION(() => ({
|
|
13704
13729
|
...limitOffset && { limitOffset },
|
|
13705
13730
|
...group && { group },
|
|
@@ -13709,16 +13734,16 @@ var solutionModifier = {
|
|
|
13709
13734
|
},
|
|
13710
13735
|
gImpl: ({ SUBRULE }) => (ast) => {
|
|
13711
13736
|
if (ast.group) {
|
|
13712
|
-
SUBRULE(groupClause, ast.group
|
|
13737
|
+
SUBRULE(groupClause, ast.group);
|
|
13713
13738
|
}
|
|
13714
13739
|
if (ast.having) {
|
|
13715
|
-
SUBRULE(havingClause, ast.having
|
|
13740
|
+
SUBRULE(havingClause, ast.having);
|
|
13716
13741
|
}
|
|
13717
13742
|
if (ast.order) {
|
|
13718
|
-
SUBRULE(orderClause, ast.order
|
|
13743
|
+
SUBRULE(orderClause, ast.order);
|
|
13719
13744
|
}
|
|
13720
13745
|
if (ast.limitOffset) {
|
|
13721
|
-
SUBRULE(limitOffsetClauses, ast.limitOffset
|
|
13746
|
+
SUBRULE(limitOffsetClauses, ast.limitOffset);
|
|
13722
13747
|
}
|
|
13723
13748
|
}
|
|
13724
13749
|
};
|
|
@@ -13729,7 +13754,7 @@ var groupClause = {
|
|
|
13729
13754
|
const start = CONSUME(groupByGroup);
|
|
13730
13755
|
CONSUME(by);
|
|
13731
13756
|
AT_LEAST_ONE(() => {
|
|
13732
|
-
groupings.push(SUBRULE1(groupCondition
|
|
13757
|
+
groupings.push(SUBRULE1(groupCondition));
|
|
13733
13758
|
});
|
|
13734
13759
|
return ACTION(() => ({
|
|
13735
13760
|
type: "solutionModifier",
|
|
@@ -13742,12 +13767,12 @@ var groupClause = {
|
|
|
13742
13767
|
F2.printFilter(ast, () => PRINT_WORDS("GROUP", "BY"));
|
|
13743
13768
|
for (const grouping of ast.groupings) {
|
|
13744
13769
|
if (F2.isExpression(grouping)) {
|
|
13745
|
-
SUBRULE(expression, grouping
|
|
13770
|
+
SUBRULE(expression, grouping);
|
|
13746
13771
|
} else {
|
|
13747
13772
|
F2.printFilter(ast, () => PRINT_WORDS("("));
|
|
13748
|
-
SUBRULE(expression, grouping.value
|
|
13773
|
+
SUBRULE(expression, grouping.value);
|
|
13749
13774
|
F2.printFilter(ast, () => PRINT_WORDS("AS"));
|
|
13750
|
-
SUBRULE(var_, grouping.variable
|
|
13775
|
+
SUBRULE(var_, grouping.variable);
|
|
13751
13776
|
F2.printFilter(ast, () => PRINT_WORDS(")"));
|
|
13752
13777
|
}
|
|
13753
13778
|
}
|
|
@@ -13756,16 +13781,16 @@ var groupClause = {
|
|
|
13756
13781
|
var groupCondition = {
|
|
13757
13782
|
name: "groupCondition",
|
|
13758
13783
|
impl: ({ ACTION, SUBRULE, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR }) => (C) => OR([
|
|
13759
|
-
{ ALT: () => SUBRULE(builtInCall
|
|
13760
|
-
{ ALT: () => SUBRULE(functionCall
|
|
13761
|
-
{ ALT: () => SUBRULE2(var_
|
|
13784
|
+
{ ALT: () => SUBRULE(builtInCall) },
|
|
13785
|
+
{ ALT: () => SUBRULE(functionCall) },
|
|
13786
|
+
{ ALT: () => SUBRULE2(var_) },
|
|
13762
13787
|
{
|
|
13763
13788
|
ALT: () => {
|
|
13764
13789
|
const open = CONSUME(symbols_exports.LParen);
|
|
13765
|
-
const expressionValue = SUBRULE(expression
|
|
13790
|
+
const expressionValue = SUBRULE(expression);
|
|
13766
13791
|
const variable = OPTION(() => {
|
|
13767
13792
|
CONSUME(as);
|
|
13768
|
-
return SUBRULE1(var_
|
|
13793
|
+
return SUBRULE1(var_);
|
|
13769
13794
|
});
|
|
13770
13795
|
const close = CONSUME(symbols_exports.RParen);
|
|
13771
13796
|
return ACTION(() => {
|
|
@@ -13789,7 +13814,7 @@ var havingClause = {
|
|
|
13789
13814
|
const expressions = [];
|
|
13790
13815
|
const couldParseAgg = ACTION(() => C.parseMode.has("canParseAggregate") || !C.parseMode.add("canParseAggregate"));
|
|
13791
13816
|
AT_LEAST_ONE(() => {
|
|
13792
|
-
expressions.push(SUBRULE(havingCondition
|
|
13817
|
+
expressions.push(SUBRULE(havingCondition));
|
|
13793
13818
|
});
|
|
13794
13819
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13795
13820
|
return ACTION(() => C.factory.solutionModifierHaving(expressions, C.factory.sourceLocation(having2, expressions.at(-1))));
|
|
@@ -13797,13 +13822,13 @@ var havingClause = {
|
|
|
13797
13822
|
gImpl: ({ PRINT_WORD, SUBRULE }) => (ast, { factory: F2 }) => {
|
|
13798
13823
|
F2.printFilter(ast, () => PRINT_WORD("HAVING"));
|
|
13799
13824
|
for (const having2 of ast.having) {
|
|
13800
|
-
SUBRULE(expression, having2
|
|
13825
|
+
SUBRULE(expression, having2);
|
|
13801
13826
|
}
|
|
13802
13827
|
}
|
|
13803
13828
|
};
|
|
13804
13829
|
var havingCondition = {
|
|
13805
13830
|
name: "havingCondition",
|
|
13806
|
-
impl: ({ SUBRULE }) => () => SUBRULE(constraint
|
|
13831
|
+
impl: ({ SUBRULE }) => () => SUBRULE(constraint)
|
|
13807
13832
|
};
|
|
13808
13833
|
var orderClause = {
|
|
13809
13834
|
name: "orderClause",
|
|
@@ -13813,7 +13838,7 @@ var orderClause = {
|
|
|
13813
13838
|
const orderings = [];
|
|
13814
13839
|
const couldParseAgg = ACTION(() => C.parseMode.has("canParseAggregate") || !C.parseMode.add("canParseAggregate"));
|
|
13815
13840
|
AT_LEAST_ONE(() => {
|
|
13816
|
-
orderings.push(SUBRULE1(orderCondition
|
|
13841
|
+
orderings.push(SUBRULE1(orderCondition));
|
|
13817
13842
|
});
|
|
13818
13843
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13819
13844
|
return ACTION(() => C.factory.solutionModifierOrder(orderings, C.factory.sourceLocation(order2, orderings.at(-1))));
|
|
@@ -13827,7 +13852,7 @@ var orderClause = {
|
|
|
13827
13852
|
F2.printFilter(ast, () => PRINT_WORDS("ASC"));
|
|
13828
13853
|
}
|
|
13829
13854
|
F2.printFilter(ast, () => PRINT_WORDS("("));
|
|
13830
|
-
SUBRULE(expression, ordering.expression
|
|
13855
|
+
SUBRULE(expression, ordering.expression);
|
|
13831
13856
|
F2.printFilter(ast, () => PRINT_WORDS(")"));
|
|
13832
13857
|
}
|
|
13833
13858
|
}
|
|
@@ -13846,7 +13871,7 @@ var orderCondition = {
|
|
|
13846
13871
|
return [true, token];
|
|
13847
13872
|
} }
|
|
13848
13873
|
]);
|
|
13849
|
-
const expr = SUBRULE(brackettedExpression
|
|
13874
|
+
const expr = SUBRULE(brackettedExpression);
|
|
13850
13875
|
return ACTION(() => ({
|
|
13851
13876
|
expression: expr,
|
|
13852
13877
|
descending: descending[0],
|
|
@@ -13854,11 +13879,11 @@ var orderCondition = {
|
|
|
13854
13879
|
}));
|
|
13855
13880
|
} },
|
|
13856
13881
|
{ ALT: () => {
|
|
13857
|
-
const expr = SUBRULE(constraint
|
|
13882
|
+
const expr = SUBRULE(constraint);
|
|
13858
13883
|
return ACTION(() => ({ expression: expr, descending: false, loc: expr.loc }));
|
|
13859
13884
|
} },
|
|
13860
13885
|
{ ALT: () => {
|
|
13861
|
-
const expr = SUBRULE(var_
|
|
13886
|
+
const expr = SUBRULE(var_);
|
|
13862
13887
|
return ACTION(() => ({ expression: expr, descending: false, loc: expr.loc }));
|
|
13863
13888
|
} }
|
|
13864
13889
|
])
|
|
@@ -13867,8 +13892,8 @@ var limitOffsetClauses = {
|
|
|
13867
13892
|
name: "limitOffsetClauses",
|
|
13868
13893
|
impl: ({ ACTION, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => (C) => OR([
|
|
13869
13894
|
{ ALT: () => {
|
|
13870
|
-
const limit2 = SUBRULE1(limitClause
|
|
13871
|
-
const offset2 = OPTION1(() => SUBRULE1(offsetClause
|
|
13895
|
+
const limit2 = SUBRULE1(limitClause);
|
|
13896
|
+
const offset2 = OPTION1(() => SUBRULE1(offsetClause));
|
|
13872
13897
|
return ACTION(() => C.factory.solutionModifierLimitOffset(
|
|
13873
13898
|
limit2.val,
|
|
13874
13899
|
offset2?.val,
|
|
@@ -13876,8 +13901,8 @@ var limitOffsetClauses = {
|
|
|
13876
13901
|
));
|
|
13877
13902
|
} },
|
|
13878
13903
|
{ ALT: () => {
|
|
13879
|
-
const offset2 = SUBRULE2(offsetClause
|
|
13880
|
-
const limit2 = OPTION2(() => SUBRULE2(limitClause
|
|
13904
|
+
const offset2 = SUBRULE2(offsetClause);
|
|
13905
|
+
const limit2 = OPTION2(() => SUBRULE2(limitClause));
|
|
13881
13906
|
return ACTION(() => C.factory.solutionModifierLimitOffset(
|
|
13882
13907
|
limit2?.val,
|
|
13883
13908
|
offset2.val,
|
|
@@ -13915,22 +13940,22 @@ var offsetClause = {
|
|
|
13915
13940
|
}
|
|
13916
13941
|
};
|
|
13917
13942
|
|
|
13918
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/queryUnit
|
|
13943
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/queryUnit.ts
|
|
13919
13944
|
var queryUnit = {
|
|
13920
13945
|
name: "queryUnit",
|
|
13921
|
-
impl: ({ SUBRULE }) => () => SUBRULE(query
|
|
13946
|
+
impl: ({ SUBRULE }) => () => SUBRULE(query)
|
|
13922
13947
|
};
|
|
13923
13948
|
var query = {
|
|
13924
13949
|
name: "query",
|
|
13925
13950
|
impl: ({ ACTION, SUBRULE, OR }) => (C) => {
|
|
13926
|
-
const prologueValues = SUBRULE(prologue
|
|
13951
|
+
const prologueValues = SUBRULE(prologue);
|
|
13927
13952
|
const subType = OR([
|
|
13928
|
-
{ ALT: () => SUBRULE(selectQuery
|
|
13929
|
-
{ ALT: () => SUBRULE(constructQuery
|
|
13930
|
-
{ ALT: () => SUBRULE(describeQuery
|
|
13931
|
-
{ ALT: () => SUBRULE(askQuery
|
|
13953
|
+
{ ALT: () => SUBRULE(selectQuery) },
|
|
13954
|
+
{ ALT: () => SUBRULE(constructQuery) },
|
|
13955
|
+
{ ALT: () => SUBRULE(describeQuery) },
|
|
13956
|
+
{ ALT: () => SUBRULE(askQuery) }
|
|
13932
13957
|
]);
|
|
13933
|
-
const values3 = SUBRULE(valuesClause
|
|
13958
|
+
const values3 = SUBRULE(valuesClause);
|
|
13934
13959
|
return ACTION(() => ({
|
|
13935
13960
|
context: prologueValues,
|
|
13936
13961
|
...subType,
|
|
@@ -13944,28 +13969,28 @@ var query = {
|
|
|
13944
13969
|
}));
|
|
13945
13970
|
},
|
|
13946
13971
|
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
13947
|
-
SUBRULE(prologue, ast.context
|
|
13972
|
+
SUBRULE(prologue, ast.context);
|
|
13948
13973
|
if (F2.isQuerySelect(ast)) {
|
|
13949
|
-
SUBRULE(selectQuery, ast
|
|
13974
|
+
SUBRULE(selectQuery, ast);
|
|
13950
13975
|
} else if (F2.isQueryConstruct(ast)) {
|
|
13951
|
-
SUBRULE(constructQuery, ast
|
|
13976
|
+
SUBRULE(constructQuery, ast);
|
|
13952
13977
|
} else if (F2.isQueryDescribe(ast)) {
|
|
13953
|
-
SUBRULE(describeQuery, ast
|
|
13978
|
+
SUBRULE(describeQuery, ast);
|
|
13954
13979
|
} else if (F2.isQueryAsk(ast)) {
|
|
13955
|
-
SUBRULE(askQuery, ast
|
|
13980
|
+
SUBRULE(askQuery, ast);
|
|
13956
13981
|
}
|
|
13957
13982
|
if (ast.values) {
|
|
13958
|
-
SUBRULE(inlineData, ast.values
|
|
13983
|
+
SUBRULE(inlineData, ast.values);
|
|
13959
13984
|
}
|
|
13960
13985
|
}
|
|
13961
13986
|
};
|
|
13962
13987
|
var selectQuery = {
|
|
13963
13988
|
name: "selectQuery",
|
|
13964
13989
|
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
13965
|
-
const selectVal = SUBRULE(selectClause
|
|
13966
|
-
const from2 = SUBRULE(datasetClauseStar
|
|
13967
|
-
const where2 = SUBRULE(whereClause
|
|
13968
|
-
const modifiers = SUBRULE(solutionModifier
|
|
13990
|
+
const selectVal = SUBRULE(selectClause);
|
|
13991
|
+
const from2 = SUBRULE(datasetClauseStar);
|
|
13992
|
+
const where2 = SUBRULE(whereClause);
|
|
13993
|
+
const modifiers = SUBRULE(solutionModifier);
|
|
13969
13994
|
return ACTION(() => {
|
|
13970
13995
|
const ret = {
|
|
13971
13996
|
subType: "select",
|
|
@@ -13991,19 +14016,19 @@ var selectQuery = {
|
|
|
13991
14016
|
variables: ast.variables,
|
|
13992
14017
|
distinct: ast.distinct,
|
|
13993
14018
|
reduced: ast.reduced
|
|
13994
|
-
}, F2.sourceLocation(...ast.variables))
|
|
13995
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
13996
|
-
SUBRULE(whereClause, F2.wrap(ast.where, ast.where.loc)
|
|
13997
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
14019
|
+
}, F2.sourceLocation(...ast.variables)));
|
|
14020
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
14021
|
+
SUBRULE(whereClause, F2.wrap(ast.where, ast.where.loc));
|
|
14022
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
13998
14023
|
}
|
|
13999
14024
|
};
|
|
14000
14025
|
var subSelect = {
|
|
14001
14026
|
name: "subSelect",
|
|
14002
14027
|
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
14003
|
-
const selectVal = SUBRULE(selectClause
|
|
14004
|
-
const where2 = SUBRULE(whereClause
|
|
14005
|
-
const modifiers = SUBRULE(solutionModifier
|
|
14006
|
-
const values3 = SUBRULE(valuesClause
|
|
14028
|
+
const selectVal = SUBRULE(selectClause);
|
|
14029
|
+
const where2 = SUBRULE(whereClause);
|
|
14030
|
+
const modifiers = SUBRULE(solutionModifier);
|
|
14031
|
+
const values3 = SUBRULE(valuesClause);
|
|
14007
14032
|
return ACTION(() => C.factory.querySelect({
|
|
14008
14033
|
where: where2.val,
|
|
14009
14034
|
datasets: C.factory.datasetClauses([], C.factory.sourceLocation()),
|
|
@@ -14068,7 +14093,7 @@ var selectClause = {
|
|
|
14068
14093
|
const variables = [];
|
|
14069
14094
|
AT_LEAST_ONE(() => OR3([
|
|
14070
14095
|
{ ALT: () => {
|
|
14071
|
-
const raw = SUBRULE1(var_
|
|
14096
|
+
const raw = SUBRULE1(var_);
|
|
14072
14097
|
ACTION(() => {
|
|
14073
14098
|
if (usedVars.some((v) => v.value === raw.value)) {
|
|
14074
14099
|
throw new Error(`Variable ${raw.value} used more than once in SELECT clause`);
|
|
@@ -14080,9 +14105,9 @@ var selectClause = {
|
|
|
14080
14105
|
} },
|
|
14081
14106
|
{ ALT: () => {
|
|
14082
14107
|
const open = CONSUME(symbols_exports.LParen);
|
|
14083
|
-
const expr = SUBRULE1(expression
|
|
14108
|
+
const expr = SUBRULE1(expression);
|
|
14084
14109
|
CONSUME(as);
|
|
14085
|
-
const variable = SUBRULE2(var_
|
|
14110
|
+
const variable = SUBRULE2(var_);
|
|
14086
14111
|
const close = CONSUME(symbols_exports.RParen);
|
|
14087
14112
|
ACTION(() => {
|
|
14088
14113
|
last2 = close;
|
|
@@ -14113,12 +14138,12 @@ var selectClause = {
|
|
|
14113
14138
|
if (F2.isWildcard(variable)) {
|
|
14114
14139
|
F2.printFilter(ast, () => PRINT_WORD("*"));
|
|
14115
14140
|
} else if (F2.isTerm(variable)) {
|
|
14116
|
-
SUBRULE(var_, variable
|
|
14141
|
+
SUBRULE(var_, variable);
|
|
14117
14142
|
} else {
|
|
14118
14143
|
F2.printFilter(ast, () => PRINT_WORD("("));
|
|
14119
|
-
SUBRULE(expression, variable.expression
|
|
14144
|
+
SUBRULE(expression, variable.expression);
|
|
14120
14145
|
F2.printFilter(ast, () => PRINT_WORD("AS"));
|
|
14121
|
-
SUBRULE(var_, variable.variable
|
|
14146
|
+
SUBRULE(var_, variable.variable);
|
|
14122
14147
|
F2.printFilter(ast, () => PRINT_WORD(")"));
|
|
14123
14148
|
}
|
|
14124
14149
|
}
|
|
@@ -14130,10 +14155,10 @@ var constructQuery = {
|
|
|
14130
14155
|
const construct2 = CONSUME(construct);
|
|
14131
14156
|
return OR([
|
|
14132
14157
|
{ ALT: () => {
|
|
14133
|
-
const template = SUBRULE1(constructTemplate
|
|
14134
|
-
const from2 = SUBRULE1(datasetClauseStar
|
|
14135
|
-
const where2 = SUBRULE1(whereClause
|
|
14136
|
-
const modifiers = SUBRULE1(solutionModifier
|
|
14158
|
+
const template = SUBRULE1(constructTemplate);
|
|
14159
|
+
const from2 = SUBRULE1(datasetClauseStar);
|
|
14160
|
+
const where2 = SUBRULE1(whereClause);
|
|
14161
|
+
const modifiers = SUBRULE1(solutionModifier);
|
|
14137
14162
|
return ACTION(() => ({
|
|
14138
14163
|
subType: "construct",
|
|
14139
14164
|
template: template.val,
|
|
@@ -14151,10 +14176,10 @@ var constructQuery = {
|
|
|
14151
14176
|
}));
|
|
14152
14177
|
} },
|
|
14153
14178
|
{ ALT: () => {
|
|
14154
|
-
const from2 = SUBRULE2(datasetClauseStar
|
|
14179
|
+
const from2 = SUBRULE2(datasetClauseStar);
|
|
14155
14180
|
CONSUME(where);
|
|
14156
|
-
const template = SUBRULE2(constructTemplate
|
|
14157
|
-
const modifiers = SUBRULE2(solutionModifier
|
|
14181
|
+
const template = SUBRULE2(constructTemplate);
|
|
14182
|
+
const modifiers = SUBRULE2(solutionModifier);
|
|
14158
14183
|
return ACTION(() => ({
|
|
14159
14184
|
subType: "construct",
|
|
14160
14185
|
template: template.val,
|
|
@@ -14177,16 +14202,16 @@ var constructQuery = {
|
|
|
14177
14202
|
F2.printFilter(ast, () => PRINT_WORD("CONSTRUCT"));
|
|
14178
14203
|
if (!F2.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
14179
14204
|
F2.printFilter(ast, () => PRINT_WORD("{"));
|
|
14180
|
-
SUBRULE(triplesBlock, ast.template
|
|
14205
|
+
SUBRULE(triplesBlock, ast.template);
|
|
14181
14206
|
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
14182
14207
|
}
|
|
14183
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
14208
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
14184
14209
|
if (F2.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
14185
|
-
SUBRULE(whereClause, F2.wrap(F2.patternGroup([ast.template], ast.template.loc), ast.template.loc)
|
|
14210
|
+
SUBRULE(whereClause, F2.wrap(F2.patternGroup([ast.template], ast.template.loc), ast.template.loc));
|
|
14186
14211
|
} else {
|
|
14187
|
-
SUBRULE(whereClause, F2.wrap(ast.where, ast.where.loc)
|
|
14212
|
+
SUBRULE(whereClause, F2.wrap(ast.where, ast.where.loc));
|
|
14188
14213
|
}
|
|
14189
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
14214
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
14190
14215
|
}
|
|
14191
14216
|
};
|
|
14192
14217
|
var describeQuery = {
|
|
@@ -14197,7 +14222,7 @@ var describeQuery = {
|
|
|
14197
14222
|
{ ALT: () => {
|
|
14198
14223
|
const variables2 = [];
|
|
14199
14224
|
AT_LEAST_ONE(() => {
|
|
14200
|
-
variables2.push(SUBRULE1(varOrIri
|
|
14225
|
+
variables2.push(SUBRULE1(varOrIri));
|
|
14201
14226
|
});
|
|
14202
14227
|
return variables2;
|
|
14203
14228
|
} },
|
|
@@ -14206,9 +14231,9 @@ var describeQuery = {
|
|
|
14206
14231
|
return [ACTION(() => C.factory.wildcard(C.factory.sourceLocation(star2)))];
|
|
14207
14232
|
} }
|
|
14208
14233
|
]);
|
|
14209
|
-
const from2 = SUBRULE1(datasetClauseStar
|
|
14210
|
-
const where2 = OPTION(() => SUBRULE1(whereClause
|
|
14211
|
-
const modifiers = SUBRULE1(solutionModifier
|
|
14234
|
+
const from2 = SUBRULE1(datasetClauseStar);
|
|
14235
|
+
const where2 = OPTION(() => SUBRULE1(whereClause));
|
|
14236
|
+
const modifiers = SUBRULE1(solutionModifier);
|
|
14212
14237
|
return ACTION(() => ({
|
|
14213
14238
|
subType: "describe",
|
|
14214
14239
|
variables,
|
|
@@ -14233,23 +14258,23 @@ var describeQuery = {
|
|
|
14233
14258
|
F2.printFilter(ast, () => PRINT_WORD("*"));
|
|
14234
14259
|
} else {
|
|
14235
14260
|
for (const variable of ast.variables) {
|
|
14236
|
-
SUBRULE(varOrTerm, variable
|
|
14261
|
+
SUBRULE(varOrTerm, variable);
|
|
14237
14262
|
}
|
|
14238
14263
|
}
|
|
14239
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
14264
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
14240
14265
|
if (ast.where) {
|
|
14241
|
-
SUBRULE(whereClause, F2.wrap(ast.where, ast.loc)
|
|
14266
|
+
SUBRULE(whereClause, F2.wrap(ast.where, ast.loc));
|
|
14242
14267
|
}
|
|
14243
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
14268
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
14244
14269
|
}
|
|
14245
14270
|
};
|
|
14246
14271
|
var askQuery = {
|
|
14247
14272
|
name: "askQuery",
|
|
14248
14273
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14249
14274
|
const ask2 = CONSUME(ask);
|
|
14250
|
-
const from2 = SUBRULE(datasetClauseStar
|
|
14251
|
-
const where2 = SUBRULE(whereClause
|
|
14252
|
-
const modifiers = SUBRULE(solutionModifier
|
|
14275
|
+
const from2 = SUBRULE(datasetClauseStar);
|
|
14276
|
+
const where2 = SUBRULE(whereClause);
|
|
14277
|
+
const modifiers = SUBRULE(solutionModifier);
|
|
14253
14278
|
return ACTION(() => ({
|
|
14254
14279
|
subType: "ask",
|
|
14255
14280
|
datasets: from2,
|
|
@@ -14268,20 +14293,20 @@ var askQuery = {
|
|
|
14268
14293
|
},
|
|
14269
14294
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
14270
14295
|
F2.printFilter(ast, () => PRINT_WORD("ASK"));
|
|
14271
|
-
SUBRULE(datasetClauseStar, ast.datasets
|
|
14272
|
-
SUBRULE(whereClause, F2.wrap(ast.where, ast.loc)
|
|
14273
|
-
SUBRULE(solutionModifier, ast.solutionModifiers
|
|
14296
|
+
SUBRULE(datasetClauseStar, ast.datasets);
|
|
14297
|
+
SUBRULE(whereClause, F2.wrap(ast.where, ast.loc));
|
|
14298
|
+
SUBRULE(solutionModifier, ast.solutionModifiers);
|
|
14274
14299
|
}
|
|
14275
14300
|
};
|
|
14276
14301
|
var valuesClause = {
|
|
14277
14302
|
name: "valuesClause",
|
|
14278
|
-
impl: ({ OPTION, SUBRULE }) => () => OPTION(() => SUBRULE(inlineData
|
|
14303
|
+
impl: ({ OPTION, SUBRULE }) => () => OPTION(() => SUBRULE(inlineData))
|
|
14279
14304
|
};
|
|
14280
14305
|
var constructTemplate = {
|
|
14281
14306
|
name: "constructTemplate",
|
|
14282
14307
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14283
14308
|
const open = CONSUME(symbols_exports.LCurly);
|
|
14284
|
-
const triples = OPTION(() => SUBRULE1(constructTriples
|
|
14309
|
+
const triples = OPTION(() => SUBRULE1(constructTriples));
|
|
14285
14310
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14286
14311
|
return ACTION(() => C.factory.wrap(
|
|
14287
14312
|
triples ?? C.factory.patternBgp([], C.factory.sourceLocation()),
|
|
@@ -14294,27 +14319,27 @@ var constructTriples = {
|
|
|
14294
14319
|
impl: triplesTemplate.impl
|
|
14295
14320
|
};
|
|
14296
14321
|
|
|
14297
|
-
// ../../packages/rules-sparql-1-1/lib/grammar/updateUnit
|
|
14322
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/updateUnit.ts
|
|
14298
14323
|
var updateUnit = {
|
|
14299
14324
|
name: "updateUnit",
|
|
14300
|
-
impl: ({ SUBRULE }) => () => SUBRULE(update
|
|
14325
|
+
impl: ({ SUBRULE }) => () => SUBRULE(update)
|
|
14301
14326
|
};
|
|
14302
14327
|
var update = {
|
|
14303
14328
|
name: "update",
|
|
14304
14329
|
impl: ({ ACTION, SUBRULE, SUBRULE1, SUBRULE2, CONSUME, OPTION1, MANY }) => (C) => {
|
|
14305
14330
|
const updates = [];
|
|
14306
|
-
const prologueValues = SUBRULE1(prologue
|
|
14331
|
+
const prologueValues = SUBRULE1(prologue);
|
|
14307
14332
|
updates.push({ context: prologueValues });
|
|
14308
14333
|
let parsedSemi = true;
|
|
14309
14334
|
MANY({
|
|
14310
14335
|
GATE: () => parsedSemi,
|
|
14311
14336
|
DEF: () => {
|
|
14312
14337
|
parsedSemi = false;
|
|
14313
|
-
updates.at(-1).operation = SUBRULE(update1
|
|
14338
|
+
updates.at(-1).operation = SUBRULE(update1);
|
|
14314
14339
|
OPTION1(() => {
|
|
14315
14340
|
CONSUME(symbols_exports.semi);
|
|
14316
14341
|
parsedSemi = true;
|
|
14317
|
-
const innerPrologue = SUBRULE2(prologue
|
|
14342
|
+
const innerPrologue = SUBRULE2(prologue);
|
|
14318
14343
|
updates.push({ context: innerPrologue });
|
|
14319
14344
|
});
|
|
14320
14345
|
}
|
|
@@ -14336,9 +14361,9 @@ var update = {
|
|
|
14336
14361
|
},
|
|
14337
14362
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
14338
14363
|
for (const update2 of ast.updates) {
|
|
14339
|
-
SUBRULE(prologue, update2.context
|
|
14364
|
+
SUBRULE(prologue, update2.context);
|
|
14340
14365
|
if (update2.operation) {
|
|
14341
|
-
SUBRULE(update1, update2.operation
|
|
14366
|
+
SUBRULE(update1, update2.operation);
|
|
14342
14367
|
F2.printFilter(ast, () => PRINT_WORD(" ;\n"));
|
|
14343
14368
|
}
|
|
14344
14369
|
}
|
|
@@ -14347,52 +14372,52 @@ var update = {
|
|
|
14347
14372
|
var update1 = {
|
|
14348
14373
|
name: "update1",
|
|
14349
14374
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
14350
|
-
{ ALT: () => SUBRULE(load2
|
|
14351
|
-
{ ALT: () => SUBRULE(clear2
|
|
14352
|
-
{ ALT: () => SUBRULE(drop3
|
|
14353
|
-
{ ALT: () => SUBRULE(add2
|
|
14354
|
-
{ ALT: () => SUBRULE(move2
|
|
14355
|
-
{ ALT: () => SUBRULE(copy2
|
|
14356
|
-
{ ALT: () => SUBRULE(create2
|
|
14357
|
-
{ ALT: () => SUBRULE(insertData
|
|
14358
|
-
{ ALT: () => SUBRULE(deleteData
|
|
14359
|
-
{ ALT: () => SUBRULE(deleteWhere
|
|
14360
|
-
{ ALT: () => SUBRULE(modify
|
|
14375
|
+
{ ALT: () => SUBRULE(load2) },
|
|
14376
|
+
{ ALT: () => SUBRULE(clear2) },
|
|
14377
|
+
{ ALT: () => SUBRULE(drop3) },
|
|
14378
|
+
{ ALT: () => SUBRULE(add2) },
|
|
14379
|
+
{ ALT: () => SUBRULE(move2) },
|
|
14380
|
+
{ ALT: () => SUBRULE(copy2) },
|
|
14381
|
+
{ ALT: () => SUBRULE(create2) },
|
|
14382
|
+
{ ALT: () => SUBRULE(insertData) },
|
|
14383
|
+
{ ALT: () => SUBRULE(deleteData) },
|
|
14384
|
+
{ ALT: () => SUBRULE(deleteWhere) },
|
|
14385
|
+
{ ALT: () => SUBRULE(modify) }
|
|
14361
14386
|
]),
|
|
14362
14387
|
gImpl: ({ SUBRULE }) => (ast) => {
|
|
14363
14388
|
switch (ast.subType) {
|
|
14364
14389
|
case "load":
|
|
14365
|
-
SUBRULE(load2, ast
|
|
14390
|
+
SUBRULE(load2, ast);
|
|
14366
14391
|
break;
|
|
14367
14392
|
case "clear":
|
|
14368
|
-
SUBRULE(clear2, ast
|
|
14393
|
+
SUBRULE(clear2, ast);
|
|
14369
14394
|
break;
|
|
14370
14395
|
case "drop":
|
|
14371
|
-
SUBRULE(drop3, ast
|
|
14396
|
+
SUBRULE(drop3, ast);
|
|
14372
14397
|
break;
|
|
14373
14398
|
case "add":
|
|
14374
|
-
SUBRULE(add2, ast
|
|
14399
|
+
SUBRULE(add2, ast);
|
|
14375
14400
|
break;
|
|
14376
14401
|
case "move":
|
|
14377
|
-
SUBRULE(move2, ast
|
|
14402
|
+
SUBRULE(move2, ast);
|
|
14378
14403
|
break;
|
|
14379
14404
|
case "copy":
|
|
14380
|
-
SUBRULE(copy2, ast
|
|
14405
|
+
SUBRULE(copy2, ast);
|
|
14381
14406
|
break;
|
|
14382
14407
|
case "create":
|
|
14383
|
-
SUBRULE(create2, ast
|
|
14408
|
+
SUBRULE(create2, ast);
|
|
14384
14409
|
break;
|
|
14385
14410
|
case "insertdata":
|
|
14386
|
-
SUBRULE(insertData, ast
|
|
14411
|
+
SUBRULE(insertData, ast);
|
|
14387
14412
|
break;
|
|
14388
14413
|
case "deletedata":
|
|
14389
|
-
SUBRULE(deleteData, ast
|
|
14414
|
+
SUBRULE(deleteData, ast);
|
|
14390
14415
|
break;
|
|
14391
14416
|
case "deletewhere":
|
|
14392
|
-
SUBRULE(deleteWhere, ast
|
|
14417
|
+
SUBRULE(deleteWhere, ast);
|
|
14393
14418
|
break;
|
|
14394
14419
|
case "modify":
|
|
14395
|
-
SUBRULE(modify, ast
|
|
14420
|
+
SUBRULE(modify, ast);
|
|
14396
14421
|
break;
|
|
14397
14422
|
}
|
|
14398
14423
|
}
|
|
@@ -14402,10 +14427,10 @@ var load2 = {
|
|
|
14402
14427
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION1, OPTION2 }) => (C) => {
|
|
14403
14428
|
const loadToken = CONSUME(load);
|
|
14404
14429
|
const silent2 = OPTION1(() => CONSUME(silent));
|
|
14405
|
-
const source = SUBRULE1(iri2
|
|
14430
|
+
const source = SUBRULE1(iri2);
|
|
14406
14431
|
const destination = OPTION2(() => {
|
|
14407
14432
|
CONSUME(loadInto);
|
|
14408
|
-
return SUBRULE1(graphRef
|
|
14433
|
+
return SUBRULE1(graphRef);
|
|
14409
14434
|
});
|
|
14410
14435
|
return ACTION(() => C.factory.updateOperationLoad(
|
|
14411
14436
|
C.factory.sourceLocation(loadToken, source, destination),
|
|
@@ -14421,10 +14446,10 @@ var load2 = {
|
|
|
14421
14446
|
PRINT_WORD("SILENT");
|
|
14422
14447
|
}
|
|
14423
14448
|
});
|
|
14424
|
-
SUBRULE(iri2, ast.source
|
|
14449
|
+
SUBRULE(iri2, ast.source);
|
|
14425
14450
|
if (ast.destination) {
|
|
14426
14451
|
F2.printFilter(ast, () => PRINT_WORD("INTO"));
|
|
14427
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14452
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14428
14453
|
}
|
|
14429
14454
|
}
|
|
14430
14455
|
};
|
|
@@ -14434,7 +14459,7 @@ function clearOrDrop(operation) {
|
|
|
14434
14459
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14435
14460
|
const opToken = CONSUME(operation);
|
|
14436
14461
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14437
|
-
const destination = SUBRULE1(graphRefAll
|
|
14462
|
+
const destination = SUBRULE1(graphRefAll);
|
|
14438
14463
|
return ACTION(() => C.factory.updateOperationClearDrop(
|
|
14439
14464
|
unCapitalize(operation.name),
|
|
14440
14465
|
Boolean(silent2),
|
|
@@ -14449,7 +14474,7 @@ function clearOrDrop(operation) {
|
|
|
14449
14474
|
PRINT_WORD("SILENT");
|
|
14450
14475
|
}
|
|
14451
14476
|
});
|
|
14452
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14477
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14453
14478
|
}
|
|
14454
14479
|
};
|
|
14455
14480
|
}
|
|
@@ -14460,7 +14485,7 @@ var create2 = {
|
|
|
14460
14485
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14461
14486
|
const createToken3 = CONSUME(create);
|
|
14462
14487
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14463
|
-
const destination = SUBRULE1(graphRef
|
|
14488
|
+
const destination = SUBRULE1(graphRef);
|
|
14464
14489
|
return ACTION(() => C.factory.updateOperationCreate(
|
|
14465
14490
|
destination,
|
|
14466
14491
|
Boolean(silent2),
|
|
@@ -14474,7 +14499,7 @@ var create2 = {
|
|
|
14474
14499
|
PRINT_WORD("SILENT");
|
|
14475
14500
|
}
|
|
14476
14501
|
});
|
|
14477
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14502
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14478
14503
|
}
|
|
14479
14504
|
};
|
|
14480
14505
|
function copyMoveAddOperation(operation) {
|
|
@@ -14483,9 +14508,9 @@ function copyMoveAddOperation(operation) {
|
|
|
14483
14508
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION }) => (C) => {
|
|
14484
14509
|
const op = CONSUME(operation);
|
|
14485
14510
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
14486
|
-
const source = SUBRULE1(graphOrDefault
|
|
14511
|
+
const source = SUBRULE1(graphOrDefault);
|
|
14487
14512
|
CONSUME(to);
|
|
14488
|
-
const destination = SUBRULE2(graphOrDefault
|
|
14513
|
+
const destination = SUBRULE2(graphOrDefault);
|
|
14489
14514
|
return ACTION(() => C.factory.updateOperationAddMoveCopy(
|
|
14490
14515
|
unCapitalize(operation.name),
|
|
14491
14516
|
source,
|
|
@@ -14501,9 +14526,9 @@ function copyMoveAddOperation(operation) {
|
|
|
14501
14526
|
PRINT_WORD("SILENT");
|
|
14502
14527
|
}
|
|
14503
14528
|
});
|
|
14504
|
-
SUBRULE(graphRefAll, ast.source
|
|
14529
|
+
SUBRULE(graphRefAll, ast.source);
|
|
14505
14530
|
F2.printFilter(ast, () => PRINT_WORD("TO"));
|
|
14506
|
-
SUBRULE(graphRefAll, ast.destination
|
|
14531
|
+
SUBRULE(graphRefAll, ast.destination);
|
|
14507
14532
|
}
|
|
14508
14533
|
};
|
|
14509
14534
|
}
|
|
@@ -14514,7 +14539,7 @@ var quadPattern = {
|
|
|
14514
14539
|
name: "quadPattern",
|
|
14515
14540
|
impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
|
|
14516
14541
|
const open = CONSUME(symbols_exports.LCurly);
|
|
14517
|
-
const val = SUBRULE1(quads
|
|
14542
|
+
const val = SUBRULE1(quads);
|
|
14518
14543
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14519
14544
|
return ACTION(() => C.factory.wrap(val.val, C.factory.sourceLocation(open, close)));
|
|
14520
14545
|
}
|
|
@@ -14524,7 +14549,7 @@ var quadData = {
|
|
|
14524
14549
|
impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
|
|
14525
14550
|
const open = CONSUME(symbols_exports.LCurly);
|
|
14526
14551
|
const couldParseVars = ACTION(() => C.parseMode.delete("canParseVars"));
|
|
14527
|
-
const val = SUBRULE1(quads
|
|
14552
|
+
const val = SUBRULE1(quads);
|
|
14528
14553
|
ACTION(() => couldParseVars && C.parseMode.add("canParseVars"));
|
|
14529
14554
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14530
14555
|
return ACTION(() => C.factory.wrap(val.val, C.factory.sourceLocation(open, close)));
|
|
@@ -14540,7 +14565,7 @@ function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
|
14540
14565
|
if (name !== "insertData") {
|
|
14541
14566
|
couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
|
|
14542
14567
|
}
|
|
14543
|
-
const data = SUBRULE1(dataRule
|
|
14568
|
+
const data = SUBRULE1(dataRule);
|
|
14544
14569
|
if (name !== "insertData") {
|
|
14545
14570
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
14546
14571
|
}
|
|
@@ -14551,7 +14576,7 @@ function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
|
14551
14576
|
subType === "insertdata" ? "INSERT DATA" : subType === "deletedata" ? "DELETE DATA" : "DELETE WHERE",
|
|
14552
14577
|
"{"
|
|
14553
14578
|
));
|
|
14554
|
-
SUBRULE(quads, F2.wrap(ast.data, ast.loc)
|
|
14579
|
+
SUBRULE(quads, F2.wrap(ast.data, ast.loc));
|
|
14555
14580
|
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
14556
14581
|
}
|
|
14557
14582
|
};
|
|
@@ -14564,23 +14589,23 @@ var modify = {
|
|
|
14564
14589
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => (C) => {
|
|
14565
14590
|
const graph2 = OPTION1(() => {
|
|
14566
14591
|
const withToken = CONSUME(modifyWith);
|
|
14567
|
-
const graph3 = SUBRULE1(iri2
|
|
14592
|
+
const graph3 = SUBRULE1(iri2);
|
|
14568
14593
|
return { withToken, graph: graph3 };
|
|
14569
14594
|
});
|
|
14570
14595
|
const { insert, del } = OR([
|
|
14571
14596
|
{ ALT: () => {
|
|
14572
|
-
const del2 = SUBRULE1(deleteClause2
|
|
14573
|
-
const insert2 = OPTION2(() => SUBRULE1(insertClause2
|
|
14597
|
+
const del2 = SUBRULE1(deleteClause2);
|
|
14598
|
+
const insert2 = OPTION2(() => SUBRULE1(insertClause2));
|
|
14574
14599
|
return { del: del2, insert: insert2 };
|
|
14575
14600
|
} },
|
|
14576
14601
|
{ ALT: () => {
|
|
14577
|
-
const insert2 = SUBRULE2(insertClause2
|
|
14602
|
+
const insert2 = SUBRULE2(insertClause2);
|
|
14578
14603
|
return { insert: insert2, del: void 0 };
|
|
14579
14604
|
} }
|
|
14580
14605
|
]);
|
|
14581
|
-
const using = SUBRULE1(usingClauseStar
|
|
14606
|
+
const using = SUBRULE1(usingClauseStar);
|
|
14582
14607
|
CONSUME(where);
|
|
14583
|
-
const where2 = SUBRULE1(groupGraphPattern
|
|
14608
|
+
const where2 = SUBRULE1(groupGraphPattern);
|
|
14584
14609
|
return ACTION(() => C.factory.updateOperationModify(
|
|
14585
14610
|
C.factory.sourceLocation(graph2?.withToken, del, insert, where2),
|
|
14586
14611
|
insert?.val ?? [],
|
|
@@ -14593,21 +14618,21 @@ var modify = {
|
|
|
14593
14618
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
14594
14619
|
if (ast.graph) {
|
|
14595
14620
|
F2.printFilter(ast, () => PRINT_WORD("WITH"));
|
|
14596
|
-
SUBRULE(iri2, ast.graph
|
|
14621
|
+
SUBRULE(iri2, ast.graph);
|
|
14597
14622
|
}
|
|
14598
14623
|
if (ast.delete.length > 0) {
|
|
14599
14624
|
F2.printFilter(ast, () => PRINT_WORD("DELETE", "{"));
|
|
14600
|
-
SUBRULE(quads, F2.wrap(ast.delete, ast.loc)
|
|
14625
|
+
SUBRULE(quads, F2.wrap(ast.delete, ast.loc));
|
|
14601
14626
|
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
14602
14627
|
}
|
|
14603
14628
|
if (ast.insert.length > 0) {
|
|
14604
14629
|
F2.printFilter(ast, () => PRINT_WORD("INSERT", "{"));
|
|
14605
|
-
SUBRULE(quads, F2.wrap(ast.insert, ast.loc)
|
|
14630
|
+
SUBRULE(quads, F2.wrap(ast.insert, ast.loc));
|
|
14606
14631
|
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
14607
14632
|
}
|
|
14608
|
-
SUBRULE(usingClauseStar, ast.from
|
|
14633
|
+
SUBRULE(usingClauseStar, ast.from);
|
|
14609
14634
|
F2.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
14610
|
-
SUBRULE(groupGraphPattern, ast.where
|
|
14635
|
+
SUBRULE(groupGraphPattern, ast.where);
|
|
14611
14636
|
}
|
|
14612
14637
|
};
|
|
14613
14638
|
var deleteClause2 = {
|
|
@@ -14615,7 +14640,7 @@ var deleteClause2 = {
|
|
|
14615
14640
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14616
14641
|
const delToken = CONSUME(deleteClause);
|
|
14617
14642
|
const couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
|
|
14618
|
-
const del = SUBRULE(quadPattern
|
|
14643
|
+
const del = SUBRULE(quadPattern);
|
|
14619
14644
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
14620
14645
|
return ACTION(() => C.factory.wrap(del.val, C.factory.sourceLocation(delToken, del)));
|
|
14621
14646
|
}
|
|
@@ -14624,7 +14649,7 @@ var insertClause2 = {
|
|
|
14624
14649
|
name: "insertClause",
|
|
14625
14650
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14626
14651
|
const insertToken = CONSUME(insertClause);
|
|
14627
|
-
const insert = SUBRULE(quadPattern
|
|
14652
|
+
const insert = SUBRULE(quadPattern);
|
|
14628
14653
|
return ACTION(() => C.factory.wrap(insert.val, C.factory.sourceLocation(insertToken, insert)));
|
|
14629
14654
|
}
|
|
14630
14655
|
};
|
|
@@ -14637,7 +14662,7 @@ var graphOrDefault = {
|
|
|
14637
14662
|
} },
|
|
14638
14663
|
{ ALT: () => {
|
|
14639
14664
|
const graph2 = OPTION(() => CONSUME(graph_exports.graph));
|
|
14640
|
-
const name = SUBRULE1(iri2
|
|
14665
|
+
const name = SUBRULE1(iri2);
|
|
14641
14666
|
return ACTION(() => C.factory.graphRefSpecific(name, C.factory.sourceLocation(graph2, name)));
|
|
14642
14667
|
} }
|
|
14643
14668
|
])
|
|
@@ -14646,18 +14671,18 @@ var graphRef = {
|
|
|
14646
14671
|
name: "graphRef",
|
|
14647
14672
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14648
14673
|
const graph2 = CONSUME(graph_exports.graph);
|
|
14649
|
-
const val = SUBRULE(iri2
|
|
14674
|
+
const val = SUBRULE(iri2);
|
|
14650
14675
|
return ACTION(() => C.factory.graphRefSpecific(val, C.factory.sourceLocation(graph2, val)));
|
|
14651
14676
|
},
|
|
14652
14677
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
14653
14678
|
F2.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14654
|
-
SUBRULE(iri2, ast.graph
|
|
14679
|
+
SUBRULE(iri2, ast.graph);
|
|
14655
14680
|
}
|
|
14656
14681
|
};
|
|
14657
14682
|
var graphRefAll = {
|
|
14658
14683
|
name: "graphRefAll",
|
|
14659
14684
|
impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => OR([
|
|
14660
|
-
{ ALT: () => SUBRULE(graphRef
|
|
14685
|
+
{ ALT: () => SUBRULE(graphRef) },
|
|
14661
14686
|
{ ALT: () => {
|
|
14662
14687
|
const def = CONSUME(graph_exports.default_);
|
|
14663
14688
|
return ACTION(() => C.factory.graphRefDefault(C.factory.sourceLocation(def)));
|
|
@@ -14673,7 +14698,7 @@ var graphRefAll = {
|
|
|
14673
14698
|
]),
|
|
14674
14699
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
14675
14700
|
if (F2.isGraphRefSpecific(ast)) {
|
|
14676
|
-
SUBRULE(graphRef, ast
|
|
14701
|
+
SUBRULE(graphRef, ast);
|
|
14677
14702
|
} else if (F2.isGraphRefDefault(ast)) {
|
|
14678
14703
|
F2.printFilter(ast, () => PRINT_WORD("DEFAULT"));
|
|
14679
14704
|
} else if (F2.isGraphRefNamed(ast)) {
|
|
@@ -14689,12 +14714,12 @@ var quads = {
|
|
|
14689
14714
|
const quads2 = [];
|
|
14690
14715
|
let last2;
|
|
14691
14716
|
OPTION1(() => {
|
|
14692
|
-
const triples = SUBRULE1(triplesTemplate
|
|
14717
|
+
const triples = SUBRULE1(triplesTemplate);
|
|
14693
14718
|
last2 = triples;
|
|
14694
14719
|
ACTION(() => quads2.push(triples));
|
|
14695
14720
|
});
|
|
14696
14721
|
MANY(() => {
|
|
14697
|
-
const notTriples = SUBRULE(quadsNotTriples
|
|
14722
|
+
const notTriples = SUBRULE(quadsNotTriples);
|
|
14698
14723
|
last2 = notTriples;
|
|
14699
14724
|
quads2.push(notTriples);
|
|
14700
14725
|
OPTION2(() => {
|
|
@@ -14703,7 +14728,7 @@ var quads = {
|
|
|
14703
14728
|
return dotToken;
|
|
14704
14729
|
});
|
|
14705
14730
|
OPTION3(() => {
|
|
14706
|
-
const triples = SUBRULE2(triplesTemplate
|
|
14731
|
+
const triples = SUBRULE2(triplesTemplate);
|
|
14707
14732
|
last2 = triples;
|
|
14708
14733
|
ACTION(() => quads2.push(triples));
|
|
14709
14734
|
});
|
|
@@ -14713,9 +14738,9 @@ var quads = {
|
|
|
14713
14738
|
gImpl: ({ SUBRULE }) => (ast, { factory: F2 }) => {
|
|
14714
14739
|
for (const quad of ast.val) {
|
|
14715
14740
|
if (F2.isPattern(quad)) {
|
|
14716
|
-
SUBRULE(triplesBlock, quad
|
|
14741
|
+
SUBRULE(triplesBlock, quad);
|
|
14717
14742
|
} else {
|
|
14718
|
-
SUBRULE(quadsNotTriples, quad
|
|
14743
|
+
SUBRULE(quadsNotTriples, quad);
|
|
14719
14744
|
}
|
|
14720
14745
|
}
|
|
14721
14746
|
}
|
|
@@ -14724,9 +14749,9 @@ var quadsNotTriples = {
|
|
|
14724
14749
|
name: "quadsNotTriples",
|
|
14725
14750
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION }) => (C) => {
|
|
14726
14751
|
const graph2 = CONSUME(graph_exports.graph);
|
|
14727
|
-
const name = SUBRULE1(varOrIri
|
|
14752
|
+
const name = SUBRULE1(varOrIri);
|
|
14728
14753
|
CONSUME(symbols_exports.LCurly);
|
|
14729
|
-
const triples = OPTION(() => SUBRULE1(triplesTemplate
|
|
14754
|
+
const triples = OPTION(() => SUBRULE1(triplesTemplate));
|
|
14730
14755
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14731
14756
|
return ACTION(() => C.factory.graphQuads(
|
|
14732
14757
|
name,
|
|
@@ -14736,14 +14761,76 @@ var quadsNotTriples = {
|
|
|
14736
14761
|
},
|
|
14737
14762
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F2 }) => {
|
|
14738
14763
|
F2.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14739
|
-
SUBRULE(varOrTerm, ast.graph
|
|
14764
|
+
SUBRULE(varOrTerm, ast.graph);
|
|
14740
14765
|
F2.printFilter(ast, () => PRINT_WORD("{"));
|
|
14741
|
-
SUBRULE(triplesBlock, ast.triples
|
|
14766
|
+
SUBRULE(triplesBlock, ast.triples);
|
|
14742
14767
|
F2.printFilter(ast, () => PRINT_WORD("}"));
|
|
14743
14768
|
}
|
|
14744
14769
|
};
|
|
14745
14770
|
|
|
14746
|
-
// ../../packages/rules-sparql-1-1/lib/
|
|
14771
|
+
// ../../packages/rules-sparql-1-1/lib/grammar/index.ts
|
|
14772
|
+
var queryOrUpdate = {
|
|
14773
|
+
name: "queryOrUpdate",
|
|
14774
|
+
impl: ({ ACTION, SUBRULE, OR1, OR2, MANY, OPTION1, CONSUME, SUBRULE2 }) => (C) => {
|
|
14775
|
+
const prologueValues = SUBRULE(prologue);
|
|
14776
|
+
return OR1([
|
|
14777
|
+
{ ALT: () => {
|
|
14778
|
+
const subType = OR2([
|
|
14779
|
+
{ ALT: () => SUBRULE(selectQuery) },
|
|
14780
|
+
{ ALT: () => SUBRULE(constructQuery) },
|
|
14781
|
+
{ ALT: () => SUBRULE(describeQuery) },
|
|
14782
|
+
{ ALT: () => SUBRULE(askQuery) }
|
|
14783
|
+
]);
|
|
14784
|
+
const values3 = SUBRULE(valuesClause);
|
|
14785
|
+
return ACTION(() => ({
|
|
14786
|
+
context: prologueValues,
|
|
14787
|
+
...subType,
|
|
14788
|
+
type: "query",
|
|
14789
|
+
...values3 && { values: values3 },
|
|
14790
|
+
loc: C.factory.sourceLocation(
|
|
14791
|
+
prologueValues.at(0),
|
|
14792
|
+
subType,
|
|
14793
|
+
values3
|
|
14794
|
+
)
|
|
14795
|
+
}));
|
|
14796
|
+
} },
|
|
14797
|
+
{ ALT: () => {
|
|
14798
|
+
const updates = [];
|
|
14799
|
+
updates.push({ context: prologueValues });
|
|
14800
|
+
let parsedSemi = true;
|
|
14801
|
+
MANY({
|
|
14802
|
+
GATE: () => parsedSemi,
|
|
14803
|
+
DEF: () => {
|
|
14804
|
+
parsedSemi = false;
|
|
14805
|
+
updates.at(-1).operation = SUBRULE(update1);
|
|
14806
|
+
OPTION1(() => {
|
|
14807
|
+
CONSUME(symbols_exports.semi);
|
|
14808
|
+
parsedSemi = true;
|
|
14809
|
+
const innerPrologue = SUBRULE2(prologue);
|
|
14810
|
+
updates.push({ context: innerPrologue });
|
|
14811
|
+
});
|
|
14812
|
+
}
|
|
14813
|
+
});
|
|
14814
|
+
return ACTION(() => {
|
|
14815
|
+
const update2 = {
|
|
14816
|
+
type: "update",
|
|
14817
|
+
updates,
|
|
14818
|
+
loc: C.factory.sourceLocation(
|
|
14819
|
+
...updates[0].context,
|
|
14820
|
+
updates[0].operation,
|
|
14821
|
+
...updates.at(-1).context,
|
|
14822
|
+
updates.at(-1)?.operation
|
|
14823
|
+
)
|
|
14824
|
+
};
|
|
14825
|
+
updateNoReuseBlankNodeLabels(update2);
|
|
14826
|
+
return update2;
|
|
14827
|
+
});
|
|
14828
|
+
} }
|
|
14829
|
+
]);
|
|
14830
|
+
}
|
|
14831
|
+
};
|
|
14832
|
+
|
|
14833
|
+
// ../../packages/rules-sparql-1-1/lib/MinimalSparqlParser.ts
|
|
14747
14834
|
function completeParseContext(context) {
|
|
14748
14835
|
return {
|
|
14749
14836
|
factory: context.factory ?? new Factory(),
|
|
@@ -14755,16 +14842,16 @@ function completeParseContext(context) {
|
|
|
14755
14842
|
skipValidation: context.skipValidation ?? false
|
|
14756
14843
|
};
|
|
14757
14844
|
}
|
|
14758
|
-
var
|
|
14845
|
+
var MinimalSparqlParser = class {
|
|
14759
14846
|
constructor(parser) {
|
|
14760
14847
|
this.parser = parser;
|
|
14761
|
-
this.F = new Factory();
|
|
14762
14848
|
}
|
|
14849
|
+
F = new Factory();
|
|
14763
14850
|
parse(query2, context = {}) {
|
|
14764
|
-
return this.parser.queryOrUpdate(query2, completeParseContext(context)
|
|
14851
|
+
return this.parser.queryOrUpdate(query2, completeParseContext(context));
|
|
14765
14852
|
}
|
|
14766
14853
|
parsePath(query2, context = {}) {
|
|
14767
|
-
const result = this.parser.path(query2, completeParseContext(context)
|
|
14854
|
+
const result = this.parser.path(query2, completeParseContext(context));
|
|
14768
14855
|
if (this.F.isPathPure(result)) {
|
|
14769
14856
|
return {
|
|
14770
14857
|
...result,
|
|
@@ -14775,29 +14862,6 @@ var SparqlParser = class {
|
|
|
14775
14862
|
}
|
|
14776
14863
|
};
|
|
14777
14864
|
|
|
14778
|
-
// ../../packages/rules-sparql-1-1/lib/utils.ts
|
|
14779
|
-
function sparqlCodepointEscape(input) {
|
|
14780
|
-
const sanitizedInput = input.replaceAll(
|
|
14781
|
-
/\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{8})/gu,
|
|
14782
|
-
(_, unicode4, unicode8) => {
|
|
14783
|
-
if (unicode4) {
|
|
14784
|
-
const charCode2 = Number.parseInt(unicode4, 16);
|
|
14785
|
-
return String.fromCodePoint(charCode2);
|
|
14786
|
-
}
|
|
14787
|
-
const charCode = Number.parseInt(unicode8, 16);
|
|
14788
|
-
if (charCode < 65535) {
|
|
14789
|
-
return String.fromCodePoint(charCode);
|
|
14790
|
-
}
|
|
14791
|
-
const substractedCharCode = charCode - 65536;
|
|
14792
|
-
return String.fromCodePoint(55296 + (substractedCharCode >> 10), 56320 + (substractedCharCode & 1023));
|
|
14793
|
-
}
|
|
14794
|
-
);
|
|
14795
|
-
if (/[\uD800-\uDBFF](?:[^\uDC00-\uDFFF]|$)/u.test(sanitizedInput)) {
|
|
14796
|
-
throw new Error(`Invalid unicode codepoint of surrogate pair without corresponding codepoint`);
|
|
14797
|
-
}
|
|
14798
|
-
return sanitizedInput;
|
|
14799
|
-
}
|
|
14800
|
-
|
|
14801
14865
|
// lib/expressionParser.ts
|
|
14802
14866
|
var rulesNoBuiltIn = [
|
|
14803
14867
|
grammar_exports.expression,
|
|
@@ -14921,7 +14985,7 @@ var rules = [
|
|
|
14921
14985
|
grammar_exports.numericLiteralPositive,
|
|
14922
14986
|
grammar_exports.numericLiteralNegative
|
|
14923
14987
|
];
|
|
14924
|
-
var
|
|
14988
|
+
var objectListParserBuilder = ParserBuilder.create(rules);
|
|
14925
14989
|
|
|
14926
14990
|
// lib/triplesBlockParser.ts
|
|
14927
14991
|
var triplesBlockParserBuilder = ParserBuilder.create([
|
|
@@ -14935,7 +14999,7 @@ var triplesBlockParserBuilder = ParserBuilder.create([
|
|
|
14935
14999
|
grammar_exports.verbPath,
|
|
14936
15000
|
grammar_exports.verbSimple,
|
|
14937
15001
|
grammar_exports.objectListPath
|
|
14938
|
-
]).merge(
|
|
15002
|
+
]).merge(objectListParserBuilder, []).addMany(
|
|
14939
15003
|
grammar_exports.path,
|
|
14940
15004
|
grammar_exports.pathAlternative,
|
|
14941
15005
|
grammar_exports.pathSequence,
|
|
@@ -15044,16 +15108,16 @@ var queryUnitParserBuilder = ParserBuilder.create(rules4).merge(subSelectParserB
|
|
|
15044
15108
|
var update1Patch = {
|
|
15045
15109
|
name: "update1",
|
|
15046
15110
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
15047
|
-
{ ALT: () => SUBRULE(grammar_exports.load
|
|
15048
|
-
{ ALT: () => SUBRULE(grammar_exports.clear
|
|
15049
|
-
{ ALT: () => SUBRULE(grammar_exports.drop
|
|
15050
|
-
{ ALT: () => SUBRULE(grammar_exports.add
|
|
15051
|
-
{ ALT: () => SUBRULE(grammar_exports.move
|
|
15052
|
-
{ ALT: () => SUBRULE(grammar_exports.copy
|
|
15053
|
-
{ ALT: () => SUBRULE(grammar_exports.create
|
|
15054
|
-
{ ALT: () => SUBRULE(grammar_exports.insertData
|
|
15055
|
-
{ ALT: () => SUBRULE(grammar_exports.deleteData
|
|
15056
|
-
{ ALT: () => SUBRULE(grammar_exports.deleteWhere
|
|
15111
|
+
{ ALT: () => SUBRULE(grammar_exports.load) },
|
|
15112
|
+
{ ALT: () => SUBRULE(grammar_exports.clear) },
|
|
15113
|
+
{ ALT: () => SUBRULE(grammar_exports.drop) },
|
|
15114
|
+
{ ALT: () => SUBRULE(grammar_exports.add) },
|
|
15115
|
+
{ ALT: () => SUBRULE(grammar_exports.move) },
|
|
15116
|
+
{ ALT: () => SUBRULE(grammar_exports.copy) },
|
|
15117
|
+
{ ALT: () => SUBRULE(grammar_exports.create) },
|
|
15118
|
+
{ ALT: () => SUBRULE(grammar_exports.insertData) },
|
|
15119
|
+
{ ALT: () => SUBRULE(grammar_exports.deleteData) },
|
|
15120
|
+
{ ALT: () => SUBRULE(grammar_exports.deleteWhere) }
|
|
15057
15121
|
]),
|
|
15058
15122
|
gImpl: grammar_exports.update1.gImpl
|
|
15059
15123
|
};
|
|
@@ -15095,74 +15159,14 @@ var updateParserBuilder = ParserBuilder.create(updateNoModifyParserBuilder).patc
|
|
|
15095
15159
|
grammar_exports.sourceSelector,
|
|
15096
15160
|
grammar_exports.usingClauseStar,
|
|
15097
15161
|
grammar_exports.groupGraphPattern
|
|
15098
|
-
).merge(
|
|
15162
|
+
).merge(objectListParserBuilder, []).merge(subSelectParserBuilder, []);
|
|
15099
15163
|
|
|
15100
15164
|
// lib/Parser.ts
|
|
15101
|
-
var
|
|
15102
|
-
|
|
15103
|
-
impl: ({ ACTION, SUBRULE, OR1, OR2, MANY, OPTION1, CONSUME, SUBRULE2 }) => (C) => {
|
|
15104
|
-
const prologueValues = SUBRULE(grammar_exports.prologue, void 0);
|
|
15105
|
-
return OR1([
|
|
15106
|
-
{ ALT: () => {
|
|
15107
|
-
const subType = OR2([
|
|
15108
|
-
{ ALT: () => SUBRULE(grammar_exports.selectQuery, void 0) },
|
|
15109
|
-
{ ALT: () => SUBRULE(grammar_exports.constructQuery, void 0) },
|
|
15110
|
-
{ ALT: () => SUBRULE(grammar_exports.describeQuery, void 0) },
|
|
15111
|
-
{ ALT: () => SUBRULE(grammar_exports.askQuery, void 0) }
|
|
15112
|
-
]);
|
|
15113
|
-
const values3 = SUBRULE(grammar_exports.valuesClause, void 0);
|
|
15114
|
-
return ACTION(() => ({
|
|
15115
|
-
context: prologueValues,
|
|
15116
|
-
...subType,
|
|
15117
|
-
type: "query",
|
|
15118
|
-
...values3 && { values: values3 },
|
|
15119
|
-
loc: C.factory.sourceLocation(
|
|
15120
|
-
prologueValues.at(0),
|
|
15121
|
-
subType,
|
|
15122
|
-
values3
|
|
15123
|
-
)
|
|
15124
|
-
}));
|
|
15125
|
-
} },
|
|
15126
|
-
{ ALT: () => {
|
|
15127
|
-
const updates = [];
|
|
15128
|
-
updates.push({ context: prologueValues });
|
|
15129
|
-
let parsedSemi = true;
|
|
15130
|
-
MANY({
|
|
15131
|
-
GATE: () => parsedSemi,
|
|
15132
|
-
DEF: () => {
|
|
15133
|
-
parsedSemi = false;
|
|
15134
|
-
updates.at(-1).operation = SUBRULE(grammar_exports.update1, void 0);
|
|
15135
|
-
OPTION1(() => {
|
|
15136
|
-
CONSUME(lexer_exports.symbols.semi);
|
|
15137
|
-
parsedSemi = true;
|
|
15138
|
-
const innerPrologue = SUBRULE2(grammar_exports.prologue, void 0);
|
|
15139
|
-
updates.push({ context: innerPrologue });
|
|
15140
|
-
});
|
|
15141
|
-
}
|
|
15142
|
-
});
|
|
15143
|
-
return ACTION(() => {
|
|
15144
|
-
const update2 = {
|
|
15145
|
-
type: "update",
|
|
15146
|
-
updates,
|
|
15147
|
-
loc: C.factory.sourceLocation(
|
|
15148
|
-
...updates[0].context,
|
|
15149
|
-
updates[0].operation,
|
|
15150
|
-
...updates.at(-1).context,
|
|
15151
|
-
updates.at(-1)?.operation
|
|
15152
|
-
)
|
|
15153
|
-
};
|
|
15154
|
-
updateNoReuseBlankNodeLabels(update2);
|
|
15155
|
-
return update2;
|
|
15156
|
-
});
|
|
15157
|
-
} }
|
|
15158
|
-
]);
|
|
15159
|
-
}
|
|
15160
|
-
};
|
|
15161
|
-
var sparql11ParserBuilder = ParserBuilder.create(queryUnitParserBuilder).merge(updateParserBuilder, []).addRule(queryOrUpdate);
|
|
15162
|
-
var Parser2 = class extends SparqlParser {
|
|
15165
|
+
var sparql11ParserBuilder = ParserBuilder.create(queryUnitParserBuilder).merge(updateParserBuilder, []).addRule(grammar_exports.queryOrUpdate);
|
|
15166
|
+
var Parser2 = class extends MinimalSparqlParser {
|
|
15163
15167
|
constructor() {
|
|
15164
15168
|
const parser = sparql11ParserBuilder.build({
|
|
15165
|
-
tokenVocabulary: lexer_exports.
|
|
15169
|
+
tokenVocabulary: lexer_exports.sparql11LexerBuilder.tokenVocabulary,
|
|
15166
15170
|
queryPreProcessor: sparqlCodepointEscape
|
|
15167
15171
|
});
|
|
15168
15172
|
super(parser);
|