@traqula/rules-sparql-1-2 0.0.15 → 0.0.17
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/lib/{Factory.d.ts → AstFactory.d.ts} +2 -2
- package/lib/{Factory.js → AstFactory.js} +3 -3
- package/lib/AstFactory.js.map +1 -0
- package/lib/grammar.d.ts +4 -4
- package/lib/grammar.js +56 -34
- package/lib/grammar.js.map +1 -1
- package/lib/index.cjs +1069 -858
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/lexer.d.ts +1 -1
- package/lib/parserUtils.d.ts +7 -3
- package/lib/parserUtils.js +7 -2
- package/lib/parserUtils.js.map +1 -1
- package/lib/sparql12HelperTypes.d.ts +6 -5
- package/lib/sparql12HelperTypes.js.map +1 -1
- package/lib/validators.js +7 -2
- package/lib/validators.js.map +1 -1
- package/package.json +4 -4
- package/lib/Factory.js.map +0 -1
package/lib/index.cjs
CHANGED
|
@@ -20,7 +20,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// lib/index.ts
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
|
-
|
|
23
|
+
AstFactory: () => AstFactory2,
|
|
24
|
+
AstTransformer: () => AstTransformer2,
|
|
24
25
|
completeParseContext: () => completeParseContext,
|
|
25
26
|
findPatternBoundedVars: () => findPatternBoundedVars2,
|
|
26
27
|
gram: () => grammar_exports2,
|
|
@@ -80,357 +81,8 @@ __export(grammar_exports2, {
|
|
|
80
81
|
versionSpecifier: () => versionSpecifier
|
|
81
82
|
});
|
|
82
83
|
|
|
83
|
-
// ../
|
|
84
|
-
var
|
|
85
|
-
__export(grammar_exports, {
|
|
86
|
-
add: () => add2,
|
|
87
|
-
additiveExpression: () => additiveExpression,
|
|
88
|
-
aggregate: () => aggregate,
|
|
89
|
-
aggregateAvg: () => aggregateAvg,
|
|
90
|
-
aggregateCount: () => aggregateCount,
|
|
91
|
-
aggregateGroup_concat: () => aggregateGroup_concat,
|
|
92
|
-
aggregateMax: () => aggregateMax,
|
|
93
|
-
aggregateMin: () => aggregateMin,
|
|
94
|
-
aggregateSample: () => aggregateSample,
|
|
95
|
-
aggregateSum: () => aggregateSum,
|
|
96
|
-
argList: () => argList,
|
|
97
|
-
askQuery: () => askQuery,
|
|
98
|
-
baseAggregateFunc: () => baseAggregateFunc,
|
|
99
|
-
baseDecl: () => baseDecl2,
|
|
100
|
-
bind: () => bind2,
|
|
101
|
-
blankNode: () => blankNode,
|
|
102
|
-
blankNodePropertyList: () => blankNodePropertyList,
|
|
103
|
-
blankNodePropertyListPath: () => blankNodePropertyListPath,
|
|
104
|
-
booleanLiteral: () => booleanLiteral,
|
|
105
|
-
brackettedExpression: () => brackettedExpression,
|
|
106
|
-
builtInAbs: () => builtInAbs,
|
|
107
|
-
builtInBnodeSparqlJs: () => builtInBnodeSparqlJs,
|
|
108
|
-
builtInBound: () => builtInBound,
|
|
109
|
-
builtInCall: () => builtInCall,
|
|
110
|
-
builtInCallList: () => builtInCallList,
|
|
111
|
-
builtInCeil: () => builtInCeil,
|
|
112
|
-
builtInCoalesce: () => builtInCoalesce,
|
|
113
|
-
builtInConcat: () => builtInConcat,
|
|
114
|
-
builtInContains: () => builtInContains,
|
|
115
|
-
builtInDatatype: () => builtInDatatype,
|
|
116
|
-
builtInDay: () => builtInDay,
|
|
117
|
-
builtInEncode_for_uri: () => builtInEncode_for_uri,
|
|
118
|
-
builtInFloor: () => builtInFloor,
|
|
119
|
-
builtInHours: () => builtInHours,
|
|
120
|
-
builtInIf: () => builtInIf,
|
|
121
|
-
builtInIri: () => builtInIri,
|
|
122
|
-
builtInIsblank: () => builtInIsblank,
|
|
123
|
-
builtInIsiri: () => builtInIsiri,
|
|
124
|
-
builtInIsliteral: () => builtInIsliteral,
|
|
125
|
-
builtInIsnumeric: () => builtInIsnumeric,
|
|
126
|
-
builtInIsuri: () => builtInIsuri,
|
|
127
|
-
builtInLang: () => builtInLang,
|
|
128
|
-
builtInLangmatches: () => builtInLangmatches,
|
|
129
|
-
builtInLcase: () => builtInLcase,
|
|
130
|
-
builtInMd5: () => builtInMd5,
|
|
131
|
-
builtInMinutes: () => builtInMinutes,
|
|
132
|
-
builtInMonth: () => builtInMonth,
|
|
133
|
-
builtInNow: () => builtInNow,
|
|
134
|
-
builtInRand: () => builtInRand,
|
|
135
|
-
builtInRound: () => builtInRound,
|
|
136
|
-
builtInSameterm: () => builtInSameterm,
|
|
137
|
-
builtInSeconds: () => builtInSeconds,
|
|
138
|
-
builtInSha1: () => builtInSha1,
|
|
139
|
-
builtInSha256: () => builtInSha256,
|
|
140
|
-
builtInSha384: () => builtInSha384,
|
|
141
|
-
builtInSha512: () => builtInSha512,
|
|
142
|
-
builtInStr: () => builtInStr,
|
|
143
|
-
builtInStrafter: () => builtInStrafter,
|
|
144
|
-
builtInStrbefore: () => builtInStrbefore,
|
|
145
|
-
builtInStrdt: () => builtInStrdt,
|
|
146
|
-
builtInStrends: () => builtInStrends,
|
|
147
|
-
builtInStrlang: () => builtInStrlang,
|
|
148
|
-
builtInStrlen: () => builtInStrlen,
|
|
149
|
-
builtInStrstarts: () => builtInStrstarts,
|
|
150
|
-
builtInStruuid: () => builtInStruuid,
|
|
151
|
-
builtInTimezone: () => builtInTimezone,
|
|
152
|
-
builtInTz: () => builtInTz,
|
|
153
|
-
builtInUcase: () => builtInUcase,
|
|
154
|
-
builtInUri: () => builtInUri,
|
|
155
|
-
builtInUuid: () => builtInUuid,
|
|
156
|
-
builtInYear: () => builtInYear,
|
|
157
|
-
canCreateBlankNodes: () => canCreateBlankNodes,
|
|
158
|
-
clear: () => clear2,
|
|
159
|
-
collection: () => collection,
|
|
160
|
-
collectionPath: () => collectionPath,
|
|
161
|
-
conditionalAndExpression: () => conditionalAndExpression,
|
|
162
|
-
conditionalOrExpression: () => conditionalOrExpression,
|
|
163
|
-
constraint: () => constraint,
|
|
164
|
-
constructQuery: () => constructQuery,
|
|
165
|
-
constructTemplate: () => constructTemplate,
|
|
166
|
-
constructTriples: () => constructTriples,
|
|
167
|
-
copy: () => copy2,
|
|
168
|
-
create: () => create2,
|
|
169
|
-
dataBlock: () => dataBlock,
|
|
170
|
-
dataBlockValue: () => dataBlockValue,
|
|
171
|
-
datasetClause: () => datasetClause,
|
|
172
|
-
datasetClauseStar: () => datasetClauseStar,
|
|
173
|
-
datasetClauseUsing: () => datasetClauseUsing,
|
|
174
|
-
datasetClauseUsingStar: () => datasetClauseUsingStar,
|
|
175
|
-
defaultGraphClause: () => defaultGraphClause,
|
|
176
|
-
deleteClause: () => deleteClause2,
|
|
177
|
-
deleteData: () => deleteData,
|
|
178
|
-
deleteWhere: () => deleteWhere,
|
|
179
|
-
describeQuery: () => describeQuery,
|
|
180
|
-
drop: () => drop3,
|
|
181
|
-
existsFunc: () => existsFunc,
|
|
182
|
-
expression: () => expression,
|
|
183
|
-
expressionList: () => expressionList,
|
|
184
|
-
filter: () => filter3,
|
|
185
|
-
funcExpr1: () => funcExpr1,
|
|
186
|
-
funcExpr2: () => funcExpr2,
|
|
187
|
-
funcExpr2or3: () => funcExpr2or3,
|
|
188
|
-
funcExpr3: () => funcExpr3,
|
|
189
|
-
funcExpr3or4: () => funcExpr3or4,
|
|
190
|
-
funcExprList1: () => funcExprList1,
|
|
191
|
-
funcExprOrNil1: () => funcExprOrNil1,
|
|
192
|
-
funcGroupGraphPattern: () => funcGroupGraphPattern,
|
|
193
|
-
funcNil1: () => funcNil1,
|
|
194
|
-
funcVar1: () => funcVar1,
|
|
195
|
-
functionCall: () => functionCall,
|
|
196
|
-
generatePattern: () => generatePattern,
|
|
197
|
-
graphGraphPattern: () => graphGraphPattern,
|
|
198
|
-
graphNode: () => graphNode,
|
|
199
|
-
graphNodePath: () => graphNodePath,
|
|
200
|
-
graphOrDefault: () => graphOrDefault,
|
|
201
|
-
graphPatternNotTriples: () => graphPatternNotTriples,
|
|
202
|
-
graphRef: () => graphRef,
|
|
203
|
-
graphRefAll: () => graphRefAll,
|
|
204
|
-
graphTerm: () => graphTerm,
|
|
205
|
-
groupClause: () => groupClause,
|
|
206
|
-
groupCondition: () => groupCondition,
|
|
207
|
-
groupGraphPattern: () => groupGraphPattern,
|
|
208
|
-
groupGraphPatternSub: () => groupGraphPatternSub,
|
|
209
|
-
groupOrUnionGraphPattern: () => groupOrUnionGraphPattern,
|
|
210
|
-
havingClause: () => havingClause,
|
|
211
|
-
havingCondition: () => havingCondition,
|
|
212
|
-
inlineData: () => inlineData,
|
|
213
|
-
inlineDataFull: () => inlineDataFull,
|
|
214
|
-
inlineDataOneVar: () => inlineDataOneVar,
|
|
215
|
-
insertClause: () => insertClause2,
|
|
216
|
-
insertData: () => insertData,
|
|
217
|
-
iri: () => iri2,
|
|
218
|
-
iriFull: () => iriFull,
|
|
219
|
-
iriOrFunction: () => iriOrFunction,
|
|
220
|
-
limitClause: () => limitClause,
|
|
221
|
-
limitOffsetClauses: () => limitOffsetClauses,
|
|
222
|
-
load: () => load2,
|
|
223
|
-
minusGraphPattern: () => minusGraphPattern,
|
|
224
|
-
modify: () => modify,
|
|
225
|
-
move: () => move2,
|
|
226
|
-
multiplicativeExpression: () => multiplicativeExpression,
|
|
227
|
-
namedGraphClause: () => namedGraphClause,
|
|
228
|
-
notExistsFunc: () => notExistsFunc,
|
|
229
|
-
numericExpression: () => numericExpression,
|
|
230
|
-
numericLiteral: () => numericLiteral,
|
|
231
|
-
numericLiteralNegative: () => numericLiteralNegative,
|
|
232
|
-
numericLiteralPositive: () => numericLiteralPositive,
|
|
233
|
-
numericLiteralUnsigned: () => numericLiteralUnsigned,
|
|
234
|
-
object: () => object,
|
|
235
|
-
objectList: () => objectList,
|
|
236
|
-
objectListPath: () => objectListPath,
|
|
237
|
-
objectPath: () => objectPath,
|
|
238
|
-
offsetClause: () => offsetClause,
|
|
239
|
-
optionalGraphPattern: () => optionalGraphPattern,
|
|
240
|
-
orderClause: () => orderClause,
|
|
241
|
-
orderCondition: () => orderCondition,
|
|
242
|
-
path: () => path,
|
|
243
|
-
pathAlternative: () => pathAlternative,
|
|
244
|
-
pathChainHelper: () => pathChainHelper,
|
|
245
|
-
pathElt: () => pathElt,
|
|
246
|
-
pathEltOrInverse: () => pathEltOrInverse,
|
|
247
|
-
pathGenerator: () => pathGenerator,
|
|
248
|
-
pathMod: () => pathMod,
|
|
249
|
-
pathNegatedPropertySet: () => pathNegatedPropertySet,
|
|
250
|
-
pathOneInPropertySet: () => pathOneInPropertySet,
|
|
251
|
-
pathPrimary: () => pathPrimary,
|
|
252
|
-
pathSequence: () => pathSequence,
|
|
253
|
-
prefixDecl: () => prefixDecl2,
|
|
254
|
-
prefixedName: () => prefixedName,
|
|
255
|
-
primaryExpression: () => primaryExpression,
|
|
256
|
-
prologue: () => prologue,
|
|
257
|
-
propertyList: () => propertyList,
|
|
258
|
-
propertyListNotEmpty: () => propertyListNotEmpty,
|
|
259
|
-
propertyListPath: () => propertyListPath,
|
|
260
|
-
propertyListPathNotEmpty: () => propertyListPathNotEmpty,
|
|
261
|
-
quadData: () => quadData,
|
|
262
|
-
quadPattern: () => quadPattern,
|
|
263
|
-
quads: () => quads,
|
|
264
|
-
quadsNotTriples: () => quadsNotTriples,
|
|
265
|
-
query: () => query,
|
|
266
|
-
queryOrUpdate: () => queryOrUpdate,
|
|
267
|
-
queryUnit: () => queryUnit,
|
|
268
|
-
rdfLiteral: () => rdfLiteral,
|
|
269
|
-
regexExpression: () => regexExpression,
|
|
270
|
-
relationalExpression: () => relationalExpression,
|
|
271
|
-
selectClause: () => selectClause,
|
|
272
|
-
selectQuery: () => selectQuery,
|
|
273
|
-
serviceGraphPattern: () => serviceGraphPattern,
|
|
274
|
-
solutionModifier: () => solutionModifier,
|
|
275
|
-
sourceSelector: () => sourceSelector,
|
|
276
|
-
strReplaceExpression: () => strReplaceExpression,
|
|
277
|
-
string: () => string,
|
|
278
|
-
stringEscapedLexical: () => stringEscapedLexical,
|
|
279
|
-
subSelect: () => subSelect,
|
|
280
|
-
substringExpression: () => substringExpression,
|
|
281
|
-
triplesBlock: () => triplesBlock,
|
|
282
|
-
triplesNode: () => triplesNode,
|
|
283
|
-
triplesNodePath: () => triplesNodePath,
|
|
284
|
-
triplesSameSubject: () => triplesSameSubject,
|
|
285
|
-
triplesSameSubjectPath: () => triplesSameSubjectPath,
|
|
286
|
-
triplesTemplate: () => triplesTemplate,
|
|
287
|
-
unaryExpression: () => unaryExpression,
|
|
288
|
-
update: () => update,
|
|
289
|
-
update1: () => update1,
|
|
290
|
-
updateUnit: () => updateUnit,
|
|
291
|
-
usingClause: () => usingClause2,
|
|
292
|
-
usingClauseStar: () => usingClauseStar,
|
|
293
|
-
valueLogical: () => valueLogical,
|
|
294
|
-
valuesClause: () => valuesClause,
|
|
295
|
-
varOrIri: () => varOrIri,
|
|
296
|
-
varOrTerm: () => varOrTerm,
|
|
297
|
-
var_: () => var_,
|
|
298
|
-
verb: () => verb,
|
|
299
|
-
verbA: () => verbA,
|
|
300
|
-
verbPath: () => verbPath,
|
|
301
|
-
verbSimple: () => verbSimple,
|
|
302
|
-
whereClause: () => whereClause
|
|
303
|
-
});
|
|
304
|
-
|
|
305
|
-
// ../rules-sparql-1-1/lib/lexer/index.js
|
|
306
|
-
var lexer_exports = {};
|
|
307
|
-
__export(lexer_exports, {
|
|
308
|
-
a: () => a,
|
|
309
|
-
add: () => add,
|
|
310
|
-
allBaseTokens: () => allBaseTokens,
|
|
311
|
-
as: () => as,
|
|
312
|
-
ask: () => ask,
|
|
313
|
-
baseDecl: () => baseDecl,
|
|
314
|
-
bind: () => bind,
|
|
315
|
-
builtIn: () => BuiltInCalls_exports,
|
|
316
|
-
by: () => by,
|
|
317
|
-
clear: () => clear,
|
|
318
|
-
construct: () => construct,
|
|
319
|
-
copy: () => copy,
|
|
320
|
-
create: () => create,
|
|
321
|
-
dataClause: () => dataClause,
|
|
322
|
-
deleteClause: () => deleteClause,
|
|
323
|
-
describe: () => describe,
|
|
324
|
-
distinct: () => distinct,
|
|
325
|
-
drop: () => drop2,
|
|
326
|
-
false_: () => false_,
|
|
327
|
-
filter: () => filter2,
|
|
328
|
-
from: () => from,
|
|
329
|
-
graph: () => graph_exports,
|
|
330
|
-
groupByGroup: () => groupByGroup,
|
|
331
|
-
having: () => having,
|
|
332
|
-
in_: () => in_,
|
|
333
|
-
insertClause: () => insertClause,
|
|
334
|
-
limit: () => limit,
|
|
335
|
-
load: () => load,
|
|
336
|
-
loadInto: () => loadInto,
|
|
337
|
-
minus: () => minus,
|
|
338
|
-
modifyWith: () => modifyWith,
|
|
339
|
-
move: () => move,
|
|
340
|
-
notIn: () => notIn,
|
|
341
|
-
offset: () => offset,
|
|
342
|
-
optional: () => optional,
|
|
343
|
-
order: () => order,
|
|
344
|
-
orderAsc: () => orderAsc,
|
|
345
|
-
orderDesc: () => orderDesc,
|
|
346
|
-
prefixDecl: () => prefixDecl,
|
|
347
|
-
reduced: () => reduced,
|
|
348
|
-
select: () => select,
|
|
349
|
-
separator: () => separator,
|
|
350
|
-
service: () => service,
|
|
351
|
-
silent: () => silent,
|
|
352
|
-
sparql11LexerBuilder: () => sparql11LexerBuilder,
|
|
353
|
-
symbols: () => symbols_exports,
|
|
354
|
-
terminals: () => terminals_exports,
|
|
355
|
-
to: () => to,
|
|
356
|
-
true_: () => true_,
|
|
357
|
-
undef: () => undef,
|
|
358
|
-
union: () => union,
|
|
359
|
-
usingClause: () => usingClause,
|
|
360
|
-
values: () => values2,
|
|
361
|
-
where: () => where
|
|
362
|
-
});
|
|
363
|
-
|
|
364
|
-
// ../rules-sparql-1-1/lib/lexer/BuiltInCalls.js
|
|
365
|
-
var BuiltInCalls_exports = {};
|
|
366
|
-
__export(BuiltInCalls_exports, {
|
|
367
|
-
BuiltInCalls: () => BuiltInCalls,
|
|
368
|
-
abs: () => abs,
|
|
369
|
-
allBuiltInCalls: () => allBuiltInCalls,
|
|
370
|
-
avg: () => avg,
|
|
371
|
-
bnode: () => bnode,
|
|
372
|
-
bound: () => bound,
|
|
373
|
-
ceil: () => ceil,
|
|
374
|
-
coalesce: () => coalesce,
|
|
375
|
-
concat: () => concat,
|
|
376
|
-
contains: () => contains,
|
|
377
|
-
count: () => count,
|
|
378
|
-
datatype: () => datatype,
|
|
379
|
-
day: () => day,
|
|
380
|
-
encode_for_uri: () => encode_for_uri,
|
|
381
|
-
exists: () => exists,
|
|
382
|
-
floor: () => floor,
|
|
383
|
-
groupConcat: () => groupConcat,
|
|
384
|
-
hours: () => hours,
|
|
385
|
-
if_: () => if_,
|
|
386
|
-
iri: () => iri,
|
|
387
|
-
isblank: () => isblank,
|
|
388
|
-
isiri: () => isiri,
|
|
389
|
-
isliteral: () => isliteral,
|
|
390
|
-
isnumeric: () => isnumeric,
|
|
391
|
-
isuri: () => isuri,
|
|
392
|
-
lang: () => lang,
|
|
393
|
-
langmatches: () => langmatches,
|
|
394
|
-
lcase: () => lcase,
|
|
395
|
-
max: () => max,
|
|
396
|
-
md5: () => md5,
|
|
397
|
-
min: () => min,
|
|
398
|
-
minutes: () => minutes,
|
|
399
|
-
month: () => month,
|
|
400
|
-
notexists: () => notexists,
|
|
401
|
-
now: () => now,
|
|
402
|
-
rand: () => rand,
|
|
403
|
-
regex: () => regex,
|
|
404
|
-
replace: () => replace,
|
|
405
|
-
round: () => round,
|
|
406
|
-
sameterm: () => sameterm,
|
|
407
|
-
sample: () => sample,
|
|
408
|
-
seconds: () => seconds,
|
|
409
|
-
sha1: () => sha1,
|
|
410
|
-
sha256: () => sha256,
|
|
411
|
-
sha384: () => sha384,
|
|
412
|
-
sha512: () => sha512,
|
|
413
|
-
str: () => str,
|
|
414
|
-
strafter: () => strafter,
|
|
415
|
-
strbefore: () => strbefore,
|
|
416
|
-
strdt: () => strdt,
|
|
417
|
-
strends: () => strends,
|
|
418
|
-
strlang: () => strlang,
|
|
419
|
-
strlen: () => strlen,
|
|
420
|
-
strstarts: () => strstarts,
|
|
421
|
-
struuid: () => struuid,
|
|
422
|
-
substr: () => substr,
|
|
423
|
-
sum: () => sum,
|
|
424
|
-
timezone: () => timezone,
|
|
425
|
-
tz: () => tz,
|
|
426
|
-
ucase: () => ucase,
|
|
427
|
-
uri: () => uri,
|
|
428
|
-
uuid: () => uuid,
|
|
429
|
-
year: () => year
|
|
430
|
-
});
|
|
431
|
-
|
|
432
|
-
// ../core/lib/CoreFactory.js
|
|
433
|
-
var CoreFactory = class {
|
|
84
|
+
// ../core/lib/AstCoreFactory.js
|
|
85
|
+
var AstCoreFactory = class {
|
|
434
86
|
wrap(val, loc) {
|
|
435
87
|
return { val, loc };
|
|
436
88
|
}
|
|
@@ -9767,6 +9419,15 @@ applyMixins(Parser, [
|
|
|
9767
9419
|
PerformanceTracer
|
|
9768
9420
|
]);
|
|
9769
9421
|
|
|
9422
|
+
// ../core/lib/utils.js
|
|
9423
|
+
function unCapitalize(str2) {
|
|
9424
|
+
return str2.charAt(0).toLowerCase() + str2.slice(1);
|
|
9425
|
+
}
|
|
9426
|
+
function createToken2(config) {
|
|
9427
|
+
return createToken(config);
|
|
9428
|
+
}
|
|
9429
|
+
var traqulaIndentation = "When you use this string, you expect traqula to handle indentation after every newline";
|
|
9430
|
+
|
|
9770
9431
|
// ../core/lib/lexer-builder/LexerBuilder.js
|
|
9771
9432
|
var LexerBuilder = class _LexerBuilder {
|
|
9772
9433
|
tokens;
|
|
@@ -9864,127 +9525,580 @@ var LexerBuilder = class _LexerBuilder {
|
|
|
9864
9525
|
}
|
|
9865
9526
|
};
|
|
9866
9527
|
|
|
9867
|
-
// ../core/lib/
|
|
9868
|
-
|
|
9869
|
-
|
|
9870
|
-
|
|
9871
|
-
|
|
9872
|
-
|
|
9873
|
-
}
|
|
9528
|
+
// ../core/lib/Transformers.js
|
|
9529
|
+
var TransformerType = class {
|
|
9530
|
+
clone(obj) {
|
|
9531
|
+
const newObj = Object.create(Object.getPrototypeOf(obj));
|
|
9532
|
+
Object.defineProperties(newObj, Object.getOwnPropertyDescriptors(obj));
|
|
9533
|
+
return newObj;
|
|
9534
|
+
}
|
|
9535
|
+
safeObjectVisit(value, mapper) {
|
|
9536
|
+
if (value && typeof value === "object") {
|
|
9537
|
+
if (Array.isArray(value)) {
|
|
9538
|
+
return value.map((x) => this.safeObjectVisit(x, mapper));
|
|
9539
|
+
}
|
|
9540
|
+
return mapper(value);
|
|
9541
|
+
}
|
|
9542
|
+
return value;
|
|
9543
|
+
}
|
|
9544
|
+
/**
|
|
9545
|
+
* Recursively transforms all objects that are not arrays. Mapper is called on deeper objects first.
|
|
9546
|
+
* @param startObject object to start iterating from
|
|
9547
|
+
* @param mapper mapper to transform the various objects - argument is a copy of the original
|
|
9548
|
+
* @param preVisitor callback that is evaluated before iterating deeper.
|
|
9549
|
+
* If continues is false, we do not iterate deeper, current object is still mapped. - default: true
|
|
9550
|
+
* If shortcut is true, we do not iterate deeper, nor do we branch out, this mapper will be the last one called.
|
|
9551
|
+
* - Default false
|
|
9552
|
+
*/
|
|
9553
|
+
transformObject(startObject, mapper, preVisitor = () => ({})) {
|
|
9554
|
+
let didShortCut = false;
|
|
9555
|
+
const recurse = (curObject) => {
|
|
9556
|
+
const copy3 = this.clone(curObject);
|
|
9557
|
+
const context = preVisitor(copy3);
|
|
9558
|
+
didShortCut = context.shortcut ?? false;
|
|
9559
|
+
const continues = context.continue ?? true;
|
|
9560
|
+
if (continues && !didShortCut) {
|
|
9561
|
+
for (const [key, value] of Object.entries(copy3)) {
|
|
9562
|
+
if (didShortCut) {
|
|
9563
|
+
return copy3;
|
|
9564
|
+
}
|
|
9565
|
+
copy3[key] = this.safeObjectVisit(value, (obj) => recurse(obj));
|
|
9566
|
+
}
|
|
9567
|
+
}
|
|
9568
|
+
return mapper(copy3);
|
|
9569
|
+
};
|
|
9570
|
+
return recurse(startObject);
|
|
9571
|
+
}
|
|
9572
|
+
/**
|
|
9573
|
+
* Visitor that visits all objects. Visits deeper objects first.
|
|
9574
|
+
*/
|
|
9575
|
+
visitObject(startObject, visitor, preVisitor = () => ({})) {
|
|
9576
|
+
let didShortCut = false;
|
|
9577
|
+
const recurse = (curObject) => {
|
|
9578
|
+
const context = preVisitor(curObject);
|
|
9579
|
+
didShortCut = context.shortcut ?? false;
|
|
9580
|
+
const continues = context.continue ?? true;
|
|
9581
|
+
if (continues && !didShortCut) {
|
|
9582
|
+
for (const value of Object.values(curObject)) {
|
|
9583
|
+
if (didShortCut) {
|
|
9584
|
+
return;
|
|
9585
|
+
}
|
|
9586
|
+
this.safeObjectVisit(value, (obj) => recurse(obj));
|
|
9587
|
+
}
|
|
9588
|
+
}
|
|
9589
|
+
visitor(curObject);
|
|
9590
|
+
};
|
|
9591
|
+
recurse(startObject);
|
|
9592
|
+
}
|
|
9593
|
+
transformNode(startObject, nodeCallBacks) {
|
|
9594
|
+
const transformWrapper = (curObject) => {
|
|
9595
|
+
const casted = curObject;
|
|
9596
|
+
if (casted.type) {
|
|
9597
|
+
const ogFunc = nodeCallBacks[casted.type]?.transform;
|
|
9598
|
+
if (ogFunc) {
|
|
9599
|
+
return ogFunc(casted);
|
|
9600
|
+
}
|
|
9601
|
+
}
|
|
9602
|
+
return curObject;
|
|
9603
|
+
};
|
|
9604
|
+
const preTransformWrapper = (curObject) => {
|
|
9605
|
+
const casted = curObject;
|
|
9606
|
+
if (casted.type) {
|
|
9607
|
+
const ogFunc = nodeCallBacks[casted.type]?.preVisitor;
|
|
9608
|
+
if (ogFunc) {
|
|
9609
|
+
return ogFunc(casted);
|
|
9610
|
+
}
|
|
9611
|
+
}
|
|
9612
|
+
return {};
|
|
9613
|
+
};
|
|
9614
|
+
return this.transformObject(startObject, transformWrapper, preTransformWrapper);
|
|
9615
|
+
}
|
|
9616
|
+
visitNode(startObject, nodeCallBacks) {
|
|
9617
|
+
const visitWrapper = (curObject) => {
|
|
9618
|
+
const casted = curObject;
|
|
9619
|
+
if (casted.type) {
|
|
9620
|
+
const ogFunc = nodeCallBacks[casted.type]?.visitor;
|
|
9621
|
+
if (ogFunc) {
|
|
9622
|
+
ogFunc(casted);
|
|
9623
|
+
}
|
|
9624
|
+
}
|
|
9625
|
+
};
|
|
9626
|
+
const preVisitWrapper = (curObject) => {
|
|
9627
|
+
const casted = curObject;
|
|
9628
|
+
if (casted.type) {
|
|
9629
|
+
const ogFunc = nodeCallBacks[casted.type]?.preVisitor;
|
|
9630
|
+
if (ogFunc) {
|
|
9631
|
+
return ogFunc(casted);
|
|
9632
|
+
}
|
|
9633
|
+
}
|
|
9634
|
+
return {};
|
|
9635
|
+
};
|
|
9636
|
+
this.visitObject(startObject, visitWrapper, preVisitWrapper);
|
|
9637
|
+
}
|
|
9638
|
+
traverseNodes(currentNode, traverse) {
|
|
9639
|
+
let didShortCut = false;
|
|
9640
|
+
const recurse = (curNode) => {
|
|
9641
|
+
const traverser = traverse[curNode.type];
|
|
9642
|
+
if (traverser) {
|
|
9643
|
+
const { next, shortcut } = traverser(curNode);
|
|
9644
|
+
didShortCut = shortcut ?? false;
|
|
9645
|
+
if (!didShortCut) {
|
|
9646
|
+
for (const node of next ?? []) {
|
|
9647
|
+
if (didShortCut) {
|
|
9648
|
+
return;
|
|
9649
|
+
}
|
|
9650
|
+
recurse(node);
|
|
9651
|
+
}
|
|
9652
|
+
}
|
|
9653
|
+
}
|
|
9654
|
+
};
|
|
9655
|
+
recurse(currentNode);
|
|
9656
|
+
}
|
|
9657
|
+
};
|
|
9658
|
+
var TransformerSubType = class extends TransformerType {
|
|
9659
|
+
transformNodeSpecific(startObject, nodeCallBacks, nodeSpecificCallBacks) {
|
|
9660
|
+
const transformWrapper = (curObject) => {
|
|
9661
|
+
let ogTransform;
|
|
9662
|
+
const casted = curObject;
|
|
9663
|
+
if (casted.type && casted.subType) {
|
|
9664
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9665
|
+
if (specific) {
|
|
9666
|
+
ogTransform = specific[casted.subType]?.transform;
|
|
9667
|
+
}
|
|
9668
|
+
if (!ogTransform) {
|
|
9669
|
+
ogTransform = nodeCallBacks[casted.type]?.transform;
|
|
9670
|
+
}
|
|
9671
|
+
}
|
|
9672
|
+
return ogTransform ? ogTransform(casted) : curObject;
|
|
9673
|
+
};
|
|
9674
|
+
const preVisitWrapper = (curObject) => {
|
|
9675
|
+
let ogPreVisit;
|
|
9676
|
+
const casted = curObject;
|
|
9677
|
+
if (casted.type && casted.subType) {
|
|
9678
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9679
|
+
if (specific) {
|
|
9680
|
+
ogPreVisit = specific[casted.subType]?.preVisitor;
|
|
9681
|
+
}
|
|
9682
|
+
if (!ogPreVisit) {
|
|
9683
|
+
ogPreVisit = nodeCallBacks[casted.type]?.preVisitor;
|
|
9684
|
+
}
|
|
9685
|
+
}
|
|
9686
|
+
return ogPreVisit ? ogPreVisit(casted) : curObject;
|
|
9687
|
+
};
|
|
9688
|
+
return this.transformObject(startObject, transformWrapper, preVisitWrapper);
|
|
9689
|
+
}
|
|
9690
|
+
/**
|
|
9691
|
+
* When both nodeCallBack and NodeSpecific callBack are matched, will only look at nodeSpecifCallback
|
|
9692
|
+
*/
|
|
9693
|
+
visitNodeSpecific(startObject, nodeCallBacks, nodeSpecificCallBacks) {
|
|
9694
|
+
const visitWrapper = (curObject) => {
|
|
9695
|
+
let ogTransform;
|
|
9696
|
+
const casted = curObject;
|
|
9697
|
+
if (casted.type && casted.subType) {
|
|
9698
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9699
|
+
if (specific) {
|
|
9700
|
+
ogTransform = specific[casted.subType]?.visitor;
|
|
9701
|
+
}
|
|
9702
|
+
if (!ogTransform) {
|
|
9703
|
+
ogTransform = nodeCallBacks[casted.type]?.visitor;
|
|
9704
|
+
}
|
|
9705
|
+
}
|
|
9706
|
+
if (ogTransform) {
|
|
9707
|
+
ogTransform(casted);
|
|
9708
|
+
}
|
|
9709
|
+
};
|
|
9710
|
+
const preVisitWrapper = (curObject) => {
|
|
9711
|
+
let ogPreVisit;
|
|
9712
|
+
const casted = curObject;
|
|
9713
|
+
if (casted.type && casted.subType) {
|
|
9714
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9715
|
+
if (specific) {
|
|
9716
|
+
ogPreVisit = specific[casted.subType]?.preVisitor;
|
|
9717
|
+
}
|
|
9718
|
+
if (!ogPreVisit) {
|
|
9719
|
+
ogPreVisit = nodeCallBacks[casted.type]?.preVisitor;
|
|
9720
|
+
}
|
|
9721
|
+
}
|
|
9722
|
+
return ogPreVisit ? ogPreVisit(casted) : curObject;
|
|
9723
|
+
};
|
|
9724
|
+
this.visitObject(startObject, visitWrapper, preVisitWrapper);
|
|
9725
|
+
}
|
|
9726
|
+
traverseSubNodes(currentNode, traverseNode, traverseSubNode) {
|
|
9727
|
+
let didShortCut = false;
|
|
9728
|
+
const recurse = (curNode) => {
|
|
9729
|
+
let traverser;
|
|
9730
|
+
const subObj = traverseSubNode[curNode.type];
|
|
9731
|
+
if (subObj) {
|
|
9732
|
+
traverser = subObj[curNode.subType];
|
|
9733
|
+
}
|
|
9734
|
+
if (!traverser) {
|
|
9735
|
+
traverser = traverseNode[curNode.type];
|
|
9736
|
+
}
|
|
9737
|
+
if (traverser) {
|
|
9738
|
+
const { next, shortcut } = traverser(curNode);
|
|
9739
|
+
didShortCut = shortcut ?? false;
|
|
9740
|
+
if (!didShortCut) {
|
|
9741
|
+
for (const node of next ?? []) {
|
|
9742
|
+
if (didShortCut) {
|
|
9743
|
+
return;
|
|
9744
|
+
}
|
|
9745
|
+
recurse(node);
|
|
9746
|
+
}
|
|
9747
|
+
}
|
|
9748
|
+
}
|
|
9749
|
+
};
|
|
9750
|
+
recurse(currentNode);
|
|
9751
|
+
}
|
|
9752
|
+
};
|
|
9753
|
+
|
|
9754
|
+
// ../rules-sparql-1-1/lib/grammar/index.js
|
|
9755
|
+
var grammar_exports = {};
|
|
9756
|
+
__export(grammar_exports, {
|
|
9757
|
+
add: () => add2,
|
|
9758
|
+
additiveExpression: () => additiveExpression,
|
|
9759
|
+
aggregate: () => aggregate,
|
|
9760
|
+
aggregateAvg: () => aggregateAvg,
|
|
9761
|
+
aggregateCount: () => aggregateCount,
|
|
9762
|
+
aggregateGroup_concat: () => aggregateGroup_concat,
|
|
9763
|
+
aggregateMax: () => aggregateMax,
|
|
9764
|
+
aggregateMin: () => aggregateMin,
|
|
9765
|
+
aggregateSample: () => aggregateSample,
|
|
9766
|
+
aggregateSum: () => aggregateSum,
|
|
9767
|
+
argList: () => argList,
|
|
9768
|
+
askQuery: () => askQuery,
|
|
9769
|
+
baseAggregateFunc: () => baseAggregateFunc,
|
|
9770
|
+
baseDecl: () => baseDecl2,
|
|
9771
|
+
bind: () => bind2,
|
|
9772
|
+
blankNode: () => blankNode,
|
|
9773
|
+
blankNodePropertyList: () => blankNodePropertyList,
|
|
9774
|
+
blankNodePropertyListPath: () => blankNodePropertyListPath,
|
|
9775
|
+
booleanLiteral: () => booleanLiteral,
|
|
9776
|
+
brackettedExpression: () => brackettedExpression,
|
|
9777
|
+
builtInAbs: () => builtInAbs,
|
|
9778
|
+
builtInBnodeSparqlJs: () => builtInBnodeSparqlJs,
|
|
9779
|
+
builtInBound: () => builtInBound,
|
|
9780
|
+
builtInCall: () => builtInCall,
|
|
9781
|
+
builtInCallList: () => builtInCallList,
|
|
9782
|
+
builtInCeil: () => builtInCeil,
|
|
9783
|
+
builtInCoalesce: () => builtInCoalesce,
|
|
9784
|
+
builtInConcat: () => builtInConcat,
|
|
9785
|
+
builtInContains: () => builtInContains,
|
|
9786
|
+
builtInDatatype: () => builtInDatatype,
|
|
9787
|
+
builtInDay: () => builtInDay,
|
|
9788
|
+
builtInEncode_for_uri: () => builtInEncode_for_uri,
|
|
9789
|
+
builtInFloor: () => builtInFloor,
|
|
9790
|
+
builtInHours: () => builtInHours,
|
|
9791
|
+
builtInIf: () => builtInIf,
|
|
9792
|
+
builtInIri: () => builtInIri,
|
|
9793
|
+
builtInIsblank: () => builtInIsblank,
|
|
9794
|
+
builtInIsiri: () => builtInIsiri,
|
|
9795
|
+
builtInIsliteral: () => builtInIsliteral,
|
|
9796
|
+
builtInIsnumeric: () => builtInIsnumeric,
|
|
9797
|
+
builtInIsuri: () => builtInIsuri,
|
|
9798
|
+
builtInLang: () => builtInLang,
|
|
9799
|
+
builtInLangmatches: () => builtInLangmatches,
|
|
9800
|
+
builtInLcase: () => builtInLcase,
|
|
9801
|
+
builtInMd5: () => builtInMd5,
|
|
9802
|
+
builtInMinutes: () => builtInMinutes,
|
|
9803
|
+
builtInMonth: () => builtInMonth,
|
|
9804
|
+
builtInNow: () => builtInNow,
|
|
9805
|
+
builtInRand: () => builtInRand,
|
|
9806
|
+
builtInRound: () => builtInRound,
|
|
9807
|
+
builtInSameterm: () => builtInSameterm,
|
|
9808
|
+
builtInSeconds: () => builtInSeconds,
|
|
9809
|
+
builtInSha1: () => builtInSha1,
|
|
9810
|
+
builtInSha256: () => builtInSha256,
|
|
9811
|
+
builtInSha384: () => builtInSha384,
|
|
9812
|
+
builtInSha512: () => builtInSha512,
|
|
9813
|
+
builtInStr: () => builtInStr,
|
|
9814
|
+
builtInStrafter: () => builtInStrafter,
|
|
9815
|
+
builtInStrbefore: () => builtInStrbefore,
|
|
9816
|
+
builtInStrdt: () => builtInStrdt,
|
|
9817
|
+
builtInStrends: () => builtInStrends,
|
|
9818
|
+
builtInStrlang: () => builtInStrlang,
|
|
9819
|
+
builtInStrlen: () => builtInStrlen,
|
|
9820
|
+
builtInStrstarts: () => builtInStrstarts,
|
|
9821
|
+
builtInStruuid: () => builtInStruuid,
|
|
9822
|
+
builtInTimezone: () => builtInTimezone,
|
|
9823
|
+
builtInTz: () => builtInTz,
|
|
9824
|
+
builtInUcase: () => builtInUcase,
|
|
9825
|
+
builtInUri: () => builtInUri,
|
|
9826
|
+
builtInUuid: () => builtInUuid,
|
|
9827
|
+
builtInYear: () => builtInYear,
|
|
9828
|
+
canCreateBlankNodes: () => canCreateBlankNodes,
|
|
9829
|
+
clear: () => clear2,
|
|
9830
|
+
collection: () => collection,
|
|
9831
|
+
collectionPath: () => collectionPath,
|
|
9832
|
+
conditionalAndExpression: () => conditionalAndExpression,
|
|
9833
|
+
conditionalOrExpression: () => conditionalOrExpression,
|
|
9834
|
+
constraint: () => constraint,
|
|
9835
|
+
constructQuery: () => constructQuery,
|
|
9836
|
+
constructTemplate: () => constructTemplate,
|
|
9837
|
+
constructTriples: () => constructTriples,
|
|
9838
|
+
copy: () => copy2,
|
|
9839
|
+
create: () => create2,
|
|
9840
|
+
dataBlock: () => dataBlock,
|
|
9841
|
+
dataBlockValue: () => dataBlockValue,
|
|
9842
|
+
datasetClause: () => datasetClause,
|
|
9843
|
+
datasetClauseStar: () => datasetClauseStar,
|
|
9844
|
+
datasetClauseUsing: () => datasetClauseUsing,
|
|
9845
|
+
datasetClauseUsingStar: () => datasetClauseUsingStar,
|
|
9846
|
+
defaultGraphClause: () => defaultGraphClause,
|
|
9847
|
+
deleteClause: () => deleteClause2,
|
|
9848
|
+
deleteData: () => deleteData,
|
|
9849
|
+
deleteWhere: () => deleteWhere,
|
|
9850
|
+
describeQuery: () => describeQuery,
|
|
9851
|
+
drop: () => drop3,
|
|
9852
|
+
existsFunc: () => existsFunc,
|
|
9853
|
+
expression: () => expression,
|
|
9854
|
+
expressionList: () => expressionList,
|
|
9855
|
+
filter: () => filter3,
|
|
9856
|
+
funcExpr1: () => funcExpr1,
|
|
9857
|
+
funcExpr2: () => funcExpr2,
|
|
9858
|
+
funcExpr2or3: () => funcExpr2or3,
|
|
9859
|
+
funcExpr3: () => funcExpr3,
|
|
9860
|
+
funcExpr3or4: () => funcExpr3or4,
|
|
9861
|
+
funcExprList1: () => funcExprList1,
|
|
9862
|
+
funcExprOrNil1: () => funcExprOrNil1,
|
|
9863
|
+
funcGroupGraphPattern: () => funcGroupGraphPattern,
|
|
9864
|
+
funcNil1: () => funcNil1,
|
|
9865
|
+
funcVar1: () => funcVar1,
|
|
9866
|
+
functionCall: () => functionCall,
|
|
9867
|
+
generatePattern: () => generatePattern,
|
|
9868
|
+
graphGraphPattern: () => graphGraphPattern,
|
|
9869
|
+
graphNode: () => graphNode,
|
|
9870
|
+
graphNodePath: () => graphNodePath,
|
|
9871
|
+
graphOrDefault: () => graphOrDefault,
|
|
9872
|
+
graphPatternNotTriples: () => graphPatternNotTriples,
|
|
9873
|
+
graphRef: () => graphRef,
|
|
9874
|
+
graphRefAll: () => graphRefAll,
|
|
9875
|
+
graphTerm: () => graphTerm,
|
|
9876
|
+
groupClause: () => groupClause,
|
|
9877
|
+
groupCondition: () => groupCondition,
|
|
9878
|
+
groupGraphPattern: () => groupGraphPattern,
|
|
9879
|
+
groupGraphPatternSub: () => groupGraphPatternSub,
|
|
9880
|
+
groupOrUnionGraphPattern: () => groupOrUnionGraphPattern,
|
|
9881
|
+
havingClause: () => havingClause,
|
|
9882
|
+
havingCondition: () => havingCondition,
|
|
9883
|
+
inlineData: () => inlineData,
|
|
9884
|
+
inlineDataFull: () => inlineDataFull,
|
|
9885
|
+
inlineDataOneVar: () => inlineDataOneVar,
|
|
9886
|
+
insertClause: () => insertClause2,
|
|
9887
|
+
insertData: () => insertData,
|
|
9888
|
+
iri: () => iri2,
|
|
9889
|
+
iriFull: () => iriFull,
|
|
9890
|
+
iriOrFunction: () => iriOrFunction,
|
|
9891
|
+
limitClause: () => limitClause,
|
|
9892
|
+
limitOffsetClauses: () => limitOffsetClauses,
|
|
9893
|
+
load: () => load2,
|
|
9894
|
+
minusGraphPattern: () => minusGraphPattern,
|
|
9895
|
+
modify: () => modify,
|
|
9896
|
+
move: () => move2,
|
|
9897
|
+
multiplicativeExpression: () => multiplicativeExpression,
|
|
9898
|
+
namedGraphClause: () => namedGraphClause,
|
|
9899
|
+
notExistsFunc: () => notExistsFunc,
|
|
9900
|
+
numericExpression: () => numericExpression,
|
|
9901
|
+
numericLiteral: () => numericLiteral,
|
|
9902
|
+
numericLiteralNegative: () => numericLiteralNegative,
|
|
9903
|
+
numericLiteralPositive: () => numericLiteralPositive,
|
|
9904
|
+
numericLiteralUnsigned: () => numericLiteralUnsigned,
|
|
9905
|
+
object: () => object,
|
|
9906
|
+
objectList: () => objectList,
|
|
9907
|
+
objectListPath: () => objectListPath,
|
|
9908
|
+
objectPath: () => objectPath,
|
|
9909
|
+
offsetClause: () => offsetClause,
|
|
9910
|
+
optionalGraphPattern: () => optionalGraphPattern,
|
|
9911
|
+
orderClause: () => orderClause,
|
|
9912
|
+
orderCondition: () => orderCondition,
|
|
9913
|
+
path: () => path,
|
|
9914
|
+
pathAlternative: () => pathAlternative,
|
|
9915
|
+
pathChainHelper: () => pathChainHelper,
|
|
9916
|
+
pathElt: () => pathElt,
|
|
9917
|
+
pathEltOrInverse: () => pathEltOrInverse,
|
|
9918
|
+
pathGenerator: () => pathGenerator,
|
|
9919
|
+
pathMod: () => pathMod,
|
|
9920
|
+
pathNegatedPropertySet: () => pathNegatedPropertySet,
|
|
9921
|
+
pathOneInPropertySet: () => pathOneInPropertySet,
|
|
9922
|
+
pathPrimary: () => pathPrimary,
|
|
9923
|
+
pathSequence: () => pathSequence,
|
|
9924
|
+
prefixDecl: () => prefixDecl2,
|
|
9925
|
+
prefixedName: () => prefixedName,
|
|
9926
|
+
primaryExpression: () => primaryExpression,
|
|
9927
|
+
prologue: () => prologue,
|
|
9928
|
+
propertyList: () => propertyList,
|
|
9929
|
+
propertyListNotEmpty: () => propertyListNotEmpty,
|
|
9930
|
+
propertyListPath: () => propertyListPath,
|
|
9931
|
+
propertyListPathNotEmpty: () => propertyListPathNotEmpty,
|
|
9932
|
+
quadData: () => quadData,
|
|
9933
|
+
quadPattern: () => quadPattern,
|
|
9934
|
+
quads: () => quads,
|
|
9935
|
+
quadsNotTriples: () => quadsNotTriples,
|
|
9936
|
+
query: () => query,
|
|
9937
|
+
queryOrUpdate: () => queryOrUpdate,
|
|
9938
|
+
queryUnit: () => queryUnit,
|
|
9939
|
+
rdfLiteral: () => rdfLiteral,
|
|
9940
|
+
regexExpression: () => regexExpression,
|
|
9941
|
+
relationalExpression: () => relationalExpression,
|
|
9942
|
+
selectClause: () => selectClause,
|
|
9943
|
+
selectQuery: () => selectQuery,
|
|
9944
|
+
serviceGraphPattern: () => serviceGraphPattern,
|
|
9945
|
+
solutionModifier: () => solutionModifier,
|
|
9946
|
+
sourceSelector: () => sourceSelector,
|
|
9947
|
+
strReplaceExpression: () => strReplaceExpression,
|
|
9948
|
+
string: () => string,
|
|
9949
|
+
stringEscapedLexical: () => stringEscapedLexical,
|
|
9950
|
+
subSelect: () => subSelect,
|
|
9951
|
+
substringExpression: () => substringExpression,
|
|
9952
|
+
triplesBlock: () => triplesBlock,
|
|
9953
|
+
triplesNode: () => triplesNode,
|
|
9954
|
+
triplesNodePath: () => triplesNodePath,
|
|
9955
|
+
triplesSameSubject: () => triplesSameSubject,
|
|
9956
|
+
triplesSameSubjectPath: () => triplesSameSubjectPath,
|
|
9957
|
+
triplesTemplate: () => triplesTemplate,
|
|
9958
|
+
unaryExpression: () => unaryExpression,
|
|
9959
|
+
update: () => update,
|
|
9960
|
+
update1: () => update1,
|
|
9961
|
+
updateUnit: () => updateUnit,
|
|
9962
|
+
usingClause: () => usingClause2,
|
|
9963
|
+
usingClauseStar: () => usingClauseStar,
|
|
9964
|
+
valueLogical: () => valueLogical,
|
|
9965
|
+
valuesClause: () => valuesClause,
|
|
9966
|
+
varOrIri: () => varOrIri,
|
|
9967
|
+
varOrTerm: () => varOrTerm,
|
|
9968
|
+
var_: () => var_,
|
|
9969
|
+
verb: () => verb,
|
|
9970
|
+
verbA: () => verbA,
|
|
9971
|
+
verbPath: () => verbPath,
|
|
9972
|
+
verbSimple: () => verbSimple,
|
|
9973
|
+
whereClause: () => whereClause
|
|
9974
|
+
});
|
|
9874
9975
|
|
|
9875
|
-
// ../
|
|
9876
|
-
var
|
|
9877
|
-
|
|
9878
|
-
|
|
9879
|
-
|
|
9880
|
-
|
|
9881
|
-
|
|
9882
|
-
|
|
9883
|
-
|
|
9884
|
-
|
|
9885
|
-
|
|
9886
|
-
|
|
9887
|
-
|
|
9888
|
-
|
|
9889
|
-
|
|
9890
|
-
|
|
9891
|
-
|
|
9892
|
-
|
|
9893
|
-
|
|
9894
|
-
|
|
9895
|
-
|
|
9896
|
-
|
|
9897
|
-
|
|
9898
|
-
|
|
9899
|
-
|
|
9900
|
-
|
|
9901
|
-
|
|
9902
|
-
|
|
9903
|
-
|
|
9904
|
-
|
|
9905
|
-
|
|
9906
|
-
|
|
9907
|
-
|
|
9908
|
-
|
|
9909
|
-
|
|
9910
|
-
|
|
9911
|
-
|
|
9912
|
-
|
|
9913
|
-
|
|
9914
|
-
|
|
9915
|
-
|
|
9916
|
-
|
|
9917
|
-
|
|
9918
|
-
|
|
9919
|
-
|
|
9920
|
-
|
|
9921
|
-
|
|
9922
|
-
|
|
9923
|
-
|
|
9924
|
-
|
|
9925
|
-
|
|
9926
|
-
|
|
9927
|
-
|
|
9928
|
-
|
|
9929
|
-
|
|
9930
|
-
|
|
9931
|
-
|
|
9932
|
-
|
|
9933
|
-
transformNodeSpecific(curObject, nodeCallBacks, nodeSpecificCallBacks = {}) {
|
|
9934
|
-
let continueCheck;
|
|
9935
|
-
let transformation;
|
|
9936
|
-
const casted = curObject;
|
|
9937
|
-
if (casted.type && casted.subType) {
|
|
9938
|
-
const specific = nodeSpecificCallBacks[casted.type];
|
|
9939
|
-
if (specific) {
|
|
9940
|
-
continueCheck = specific[casted.subType]?.continue;
|
|
9941
|
-
transformation = specific[casted.subType]?.transform;
|
|
9942
|
-
}
|
|
9943
|
-
}
|
|
9944
|
-
let shouldContinue = true;
|
|
9945
|
-
if (continueCheck) {
|
|
9946
|
-
shouldContinue = continueCheck(curObject);
|
|
9947
|
-
}
|
|
9948
|
-
if (!shouldContinue) {
|
|
9949
|
-
return curObject;
|
|
9950
|
-
}
|
|
9951
|
-
const copy3 = { ...curObject };
|
|
9952
|
-
for (const [key, value] of Object.entries(copy3)) {
|
|
9953
|
-
copy3[key] = this.safeObjectVisit(value, (obj) => this.transformNodeSpecific(obj, nodeCallBacks, nodeSpecificCallBacks));
|
|
9954
|
-
}
|
|
9955
|
-
if (transformation) {
|
|
9956
|
-
return transformation(copy3);
|
|
9957
|
-
}
|
|
9958
|
-
return copy3;
|
|
9959
|
-
}
|
|
9960
|
-
/**
|
|
9961
|
-
* When both nodeCallBack and NodeSpecific callBack are matched, will only look at nodeSpecifCallback
|
|
9962
|
-
*/
|
|
9963
|
-
visitNodeSpecific(curObject, nodeCallBacks, nodeSpecificCallBacks = {}) {
|
|
9964
|
-
let callback;
|
|
9965
|
-
const casted = curObject;
|
|
9966
|
-
if (casted.type && casted.subType) {
|
|
9967
|
-
const specific = nodeSpecificCallBacks[casted.type];
|
|
9968
|
-
if (specific) {
|
|
9969
|
-
callback = specific[casted.subType];
|
|
9970
|
-
}
|
|
9971
|
-
}
|
|
9972
|
-
if (!callback && casted.type) {
|
|
9973
|
-
callback = nodeCallBacks[curObject.type];
|
|
9974
|
-
}
|
|
9975
|
-
let shouldIterate = true;
|
|
9976
|
-
if (callback) {
|
|
9977
|
-
shouldIterate = callback(curObject) ?? true;
|
|
9978
|
-
}
|
|
9979
|
-
if (shouldIterate) {
|
|
9980
|
-
for (const value of Object.values(curObject)) {
|
|
9981
|
-
this.safeObjectVisit(value, (obj) => this.visitNodeSpecific(obj, nodeCallBacks, nodeSpecificCallBacks));
|
|
9982
|
-
}
|
|
9983
|
-
}
|
|
9984
|
-
}
|
|
9985
|
-
};
|
|
9976
|
+
// ../rules-sparql-1-1/lib/lexer/index.js
|
|
9977
|
+
var lexer_exports = {};
|
|
9978
|
+
__export(lexer_exports, {
|
|
9979
|
+
a: () => a,
|
|
9980
|
+
add: () => add,
|
|
9981
|
+
allBaseTokens: () => allBaseTokens,
|
|
9982
|
+
as: () => as,
|
|
9983
|
+
ask: () => ask,
|
|
9984
|
+
baseDecl: () => baseDecl,
|
|
9985
|
+
bind: () => bind,
|
|
9986
|
+
builtIn: () => BuiltInCalls_exports,
|
|
9987
|
+
by: () => by,
|
|
9988
|
+
clear: () => clear,
|
|
9989
|
+
construct: () => construct,
|
|
9990
|
+
copy: () => copy,
|
|
9991
|
+
create: () => create,
|
|
9992
|
+
dataClause: () => dataClause,
|
|
9993
|
+
deleteClause: () => deleteClause,
|
|
9994
|
+
describe: () => describe,
|
|
9995
|
+
distinct: () => distinct,
|
|
9996
|
+
drop: () => drop2,
|
|
9997
|
+
false_: () => false_,
|
|
9998
|
+
filter: () => filter2,
|
|
9999
|
+
from: () => from,
|
|
10000
|
+
graph: () => graph_exports,
|
|
10001
|
+
groupByGroup: () => groupByGroup,
|
|
10002
|
+
having: () => having,
|
|
10003
|
+
in_: () => in_,
|
|
10004
|
+
insertClause: () => insertClause,
|
|
10005
|
+
limit: () => limit,
|
|
10006
|
+
load: () => load,
|
|
10007
|
+
loadInto: () => loadInto,
|
|
10008
|
+
minus: () => minus,
|
|
10009
|
+
modifyWith: () => modifyWith,
|
|
10010
|
+
move: () => move,
|
|
10011
|
+
notIn: () => notIn,
|
|
10012
|
+
offset: () => offset,
|
|
10013
|
+
optional: () => optional,
|
|
10014
|
+
order: () => order,
|
|
10015
|
+
orderAsc: () => orderAsc,
|
|
10016
|
+
orderDesc: () => orderDesc,
|
|
10017
|
+
prefixDecl: () => prefixDecl,
|
|
10018
|
+
reduced: () => reduced,
|
|
10019
|
+
select: () => select,
|
|
10020
|
+
separator: () => separator,
|
|
10021
|
+
service: () => service,
|
|
10022
|
+
silent: () => silent,
|
|
10023
|
+
sparql11LexerBuilder: () => sparql11LexerBuilder,
|
|
10024
|
+
symbols: () => symbols_exports,
|
|
10025
|
+
terminals: () => terminals_exports,
|
|
10026
|
+
to: () => to,
|
|
10027
|
+
true_: () => true_,
|
|
10028
|
+
undef: () => undef,
|
|
10029
|
+
union: () => union,
|
|
10030
|
+
usingClause: () => usingClause,
|
|
10031
|
+
values: () => values2,
|
|
10032
|
+
where: () => where
|
|
10033
|
+
});
|
|
9986
10034
|
|
|
9987
10035
|
// ../rules-sparql-1-1/lib/lexer/BuiltInCalls.js
|
|
10036
|
+
var BuiltInCalls_exports = {};
|
|
10037
|
+
__export(BuiltInCalls_exports, {
|
|
10038
|
+
BuiltInCalls: () => BuiltInCalls,
|
|
10039
|
+
abs: () => abs,
|
|
10040
|
+
allBuiltInCalls: () => allBuiltInCalls,
|
|
10041
|
+
avg: () => avg,
|
|
10042
|
+
bnode: () => bnode,
|
|
10043
|
+
bound: () => bound,
|
|
10044
|
+
ceil: () => ceil,
|
|
10045
|
+
coalesce: () => coalesce,
|
|
10046
|
+
concat: () => concat,
|
|
10047
|
+
contains: () => contains,
|
|
10048
|
+
count: () => count,
|
|
10049
|
+
datatype: () => datatype,
|
|
10050
|
+
day: () => day,
|
|
10051
|
+
encode_for_uri: () => encode_for_uri,
|
|
10052
|
+
exists: () => exists,
|
|
10053
|
+
floor: () => floor,
|
|
10054
|
+
groupConcat: () => groupConcat,
|
|
10055
|
+
hours: () => hours,
|
|
10056
|
+
if_: () => if_,
|
|
10057
|
+
iri: () => iri,
|
|
10058
|
+
isblank: () => isblank,
|
|
10059
|
+
isiri: () => isiri,
|
|
10060
|
+
isliteral: () => isliteral,
|
|
10061
|
+
isnumeric: () => isnumeric,
|
|
10062
|
+
isuri: () => isuri,
|
|
10063
|
+
lang: () => lang,
|
|
10064
|
+
langmatches: () => langmatches,
|
|
10065
|
+
lcase: () => lcase,
|
|
10066
|
+
max: () => max,
|
|
10067
|
+
md5: () => md5,
|
|
10068
|
+
min: () => min,
|
|
10069
|
+
minutes: () => minutes,
|
|
10070
|
+
month: () => month,
|
|
10071
|
+
notexists: () => notexists,
|
|
10072
|
+
now: () => now,
|
|
10073
|
+
rand: () => rand,
|
|
10074
|
+
regex: () => regex,
|
|
10075
|
+
replace: () => replace,
|
|
10076
|
+
round: () => round,
|
|
10077
|
+
sameterm: () => sameterm,
|
|
10078
|
+
sample: () => sample,
|
|
10079
|
+
seconds: () => seconds,
|
|
10080
|
+
sha1: () => sha1,
|
|
10081
|
+
sha256: () => sha256,
|
|
10082
|
+
sha384: () => sha384,
|
|
10083
|
+
sha512: () => sha512,
|
|
10084
|
+
str: () => str,
|
|
10085
|
+
strafter: () => strafter,
|
|
10086
|
+
strbefore: () => strbefore,
|
|
10087
|
+
strdt: () => strdt,
|
|
10088
|
+
strends: () => strends,
|
|
10089
|
+
strlang: () => strlang,
|
|
10090
|
+
strlen: () => strlen,
|
|
10091
|
+
strstarts: () => strstarts,
|
|
10092
|
+
struuid: () => struuid,
|
|
10093
|
+
substr: () => substr,
|
|
10094
|
+
sum: () => sum,
|
|
10095
|
+
timezone: () => timezone,
|
|
10096
|
+
tz: () => tz,
|
|
10097
|
+
ucase: () => ucase,
|
|
10098
|
+
uri: () => uri,
|
|
10099
|
+
uuid: () => uuid,
|
|
10100
|
+
year: () => year
|
|
10101
|
+
});
|
|
9988
10102
|
var BuiltInCalls;
|
|
9989
10103
|
(function(BuiltInCalls2) {
|
|
9990
10104
|
BuiltInCalls2["Str"] = "builtInStr";
|
|
@@ -11031,8 +11145,8 @@ function UpdateOperationFactoryMixin(Base) {
|
|
|
11031
11145
|
};
|
|
11032
11146
|
}
|
|
11033
11147
|
|
|
11034
|
-
// ../rules-sparql-1-1/lib/
|
|
11035
|
-
var
|
|
11148
|
+
// ../rules-sparql-1-1/lib/astFactory.js
|
|
11149
|
+
var AstFactory = class extends asArg(AstCoreFactory).call(ContextFactoryMixin).call(ExpressionFactoryMixin).call(GraphRefFactoryMixin).call(PathFactoryMixin).call(PatternFactoryMixin).call(QueryFactoryMixin).call(SolutionModifiersFactoryMixin).call(TermFactoryMixin).call(UpdateOperationFactoryMixin).returns() {
|
|
11036
11150
|
alwaysSparql11(obj) {
|
|
11037
11151
|
return true;
|
|
11038
11152
|
}
|
|
@@ -11129,12 +11243,12 @@ var CommonIRIs;
|
|
|
11129
11243
|
CommonIRIs2["NIL"] = "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil";
|
|
11130
11244
|
CommonIRIs2["TYPE"] = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type";
|
|
11131
11245
|
})(CommonIRIs || (CommonIRIs = {}));
|
|
11132
|
-
var
|
|
11246
|
+
var AstTransformer = class extends TransformerSubType {
|
|
11133
11247
|
};
|
|
11134
11248
|
|
|
11135
11249
|
// ../rules-sparql-1-1/lib/validation/validators.js
|
|
11136
|
-
var F = new
|
|
11137
|
-
var transformer = new
|
|
11250
|
+
var F = new AstFactory();
|
|
11251
|
+
var transformer = new AstTransformer();
|
|
11138
11252
|
function getAggregatesOfExpression(expression2) {
|
|
11139
11253
|
if (F.isExpressionAggregate(expression2)) {
|
|
11140
11254
|
return [expression2];
|
|
@@ -11213,77 +11327,69 @@ function queryIsGood(query2) {
|
|
|
11213
11327
|
}
|
|
11214
11328
|
}
|
|
11215
11329
|
}
|
|
11330
|
+
function notUndefined(some2) {
|
|
11331
|
+
return some2 !== void 0;
|
|
11332
|
+
}
|
|
11216
11333
|
function findPatternBoundedVars(iter, boundedVars) {
|
|
11217
|
-
|
|
11218
|
-
|
|
11219
|
-
|
|
11220
|
-
|
|
11221
|
-
|
|
11222
|
-
|
|
11223
|
-
|
|
11224
|
-
|
|
11225
|
-
|
|
11226
|
-
|
|
11227
|
-
|
|
11228
|
-
|
|
11229
|
-
|
|
11230
|
-
|
|
11231
|
-
|
|
11232
|
-
|
|
11233
|
-
|
|
11234
|
-
|
|
11235
|
-
|
|
11236
|
-
|
|
11334
|
+
transformer.traverseSubNodes(iter, {
|
|
11335
|
+
query: (op) => ({ next: [
|
|
11336
|
+
op.solutionModifiers.group
|
|
11337
|
+
].filter(notUndefined) }),
|
|
11338
|
+
triple: (op) => ({ next: [op.subject, op.predicate, op.object] }),
|
|
11339
|
+
path: (op) => ({ next: op.items }),
|
|
11340
|
+
tripleCollection: (op) => ({ next: [op.identifier, ...op.triples] })
|
|
11341
|
+
}, {
|
|
11342
|
+
query: {
|
|
11343
|
+
select: (op) => ({ next: [
|
|
11344
|
+
...op.variables.some((x) => F.isWildcard(x)) ? [op.where] : op.variables,
|
|
11345
|
+
op.solutionModifiers.group,
|
|
11346
|
+
op.values
|
|
11347
|
+
].filter(notUndefined) }),
|
|
11348
|
+
describe: (op) => ({ next: [
|
|
11349
|
+
...op.variables.some((x) => F.isWildcard(x)) ? [op.where] : op.variables,
|
|
11350
|
+
op.solutionModifiers.group,
|
|
11351
|
+
op.values
|
|
11352
|
+
].filter(notUndefined) })
|
|
11353
|
+
},
|
|
11354
|
+
solutionModifier: {
|
|
11355
|
+
group: (op) => ({
|
|
11356
|
+
next: op.groupings.filter((g) => "variable" in g).map((x) => x.variable)
|
|
11357
|
+
}),
|
|
11358
|
+
having: (op) => ({ next: op.having }),
|
|
11359
|
+
order: (op) => ({ next: op.orderDefs.map((x) => x.expression) })
|
|
11360
|
+
},
|
|
11361
|
+
pattern: {
|
|
11362
|
+
values: (op) => {
|
|
11363
|
+
for (const v of Object.keys(op.values.at(0) ?? {})) {
|
|
11237
11364
|
boundedVars.add(v);
|
|
11238
11365
|
}
|
|
11366
|
+
return {};
|
|
11367
|
+
},
|
|
11368
|
+
bgp: (op) => ({ next: op.triples }),
|
|
11369
|
+
group: (op) => ({ next: op.patterns }),
|
|
11370
|
+
union: (op) => ({ next: op.patterns }),
|
|
11371
|
+
optional: (op) => ({ next: op.patterns }),
|
|
11372
|
+
service: (op) => ({ next: [op.name, ...op.patterns] }),
|
|
11373
|
+
bind: (op) => ({ next: [op.variable] }),
|
|
11374
|
+
graph: (op) => ({ next: [op.name, ...op.patterns] }),
|
|
11375
|
+
minus: (op) => ({ next: op.patterns.slice(0, 1) })
|
|
11376
|
+
},
|
|
11377
|
+
term: {
|
|
11378
|
+
variable: (op) => {
|
|
11379
|
+
boundedVars.add(op.value);
|
|
11380
|
+
return {};
|
|
11239
11381
|
}
|
|
11240
11382
|
}
|
|
11241
|
-
}
|
|
11242
|
-
if (F.isTermVariable(iter)) {
|
|
11243
|
-
boundedVars.add(iter.value);
|
|
11244
|
-
}
|
|
11245
|
-
} else if (F.isTriple(iter)) {
|
|
11246
|
-
findPatternBoundedVars(iter.subject, boundedVars);
|
|
11247
|
-
findPatternBoundedVars(iter.predicate, boundedVars);
|
|
11248
|
-
findPatternBoundedVars(iter.object, boundedVars);
|
|
11249
|
-
} else if (F.isPath(iter)) {
|
|
11250
|
-
if (!F.isTerm(iter)) {
|
|
11251
|
-
for (const item of iter.items) {
|
|
11252
|
-
findPatternBoundedVars(item, boundedVars);
|
|
11253
|
-
}
|
|
11254
|
-
}
|
|
11255
|
-
} else if (F.isTripleCollection(iter) || F.isPatternBgp(iter)) {
|
|
11256
|
-
for (const triple of iter.triples) {
|
|
11257
|
-
findPatternBoundedVars(triple, boundedVars);
|
|
11258
|
-
}
|
|
11259
|
-
} else if (F.isPatternGroup(iter) || F.isPatternUnion(iter) || F.isPatternOptional(iter) || F.isPatternService(iter)) {
|
|
11260
|
-
for (const pattern of iter.patterns) {
|
|
11261
|
-
findPatternBoundedVars(pattern, boundedVars);
|
|
11262
|
-
}
|
|
11263
|
-
if (F.isPatternService(iter)) {
|
|
11264
|
-
findPatternBoundedVars(iter.name, boundedVars);
|
|
11265
|
-
}
|
|
11266
|
-
} else if (F.isPatternBind(iter)) {
|
|
11267
|
-
findPatternBoundedVars(iter.variable, boundedVars);
|
|
11268
|
-
} else if (F.isPatternValues(iter)) {
|
|
11269
|
-
for (const variable of Object.keys(iter.values.at(0) ?? {})) {
|
|
11270
|
-
boundedVars.add(variable);
|
|
11271
|
-
}
|
|
11272
|
-
} else if (F.isPatternGraph(iter)) {
|
|
11273
|
-
findPatternBoundedVars(iter.name, boundedVars);
|
|
11274
|
-
for (const pattern of iter.patterns) {
|
|
11275
|
-
findPatternBoundedVars(pattern, boundedVars);
|
|
11276
|
-
}
|
|
11277
|
-
}
|
|
11383
|
+
});
|
|
11278
11384
|
}
|
|
11279
11385
|
function checkNote13(patterns) {
|
|
11280
11386
|
for (const [index, pattern] of patterns.entries()) {
|
|
11281
11387
|
if (F.isPatternBind(pattern) && index > 0 && F.isPatternBgp(patterns[index - 1])) {
|
|
11282
11388
|
const bgp = patterns[index - 1];
|
|
11283
11389
|
const variables = [];
|
|
11284
|
-
transformer.visitNodeSpecific(bgp, {}, { term: { variable: (var_2) => {
|
|
11390
|
+
transformer.visitNodeSpecific(bgp, {}, { term: { variable: { visitor: (var_2) => {
|
|
11285
11391
|
variables.push(var_2);
|
|
11286
|
-
} } });
|
|
11392
|
+
} } } });
|
|
11287
11393
|
if (variables.some((var_2) => var_2.value === pattern.variable.value)) {
|
|
11288
11394
|
throw new Error(`Variable used to bind is already bound (?${pattern.variable.value})`);
|
|
11289
11395
|
}
|
|
@@ -11309,12 +11415,12 @@ function updateNoReuseBlankNodeLabels(updateQuery) {
|
|
|
11309
11415
|
const operation = update2.operation;
|
|
11310
11416
|
if (operation.subType === "insertdata") {
|
|
11311
11417
|
const blankNodesHere = /* @__PURE__ */ new Set();
|
|
11312
|
-
transformer.visitNodeSpecific(operation, {}, { term: { blankNode: (blankNode2) => {
|
|
11418
|
+
transformer.visitNodeSpecific(operation, {}, { term: { blankNode: { visitor: (blankNode2) => {
|
|
11313
11419
|
blankNodesHere.add(blankNode2.label);
|
|
11314
11420
|
if (blankLabelsUsedInInsertData.has(blankNode2.label)) {
|
|
11315
11421
|
throw new Error("Detected reuse blank node across different INSERT DATA clauses");
|
|
11316
11422
|
}
|
|
11317
|
-
} } });
|
|
11423
|
+
} } } });
|
|
11318
11424
|
for (const blankNode2 of blankNodesHere) {
|
|
11319
11425
|
blankLabelsUsedInInsertData.add(blankNode2);
|
|
11320
11426
|
}
|
|
@@ -11353,22 +11459,22 @@ var rdfLiteral = {
|
|
|
11353
11459
|
return OPTION(() => OR([
|
|
11354
11460
|
{ ALT: () => {
|
|
11355
11461
|
const lang2 = CONSUME(terminals_exports.langTag);
|
|
11356
|
-
return ACTION(() => C.
|
|
11462
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(value, lang2), value.value, lang2.image.slice(1).toLowerCase()));
|
|
11357
11463
|
} },
|
|
11358
11464
|
{ ALT: () => {
|
|
11359
11465
|
CONSUME(symbols_exports.hathat);
|
|
11360
11466
|
const iriVal = SUBRULE1(iri2);
|
|
11361
|
-
return ACTION(() => C.
|
|
11467
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(value, iriVal), value.value, iriVal));
|
|
11362
11468
|
} }
|
|
11363
11469
|
])) ?? value;
|
|
11364
11470
|
},
|
|
11365
|
-
gImpl: ({ SUBRULE, PRINT, PRINT_SPACE_LEFT }) => (ast, {
|
|
11366
|
-
|
|
11471
|
+
gImpl: ({ SUBRULE, PRINT, PRINT_SPACE_LEFT }) => (ast, { astFactory }) => {
|
|
11472
|
+
astFactory.printFilter(ast, () => PRINT_SPACE_LEFT(stringEscapedLexical(ast.value)));
|
|
11367
11473
|
if (ast.langOrIri) {
|
|
11368
11474
|
if (typeof ast.langOrIri === "string") {
|
|
11369
|
-
|
|
11475
|
+
astFactory.printFilter(ast, () => PRINT("@", ast.langOrIri));
|
|
11370
11476
|
} else {
|
|
11371
|
-
|
|
11477
|
+
astFactory.printFilter(ast, () => PRINT("^^"));
|
|
11372
11478
|
SUBRULE(iri2, ast.langOrIri);
|
|
11373
11479
|
}
|
|
11374
11480
|
}
|
|
@@ -11390,7 +11496,7 @@ var numericLiteralUnsigned = {
|
|
|
11390
11496
|
{ ALT: () => [CONSUME(terminals_exports.decimal), CommonIRIs.DECIMAL] },
|
|
11391
11497
|
{ ALT: () => [CONSUME(terminals_exports.double), CommonIRIs.DOUBLE] }
|
|
11392
11498
|
]);
|
|
11393
|
-
return ACTION(() => C.
|
|
11499
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(parsed[0]), parsed[0].image, C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), parsed[1])));
|
|
11394
11500
|
}
|
|
11395
11501
|
};
|
|
11396
11502
|
var numericLiteralPositive = {
|
|
@@ -11401,7 +11507,7 @@ var numericLiteralPositive = {
|
|
|
11401
11507
|
{ ALT: () => [CONSUME(terminals_exports.decimalPositive), CommonIRIs.DECIMAL] },
|
|
11402
11508
|
{ ALT: () => [CONSUME(terminals_exports.doublePositive), CommonIRIs.DOUBLE] }
|
|
11403
11509
|
]);
|
|
11404
|
-
return ACTION(() => C.
|
|
11510
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(parsed[0]), parsed[0].image, C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), parsed[1])));
|
|
11405
11511
|
}
|
|
11406
11512
|
};
|
|
11407
11513
|
var numericLiteralNegative = {
|
|
@@ -11412,7 +11518,7 @@ var numericLiteralNegative = {
|
|
|
11412
11518
|
{ ALT: () => [CONSUME(terminals_exports.decimalNegative), CommonIRIs.DECIMAL] },
|
|
11413
11519
|
{ ALT: () => [CONSUME(terminals_exports.doubleNegative), CommonIRIs.DOUBLE] }
|
|
11414
11520
|
]);
|
|
11415
|
-
return ACTION(() => C.
|
|
11521
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(parsed[0]), parsed[0].image, C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), parsed[1])));
|
|
11416
11522
|
}
|
|
11417
11523
|
};
|
|
11418
11524
|
var booleanLiteral = {
|
|
@@ -11422,7 +11528,7 @@ var booleanLiteral = {
|
|
|
11422
11528
|
{ ALT: () => CONSUME(true_) },
|
|
11423
11529
|
{ ALT: () => CONSUME(false_) }
|
|
11424
11530
|
]);
|
|
11425
|
-
return ACTION(() => C.
|
|
11531
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(token), token.image.toLowerCase(), C.astFactory.namedNode(C.astFactory.sourceLocationNoMaterialize(), CommonIRIs.BOOLEAN)));
|
|
11426
11532
|
}
|
|
11427
11533
|
};
|
|
11428
11534
|
var string = {
|
|
@@ -11447,7 +11553,7 @@ var string = {
|
|
|
11447
11553
|
} }
|
|
11448
11554
|
]);
|
|
11449
11555
|
return ACTION(() => {
|
|
11450
|
-
const F3 = C.
|
|
11556
|
+
const F3 = C.astFactory;
|
|
11451
11557
|
const value = x[1].replaceAll(/\\([tnrbf"'\\])/gu, (_, char) => {
|
|
11452
11558
|
switch (char) {
|
|
11453
11559
|
case "t":
|
|
@@ -11474,16 +11580,16 @@ var iri2 = {
|
|
|
11474
11580
|
{ ALT: () => SUBRULE(iriFull) },
|
|
11475
11581
|
{ ALT: () => SUBRULE(prefixedName) }
|
|
11476
11582
|
]),
|
|
11477
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11583
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F3 }) => F3.isTermNamedPrefixed(ast) ? SUBRULE(prefixedName, ast) : SUBRULE(iriFull, ast)
|
|
11478
11584
|
};
|
|
11479
11585
|
var iriFull = {
|
|
11480
11586
|
name: "iriFull",
|
|
11481
11587
|
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
11482
11588
|
const iriToken = CONSUME(terminals_exports.iriRef);
|
|
11483
|
-
return ACTION(() => C.
|
|
11589
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(iriToken), iriToken.image.slice(1, -1)));
|
|
11484
11590
|
},
|
|
11485
|
-
gImpl: ({ PRINT }) => (ast, {
|
|
11486
|
-
|
|
11591
|
+
gImpl: ({ PRINT }) => (ast, { astFactory: F3 }) => {
|
|
11592
|
+
F3.printFilter(ast, () => PRINT("<", ast.value, ">"));
|
|
11487
11593
|
}
|
|
11488
11594
|
};
|
|
11489
11595
|
var prefixedName = {
|
|
@@ -11493,16 +11599,16 @@ var prefixedName = {
|
|
|
11493
11599
|
const longName = CONSUME(terminals_exports.pNameLn);
|
|
11494
11600
|
return ACTION(() => {
|
|
11495
11601
|
const [prefix, localName] = longName.image.split(":");
|
|
11496
|
-
return C.
|
|
11602
|
+
return C.astFactory.namedNode(C.astFactory.sourceLocation(longName), localName, prefix);
|
|
11497
11603
|
});
|
|
11498
11604
|
} },
|
|
11499
11605
|
{ ALT: () => {
|
|
11500
11606
|
const shortName = CONSUME(terminals_exports.pNameNs);
|
|
11501
|
-
return ACTION(() => C.
|
|
11607
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(shortName), "", shortName.image.slice(0, -1)));
|
|
11502
11608
|
} }
|
|
11503
11609
|
]),
|
|
11504
|
-
gImpl: ({ PRINT_WORD }) => (ast, {
|
|
11505
|
-
|
|
11610
|
+
gImpl: ({ PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
11611
|
+
F3.printFilter(ast, () => PRINT_WORD(ast.prefix, ":", ast.value));
|
|
11506
11612
|
}
|
|
11507
11613
|
};
|
|
11508
11614
|
var canCreateBlankNodes = Symbol("canCreateBlankNodes");
|
|
@@ -11512,11 +11618,11 @@ var blankNode = {
|
|
|
11512
11618
|
const result = OR([
|
|
11513
11619
|
{ ALT: () => {
|
|
11514
11620
|
const labelToken = CONSUME(terminals_exports.blankNodeLabel);
|
|
11515
|
-
return ACTION(() => C.
|
|
11621
|
+
return ACTION(() => C.astFactory.blankNode(labelToken.image.slice(2), C.astFactory.sourceLocation(labelToken)));
|
|
11516
11622
|
} },
|
|
11517
11623
|
{ ALT: () => {
|
|
11518
11624
|
const anonToken = CONSUME(terminals_exports.anon);
|
|
11519
|
-
return ACTION(() => C.
|
|
11625
|
+
return ACTION(() => C.astFactory.blankNode(void 0, C.astFactory.sourceLocation(anonToken)));
|
|
11520
11626
|
} }
|
|
11521
11627
|
]);
|
|
11522
11628
|
ACTION(() => {
|
|
@@ -11526,15 +11632,15 @@ var blankNode = {
|
|
|
11526
11632
|
});
|
|
11527
11633
|
return result;
|
|
11528
11634
|
},
|
|
11529
|
-
gImpl: ({ PRINT_WORD }) => (ast, {
|
|
11530
|
-
|
|
11635
|
+
gImpl: ({ PRINT_WORD }) => (ast, { astFactory }) => {
|
|
11636
|
+
astFactory.printFilter(ast, () => PRINT_WORD("_:", ast.label.replace(/^e_/u, "")));
|
|
11531
11637
|
}
|
|
11532
11638
|
};
|
|
11533
11639
|
var verbA = {
|
|
11534
11640
|
name: "VerbA",
|
|
11535
11641
|
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
11536
11642
|
const token = CONSUME(a);
|
|
11537
|
-
return ACTION(() => C.
|
|
11643
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(token), CommonIRIs.TYPE, void 0));
|
|
11538
11644
|
}
|
|
11539
11645
|
};
|
|
11540
11646
|
|
|
@@ -11551,7 +11657,7 @@ var prologue = {
|
|
|
11551
11657
|
]));
|
|
11552
11658
|
return result;
|
|
11553
11659
|
},
|
|
11554
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11660
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F3 }) => {
|
|
11555
11661
|
for (const context of ast) {
|
|
11556
11662
|
if (F3.isContextDefinitionBase(context)) {
|
|
11557
11663
|
SUBRULE(baseDecl2, context);
|
|
@@ -11566,11 +11672,12 @@ var baseDecl2 = {
|
|
|
11566
11672
|
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11567
11673
|
const base = CONSUME(baseDecl);
|
|
11568
11674
|
const val = SUBRULE(iriFull);
|
|
11569
|
-
return ACTION(() => C.
|
|
11675
|
+
return ACTION(() => C.astFactory.contextDefinitionBase(C.astFactory.sourceLocation(base, val), val));
|
|
11570
11676
|
},
|
|
11571
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
11677
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
11572
11678
|
F3.printFilter(ast, () => PRINT_WORD("BASE"));
|
|
11573
11679
|
SUBRULE(iri2, ast.value);
|
|
11680
|
+
F3.printFilter(ast, () => PRINT_WORD("\n"));
|
|
11574
11681
|
}
|
|
11575
11682
|
};
|
|
11576
11683
|
var prefixDecl2 = {
|
|
@@ -11579,13 +11686,14 @@ var prefixDecl2 = {
|
|
|
11579
11686
|
const prefix = CONSUME(prefixDecl);
|
|
11580
11687
|
const name = CONSUME(terminals_exports.pNameNs).image.slice(0, -1);
|
|
11581
11688
|
const value = SUBRULE(iriFull);
|
|
11582
|
-
return ACTION(() => C.
|
|
11689
|
+
return ACTION(() => C.astFactory.contextDefinitionPrefix(C.astFactory.sourceLocation(prefix, value), name, value));
|
|
11583
11690
|
},
|
|
11584
|
-
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, {
|
|
11691
|
+
gImpl: ({ SUBRULE, PRINT_WORDS }) => (ast, { astFactory: F3 }) => {
|
|
11585
11692
|
F3.printFilter(ast, () => {
|
|
11586
11693
|
PRINT_WORDS("PREFIX", `${ast.key}:`);
|
|
11587
11694
|
});
|
|
11588
11695
|
SUBRULE(iri2, ast.value);
|
|
11696
|
+
F3.printFilter(ast, () => PRINT_WORDS("\n"));
|
|
11589
11697
|
}
|
|
11590
11698
|
};
|
|
11591
11699
|
var verb = {
|
|
@@ -11601,7 +11709,7 @@ var varOrTerm = {
|
|
|
11601
11709
|
{ GATE: () => C.parseMode.has("canParseVars"), ALT: () => SUBRULE(var_) },
|
|
11602
11710
|
{ ALT: () => SUBRULE(graphTerm) }
|
|
11603
11711
|
]),
|
|
11604
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11712
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F3 }) => {
|
|
11605
11713
|
if (F3.isTermVariable(ast)) {
|
|
11606
11714
|
return SUBRULE(var_, ast);
|
|
11607
11715
|
}
|
|
@@ -11622,9 +11730,9 @@ var var_ = {
|
|
|
11622
11730
|
{ ALT: () => CONSUME(terminals_exports.var1) },
|
|
11623
11731
|
{ ALT: () => CONSUME(terminals_exports.var2) }
|
|
11624
11732
|
]);
|
|
11625
|
-
return ACTION(() => C.
|
|
11733
|
+
return ACTION(() => C.astFactory.variable(varToken.image.slice(1), C.astFactory.sourceLocation(varToken)));
|
|
11626
11734
|
},
|
|
11627
|
-
gImpl: ({ PRINT_WORD }) => (ast, {
|
|
11735
|
+
gImpl: ({ PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
11628
11736
|
F3.printFilter(ast, () => PRINT_WORD(`?${ast.value}`));
|
|
11629
11737
|
}
|
|
11630
11738
|
};
|
|
@@ -11638,10 +11746,10 @@ var graphTerm = {
|
|
|
11638
11746
|
{ GATE: () => C.parseMode.has("canCreateBlankNodes"), ALT: () => SUBRULE(blankNode) },
|
|
11639
11747
|
{ ALT: () => {
|
|
11640
11748
|
const tokenNil = CONSUME(terminals_exports.nil);
|
|
11641
|
-
return ACTION(() => C.
|
|
11749
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(tokenNil), CommonIRIs.NIL));
|
|
11642
11750
|
} }
|
|
11643
11751
|
]),
|
|
11644
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
11752
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F3 }) => {
|
|
11645
11753
|
if (F3.isTermNamed(ast)) {
|
|
11646
11754
|
SUBRULE(iri2, ast);
|
|
11647
11755
|
} else if (F3.isTermLiteral(ast)) {
|
|
@@ -11661,14 +11769,14 @@ function datasetClauseUsing(name, token) {
|
|
|
11661
11769
|
return OR([
|
|
11662
11770
|
{ ALT: () => {
|
|
11663
11771
|
const iri3 = SUBRULE(defaultGraphClause);
|
|
11664
|
-
return ACTION(() => C.
|
|
11772
|
+
return ACTION(() => C.astFactory.wrap({ clauseType: "default", value: iri3 }, C.astFactory.sourceLocation(start, iri3)));
|
|
11665
11773
|
} },
|
|
11666
11774
|
{ ALT: () => {
|
|
11667
11775
|
const namedClause = SUBRULE(namedGraphClause);
|
|
11668
|
-
return ACTION(() => C.
|
|
11776
|
+
return ACTION(() => C.astFactory.wrap({
|
|
11669
11777
|
clauseType: "named",
|
|
11670
11778
|
value: namedClause.val
|
|
11671
|
-
}, C.
|
|
11779
|
+
}, C.astFactory.sourceLocation(start, namedClause)));
|
|
11672
11780
|
} }
|
|
11673
11781
|
]);
|
|
11674
11782
|
}
|
|
@@ -11689,9 +11797,9 @@ function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
|
11689
11797
|
const clause = SUBRULE(subRule);
|
|
11690
11798
|
clauses.push(clause);
|
|
11691
11799
|
});
|
|
11692
|
-
return ACTION(() => C.
|
|
11800
|
+
return ACTION(() => C.astFactory.datasetClauses(clauses.map((clause) => clause.val), C.astFactory.sourceLocation(...clauses)));
|
|
11693
11801
|
},
|
|
11694
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
11802
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
11695
11803
|
for (const clause of ast.clauses) {
|
|
11696
11804
|
F3.printFilter(ast, () => PRINT_WORD(fromUsing));
|
|
11697
11805
|
if (clause.clauseType === "named") {
|
|
@@ -11709,7 +11817,7 @@ var namedGraphClause = {
|
|
|
11709
11817
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11710
11818
|
const named2 = CONSUME(graph_exports.named);
|
|
11711
11819
|
const iri3 = SUBRULE(sourceSelector);
|
|
11712
|
-
return ACTION(() => C.
|
|
11820
|
+
return ACTION(() => C.astFactory.wrap(iri3, C.astFactory.sourceLocation(named2, iri3)));
|
|
11713
11821
|
}
|
|
11714
11822
|
};
|
|
11715
11823
|
var sourceSelector = {
|
|
@@ -11726,7 +11834,7 @@ function funcExpr1(func) {
|
|
|
11726
11834
|
CONSUME(symbols_exports.LParen);
|
|
11727
11835
|
const arg = SUBRULE(expression);
|
|
11728
11836
|
const close = CONSUME(symbols_exports.RParen);
|
|
11729
|
-
return ACTION(() => C.
|
|
11837
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg], C.astFactory.sourceLocation(operator, close)));
|
|
11730
11838
|
}
|
|
11731
11839
|
};
|
|
11732
11840
|
}
|
|
@@ -11740,7 +11848,7 @@ function funcExpr2(func) {
|
|
|
11740
11848
|
CONSUME(symbols_exports.comma);
|
|
11741
11849
|
const arg2 = SUBRULE2(expression);
|
|
11742
11850
|
const close = CONSUME(symbols_exports.RParen);
|
|
11743
|
-
return ACTION(() => C.
|
|
11851
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg1, arg2], C.astFactory.sourceLocation(operator, close)));
|
|
11744
11852
|
}
|
|
11745
11853
|
};
|
|
11746
11854
|
}
|
|
@@ -11756,7 +11864,7 @@ function funcExpr3(func) {
|
|
|
11756
11864
|
CONSUME2(symbols_exports.comma);
|
|
11757
11865
|
const arg3 = SUBRULE3(expression);
|
|
11758
11866
|
const close = CONSUME(symbols_exports.RParen);
|
|
11759
|
-
return ACTION(() => C.
|
|
11867
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg1, arg2, arg3], C.astFactory.sourceLocation(operator, close)));
|
|
11760
11868
|
}
|
|
11761
11869
|
};
|
|
11762
11870
|
}
|
|
@@ -11768,7 +11876,7 @@ function funcVar1(func) {
|
|
|
11768
11876
|
CONSUME(symbols_exports.LParen);
|
|
11769
11877
|
const arg = SUBRULE(var_);
|
|
11770
11878
|
const close = CONSUME(symbols_exports.RParen);
|
|
11771
|
-
return ACTION(() => C.
|
|
11879
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg], C.astFactory.sourceLocation(operator, close)));
|
|
11772
11880
|
}
|
|
11773
11881
|
};
|
|
11774
11882
|
}
|
|
@@ -11782,11 +11890,11 @@ function funcExprOrNil1(func) {
|
|
|
11782
11890
|
CONSUME(symbols_exports.LParen);
|
|
11783
11891
|
const arg = SUBRULE(expression);
|
|
11784
11892
|
const close = CONSUME(symbols_exports.RParen);
|
|
11785
|
-
return ACTION(() => C.
|
|
11893
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [arg], C.astFactory.sourceLocation(operator, close)));
|
|
11786
11894
|
} },
|
|
11787
11895
|
{ ALT: () => {
|
|
11788
11896
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
11789
|
-
return ACTION(() => C.
|
|
11897
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [], C.astFactory.sourceLocation(operator, nil2)));
|
|
11790
11898
|
} }
|
|
11791
11899
|
]);
|
|
11792
11900
|
}
|
|
@@ -11798,7 +11906,7 @@ function funcNil1(func) {
|
|
|
11798
11906
|
impl: ({ ACTION, CONSUME }) => (C) => {
|
|
11799
11907
|
const operator = CONSUME(func);
|
|
11800
11908
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
11801
|
-
return ACTION(() => C.
|
|
11909
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [], C.astFactory.sourceLocation(operator, nil2)));
|
|
11802
11910
|
}
|
|
11803
11911
|
};
|
|
11804
11912
|
}
|
|
@@ -11808,7 +11916,7 @@ function funcExprList1(func) {
|
|
|
11808
11916
|
impl: ({ ACTION, CONSUME, SUBRULE }) => (C) => {
|
|
11809
11917
|
const operator = CONSUME(func);
|
|
11810
11918
|
const args = SUBRULE(expressionList);
|
|
11811
|
-
return ACTION(() => C.
|
|
11919
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, args.val, C.astFactory.sourceLocation(operator, args)));
|
|
11812
11920
|
}
|
|
11813
11921
|
};
|
|
11814
11922
|
}
|
|
@@ -11826,7 +11934,7 @@ function funcExpr2or3(func) {
|
|
|
11826
11934
|
return SUBRULE3(expression);
|
|
11827
11935
|
});
|
|
11828
11936
|
const close = CONSUME(symbols_exports.RParen);
|
|
11829
|
-
return ACTION(() => C.
|
|
11937
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, arg3 ? [arg1, arg2, arg3] : [arg1, arg2], C.astFactory.sourceLocation(operator, close)));
|
|
11830
11938
|
}
|
|
11831
11939
|
};
|
|
11832
11940
|
}
|
|
@@ -11846,7 +11954,7 @@ function funcExpr3or4(func) {
|
|
|
11846
11954
|
return SUBRULE4(expression);
|
|
11847
11955
|
});
|
|
11848
11956
|
const close = CONSUME(symbols_exports.RParen);
|
|
11849
|
-
return ACTION(() => C.
|
|
11957
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, arg4 ? [arg1, arg2, arg3, arg4] : [arg1, arg2, arg3], C.astFactory.sourceLocation(operator, close)));
|
|
11850
11958
|
}
|
|
11851
11959
|
};
|
|
11852
11960
|
}
|
|
@@ -11856,7 +11964,7 @@ function funcGroupGraphPattern(func) {
|
|
|
11856
11964
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
11857
11965
|
const operator = CONSUME(func);
|
|
11858
11966
|
const group = SUBRULE(groupGraphPattern);
|
|
11859
|
-
return ACTION(() => C.
|
|
11967
|
+
return ACTION(() => C.astFactory.expressionPatternOperation(operator.image, group, C.astFactory.sourceLocation(operator, group)));
|
|
11860
11968
|
}
|
|
11861
11969
|
};
|
|
11862
11970
|
}
|
|
@@ -11869,7 +11977,7 @@ function baseAggregateFunc(func) {
|
|
|
11869
11977
|
const distinct2 = OPTION(() => CONSUME(distinct));
|
|
11870
11978
|
const expr1 = SUBRULE(expression);
|
|
11871
11979
|
const close = CONSUME(symbols_exports.RParen);
|
|
11872
|
-
return ACTION(() => C.
|
|
11980
|
+
return ACTION(() => C.astFactory.aggregate(operator.image, distinct2 !== void 0, expr1, void 0, C.astFactory.sourceLocation(operator, close)));
|
|
11873
11981
|
}
|
|
11874
11982
|
};
|
|
11875
11983
|
}
|
|
@@ -12009,17 +12117,17 @@ var aggregateCount = {
|
|
|
12009
12117
|
const expressionVal = OR([
|
|
12010
12118
|
{ ALT: () => {
|
|
12011
12119
|
const starToken = CONSUME(symbols_exports.star);
|
|
12012
|
-
return ACTION(() => C.
|
|
12120
|
+
return ACTION(() => C.astFactory.wildcard(C.astFactory.sourceLocation(starToken)));
|
|
12013
12121
|
} },
|
|
12014
12122
|
{ ALT: () => SUBRULE(expression) }
|
|
12015
12123
|
]);
|
|
12016
12124
|
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12017
12125
|
return ACTION(() => {
|
|
12018
|
-
const F3 = C.
|
|
12019
|
-
if (C.
|
|
12020
|
-
return F3.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.
|
|
12126
|
+
const F3 = C.astFactory;
|
|
12127
|
+
if (C.astFactory.isWildcard(expressionVal)) {
|
|
12128
|
+
return F3.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.astFactory.sourceLocation(operatorToken, closeToken));
|
|
12021
12129
|
}
|
|
12022
|
-
return F3.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.
|
|
12130
|
+
return F3.aggregate(operatorToken.image, Boolean(distinctToken), expressionVal, void 0, C.astFactory.sourceLocation(operatorToken, closeToken));
|
|
12023
12131
|
});
|
|
12024
12132
|
}
|
|
12025
12133
|
};
|
|
@@ -12043,7 +12151,7 @@ var aggregateGroup_concat = {
|
|
|
12043
12151
|
});
|
|
12044
12152
|
const closeToken = CONSUME(symbols_exports.RParen);
|
|
12045
12153
|
return ACTION(() => {
|
|
12046
|
-
const F3 = C.
|
|
12154
|
+
const F3 = C.astFactory;
|
|
12047
12155
|
return F3.aggregate(operatorToken.image, Boolean(distinctToken), expr, sep?.value ?? " ", F3.sourceLocation(operatorToken, closeToken));
|
|
12048
12156
|
});
|
|
12049
12157
|
}
|
|
@@ -12073,7 +12181,7 @@ var aggregate = {
|
|
|
12073
12181
|
});
|
|
12074
12182
|
return result;
|
|
12075
12183
|
},
|
|
12076
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12184
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
12077
12185
|
F3.printFilter(ast, () => {
|
|
12078
12186
|
PRINT_WORD(ast.aggregation.toUpperCase(), "(");
|
|
12079
12187
|
if (ast.distinct) {
|
|
@@ -12100,7 +12208,7 @@ var path = {
|
|
|
12100
12208
|
};
|
|
12101
12209
|
var pathGenerator = {
|
|
12102
12210
|
name: "path",
|
|
12103
|
-
gImpl: ({ PRINT, SUBRULE }) => (ast, {
|
|
12211
|
+
gImpl: ({ PRINT, SUBRULE }) => (ast, { astFactory: F3 }, braces = true) => {
|
|
12104
12212
|
if (F3.isTerm(ast) && F3.isTermNamed(ast)) {
|
|
12105
12213
|
SUBRULE(iri2, ast);
|
|
12106
12214
|
} else {
|
|
@@ -12149,7 +12257,7 @@ function pathChainHelper(name, SEP, subType, subRule) {
|
|
|
12149
12257
|
tailEnd = SUBRULE2(subRule);
|
|
12150
12258
|
tail.push(tailEnd);
|
|
12151
12259
|
});
|
|
12152
|
-
return ACTION(() => tail.length === 0 ? head2 : C.
|
|
12260
|
+
return ACTION(() => tail.length === 0 ? head2 : C.astFactory.path(subType, [head2, ...tail], C.astFactory.sourceLocation(head2, tailEnd)));
|
|
12153
12261
|
}
|
|
12154
12262
|
};
|
|
12155
12263
|
}
|
|
@@ -12160,7 +12268,7 @@ var pathEltOrInverse = {
|
|
|
12160
12268
|
{ ALT: () => {
|
|
12161
12269
|
const hat2 = CONSUME(symbols_exports.hat);
|
|
12162
12270
|
const item = SUBRULE2(pathElt);
|
|
12163
|
-
return ACTION(() => C.
|
|
12271
|
+
return ACTION(() => C.astFactory.path("^", [item], C.astFactory.sourceLocation(hat2, item)));
|
|
12164
12272
|
} }
|
|
12165
12273
|
])
|
|
12166
12274
|
};
|
|
@@ -12171,7 +12279,7 @@ var pathElt = {
|
|
|
12171
12279
|
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
12172
12280
|
const item = SUBRULE(pathPrimary);
|
|
12173
12281
|
const modification = OPTION(() => SUBRULE(pathMod));
|
|
12174
|
-
return ACTION(() => modification === void 0 ? item : C.
|
|
12282
|
+
return ACTION(() => modification === void 0 ? item : C.astFactory.path(modification.image, [item], C.astFactory.sourceLocation(item, modification)));
|
|
12175
12283
|
}
|
|
12176
12284
|
};
|
|
12177
12285
|
var pathMod = {
|
|
@@ -12203,7 +12311,7 @@ var pathNegatedPropertySet = {
|
|
|
12203
12311
|
return OR([
|
|
12204
12312
|
{ ALT: () => {
|
|
12205
12313
|
const noAlternative = SUBRULE1(pathOneInPropertySet);
|
|
12206
|
-
return ACTION(() => C.
|
|
12314
|
+
return ACTION(() => C.astFactory.path("!", [noAlternative], C.astFactory.sourceLocation(exclamation2, noAlternative)));
|
|
12207
12315
|
} },
|
|
12208
12316
|
{ ALT: () => {
|
|
12209
12317
|
const open = CONSUME(symbols_exports.LParen);
|
|
@@ -12216,7 +12324,7 @@ var pathNegatedPropertySet = {
|
|
|
12216
12324
|
});
|
|
12217
12325
|
const close = CONSUME(symbols_exports.RParen);
|
|
12218
12326
|
return ACTION(() => {
|
|
12219
|
-
const F3 = C.
|
|
12327
|
+
const F3 = C.astFactory;
|
|
12220
12328
|
if (tail.length === 0) {
|
|
12221
12329
|
return F3.path("!", [head2], F3.sourceLocation(exclamation2, close));
|
|
12222
12330
|
}
|
|
@@ -12237,7 +12345,7 @@ var pathOneInPropertySet = {
|
|
|
12237
12345
|
{ ALT: () => SUBRULE2(iri2) },
|
|
12238
12346
|
{ ALT: () => SUBRULE2(verbA) }
|
|
12239
12347
|
]);
|
|
12240
|
-
return ACTION(() => C.
|
|
12348
|
+
return ACTION(() => C.astFactory.path("^", [item], C.astFactory.sourceLocation(hat2, item)));
|
|
12241
12349
|
} }
|
|
12242
12350
|
])
|
|
12243
12351
|
};
|
|
@@ -12262,33 +12370,35 @@ function triplesDotSeperated(triplesSameSubjectSubrule) {
|
|
|
12262
12370
|
});
|
|
12263
12371
|
}
|
|
12264
12372
|
});
|
|
12265
|
-
return ACTION(() => C.
|
|
12373
|
+
return ACTION(() => C.astFactory.patternBgp(triples, C.astFactory.sourceLocation(...triples, dotToken)));
|
|
12266
12374
|
};
|
|
12267
12375
|
}
|
|
12268
12376
|
var triplesBlock = {
|
|
12269
12377
|
name: "triplesBlock",
|
|
12270
12378
|
impl: (implArgs) => (C) => triplesDotSeperated(triplesSameSubjectPath)(implArgs)(C),
|
|
12271
|
-
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, {
|
|
12379
|
+
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, { astFactory: F3 }) => {
|
|
12272
12380
|
for (const [index, triple] of ast.triples.entries()) {
|
|
12273
12381
|
HANDLE_LOC(triple, () => {
|
|
12274
12382
|
const nextTriple = ast.triples.at(index);
|
|
12275
12383
|
if (F3.isTripleCollection(triple)) {
|
|
12276
12384
|
SUBRULE(graphNodePath, triple);
|
|
12277
|
-
F3.printFilter(triple, () => PRINT_WORD("
|
|
12385
|
+
F3.printFilter(triple, () => PRINT_WORD(".\n"));
|
|
12278
12386
|
} else {
|
|
12279
12387
|
SUBRULE(graphNodePath, triple.subject);
|
|
12388
|
+
F3.printFilter(triple, () => PRINT_WORD(""));
|
|
12280
12389
|
if (F3.isTerm(triple.predicate) && F3.isTermVariable(triple.predicate)) {
|
|
12281
12390
|
SUBRULE(varOrTerm, triple.predicate);
|
|
12282
12391
|
} else {
|
|
12283
12392
|
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12284
12393
|
}
|
|
12394
|
+
F3.printFilter(triple, () => PRINT_WORD(""));
|
|
12285
12395
|
SUBRULE(graphNodePath, triple.object);
|
|
12286
12396
|
if (nextTriple === void 0 || F3.isTripleCollection(nextTriple) || !F3.isSourceLocationNoMaterialize(nextTriple.subject.loc)) {
|
|
12287
|
-
F3.printFilter(ast, () => PRINT_WORD("
|
|
12397
|
+
F3.printFilter(ast, () => PRINT_WORD(".\n"));
|
|
12288
12398
|
} else if (F3.isSourceLocationNoMaterialize(nextTriple.predicate.loc)) {
|
|
12289
12399
|
F3.printFilter(ast, () => PRINT_WORD(","));
|
|
12290
12400
|
} else {
|
|
12291
|
-
F3.printFilter(ast, () => PRINT_WORD("
|
|
12401
|
+
F3.printFilter(ast, () => PRINT_WORD(";\n"));
|
|
12292
12402
|
}
|
|
12293
12403
|
}
|
|
12294
12404
|
});
|
|
@@ -12301,24 +12411,24 @@ function triplesSameSubjectImpl(name, allowPaths) {
|
|
|
12301
12411
|
impl: ({ ACTION, SUBRULE, OR }) => (C) => OR([
|
|
12302
12412
|
{ ALT: () => {
|
|
12303
12413
|
const subject = SUBRULE(varOrTerm);
|
|
12304
|
-
const res = SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, ACTION(() => C.
|
|
12414
|
+
const res = SUBRULE(allowPaths ? propertyListPathNotEmpty : propertyListNotEmpty, ACTION(() => C.astFactory.dematerialized(subject)));
|
|
12305
12415
|
return ACTION(() => {
|
|
12306
12416
|
if (res.length > 0) {
|
|
12307
12417
|
res[0].subject = subject;
|
|
12308
|
-
res[0].loc = C.
|
|
12418
|
+
res[0].loc = C.astFactory.sourceLocation(subject, res[0]);
|
|
12309
12419
|
}
|
|
12310
12420
|
return res;
|
|
12311
12421
|
});
|
|
12312
12422
|
} },
|
|
12313
12423
|
{ ALT: () => {
|
|
12314
12424
|
const subjectNode = SUBRULE(allowPaths ? triplesNodePath : triplesNode);
|
|
12315
|
-
const restNode = SUBRULE(allowPaths ? propertyListPath : propertyList, ACTION(() => C.
|
|
12425
|
+
const restNode = SUBRULE(allowPaths ? propertyListPath : propertyList, ACTION(() => C.astFactory.graphNodeIdentifier(subjectNode)));
|
|
12316
12426
|
return ACTION(() => {
|
|
12317
12427
|
if (restNode.length === 0) {
|
|
12318
12428
|
return [subjectNode];
|
|
12319
12429
|
}
|
|
12320
12430
|
restNode[0].subject = subjectNode;
|
|
12321
|
-
restNode[0].loc = C.
|
|
12431
|
+
restNode[0].loc = C.astFactory.sourceLocation(subjectNode, restNode[0]);
|
|
12322
12432
|
return restNode;
|
|
12323
12433
|
});
|
|
12324
12434
|
} }
|
|
@@ -12402,7 +12512,7 @@ function objectImpl(name, allowPaths) {
|
|
|
12402
12512
|
name,
|
|
12403
12513
|
impl: ({ ACTION, SUBRULE }) => (C, subject, predicate) => {
|
|
12404
12514
|
const node = SUBRULE(allowPaths ? graphNodePath : graphNode);
|
|
12405
|
-
return ACTION(() => C.
|
|
12515
|
+
return ACTION(() => C.astFactory.triple(subject, predicate, node));
|
|
12406
12516
|
}
|
|
12407
12517
|
};
|
|
12408
12518
|
}
|
|
@@ -12419,7 +12529,7 @@ function collectionImpl(name, allowPaths) {
|
|
|
12419
12529
|
});
|
|
12420
12530
|
const endToken = CONSUME(symbols_exports.RParen);
|
|
12421
12531
|
return ACTION(() => {
|
|
12422
|
-
const F3 = C.
|
|
12532
|
+
const F3 = C.astFactory;
|
|
12423
12533
|
const triples = [];
|
|
12424
12534
|
const predFirst = F3.namedNode(F3.sourceLocationNoMaterialize(), CommonIRIs.FIRST, void 0);
|
|
12425
12535
|
const predRest = F3.namedNode(F3.sourceLocationNoMaterialize(), CommonIRIs.REST, void 0);
|
|
@@ -12443,7 +12553,7 @@ function collectionImpl(name, allowPaths) {
|
|
|
12443
12553
|
return F3.tripleCollectionList(listHead, triples, F3.sourceLocation(startToken, endToken));
|
|
12444
12554
|
});
|
|
12445
12555
|
},
|
|
12446
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12556
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
12447
12557
|
F3.printFilter(ast, () => PRINT_WORD("("));
|
|
12448
12558
|
for (const [idx, triple] of ast.triples.entries()) {
|
|
12449
12559
|
if (idx % 2 === 0) {
|
|
@@ -12474,13 +12584,17 @@ function blankNodePropertyListImpl(name, allowPaths) {
|
|
|
12474
12584
|
name,
|
|
12475
12585
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12476
12586
|
const startToken = CONSUME(symbols_exports.LSquare);
|
|
12477
|
-
const blankNode2 = ACTION(() => C.
|
|
12587
|
+
const blankNode2 = ACTION(() => C.astFactory.blankNode(void 0, C.astFactory.sourceLocationNoMaterialize()));
|
|
12478
12588
|
const propList = SUBRULE(propertyPathNotEmptyImpl, blankNode2);
|
|
12479
12589
|
const endToken = CONSUME(symbols_exports.RSquare);
|
|
12480
|
-
return ACTION(() => C.
|
|
12590
|
+
return ACTION(() => C.astFactory.tripleCollectionBlankNodeProperties(blankNode2, propList, C.astFactory.sourceLocation(startToken, endToken)));
|
|
12481
12591
|
},
|
|
12482
|
-
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC }) => (ast,
|
|
12483
|
-
F3
|
|
12592
|
+
gImpl: ({ SUBRULE, PRINT, PRINT_WORD, HANDLE_LOC, PRINT_ON_EMPTY }) => (ast, c) => {
|
|
12593
|
+
const { astFactory: F3, indentInc } = c;
|
|
12594
|
+
F3.printFilter(ast, () => {
|
|
12595
|
+
c[traqulaIndentation] += indentInc;
|
|
12596
|
+
PRINT("[\n");
|
|
12597
|
+
});
|
|
12484
12598
|
for (const triple of ast.triples) {
|
|
12485
12599
|
HANDLE_LOC(triple, () => {
|
|
12486
12600
|
if (F3.isTerm(triple.predicate) && F3.isTermVariable(triple.predicate)) {
|
|
@@ -12488,11 +12602,15 @@ function blankNodePropertyListImpl(name, allowPaths) {
|
|
|
12488
12602
|
} else {
|
|
12489
12603
|
SUBRULE(pathGenerator, triple.predicate, void 0);
|
|
12490
12604
|
}
|
|
12605
|
+
F3.printFilter(triple, () => PRINT_WORD(""));
|
|
12491
12606
|
SUBRULE(graphNodePath, triple.object);
|
|
12492
|
-
F3.printFilter(ast, () => PRINT_WORD("
|
|
12607
|
+
F3.printFilter(ast, () => PRINT_WORD(";\n"));
|
|
12493
12608
|
});
|
|
12494
12609
|
}
|
|
12495
|
-
F3.printFilter(ast, () =>
|
|
12610
|
+
F3.printFilter(ast, () => {
|
|
12611
|
+
c[traqulaIndentation] -= indentInc;
|
|
12612
|
+
PRINT_ON_EMPTY("]");
|
|
12613
|
+
});
|
|
12496
12614
|
}
|
|
12497
12615
|
};
|
|
12498
12616
|
}
|
|
@@ -12509,7 +12627,7 @@ function graphNodeImpl(name, allowPaths) {
|
|
|
12509
12627
|
ALT: () => SUBRULE(triplesNodeRule)
|
|
12510
12628
|
}
|
|
12511
12629
|
]),
|
|
12512
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
12630
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F3 }) => {
|
|
12513
12631
|
if (F3.isTerm(ast)) {
|
|
12514
12632
|
SUBRULE(varOrTerm, ast);
|
|
12515
12633
|
} else {
|
|
@@ -12527,9 +12645,9 @@ var whereClause = {
|
|
|
12527
12645
|
impl: ({ ACTION, SUBRULE, CONSUME, OPTION }) => (C) => {
|
|
12528
12646
|
const where2 = OPTION(() => CONSUME(where));
|
|
12529
12647
|
const group = SUBRULE(groupGraphPattern);
|
|
12530
|
-
return ACTION(() => C.
|
|
12648
|
+
return ACTION(() => C.astFactory.wrap(group, C.astFactory.sourceLocation(where2, group)));
|
|
12531
12649
|
},
|
|
12532
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12650
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
12533
12651
|
F3.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
12534
12652
|
SUBRULE(groupGraphPattern, ast.val);
|
|
12535
12653
|
}
|
|
@@ -12543,19 +12661,26 @@ var groupGraphPattern = {
|
|
|
12543
12661
|
{ ALT: () => SUBRULE(groupGraphPatternSub) }
|
|
12544
12662
|
]);
|
|
12545
12663
|
const close = CONSUME(symbols_exports.RCurly);
|
|
12546
|
-
return ACTION(() => C.
|
|
12664
|
+
return ACTION(() => C.astFactory.patternGroup(patterns, C.astFactory.sourceLocation(open, close)));
|
|
12547
12665
|
},
|
|
12548
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
12549
|
-
F3
|
|
12666
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
12667
|
+
const { astFactory: F3, indentInc } = C;
|
|
12668
|
+
F3.printFilter(ast, () => {
|
|
12669
|
+
C[traqulaIndentation] += indentInc;
|
|
12670
|
+
PRINT_WORD("{\n");
|
|
12671
|
+
});
|
|
12550
12672
|
for (const pattern of ast.patterns) {
|
|
12551
12673
|
SUBRULE(generatePattern, pattern);
|
|
12552
12674
|
}
|
|
12553
|
-
F3.printFilter(ast, () =>
|
|
12675
|
+
F3.printFilter(ast, () => {
|
|
12676
|
+
C[traqulaIndentation] -= indentInc;
|
|
12677
|
+
PRINT_ON_EMPTY("}\n");
|
|
12678
|
+
});
|
|
12554
12679
|
}
|
|
12555
12680
|
};
|
|
12556
12681
|
var generatePattern = {
|
|
12557
12682
|
name: "generatePattern",
|
|
12558
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
12683
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F3 }) => {
|
|
12559
12684
|
if (ast.type === "query") {
|
|
12560
12685
|
SUBRULE(query, F3.querySelect({
|
|
12561
12686
|
context: [],
|
|
@@ -12644,9 +12769,9 @@ var optionalGraphPattern = {
|
|
|
12644
12769
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12645
12770
|
const optional2 = CONSUME(optional);
|
|
12646
12771
|
const group = SUBRULE(groupGraphPattern);
|
|
12647
|
-
return ACTION(() => C.
|
|
12772
|
+
return ACTION(() => C.astFactory.patternOptional(group.patterns, C.astFactory.sourceLocation(optional2, group)));
|
|
12648
12773
|
},
|
|
12649
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12774
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
12650
12775
|
F3.printFilter(ast, () => PRINT_WORD("OPTIONAL"));
|
|
12651
12776
|
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc));
|
|
12652
12777
|
}
|
|
@@ -12657,9 +12782,9 @@ var graphGraphPattern = {
|
|
|
12657
12782
|
const graph2 = CONSUME(graph_exports.graph);
|
|
12658
12783
|
const name = SUBRULE(varOrIri);
|
|
12659
12784
|
const group = SUBRULE(groupGraphPattern);
|
|
12660
|
-
return ACTION(() => C.
|
|
12785
|
+
return ACTION(() => C.astFactory.patternGraph(name, group.patterns, C.astFactory.sourceLocation(graph2, group)));
|
|
12661
12786
|
},
|
|
12662
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12787
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
12663
12788
|
F3.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
12664
12789
|
SUBRULE(varOrTerm, ast.name);
|
|
12665
12790
|
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc));
|
|
@@ -12675,9 +12800,9 @@ var serviceGraphPattern = {
|
|
|
12675
12800
|
}) ?? false;
|
|
12676
12801
|
const name = SUBRULE1(varOrIri);
|
|
12677
12802
|
const group = SUBRULE1(groupGraphPattern);
|
|
12678
|
-
return ACTION(() => C.
|
|
12803
|
+
return ACTION(() => C.astFactory.patternService(name, group.patterns, silent2, C.astFactory.sourceLocation(service2, group)));
|
|
12679
12804
|
},
|
|
12680
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12805
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
12681
12806
|
F3.printFilter(ast, () => {
|
|
12682
12807
|
PRINT_WORD("SERVICE");
|
|
12683
12808
|
if (ast.silent) {
|
|
@@ -12697,14 +12822,14 @@ var bind2 = {
|
|
|
12697
12822
|
CONSUME(as);
|
|
12698
12823
|
const variable = SUBRULE(var_);
|
|
12699
12824
|
const close = CONSUME(symbols_exports.RParen);
|
|
12700
|
-
return ACTION(() => C.
|
|
12825
|
+
return ACTION(() => C.astFactory.patternBind(expressionVal, variable, C.astFactory.sourceLocation(bind3, close)));
|
|
12701
12826
|
},
|
|
12702
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12827
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
12703
12828
|
F3.printFilter(ast, () => PRINT_WORD("BIND", "("));
|
|
12704
12829
|
SUBRULE(expression, ast.expression);
|
|
12705
12830
|
F3.printFilter(ast, () => PRINT_WORD("AS"));
|
|
12706
12831
|
SUBRULE(var_, ast.variable);
|
|
12707
|
-
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
12832
|
+
F3.printFilter(ast, () => PRINT_WORD(")\n"));
|
|
12708
12833
|
}
|
|
12709
12834
|
};
|
|
12710
12835
|
var inlineData = {
|
|
@@ -12712,16 +12837,19 @@ var inlineData = {
|
|
|
12712
12837
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12713
12838
|
const values3 = CONSUME(values2);
|
|
12714
12839
|
const datablock = SUBRULE(dataBlock);
|
|
12715
|
-
return ACTION(() => C.
|
|
12840
|
+
return ACTION(() => C.astFactory.patternValues(datablock.val, C.astFactory.sourceLocation(values3, datablock)));
|
|
12716
12841
|
},
|
|
12717
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
12842
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
12843
|
+
const { astFactory: F3, indentInc } = C;
|
|
12718
12844
|
const variables = Object.keys(ast.values.at(0) ?? {});
|
|
12719
12845
|
F3.printFilter(ast, () => {
|
|
12846
|
+
PRINT_ON_EMPTY("");
|
|
12720
12847
|
PRINT_WORD("VALUES", "(");
|
|
12721
12848
|
for (const variable of variables) {
|
|
12722
12849
|
PRINT_WORD(`?${variable}`);
|
|
12723
12850
|
}
|
|
12724
|
-
|
|
12851
|
+
C[traqulaIndentation] += indentInc;
|
|
12852
|
+
PRINT_WORD(")", "{\n");
|
|
12725
12853
|
});
|
|
12726
12854
|
for (const mapping of ast.values) {
|
|
12727
12855
|
F3.printFilter(ast, () => PRINT_WORD("("));
|
|
@@ -12732,9 +12860,12 @@ var inlineData = {
|
|
|
12732
12860
|
SUBRULE(graphNodePath, mapping[variable]);
|
|
12733
12861
|
}
|
|
12734
12862
|
}
|
|
12735
|
-
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
12863
|
+
F3.printFilter(ast, () => PRINT_WORD(")\n"));
|
|
12736
12864
|
}
|
|
12737
|
-
F3.printFilter(ast, () =>
|
|
12865
|
+
F3.printFilter(ast, () => {
|
|
12866
|
+
C[traqulaIndentation] -= indentInc;
|
|
12867
|
+
PRINT_ON_EMPTY("}\n");
|
|
12868
|
+
});
|
|
12738
12869
|
}
|
|
12739
12870
|
};
|
|
12740
12871
|
var dataBlock = {
|
|
@@ -12757,7 +12888,7 @@ var inlineDataOneVar = {
|
|
|
12757
12888
|
});
|
|
12758
12889
|
});
|
|
12759
12890
|
const close = CONSUME(symbols_exports.RCurly);
|
|
12760
|
-
return ACTION(() => C.
|
|
12891
|
+
return ACTION(() => C.astFactory.wrap(res, C.astFactory.sourceLocation(varVal, close)));
|
|
12761
12892
|
}
|
|
12762
12893
|
};
|
|
12763
12894
|
var inlineDataFull = {
|
|
@@ -12774,7 +12905,7 @@ var inlineDataFull = {
|
|
|
12774
12905
|
res.push({});
|
|
12775
12906
|
});
|
|
12776
12907
|
const close = CONSUME1(symbols_exports.RCurly);
|
|
12777
|
-
return ACTION(() => C.
|
|
12908
|
+
return ACTION(() => C.astFactory.wrap(res, C.astFactory.sourceLocation(nil2, close)));
|
|
12778
12909
|
} },
|
|
12779
12910
|
{ ALT: () => {
|
|
12780
12911
|
const open = CONSUME1(symbols_exports.LParen);
|
|
@@ -12806,7 +12937,7 @@ var inlineDataFull = {
|
|
|
12806
12937
|
});
|
|
12807
12938
|
});
|
|
12808
12939
|
const close = CONSUME2(symbols_exports.RCurly);
|
|
12809
|
-
return ACTION(() => C.
|
|
12940
|
+
return ACTION(() => C.astFactory.wrap(res, C.astFactory.sourceLocation(open, close)));
|
|
12810
12941
|
} }
|
|
12811
12942
|
]);
|
|
12812
12943
|
}
|
|
@@ -12829,9 +12960,9 @@ var minusGraphPattern = {
|
|
|
12829
12960
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12830
12961
|
const minus2 = CONSUME(minus);
|
|
12831
12962
|
const group = SUBRULE(groupGraphPattern);
|
|
12832
|
-
return ACTION(() => C.
|
|
12963
|
+
return ACTION(() => C.astFactory.patternMinus(group.patterns, C.astFactory.sourceLocation(minus2, group)));
|
|
12833
12964
|
},
|
|
12834
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12965
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
12835
12966
|
F3.printFilter(ast, () => PRINT_WORD("MINUS"));
|
|
12836
12967
|
SUBRULE(groupGraphPattern, F3.patternGroup(ast.patterns, ast.loc));
|
|
12837
12968
|
}
|
|
@@ -12847,9 +12978,9 @@ var groupOrUnionGraphPattern = {
|
|
|
12847
12978
|
const group2 = SUBRULE2(groupGraphPattern);
|
|
12848
12979
|
groups.push(group2);
|
|
12849
12980
|
});
|
|
12850
|
-
return ACTION(() => groups.length === 1 ? groups[0] : C.
|
|
12981
|
+
return ACTION(() => groups.length === 1 ? groups[0] : C.astFactory.patternUnion(groups, C.astFactory.sourceLocation(group, groups.at(-1))));
|
|
12851
12982
|
},
|
|
12852
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
12983
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
12853
12984
|
if (F3.isPatternUnion(ast)) {
|
|
12854
12985
|
const [head2, ...tail] = ast.patterns;
|
|
12855
12986
|
SUBRULE(groupGraphPattern, head2);
|
|
@@ -12867,12 +12998,12 @@ var filter3 = {
|
|
|
12867
12998
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
12868
12999
|
const filterToken = CONSUME(filter2);
|
|
12869
13000
|
const expression2 = SUBRULE(constraint);
|
|
12870
|
-
return ACTION(() => C.
|
|
13001
|
+
return ACTION(() => C.astFactory.patternFilter(expression2, C.astFactory.sourceLocation(filterToken, expression2)));
|
|
12871
13002
|
},
|
|
12872
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13003
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
12873
13004
|
F3.printFilter(ast, () => PRINT_WORD("FILTER ("));
|
|
12874
13005
|
SUBRULE(expression, ast.expression);
|
|
12875
|
-
F3.printFilter(ast, () => PRINT_WORD(")"));
|
|
13006
|
+
F3.printFilter(ast, () => PRINT_WORD(")\n"));
|
|
12876
13007
|
}
|
|
12877
13008
|
};
|
|
12878
13009
|
var constraint = {
|
|
@@ -12888,7 +13019,7 @@ var functionCall = {
|
|
|
12888
13019
|
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
12889
13020
|
const func = SUBRULE(iri2);
|
|
12890
13021
|
const args = SUBRULE(argList);
|
|
12891
|
-
return ACTION(() => C.
|
|
13022
|
+
return ACTION(() => C.astFactory.expressionFunctionCall(func, args.val.args, args.val.distinct, C.astFactory.sourceLocation(func, args)));
|
|
12892
13023
|
}
|
|
12893
13024
|
};
|
|
12894
13025
|
|
|
@@ -12898,7 +13029,7 @@ var argList = {
|
|
|
12898
13029
|
impl: ({ ACTION, CONSUME, SUBRULE1, OPTION, OR, AT_LEAST_ONE_SEP }) => (C) => OR([
|
|
12899
13030
|
{ ALT: () => {
|
|
12900
13031
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
12901
|
-
return ACTION(() => C.
|
|
13032
|
+
return ACTION(() => C.astFactory.wrap({ args: [], distinct: false }, C.astFactory.sourceLocation(nil2)));
|
|
12902
13033
|
} },
|
|
12903
13034
|
{ ALT: () => {
|
|
12904
13035
|
const args = [];
|
|
@@ -12915,10 +13046,10 @@ var argList = {
|
|
|
12915
13046
|
}
|
|
12916
13047
|
});
|
|
12917
13048
|
const close = CONSUME(symbols_exports.RParen);
|
|
12918
|
-
return ACTION(() => C.
|
|
13049
|
+
return ACTION(() => C.astFactory.wrap({ args, distinct: distinct2 }, C.astFactory.sourceLocation(open, close)));
|
|
12919
13050
|
} }
|
|
12920
13051
|
]),
|
|
12921
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13052
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
12922
13053
|
F3.printFilter(ast, () => {
|
|
12923
13054
|
PRINT_WORD("(");
|
|
12924
13055
|
if (ast.val.distinct) {
|
|
@@ -12941,7 +13072,7 @@ var expressionList = {
|
|
|
12941
13072
|
impl: ({ ACTION, CONSUME, MANY, OR, SUBRULE1, SUBRULE2 }) => (C) => OR([
|
|
12942
13073
|
{ ALT: () => {
|
|
12943
13074
|
const nil2 = CONSUME(terminals_exports.nil);
|
|
12944
|
-
return ACTION(() => C.
|
|
13075
|
+
return ACTION(() => C.astFactory.wrap([], C.astFactory.sourceLocation(nil2)));
|
|
12945
13076
|
} },
|
|
12946
13077
|
{ ALT: () => {
|
|
12947
13078
|
const open = CONSUME(symbols_exports.LParen);
|
|
@@ -12953,7 +13084,7 @@ var expressionList = {
|
|
|
12953
13084
|
args.push(expr);
|
|
12954
13085
|
});
|
|
12955
13086
|
const close = CONSUME(symbols_exports.RParen);
|
|
12956
|
-
return ACTION(() => C.
|
|
13087
|
+
return ACTION(() => C.astFactory.wrap(args, C.astFactory.sourceLocation(open, close)));
|
|
12957
13088
|
} }
|
|
12958
13089
|
])
|
|
12959
13090
|
};
|
|
@@ -12962,7 +13093,7 @@ var prefixOperator = /* @__PURE__ */ new Set(["!", "UPLUS", "UMINUS"]);
|
|
|
12962
13093
|
var expression = {
|
|
12963
13094
|
name: "expression",
|
|
12964
13095
|
impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression),
|
|
12965
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13096
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
12966
13097
|
if (F3.isTerm(ast)) {
|
|
12967
13098
|
SUBRULE(varOrTerm, ast);
|
|
12968
13099
|
} else if (F3.isExpressionOperator(ast)) {
|
|
@@ -13027,7 +13158,7 @@ var conditionalOrExpression = {
|
|
|
13027
13158
|
impl: ({ ACTION, MANY, CONSUME, SUBRULE1, SUBRULE2 }) => (C) => constructLeftDeep(() => SUBRULE1(conditionalAndExpression), () => {
|
|
13028
13159
|
CONSUME(symbols_exports.logicOr);
|
|
13029
13160
|
const args = SUBRULE2(conditionalAndExpression);
|
|
13030
|
-
return (left) => ACTION(() => C.
|
|
13161
|
+
return (left) => ACTION(() => C.astFactory.expressionOperation("||", [left, args], C.astFactory.sourceLocation(left, args)));
|
|
13031
13162
|
}, ACTION, MANY)
|
|
13032
13163
|
};
|
|
13033
13164
|
var conditionalAndExpression = {
|
|
@@ -13035,7 +13166,7 @@ var conditionalAndExpression = {
|
|
|
13035
13166
|
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => (C) => constructLeftDeep(() => SUBRULE1(valueLogical), () => {
|
|
13036
13167
|
CONSUME(symbols_exports.logicAnd);
|
|
13037
13168
|
const arg = SUBRULE2(valueLogical);
|
|
13038
|
-
return (left) => ACTION(() => C.
|
|
13169
|
+
return (left) => ACTION(() => C.astFactory.expressionOperation("&&", [left, arg], C.astFactory.sourceLocation(left, arg)));
|
|
13039
13170
|
}, ACTION, MANY)
|
|
13040
13171
|
};
|
|
13041
13172
|
var valueLogical = {
|
|
@@ -13057,7 +13188,7 @@ var relationalExpression = {
|
|
|
13057
13188
|
{ ALT: () => CONSUME(symbols_exports.greaterThanEqual) }
|
|
13058
13189
|
]);
|
|
13059
13190
|
const expr = SUBRULE2(numericExpression);
|
|
13060
|
-
return ACTION(() => C.
|
|
13191
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [args1, expr], C.astFactory.sourceLocation(args1, expr)));
|
|
13061
13192
|
} },
|
|
13062
13193
|
{ ALT: () => {
|
|
13063
13194
|
const operator = OR3([
|
|
@@ -13065,7 +13196,7 @@ var relationalExpression = {
|
|
|
13065
13196
|
{ ALT: () => CONSUME(notIn) }
|
|
13066
13197
|
]);
|
|
13067
13198
|
const args = SUBRULE1(expressionList);
|
|
13068
|
-
return ACTION(() => C.
|
|
13199
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image, [args1, ...args.val], C.astFactory.sourceLocation(args1, args)));
|
|
13069
13200
|
} }
|
|
13070
13201
|
]));
|
|
13071
13202
|
return expression2 ?? args1;
|
|
@@ -13084,7 +13215,7 @@ var additiveExpression = {
|
|
|
13084
13215
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13085
13216
|
]);
|
|
13086
13217
|
const arg = SUBRULE2(multiplicativeExpression);
|
|
13087
|
-
return ACTION(() => (left) => C.
|
|
13218
|
+
return ACTION(() => (left) => C.astFactory.expressionOperation(operator.image, [left, arg], C.astFactory.sourceLocation(left, arg)));
|
|
13088
13219
|
} },
|
|
13089
13220
|
{ ALT: () => {
|
|
13090
13221
|
const { operator, startInt } = OR3([
|
|
@@ -13115,9 +13246,9 @@ var additiveExpression = {
|
|
|
13115
13246
|
{ ALT: () => CONSUME(symbols_exports.slash) }
|
|
13116
13247
|
]);
|
|
13117
13248
|
const innerExpr = SUBRULE1(unaryExpression);
|
|
13118
|
-
return ACTION(() => (leftInner) => C.
|
|
13249
|
+
return ACTION(() => (leftInner) => C.astFactory.expressionOperation(innerOperator.image, [leftInner, innerExpr], C.astFactory.sourceLocation(leftInner, innerExpr)));
|
|
13119
13250
|
}, ACTION, MANY2);
|
|
13120
|
-
return (left) => C.
|
|
13251
|
+
return (left) => C.astFactory.expressionOperation(operator, [left, multiplicativeExpr], C.astFactory.sourceLocation(left, multiplicativeExpr));
|
|
13121
13252
|
} }
|
|
13122
13253
|
]), ACTION, MANY1)
|
|
13123
13254
|
};
|
|
@@ -13134,7 +13265,7 @@ var multiplicativeExpression = {
|
|
|
13134
13265
|
subType: "operation",
|
|
13135
13266
|
operator: operator.image,
|
|
13136
13267
|
args: [left, expr],
|
|
13137
|
-
loc: C.
|
|
13268
|
+
loc: C.astFactory.sourceLocation(left, expr)
|
|
13138
13269
|
});
|
|
13139
13270
|
}, ACTION, MANY)
|
|
13140
13271
|
};
|
|
@@ -13149,7 +13280,7 @@ var unaryExpression = {
|
|
|
13149
13280
|
{ ALT: () => CONSUME(symbols_exports.opMinus) }
|
|
13150
13281
|
]);
|
|
13151
13282
|
const expr = SUBRULE2(primaryExpression);
|
|
13152
|
-
return ACTION(() => C.
|
|
13283
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image === "!" ? "!" : operator.image === "+" ? "UPLUS" : "UMINUS", [expr], C.astFactory.sourceLocation(operator, expr)));
|
|
13153
13284
|
} }
|
|
13154
13285
|
])
|
|
13155
13286
|
};
|
|
@@ -13172,7 +13303,7 @@ var brackettedExpression = {
|
|
|
13172
13303
|
const expr = SUBRULE(expression);
|
|
13173
13304
|
const close = CONSUME(symbols_exports.RParen);
|
|
13174
13305
|
return ACTION(() => {
|
|
13175
|
-
expr.loc = C.
|
|
13306
|
+
expr.loc = C.astFactory.sourceLocation(open, close);
|
|
13176
13307
|
return expr;
|
|
13177
13308
|
});
|
|
13178
13309
|
}
|
|
@@ -13194,13 +13325,13 @@ var iriOrFunction = {
|
|
|
13194
13325
|
function: iriVal,
|
|
13195
13326
|
args: args.val.args,
|
|
13196
13327
|
distinct: distinct2,
|
|
13197
|
-
loc: C.
|
|
13328
|
+
loc: C.astFactory.sourceLocation(iriVal, args)
|
|
13198
13329
|
};
|
|
13199
13330
|
});
|
|
13200
13331
|
});
|
|
13201
13332
|
return functionCall2 ?? iriVal;
|
|
13202
13333
|
},
|
|
13203
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
13334
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F3 }) => {
|
|
13204
13335
|
if (F3.isTermNamed(ast)) {
|
|
13205
13336
|
SUBRULE(iri2, ast);
|
|
13206
13337
|
} else {
|
|
@@ -13253,11 +13384,14 @@ var groupClause = {
|
|
|
13253
13384
|
type: "solutionModifier",
|
|
13254
13385
|
subType: "group",
|
|
13255
13386
|
groupings,
|
|
13256
|
-
loc: C.
|
|
13387
|
+
loc: C.astFactory.sourceLocation(start, groupings.at(-1))
|
|
13257
13388
|
}));
|
|
13258
13389
|
},
|
|
13259
|
-
gImpl: ({ PRINT_WORDS, SUBRULE }) => (ast, {
|
|
13260
|
-
F3.printFilter(ast, () =>
|
|
13390
|
+
gImpl: ({ PRINT_WORDS, SUBRULE, PRINT_ON_EMPTY }) => (ast, { astFactory: F3 }) => {
|
|
13391
|
+
F3.printFilter(ast, () => {
|
|
13392
|
+
PRINT_ON_EMPTY("");
|
|
13393
|
+
PRINT_WORDS("GROUP", "BY");
|
|
13394
|
+
});
|
|
13261
13395
|
for (const grouping of ast.groupings) {
|
|
13262
13396
|
if (F3.isExpression(grouping)) {
|
|
13263
13397
|
SUBRULE(expression, grouping);
|
|
@@ -13291,7 +13425,7 @@ var groupCondition = {
|
|
|
13291
13425
|
return {
|
|
13292
13426
|
variable,
|
|
13293
13427
|
value: expressionValue,
|
|
13294
|
-
loc: C.
|
|
13428
|
+
loc: C.astFactory.sourceLocation(open, close)
|
|
13295
13429
|
};
|
|
13296
13430
|
}
|
|
13297
13431
|
return expressionValue;
|
|
@@ -13310,10 +13444,13 @@ var havingClause = {
|
|
|
13310
13444
|
expressions.push(SUBRULE(havingCondition));
|
|
13311
13445
|
});
|
|
13312
13446
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13313
|
-
return ACTION(() => C.
|
|
13447
|
+
return ACTION(() => C.astFactory.solutionModifierHaving(expressions, C.astFactory.sourceLocation(having2, expressions.at(-1))));
|
|
13314
13448
|
},
|
|
13315
|
-
gImpl: ({ PRINT_WORD, SUBRULE }) => (ast, {
|
|
13316
|
-
F3.printFilter(ast, () =>
|
|
13449
|
+
gImpl: ({ PRINT_WORD, PRINT_ON_EMPTY, SUBRULE }) => (ast, { astFactory: F3 }) => {
|
|
13450
|
+
F3.printFilter(ast, () => {
|
|
13451
|
+
PRINT_ON_EMPTY("");
|
|
13452
|
+
PRINT_WORD("HAVING");
|
|
13453
|
+
});
|
|
13317
13454
|
for (const having2 of ast.having) {
|
|
13318
13455
|
SUBRULE(expression, having2);
|
|
13319
13456
|
}
|
|
@@ -13334,10 +13471,13 @@ var orderClause = {
|
|
|
13334
13471
|
orderings.push(SUBRULE1(orderCondition));
|
|
13335
13472
|
});
|
|
13336
13473
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13337
|
-
return ACTION(() => C.
|
|
13474
|
+
return ACTION(() => C.astFactory.solutionModifierOrder(orderings, C.astFactory.sourceLocation(order2, orderings.at(-1))));
|
|
13338
13475
|
},
|
|
13339
|
-
gImpl: ({ PRINT_WORDS, SUBRULE }) => (ast, {
|
|
13340
|
-
F3.printFilter(ast, () =>
|
|
13476
|
+
gImpl: ({ PRINT_WORDS, PRINT_ON_EMPTY, SUBRULE }) => (ast, { astFactory: F3 }) => {
|
|
13477
|
+
F3.printFilter(ast, () => {
|
|
13478
|
+
PRINT_ON_EMPTY("");
|
|
13479
|
+
PRINT_WORDS("ORDER", "BY");
|
|
13480
|
+
});
|
|
13341
13481
|
for (const ordering of ast.orderDefs) {
|
|
13342
13482
|
if (ordering.descending) {
|
|
13343
13483
|
F3.printFilter(ast, () => PRINT_WORDS("DESC"));
|
|
@@ -13368,7 +13508,7 @@ var orderCondition = {
|
|
|
13368
13508
|
return ACTION(() => ({
|
|
13369
13509
|
expression: expr,
|
|
13370
13510
|
descending: descending[0],
|
|
13371
|
-
loc: C.
|
|
13511
|
+
loc: C.astFactory.sourceLocation(descending[1], expr)
|
|
13372
13512
|
}));
|
|
13373
13513
|
} },
|
|
13374
13514
|
{ ALT: () => {
|
|
@@ -13387,16 +13527,17 @@ var limitOffsetClauses = {
|
|
|
13387
13527
|
{ ALT: () => {
|
|
13388
13528
|
const limit2 = SUBRULE1(limitClause);
|
|
13389
13529
|
const offset2 = OPTION1(() => SUBRULE1(offsetClause));
|
|
13390
|
-
return ACTION(() => C.
|
|
13530
|
+
return ACTION(() => C.astFactory.solutionModifierLimitOffset(limit2.val, offset2?.val, C.astFactory.sourceLocation(limit2, ...offset2 ? [offset2] : [])));
|
|
13391
13531
|
} },
|
|
13392
13532
|
{ ALT: () => {
|
|
13393
13533
|
const offset2 = SUBRULE2(offsetClause);
|
|
13394
13534
|
const limit2 = OPTION2(() => SUBRULE2(limitClause));
|
|
13395
|
-
return ACTION(() => C.
|
|
13535
|
+
return ACTION(() => C.astFactory.solutionModifierLimitOffset(limit2?.val, offset2.val, C.astFactory.sourceLocation(offset2, limit2)));
|
|
13396
13536
|
} }
|
|
13397
13537
|
]),
|
|
13398
|
-
gImpl: ({ PRINT_WORDS }) => (ast, {
|
|
13538
|
+
gImpl: ({ PRINT_WORDS, PRINT_ON_EMPTY }) => (ast, { astFactory: F3 }) => {
|
|
13399
13539
|
F3.printFilter(ast, () => {
|
|
13540
|
+
PRINT_ON_EMPTY("");
|
|
13400
13541
|
if (ast.limit) {
|
|
13401
13542
|
PRINT_WORDS("LIMIT", String(ast.limit));
|
|
13402
13543
|
}
|
|
@@ -13412,7 +13553,7 @@ var limitClause = {
|
|
|
13412
13553
|
const offset2 = CONSUME(limit);
|
|
13413
13554
|
const value = CONSUME(terminals_exports.integer);
|
|
13414
13555
|
const val = Number.parseInt(value.image, 10);
|
|
13415
|
-
return ACTION(() => C.
|
|
13556
|
+
return ACTION(() => C.astFactory.wrap(val, C.astFactory.sourceLocation(offset2, value)));
|
|
13416
13557
|
}
|
|
13417
13558
|
};
|
|
13418
13559
|
var offsetClause = {
|
|
@@ -13421,7 +13562,7 @@ var offsetClause = {
|
|
|
13421
13562
|
const offset2 = CONSUME(offset);
|
|
13422
13563
|
const value = CONSUME(terminals_exports.integer);
|
|
13423
13564
|
const val = Number.parseInt(value.image, 10);
|
|
13424
|
-
return ACTION(() => C.
|
|
13565
|
+
return ACTION(() => C.astFactory.wrap(val, C.astFactory.sourceLocation(offset2, value)));
|
|
13425
13566
|
}
|
|
13426
13567
|
};
|
|
13427
13568
|
|
|
@@ -13446,10 +13587,10 @@ var query = {
|
|
|
13446
13587
|
...subType,
|
|
13447
13588
|
type: "query",
|
|
13448
13589
|
...values3 && { values: values3 },
|
|
13449
|
-
loc: C.
|
|
13590
|
+
loc: C.astFactory.sourceLocation(prologueValues.at(0), subType, values3)
|
|
13450
13591
|
}));
|
|
13451
13592
|
},
|
|
13452
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
13593
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F3 }) => {
|
|
13453
13594
|
SUBRULE(prologue, ast.context);
|
|
13454
13595
|
if (F3.isQuerySelect(ast)) {
|
|
13455
13596
|
SUBRULE(selectQuery, ast);
|
|
@@ -13479,13 +13620,13 @@ var selectQuery = {
|
|
|
13479
13620
|
solutionModifiers: modifiers,
|
|
13480
13621
|
datasets: from2,
|
|
13481
13622
|
...selectVal.val,
|
|
13482
|
-
loc: C.
|
|
13623
|
+
loc: C.astFactory.sourceLocation(selectVal, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13483
13624
|
};
|
|
13484
13625
|
queryIsGood(ret);
|
|
13485
13626
|
return ret;
|
|
13486
13627
|
});
|
|
13487
13628
|
},
|
|
13488
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
13629
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F3 }) => {
|
|
13489
13630
|
SUBRULE(selectClause, F3.wrap({
|
|
13490
13631
|
variables: ast.variables,
|
|
13491
13632
|
distinct: ast.distinct,
|
|
@@ -13503,14 +13644,14 @@ var subSelect = {
|
|
|
13503
13644
|
const where2 = SUBRULE(whereClause);
|
|
13504
13645
|
const modifiers = SUBRULE(solutionModifier);
|
|
13505
13646
|
const values3 = SUBRULE(valuesClause);
|
|
13506
|
-
return ACTION(() => C.
|
|
13647
|
+
return ACTION(() => C.astFactory.querySelect({
|
|
13507
13648
|
where: where2.val,
|
|
13508
|
-
datasets: C.
|
|
13649
|
+
datasets: C.astFactory.datasetClauses([], C.astFactory.sourceLocation()),
|
|
13509
13650
|
context: [],
|
|
13510
13651
|
solutionModifiers: modifiers,
|
|
13511
13652
|
...selectVal.val,
|
|
13512
13653
|
...values3 && { values: values3 }
|
|
13513
|
-
}, C.
|
|
13654
|
+
}, C.astFactory.sourceLocation(selectVal, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset, values3)));
|
|
13514
13655
|
}
|
|
13515
13656
|
};
|
|
13516
13657
|
var selectClause = {
|
|
@@ -13541,7 +13682,7 @@ var selectClause = {
|
|
|
13541
13682
|
const star2 = CONSUME(symbols_exports.star);
|
|
13542
13683
|
return ACTION(() => {
|
|
13543
13684
|
last2 = star2;
|
|
13544
|
-
return { variables: [C.
|
|
13685
|
+
return { variables: [C.astFactory.wildcard(C.astFactory.sourceLocation(star2))], ...distRed };
|
|
13545
13686
|
});
|
|
13546
13687
|
} },
|
|
13547
13688
|
{ ALT: () => {
|
|
@@ -13571,7 +13712,7 @@ var selectClause = {
|
|
|
13571
13712
|
throw new Error(`Variable ${variable.value} used more than once in SELECT clause`);
|
|
13572
13713
|
}
|
|
13573
13714
|
usedVars.push(variable);
|
|
13574
|
-
variables.push(C.
|
|
13715
|
+
variables.push(C.astFactory.patternBind(expr, variable, C.astFactory.sourceLocation(open, last2)));
|
|
13575
13716
|
});
|
|
13576
13717
|
} }
|
|
13577
13718
|
]));
|
|
@@ -13579,9 +13720,9 @@ var selectClause = {
|
|
|
13579
13720
|
} }
|
|
13580
13721
|
]);
|
|
13581
13722
|
ACTION(() => !couldParseAgg && C.parseMode.delete("canParseAggregate"));
|
|
13582
|
-
return ACTION(() => C.
|
|
13723
|
+
return ACTION(() => C.astFactory.wrap(val, C.astFactory.sourceLocation(select2, last2)));
|
|
13583
13724
|
},
|
|
13584
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13725
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
13585
13726
|
F3.printFilter(ast, () => {
|
|
13586
13727
|
PRINT_WORD("SELECT");
|
|
13587
13728
|
if (ast.val.distinct) {
|
|
@@ -13621,7 +13762,7 @@ var constructQuery = {
|
|
|
13621
13762
|
datasets: from2,
|
|
13622
13763
|
where: where2.val,
|
|
13623
13764
|
solutionModifiers: modifiers,
|
|
13624
|
-
loc: C.
|
|
13765
|
+
loc: C.astFactory.sourceLocation(construct2, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13625
13766
|
}));
|
|
13626
13767
|
} },
|
|
13627
13768
|
{ ALT: () => {
|
|
@@ -13633,19 +13774,26 @@ var constructQuery = {
|
|
|
13633
13774
|
subType: "construct",
|
|
13634
13775
|
template: template.val,
|
|
13635
13776
|
datasets: from2,
|
|
13636
|
-
where: C.
|
|
13777
|
+
where: C.astFactory.patternGroup([template.val], C.astFactory.sourceLocation()),
|
|
13637
13778
|
solutionModifiers: modifiers,
|
|
13638
|
-
loc: C.
|
|
13779
|
+
loc: C.astFactory.sourceLocation(construct2, template, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13639
13780
|
}));
|
|
13640
13781
|
} }
|
|
13641
13782
|
]);
|
|
13642
13783
|
},
|
|
13643
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
13784
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
13785
|
+
const { astFactory: F3, indentInc } = C;
|
|
13644
13786
|
F3.printFilter(ast, () => PRINT_WORD("CONSTRUCT"));
|
|
13645
13787
|
if (!F3.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
13646
|
-
F3.printFilter(ast, () =>
|
|
13788
|
+
F3.printFilter(ast, () => {
|
|
13789
|
+
C[traqulaIndentation] += indentInc;
|
|
13790
|
+
PRINT_WORD("{\n");
|
|
13791
|
+
});
|
|
13647
13792
|
SUBRULE(triplesBlock, ast.template);
|
|
13648
|
-
F3.printFilter(ast, () =>
|
|
13793
|
+
F3.printFilter(ast, () => {
|
|
13794
|
+
C[traqulaIndentation] -= indentInc;
|
|
13795
|
+
PRINT_ON_EMPTY("}\n");
|
|
13796
|
+
});
|
|
13649
13797
|
}
|
|
13650
13798
|
SUBRULE(datasetClauseStar, ast.datasets);
|
|
13651
13799
|
if (F3.isSourceLocationNoMaterialize(ast.where.loc)) {
|
|
@@ -13670,7 +13818,7 @@ var describeQuery = {
|
|
|
13670
13818
|
} },
|
|
13671
13819
|
{ ALT: () => {
|
|
13672
13820
|
const star2 = CONSUME(symbols_exports.star);
|
|
13673
|
-
return [ACTION(() => C.
|
|
13821
|
+
return [ACTION(() => C.astFactory.wildcard(C.astFactory.sourceLocation(star2)))];
|
|
13674
13822
|
} }
|
|
13675
13823
|
]);
|
|
13676
13824
|
const from2 = SUBRULE1(datasetClauseStar);
|
|
@@ -13682,10 +13830,10 @@ var describeQuery = {
|
|
|
13682
13830
|
datasets: from2,
|
|
13683
13831
|
...where2 && { where: where2.val },
|
|
13684
13832
|
solutionModifiers: modifiers,
|
|
13685
|
-
loc: C.
|
|
13833
|
+
loc: C.astFactory.sourceLocation(describe2, ...variables, from2, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13686
13834
|
}));
|
|
13687
13835
|
},
|
|
13688
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13836
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
13689
13837
|
F3.printFilter(ast, () => PRINT_WORD("DESCRIBE"));
|
|
13690
13838
|
if (F3.isWildcard(ast.variables[0])) {
|
|
13691
13839
|
F3.printFilter(ast, () => PRINT_WORD("*"));
|
|
@@ -13713,10 +13861,10 @@ var askQuery = {
|
|
|
13713
13861
|
datasets: from2,
|
|
13714
13862
|
where: where2.val,
|
|
13715
13863
|
solutionModifiers: modifiers,
|
|
13716
|
-
loc: C.
|
|
13864
|
+
loc: C.astFactory.sourceLocation(ask2, from2, where2, modifiers.group, modifiers.having, modifiers.order, modifiers.limitOffset)
|
|
13717
13865
|
}));
|
|
13718
13866
|
},
|
|
13719
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13867
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
13720
13868
|
F3.printFilter(ast, () => PRINT_WORD("ASK"));
|
|
13721
13869
|
SUBRULE(datasetClauseStar, ast.datasets);
|
|
13722
13870
|
SUBRULE(whereClause, F3.wrap(ast.where, ast.loc));
|
|
@@ -13733,7 +13881,7 @@ var constructTemplate = {
|
|
|
13733
13881
|
const open = CONSUME(symbols_exports.LCurly);
|
|
13734
13882
|
const triples = OPTION(() => SUBRULE1(constructTriples));
|
|
13735
13883
|
const close = CONSUME(symbols_exports.RCurly);
|
|
13736
|
-
return ACTION(() => C.
|
|
13884
|
+
return ACTION(() => C.astFactory.wrap(triples ?? C.astFactory.patternBgp([], C.astFactory.sourceLocation()), C.astFactory.sourceLocation(open, close)));
|
|
13737
13885
|
}
|
|
13738
13886
|
};
|
|
13739
13887
|
var constructTriples = {
|
|
@@ -13770,13 +13918,13 @@ var update = {
|
|
|
13770
13918
|
const update2 = {
|
|
13771
13919
|
type: "update",
|
|
13772
13920
|
updates,
|
|
13773
|
-
loc: C.
|
|
13921
|
+
loc: C.astFactory.sourceLocation(...updates[0].context, updates[0].operation, ...updates.at(-1).context, updates.at(-1)?.operation)
|
|
13774
13922
|
};
|
|
13775
13923
|
updateNoReuseBlankNodeLabels(update2);
|
|
13776
13924
|
return update2;
|
|
13777
13925
|
});
|
|
13778
13926
|
},
|
|
13779
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
13927
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
13780
13928
|
const [head2, ...tail] = ast.updates;
|
|
13781
13929
|
if (head2) {
|
|
13782
13930
|
SUBRULE(prologue, head2.context);
|
|
@@ -13856,9 +14004,9 @@ var load2 = {
|
|
|
13856
14004
|
CONSUME(loadInto);
|
|
13857
14005
|
return SUBRULE1(graphRef);
|
|
13858
14006
|
});
|
|
13859
|
-
return ACTION(() => C.
|
|
14007
|
+
return ACTION(() => C.astFactory.updateOperationLoad(C.astFactory.sourceLocation(loadToken, source, destination), source, Boolean(silent2), destination));
|
|
13860
14008
|
},
|
|
13861
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14009
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
13862
14010
|
F3.printFilter(ast, () => {
|
|
13863
14011
|
PRINT_WORD("LOAD");
|
|
13864
14012
|
if (ast.silent) {
|
|
@@ -13879,9 +14027,9 @@ function clearOrDrop(operation) {
|
|
|
13879
14027
|
const opToken = CONSUME(operation);
|
|
13880
14028
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
13881
14029
|
const destination = SUBRULE1(graphRefAll);
|
|
13882
|
-
return ACTION(() => C.
|
|
14030
|
+
return ACTION(() => C.astFactory.updateOperationClearDrop(unCapitalize(operation.name), Boolean(silent2), destination, C.astFactory.sourceLocation(opToken, destination)));
|
|
13883
14031
|
},
|
|
13884
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14032
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
13885
14033
|
F3.printFilter(ast, () => {
|
|
13886
14034
|
PRINT_WORD(operation.name.toUpperCase());
|
|
13887
14035
|
if (ast.silent) {
|
|
@@ -13900,9 +14048,9 @@ var create2 = {
|
|
|
13900
14048
|
const createToken3 = CONSUME(create);
|
|
13901
14049
|
const silent2 = OPTION(() => CONSUME(silent));
|
|
13902
14050
|
const destination = SUBRULE1(graphRef);
|
|
13903
|
-
return ACTION(() => C.
|
|
14051
|
+
return ACTION(() => C.astFactory.updateOperationCreate(destination, Boolean(silent2), C.astFactory.sourceLocation(createToken3, destination)));
|
|
13904
14052
|
},
|
|
13905
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14053
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
13906
14054
|
F3.printFilter(ast, () => {
|
|
13907
14055
|
PRINT_WORD("CREATE");
|
|
13908
14056
|
if (ast.silent) {
|
|
@@ -13921,9 +14069,9 @@ function copyMoveAddOperation(operation) {
|
|
|
13921
14069
|
const source = SUBRULE1(graphOrDefault);
|
|
13922
14070
|
CONSUME(to);
|
|
13923
14071
|
const destination = SUBRULE2(graphOrDefault);
|
|
13924
|
-
return ACTION(() => C.
|
|
14072
|
+
return ACTION(() => C.astFactory.updateOperationAddMoveCopy(unCapitalize(operation.name), source, destination, Boolean(silent2), C.astFactory.sourceLocation(op, destination)));
|
|
13925
14073
|
},
|
|
13926
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14074
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
13927
14075
|
F3.printFilter(ast, () => {
|
|
13928
14076
|
PRINT_WORD(operation.name.toUpperCase());
|
|
13929
14077
|
if (ast.silent) {
|
|
@@ -13945,7 +14093,7 @@ var quadPattern = {
|
|
|
13945
14093
|
const open = CONSUME(symbols_exports.LCurly);
|
|
13946
14094
|
const val = SUBRULE1(quads);
|
|
13947
14095
|
const close = CONSUME(symbols_exports.RCurly);
|
|
13948
|
-
return ACTION(() => C.
|
|
14096
|
+
return ACTION(() => C.astFactory.wrap(val.val, C.astFactory.sourceLocation(open, close)));
|
|
13949
14097
|
}
|
|
13950
14098
|
};
|
|
13951
14099
|
var quadData = {
|
|
@@ -13956,7 +14104,7 @@ var quadData = {
|
|
|
13956
14104
|
const val = SUBRULE1(quads);
|
|
13957
14105
|
ACTION(() => couldParseVars && C.parseMode.add("canParseVars"));
|
|
13958
14106
|
const close = CONSUME(symbols_exports.RCurly);
|
|
13959
|
-
return ACTION(() => C.
|
|
14107
|
+
return ACTION(() => C.astFactory.wrap(val.val, C.astFactory.sourceLocation(open, close)));
|
|
13960
14108
|
}
|
|
13961
14109
|
};
|
|
13962
14110
|
function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
@@ -13973,12 +14121,26 @@ function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
|
13973
14121
|
if (name !== "insertData") {
|
|
13974
14122
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
13975
14123
|
}
|
|
13976
|
-
return ACTION(() => C.
|
|
14124
|
+
return ACTION(() => C.astFactory.updateOperationInsDelDataWhere(subType, data.val, C.astFactory.sourceLocation(insDelToken, data)));
|
|
13977
14125
|
},
|
|
13978
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
13979
|
-
|
|
14126
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
14127
|
+
const { astFactory: F3, indentInc } = C;
|
|
14128
|
+
F3.printFilter(ast, () => {
|
|
14129
|
+
C[traqulaIndentation] += indentInc;
|
|
14130
|
+
if (subType === "insertdata") {
|
|
14131
|
+
PRINT_WORD("INSERT DATA");
|
|
14132
|
+
} else if (subType === "deletedata") {
|
|
14133
|
+
PRINT_WORD("DELETE DATA");
|
|
14134
|
+
} else if (subType === "deletewhere") {
|
|
14135
|
+
PRINT_WORD("DELETE WHERE");
|
|
14136
|
+
}
|
|
14137
|
+
PRINT_WORD("{\n");
|
|
14138
|
+
});
|
|
13980
14139
|
SUBRULE(quads, F3.wrap(ast.data, ast.loc));
|
|
13981
|
-
F3.printFilter(ast, () =>
|
|
14140
|
+
F3.printFilter(ast, () => {
|
|
14141
|
+
C[traqulaIndentation] -= indentInc;
|
|
14142
|
+
PRINT_ON_EMPTY("}\n");
|
|
14143
|
+
});
|
|
13982
14144
|
}
|
|
13983
14145
|
};
|
|
13984
14146
|
}
|
|
@@ -14007,22 +14169,35 @@ var modify = {
|
|
|
14007
14169
|
const using = SUBRULE1(usingClauseStar);
|
|
14008
14170
|
CONSUME(where);
|
|
14009
14171
|
const where2 = SUBRULE1(groupGraphPattern);
|
|
14010
|
-
return ACTION(() => C.
|
|
14172
|
+
return ACTION(() => C.astFactory.updateOperationModify(C.astFactory.sourceLocation(graph2?.withToken, del, insert, where2), insert?.val ?? [], del?.val ?? [], where2, using, graph2?.graph));
|
|
14011
14173
|
},
|
|
14012
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
14174
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
14175
|
+
const { astFactory: F3, indentInc } = C;
|
|
14013
14176
|
if (ast.graph) {
|
|
14014
14177
|
F3.printFilter(ast, () => PRINT_WORD("WITH"));
|
|
14015
14178
|
SUBRULE(iri2, ast.graph);
|
|
14016
14179
|
}
|
|
14017
14180
|
if (ast.delete.length > 0) {
|
|
14018
|
-
F3.printFilter(ast, () =>
|
|
14181
|
+
F3.printFilter(ast, () => {
|
|
14182
|
+
C[traqulaIndentation] += indentInc;
|
|
14183
|
+
PRINT_WORD("DELETE", "{\n");
|
|
14184
|
+
});
|
|
14019
14185
|
SUBRULE(quads, F3.wrap(ast.delete, ast.loc));
|
|
14020
|
-
F3.printFilter(ast, () =>
|
|
14186
|
+
F3.printFilter(ast, () => {
|
|
14187
|
+
C[traqulaIndentation] -= indentInc;
|
|
14188
|
+
PRINT_ON_EMPTY("}\n");
|
|
14189
|
+
});
|
|
14021
14190
|
}
|
|
14022
14191
|
if (ast.insert.length > 0) {
|
|
14023
|
-
F3.printFilter(ast, () =>
|
|
14192
|
+
F3.printFilter(ast, () => {
|
|
14193
|
+
C[traqulaIndentation] += indentInc;
|
|
14194
|
+
PRINT_WORD("INSERT", "{\n");
|
|
14195
|
+
});
|
|
14024
14196
|
SUBRULE(quads, F3.wrap(ast.insert, ast.loc));
|
|
14025
|
-
F3.printFilter(ast, () =>
|
|
14197
|
+
F3.printFilter(ast, () => {
|
|
14198
|
+
C[traqulaIndentation] -= indentInc;
|
|
14199
|
+
PRINT_ON_EMPTY("}\n");
|
|
14200
|
+
});
|
|
14026
14201
|
}
|
|
14027
14202
|
SUBRULE(usingClauseStar, ast.from);
|
|
14028
14203
|
F3.printFilter(ast, () => PRINT_WORD("WHERE"));
|
|
@@ -14036,7 +14211,7 @@ var deleteClause2 = {
|
|
|
14036
14211
|
const couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
|
|
14037
14212
|
const del = SUBRULE(quadPattern);
|
|
14038
14213
|
ACTION(() => couldCreateBlankNodes && C.parseMode.add("canCreateBlankNodes"));
|
|
14039
|
-
return ACTION(() => C.
|
|
14214
|
+
return ACTION(() => C.astFactory.wrap(del.val, C.astFactory.sourceLocation(delToken, del)));
|
|
14040
14215
|
}
|
|
14041
14216
|
};
|
|
14042
14217
|
var insertClause2 = {
|
|
@@ -14044,7 +14219,7 @@ var insertClause2 = {
|
|
|
14044
14219
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14045
14220
|
const insertToken = CONSUME(insertClause);
|
|
14046
14221
|
const insert = SUBRULE(quadPattern);
|
|
14047
|
-
return ACTION(() => C.
|
|
14222
|
+
return ACTION(() => C.astFactory.wrap(insert.val, C.astFactory.sourceLocation(insertToken, insert)));
|
|
14048
14223
|
}
|
|
14049
14224
|
};
|
|
14050
14225
|
var graphOrDefault = {
|
|
@@ -14052,12 +14227,12 @@ var graphOrDefault = {
|
|
|
14052
14227
|
impl: ({ ACTION, SUBRULE1, CONSUME, OPTION, OR }) => (C) => OR([
|
|
14053
14228
|
{ ALT: () => {
|
|
14054
14229
|
const def = CONSUME(graph_exports.default_);
|
|
14055
|
-
return ACTION(() => C.
|
|
14230
|
+
return ACTION(() => C.astFactory.graphRefDefault(C.astFactory.sourceLocation(def)));
|
|
14056
14231
|
} },
|
|
14057
14232
|
{ ALT: () => {
|
|
14058
14233
|
const graph2 = OPTION(() => CONSUME(graph_exports.graph));
|
|
14059
14234
|
const name = SUBRULE1(iri2);
|
|
14060
|
-
return ACTION(() => C.
|
|
14235
|
+
return ACTION(() => C.astFactory.graphRefSpecific(name, C.astFactory.sourceLocation(graph2, name)));
|
|
14061
14236
|
} }
|
|
14062
14237
|
])
|
|
14063
14238
|
};
|
|
@@ -14066,9 +14241,9 @@ var graphRef = {
|
|
|
14066
14241
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14067
14242
|
const graph2 = CONSUME(graph_exports.graph);
|
|
14068
14243
|
const val = SUBRULE(iri2);
|
|
14069
|
-
return ACTION(() => C.
|
|
14244
|
+
return ACTION(() => C.astFactory.graphRefSpecific(val, C.astFactory.sourceLocation(graph2, val)));
|
|
14070
14245
|
},
|
|
14071
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14246
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
14072
14247
|
F3.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14073
14248
|
SUBRULE(iri2, ast.graph);
|
|
14074
14249
|
}
|
|
@@ -14079,18 +14254,18 @@ var graphRefAll = {
|
|
|
14079
14254
|
{ ALT: () => SUBRULE(graphRef) },
|
|
14080
14255
|
{ ALT: () => {
|
|
14081
14256
|
const def = CONSUME(graph_exports.default_);
|
|
14082
|
-
return ACTION(() => C.
|
|
14257
|
+
return ACTION(() => C.astFactory.graphRefDefault(C.astFactory.sourceLocation(def)));
|
|
14083
14258
|
} },
|
|
14084
14259
|
{ ALT: () => {
|
|
14085
14260
|
const named2 = CONSUME(graph_exports.named);
|
|
14086
|
-
return ACTION(() => C.
|
|
14261
|
+
return ACTION(() => C.astFactory.graphRefNamed(C.astFactory.sourceLocation(named2)));
|
|
14087
14262
|
} },
|
|
14088
14263
|
{ ALT: () => {
|
|
14089
14264
|
const graphAll2 = CONSUME(graph_exports.graphAll);
|
|
14090
|
-
return ACTION(() => C.
|
|
14265
|
+
return ACTION(() => C.astFactory.graphRefAll(C.astFactory.sourceLocation(graphAll2)));
|
|
14091
14266
|
} }
|
|
14092
14267
|
]),
|
|
14093
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14268
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
14094
14269
|
if (F3.isGraphRefSpecific(ast)) {
|
|
14095
14270
|
SUBRULE(graphRef, ast);
|
|
14096
14271
|
} else if (F3.isGraphRefDefault(ast)) {
|
|
@@ -14127,9 +14302,9 @@ var quads = {
|
|
|
14127
14302
|
ACTION(() => quads2.push(triples));
|
|
14128
14303
|
});
|
|
14129
14304
|
});
|
|
14130
|
-
return ACTION(() => C.
|
|
14305
|
+
return ACTION(() => C.astFactory.wrap(quads2, C.astFactory.sourceLocation(quads2.at(0), last2)));
|
|
14131
14306
|
},
|
|
14132
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
14307
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F3 }) => {
|
|
14133
14308
|
for (const quad of ast.val) {
|
|
14134
14309
|
if (F3.isPattern(quad)) {
|
|
14135
14310
|
SUBRULE(triplesBlock, quad);
|
|
@@ -14147,14 +14322,21 @@ var quadsNotTriples = {
|
|
|
14147
14322
|
CONSUME(symbols_exports.LCurly);
|
|
14148
14323
|
const triples = OPTION(() => SUBRULE1(triplesTemplate));
|
|
14149
14324
|
const close = CONSUME(symbols_exports.RCurly);
|
|
14150
|
-
return ACTION(() => C.
|
|
14325
|
+
return ACTION(() => C.astFactory.graphQuads(name, triples ?? C.astFactory.patternBgp([], C.astFactory.sourceLocationNoMaterialize()), C.astFactory.sourceLocation(graph2, close)));
|
|
14151
14326
|
},
|
|
14152
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast,
|
|
14327
|
+
gImpl: ({ SUBRULE, PRINT_WORD, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
14328
|
+
const { astFactory: F3, indentInc } = C;
|
|
14153
14329
|
F3.printFilter(ast, () => PRINT_WORD("GRAPH"));
|
|
14154
14330
|
SUBRULE(varOrTerm, ast.graph);
|
|
14155
|
-
F3.printFilter(ast, () =>
|
|
14331
|
+
F3.printFilter(ast, () => {
|
|
14332
|
+
C[traqulaIndentation] += indentInc;
|
|
14333
|
+
PRINT_WORD("{\n");
|
|
14334
|
+
});
|
|
14156
14335
|
SUBRULE(triplesBlock, ast.triples);
|
|
14157
|
-
F3.printFilter(ast, () =>
|
|
14336
|
+
F3.printFilter(ast, () => {
|
|
14337
|
+
C[traqulaIndentation] -= indentInc;
|
|
14338
|
+
PRINT_ON_EMPTY("}\n");
|
|
14339
|
+
});
|
|
14158
14340
|
}
|
|
14159
14341
|
};
|
|
14160
14342
|
|
|
@@ -14177,7 +14359,7 @@ var queryOrUpdate = {
|
|
|
14177
14359
|
...subType,
|
|
14178
14360
|
type: "query",
|
|
14179
14361
|
...values3 && { values: values3 },
|
|
14180
|
-
loc: C.
|
|
14362
|
+
loc: C.astFactory.sourceLocation(prologueValues.at(0), subType, values3)
|
|
14181
14363
|
}));
|
|
14182
14364
|
} },
|
|
14183
14365
|
{ ALT: () => {
|
|
@@ -14201,7 +14383,7 @@ var queryOrUpdate = {
|
|
|
14201
14383
|
const update2 = {
|
|
14202
14384
|
type: "update",
|
|
14203
14385
|
updates,
|
|
14204
|
-
loc: C.
|
|
14386
|
+
loc: C.astFactory.sourceLocation(...updates[0].context, updates[0].operation, ...updates.at(-1).context, updates.at(-1)?.operation)
|
|
14205
14387
|
};
|
|
14206
14388
|
updateNoReuseBlankNodeLabels(update2);
|
|
14207
14389
|
return update2;
|
|
@@ -14209,7 +14391,7 @@ var queryOrUpdate = {
|
|
|
14209
14391
|
} }
|
|
14210
14392
|
]);
|
|
14211
14393
|
},
|
|
14212
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
14394
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F3 }) => {
|
|
14213
14395
|
if (F3.isQuery(ast)) {
|
|
14214
14396
|
SUBRULE(query, ast);
|
|
14215
14397
|
} else {
|
|
@@ -14273,8 +14455,78 @@ var LANG_DIR = createToken2({
|
|
|
14273
14455
|
});
|
|
14274
14456
|
var sparql12LexerBuilder = LexerBuilder.create(lexer_exports.sparql11LexerBuilder).addBefore(lexer_exports.symbols.logicAnd, tilde, annotationOpen, annotationClose, tripleTermOpen, tripleTermClose, reificationOpen, reificationClose, version).addBefore(lexer_exports.builtIn.langmatches, buildInLangDir, buildInStrLangDir, buildInHasLangDir, buildInHasLang, buildInIsTRIPLE, buildInTRIPLE, buildInSUBJECT, buildInPREDICATE, buildInOBJECT).addBefore(lexer_exports.terminals.langTag, LANG_DIR).delete(lexer_exports.terminals.langTag);
|
|
14275
14457
|
|
|
14458
|
+
// lib/AstFactory.js
|
|
14459
|
+
var AstFactory2 = class extends AstFactory {
|
|
14460
|
+
termTriple(subject, predicate, object3, loc) {
|
|
14461
|
+
return {
|
|
14462
|
+
type: "term",
|
|
14463
|
+
subType: "triple",
|
|
14464
|
+
subject,
|
|
14465
|
+
predicate,
|
|
14466
|
+
object: object3,
|
|
14467
|
+
loc
|
|
14468
|
+
};
|
|
14469
|
+
}
|
|
14470
|
+
isTermTriple(obj) {
|
|
14471
|
+
return this.isOfSubType(obj, "term", "triple");
|
|
14472
|
+
}
|
|
14473
|
+
tripleCollectionReifiedTriple(loc, subject, predicate, object3, reifier2) {
|
|
14474
|
+
return {
|
|
14475
|
+
type: "tripleCollection",
|
|
14476
|
+
subType: "reifiedTriple",
|
|
14477
|
+
triples: [this.triple(subject, predicate, object3)],
|
|
14478
|
+
identifier: reifier2 ?? this.blankNode(void 0, this.sourceLocationNoMaterialize()),
|
|
14479
|
+
loc
|
|
14480
|
+
};
|
|
14481
|
+
}
|
|
14482
|
+
isTripleCollectionReifiedTriple(obj) {
|
|
14483
|
+
return this.isOfSubType(obj, "tripleCollection", "reifiedTriple");
|
|
14484
|
+
}
|
|
14485
|
+
tripleCollectionBlankNodeProperties(identifier, triples, loc) {
|
|
14486
|
+
return {
|
|
14487
|
+
type: "tripleCollection",
|
|
14488
|
+
subType: "blankNodeProperties",
|
|
14489
|
+
triples,
|
|
14490
|
+
identifier,
|
|
14491
|
+
loc
|
|
14492
|
+
};
|
|
14493
|
+
}
|
|
14494
|
+
/**
|
|
14495
|
+
* Overwritten triple constructor to always contain an empty annotations list
|
|
14496
|
+
*/
|
|
14497
|
+
triple = (subject, predicate, object3, loc) => ({
|
|
14498
|
+
type: "triple",
|
|
14499
|
+
subject,
|
|
14500
|
+
predicate,
|
|
14501
|
+
object: object3,
|
|
14502
|
+
annotations: [],
|
|
14503
|
+
loc: loc ?? this.sourceLocation(subject, predicate, object3)
|
|
14504
|
+
});
|
|
14505
|
+
annotatedTriple(subject, predicate, object3, annotations, loc) {
|
|
14506
|
+
return {
|
|
14507
|
+
type: "triple",
|
|
14508
|
+
subject,
|
|
14509
|
+
predicate,
|
|
14510
|
+
object: object3,
|
|
14511
|
+
annotations: annotations ?? [],
|
|
14512
|
+
loc: loc ?? this.sourceLocation(subject, predicate, object3, ...annotations ?? [])
|
|
14513
|
+
};
|
|
14514
|
+
}
|
|
14515
|
+
contextDefinitionVersion(version2, loc) {
|
|
14516
|
+
return {
|
|
14517
|
+
type: "contextDef",
|
|
14518
|
+
subType: "version",
|
|
14519
|
+
version: version2,
|
|
14520
|
+
loc
|
|
14521
|
+
};
|
|
14522
|
+
}
|
|
14523
|
+
isContextDefinitionVersion(obj) {
|
|
14524
|
+
return this.isOfSubType(obj, "contextDef", "version");
|
|
14525
|
+
}
|
|
14526
|
+
};
|
|
14527
|
+
|
|
14276
14528
|
// lib/validators.js
|
|
14277
|
-
var F2 = new
|
|
14529
|
+
var F2 = new AstFactory2();
|
|
14278
14530
|
function isLangDir(dir) {
|
|
14279
14531
|
return dir === "ltr" || dir === "rtl";
|
|
14280
14532
|
}
|
|
@@ -14318,6 +14570,11 @@ function findPatternBoundedVars2(iter, boundedVars) {
|
|
|
14318
14570
|
if (F2.isTermVariable(iter)) {
|
|
14319
14571
|
boundedVars.add(iter.value);
|
|
14320
14572
|
}
|
|
14573
|
+
if (F2.isTermTriple(iter)) {
|
|
14574
|
+
findPatternBoundedVars2(iter.subject, boundedVars);
|
|
14575
|
+
findPatternBoundedVars2(iter.predicate, boundedVars);
|
|
14576
|
+
findPatternBoundedVars2(iter.object, boundedVars);
|
|
14577
|
+
}
|
|
14321
14578
|
} else if (F2.isTriple(iter)) {
|
|
14322
14579
|
findPatternBoundedVars2(iter.subject, boundedVars);
|
|
14323
14580
|
findPatternBoundedVars2(iter.predicate, boundedVars);
|
|
@@ -14362,11 +14619,11 @@ var versionDecl = {
|
|
|
14362
14619
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
14363
14620
|
const versionToken = CONSUME(version);
|
|
14364
14621
|
const identifier = SUBRULE(versionSpecifier);
|
|
14365
|
-
return ACTION(() => C.
|
|
14622
|
+
return ACTION(() => C.astFactory.contextDefinitionVersion(identifier.val, C.astFactory.sourceLocation(versionToken, identifier)));
|
|
14366
14623
|
},
|
|
14367
|
-
gImpl: ({ PRINT_WORDS }) => (ast, {
|
|
14624
|
+
gImpl: ({ PRINT_WORDS }) => (ast, { astFactory: F3 }) => {
|
|
14368
14625
|
F3.printFilter(ast, () => {
|
|
14369
|
-
PRINT_WORDS("VERSION", `${grammar_exports.stringEscapedLexical(ast.version)}
|
|
14626
|
+
PRINT_WORDS("VERSION", `${grammar_exports.stringEscapedLexical(ast.version)}`, "\n");
|
|
14370
14627
|
});
|
|
14371
14628
|
}
|
|
14372
14629
|
};
|
|
@@ -14377,7 +14634,7 @@ var versionSpecifier = {
|
|
|
14377
14634
|
{ ALT: () => CONSUME(lexer_exports.terminals.stringLiteral1) },
|
|
14378
14635
|
{ ALT: () => CONSUME(lexer_exports.terminals.stringLiteral2) }
|
|
14379
14636
|
]);
|
|
14380
|
-
return ACTION(() => C.
|
|
14637
|
+
return ACTION(() => C.astFactory.wrap(token.image.slice(1, -1), C.astFactory.sourceLocation(token)));
|
|
14381
14638
|
}
|
|
14382
14639
|
};
|
|
14383
14640
|
var prologue2 = {
|
|
@@ -14393,7 +14650,7 @@ var prologue2 = {
|
|
|
14393
14650
|
]));
|
|
14394
14651
|
return result;
|
|
14395
14652
|
},
|
|
14396
|
-
gImpl: ({ SUBRULE }) => (ast, {
|
|
14653
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F3 }) => {
|
|
14397
14654
|
for (const context of ast) {
|
|
14398
14655
|
if (F3.isContextDefinitionBase(context)) {
|
|
14399
14656
|
SUBRULE(grammar_exports.baseDecl, context);
|
|
@@ -14410,7 +14667,7 @@ function reifiedTripleBlockImpl(name, allowPath) {
|
|
|
14410
14667
|
name,
|
|
14411
14668
|
impl: ({ ACTION, SUBRULE }) => (C) => {
|
|
14412
14669
|
const triple = SUBRULE(reifiedTriple);
|
|
14413
|
-
const properties = SUBRULE(allowPath ? grammar_exports.propertyListPath : grammar_exports.propertyList, ACTION(() => C.
|
|
14670
|
+
const properties = SUBRULE(allowPath ? grammar_exports.propertyListPath : grammar_exports.propertyList, ACTION(() => C.astFactory.dematerialized(triple.identifier)));
|
|
14414
14671
|
return ACTION(() => [triple, ...properties]);
|
|
14415
14672
|
}
|
|
14416
14673
|
};
|
|
@@ -14433,7 +14690,7 @@ var reifier = {
|
|
|
14433
14690
|
if (reifier2 === void 0 && !C.parseMode.has("canCreateBlankNodes")) {
|
|
14434
14691
|
throw new Error("Cannot create blanknodes in current parse mode");
|
|
14435
14692
|
}
|
|
14436
|
-
return C.
|
|
14693
|
+
return C.astFactory.wrap(reifier2 ?? C.astFactory.blankNode(void 0, C.astFactory.sourceLocation()), C.astFactory.sourceLocation(tildeToken, reifier2));
|
|
14437
14694
|
});
|
|
14438
14695
|
}
|
|
14439
14696
|
};
|
|
@@ -14463,7 +14720,7 @@ function objectImpl2(name, allowPaths) {
|
|
|
14463
14720
|
const objectVal = SUBRULE(allowPaths ? graphNodePath2 : graphNode2);
|
|
14464
14721
|
const annotationVal = SUBRULE(allowPaths ? annotationPath : annotation);
|
|
14465
14722
|
return ACTION(() => {
|
|
14466
|
-
const F3 = C.
|
|
14723
|
+
const F3 = C.astFactory;
|
|
14467
14724
|
if (F3.isPathPure(predicate) && annotationVal.length > 0) {
|
|
14468
14725
|
throw new Error("Note 17 violation");
|
|
14469
14726
|
}
|
|
@@ -14492,7 +14749,7 @@ function annotationImpl(name, allowPaths) {
|
|
|
14492
14749
|
if (!currentReifier && !C.parseMode.has("canCreateBlankNodes")) {
|
|
14493
14750
|
throw new Error("Cannot create blanknodes in current parse mode");
|
|
14494
14751
|
}
|
|
14495
|
-
currentReifier = currentReifier ?? C.
|
|
14752
|
+
currentReifier = currentReifier ?? C.astFactory.blankNode(void 0, C.astFactory.sourceLocation());
|
|
14496
14753
|
});
|
|
14497
14754
|
const block = SUBRULE(allowPaths ? annotationBlockPath : annotationBlock, currentReifier);
|
|
14498
14755
|
ACTION(() => {
|
|
@@ -14504,7 +14761,7 @@ function annotationImpl(name, allowPaths) {
|
|
|
14504
14761
|
});
|
|
14505
14762
|
return annotations;
|
|
14506
14763
|
},
|
|
14507
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14764
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
14508
14765
|
for (const annotation2 of ast) {
|
|
14509
14766
|
if (F3.isTripleCollectionBlankNodeProperties(annotation2)) {
|
|
14510
14767
|
SUBRULE(annotationBlockPath, annotation2);
|
|
@@ -14525,11 +14782,18 @@ function annotationBlockImpl(name, allowPaths) {
|
|
|
14525
14782
|
const open = CONSUME(annotationOpen);
|
|
14526
14783
|
const res = SUBRULE(allowPaths ? grammar_exports.propertyListPathNotEmpty : grammar_exports.propertyListNotEmpty, arg);
|
|
14527
14784
|
const close = CONSUME(annotationClose);
|
|
14528
|
-
return ACTION(() => C.
|
|
14785
|
+
return ACTION(() => C.astFactory.tripleCollectionBlankNodeProperties(arg, res, C.astFactory.sourceLocation(open, close)));
|
|
14529
14786
|
},
|
|
14530
|
-
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast,
|
|
14531
|
-
F3
|
|
14532
|
-
|
|
14787
|
+
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC, PRINT_ON_EMPTY }) => (ast, C) => {
|
|
14788
|
+
const { astFactory: F3, indentInc } = C;
|
|
14789
|
+
F3.printFilter(ast, () => {
|
|
14790
|
+
PRINT_WORD("{|");
|
|
14791
|
+
if (ast.triples.length > 1) {
|
|
14792
|
+
C[traqulaIndentation] += indentInc;
|
|
14793
|
+
PRINT_WORD("\n");
|
|
14794
|
+
}
|
|
14795
|
+
});
|
|
14796
|
+
function printTriple(triple) {
|
|
14533
14797
|
HANDLE_LOC(triple, () => {
|
|
14534
14798
|
if (F3.isTerm(triple.predicate)) {
|
|
14535
14799
|
SUBRULE(graphNodePath2, triple.predicate);
|
|
@@ -14537,10 +14801,21 @@ function annotationBlockImpl(name, allowPaths) {
|
|
|
14537
14801
|
SUBRULE(grammar_exports.pathGenerator, triple.predicate, void 0);
|
|
14538
14802
|
}
|
|
14539
14803
|
SUBRULE(graphNodePath2, triple.object);
|
|
14540
|
-
F3.printFilter(ast, () => PRINT_WORD(";"));
|
|
14541
14804
|
});
|
|
14542
14805
|
}
|
|
14543
|
-
|
|
14806
|
+
const [head2, ...tail] = ast.triples;
|
|
14807
|
+
printTriple(head2);
|
|
14808
|
+
for (const triple of tail) {
|
|
14809
|
+
F3.printFilter(ast, () => PRINT_WORD(";\n"));
|
|
14810
|
+
printTriple(triple);
|
|
14811
|
+
}
|
|
14812
|
+
F3.printFilter(ast, () => {
|
|
14813
|
+
if (ast.triples.length > 1) {
|
|
14814
|
+
PRINT_ON_EMPTY("|}\n");
|
|
14815
|
+
} else {
|
|
14816
|
+
PRINT_WORD("|}");
|
|
14817
|
+
}
|
|
14818
|
+
});
|
|
14544
14819
|
}
|
|
14545
14820
|
};
|
|
14546
14821
|
}
|
|
@@ -14560,7 +14835,7 @@ var graphNodePath2 = {
|
|
|
14560
14835
|
{ ALT: () => $.SUBRULE(reifiedTriple) }
|
|
14561
14836
|
]),
|
|
14562
14837
|
gImpl: ($) => (ast, C) => {
|
|
14563
|
-
if (C.
|
|
14838
|
+
if (C.astFactory.isTripleCollectionReifiedTriple(ast)) {
|
|
14564
14839
|
$.SUBRULE(reifiedTriple, ast);
|
|
14565
14840
|
} else {
|
|
14566
14841
|
grammar_exports.graphNodePath.gImpl($)(ast, C);
|
|
@@ -14578,7 +14853,7 @@ var varOrTerm2 = {
|
|
|
14578
14853
|
{ ALT: () => SUBRULE(grammar_exports.blankNode) },
|
|
14579
14854
|
{ ALT: () => {
|
|
14580
14855
|
const token = CONSUME(lexer_exports.terminals.nil);
|
|
14581
|
-
return ACTION(() => C.
|
|
14856
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(token), CommonIRIs.NIL));
|
|
14582
14857
|
} },
|
|
14583
14858
|
{ ALT: () => SUBRULE(tripleTerm) }
|
|
14584
14859
|
])
|
|
@@ -14597,10 +14872,10 @@ var reifiedTriple = {
|
|
|
14597
14872
|
if (reifierVal === void 0 && !C.parseMode.has("canCreateBlankNodes")) {
|
|
14598
14873
|
throw new Error("Cannot create blanknodes in current parse mode");
|
|
14599
14874
|
}
|
|
14600
|
-
return C.
|
|
14875
|
+
return C.astFactory.tripleCollectionReifiedTriple(C.astFactory.sourceLocation(open, close), subject, predicate, object3, reifierVal?.val);
|
|
14601
14876
|
});
|
|
14602
14877
|
},
|
|
14603
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14878
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
14604
14879
|
F3.printFilter(ast, () => PRINT_WORD("<<"));
|
|
14605
14880
|
const triple = ast.triples[0];
|
|
14606
14881
|
SUBRULE(graphNodePath2, triple.subject);
|
|
@@ -14639,9 +14914,9 @@ var tripleTerm = {
|
|
|
14639
14914
|
const predicate = SUBRULE(grammar_exports.verb);
|
|
14640
14915
|
const object3 = SUBRULE(tripleTermObject);
|
|
14641
14916
|
const close = CONSUME(tripleTermClose);
|
|
14642
|
-
return ACTION(() => C.
|
|
14917
|
+
return ACTION(() => C.astFactory.termTriple(subject, predicate, object3, C.astFactory.sourceLocation(open, close)));
|
|
14643
14918
|
},
|
|
14644
|
-
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, {
|
|
14919
|
+
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { astFactory: F3 }) => {
|
|
14645
14920
|
F3.printFilter(ast, () => PRINT_WORD("<<("));
|
|
14646
14921
|
SUBRULE(graphNodePath2, ast.subject);
|
|
14647
14922
|
SUBRULE(graphNodePath2, ast.predicate);
|
|
@@ -14674,12 +14949,12 @@ var tripleTermData = {
|
|
|
14674
14949
|
{ ALT: () => SUBRULE(grammar_exports.iri) },
|
|
14675
14950
|
{ ALT: () => {
|
|
14676
14951
|
const token = CONSUME(lexer_exports.a);
|
|
14677
|
-
return ACTION(() => C.
|
|
14952
|
+
return ACTION(() => C.astFactory.namedNode(C.astFactory.sourceLocation(token), CommonIRIs.TYPE));
|
|
14678
14953
|
} }
|
|
14679
14954
|
]);
|
|
14680
14955
|
const object3 = SUBRULE(tripleTermDataObject);
|
|
14681
14956
|
const close = CONSUME(tripleTermClose);
|
|
14682
|
-
return ACTION(() => C.
|
|
14957
|
+
return ACTION(() => C.astFactory.termTriple(subject, predicate, object3, C.astFactory.sourceLocation(open, close)));
|
|
14683
14958
|
}
|
|
14684
14959
|
};
|
|
14685
14960
|
var tripleTermDataSubject = {
|
|
@@ -14711,7 +14986,7 @@ var exprTripleTerm = {
|
|
|
14711
14986
|
const predicate = SUBRULE(grammar_exports.verb);
|
|
14712
14987
|
const object3 = SUBRULE(exprTripleTermObject);
|
|
14713
14988
|
const close = CONSUME(tripleTermClose);
|
|
14714
|
-
return ACTION(() => C.
|
|
14989
|
+
return ACTION(() => C.astFactory.termTriple(subject, predicate, object3, C.astFactory.sourceLocation(open, close)));
|
|
14715
14990
|
}
|
|
14716
14991
|
};
|
|
14717
14992
|
var exprTripleTermSubject = {
|
|
@@ -14761,7 +15036,7 @@ var rdfLiteral2 = {
|
|
|
14761
15036
|
{ ALT: () => {
|
|
14762
15037
|
const langTag2 = CONSUME(LANG_DIR);
|
|
14763
15038
|
return ACTION(() => {
|
|
14764
|
-
const literal = C.
|
|
15039
|
+
const literal = C.astFactory.literalTerm(C.astFactory.sourceLocation(value, langTag2), value.value, langTag2.image.slice(1).toLowerCase());
|
|
14765
15040
|
langTagHasCorrectRange(literal);
|
|
14766
15041
|
return literal;
|
|
14767
15042
|
});
|
|
@@ -14769,7 +15044,7 @@ var rdfLiteral2 = {
|
|
|
14769
15044
|
{ ALT: () => {
|
|
14770
15045
|
CONSUME(lexer_exports.symbols.hathat);
|
|
14771
15046
|
const iriVal = SUBRULE(grammar_exports.iri);
|
|
14772
|
-
return ACTION(() => C.
|
|
15047
|
+
return ACTION(() => C.astFactory.literalTerm(C.astFactory.sourceLocation(value, iriVal), value.value, iriVal));
|
|
14773
15048
|
} }
|
|
14774
15049
|
])) ?? value;
|
|
14775
15050
|
}
|
|
@@ -14781,7 +15056,7 @@ var unaryExpression2 = {
|
|
|
14781
15056
|
{ ALT: () => {
|
|
14782
15057
|
const operator = CONSUME(lexer_exports.symbols.exclamation);
|
|
14783
15058
|
const expr = SUBRULE1(unaryExpression2);
|
|
14784
|
-
return ACTION(() => C.
|
|
15059
|
+
return ACTION(() => C.astFactory.expressionOperation("!", [expr], C.astFactory.sourceLocation(operator, expr)));
|
|
14785
15060
|
} },
|
|
14786
15061
|
{ ALT: () => {
|
|
14787
15062
|
const operator = OR2([
|
|
@@ -14789,34 +15064,36 @@ var unaryExpression2 = {
|
|
|
14789
15064
|
{ ALT: () => CONSUME(lexer_exports.symbols.opMinus) }
|
|
14790
15065
|
]);
|
|
14791
15066
|
const expr = SUBRULE2(primaryExpression2);
|
|
14792
|
-
return ACTION(() => C.
|
|
15067
|
+
return ACTION(() => C.astFactory.expressionOperation(operator.image === "!" ? "!" : operator.image === "+" ? "UPLUS" : "UMINUS", [expr], C.astFactory.sourceLocation(operator, expr)));
|
|
14793
15068
|
} }
|
|
14794
15069
|
])
|
|
14795
15070
|
};
|
|
14796
15071
|
var generateTriplesBlock = {
|
|
14797
15072
|
name: "triplesBlock",
|
|
14798
|
-
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, {
|
|
15073
|
+
gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, { astFactory: F3 }) => {
|
|
14799
15074
|
for (const [index, triple] of ast.triples.entries()) {
|
|
14800
15075
|
HANDLE_LOC(triple, () => {
|
|
14801
15076
|
const nextTriple = ast.triples.at(index);
|
|
14802
15077
|
if (F3.isTripleCollection(triple)) {
|
|
14803
15078
|
SUBRULE(graphNodePath2, triple);
|
|
14804
|
-
F3.printFilter(triple, () => PRINT_WORD("
|
|
15079
|
+
F3.printFilter(triple, () => PRINT_WORD(".\n"));
|
|
14805
15080
|
} else {
|
|
14806
15081
|
SUBRULE(graphNodePath2, triple.subject);
|
|
15082
|
+
F3.printFilter(ast, () => PRINT_WORD(""));
|
|
14807
15083
|
if (F3.isPathPure(triple.predicate)) {
|
|
14808
15084
|
SUBRULE(grammar_exports.pathGenerator, triple.predicate, void 0);
|
|
14809
15085
|
} else {
|
|
14810
15086
|
SUBRULE(graphNodePath2, triple.predicate);
|
|
14811
15087
|
}
|
|
15088
|
+
F3.printFilter(ast, () => PRINT_WORD(""));
|
|
14812
15089
|
SUBRULE(graphNodePath2, triple.object);
|
|
14813
15090
|
SUBRULE(annotationPath, triple.annotations ?? []);
|
|
14814
15091
|
if (nextTriple === void 0 || F3.isTripleCollection(nextTriple) || !F3.isSourceLocationNoMaterialize(nextTriple.subject.loc)) {
|
|
14815
|
-
F3.printFilter(ast, () => PRINT_WORD("
|
|
15092
|
+
F3.printFilter(ast, () => PRINT_WORD(".\n"));
|
|
14816
15093
|
} else if (F3.isSourceLocationNoMaterialize(nextTriple.predicate.loc)) {
|
|
14817
15094
|
F3.printFilter(ast, () => PRINT_WORD(","));
|
|
14818
15095
|
} else {
|
|
14819
|
-
F3.printFilter(ast, () => PRINT_WORD("
|
|
15096
|
+
F3.printFilter(ast, () => PRINT_WORD(";\n"));
|
|
14820
15097
|
}
|
|
14821
15098
|
}
|
|
14822
15099
|
});
|
|
@@ -14826,7 +15103,7 @@ var generateTriplesBlock = {
|
|
|
14826
15103
|
var generateGraphTerm = {
|
|
14827
15104
|
name: "graphTerm",
|
|
14828
15105
|
gImpl: ($) => (ast, C) => {
|
|
14829
|
-
if (C.
|
|
15106
|
+
if (C.astFactory.isTermTriple(ast)) {
|
|
14830
15107
|
$.SUBRULE(tripleTerm, ast);
|
|
14831
15108
|
} else {
|
|
14832
15109
|
grammar_exports.graphTerm.gImpl($)(ast, C);
|
|
@@ -14834,88 +15111,22 @@ var generateGraphTerm = {
|
|
|
14834
15111
|
}
|
|
14835
15112
|
};
|
|
14836
15113
|
|
|
14837
|
-
// lib/Factory.js
|
|
14838
|
-
var Factory2 = class extends Factory {
|
|
14839
|
-
termTriple(subject, predicate, object3, loc) {
|
|
14840
|
-
return {
|
|
14841
|
-
type: "term",
|
|
14842
|
-
subType: "triple",
|
|
14843
|
-
subject,
|
|
14844
|
-
predicate,
|
|
14845
|
-
object: object3,
|
|
14846
|
-
loc
|
|
14847
|
-
};
|
|
14848
|
-
}
|
|
14849
|
-
isTermTriple(obj) {
|
|
14850
|
-
return this.isOfSubType(obj, "term", "triple");
|
|
14851
|
-
}
|
|
14852
|
-
tripleCollectionReifiedTriple(loc, subject, predicate, object3, reifier2) {
|
|
14853
|
-
return {
|
|
14854
|
-
type: "tripleCollection",
|
|
14855
|
-
subType: "reifiedTriple",
|
|
14856
|
-
triples: [this.triple(subject, predicate, object3)],
|
|
14857
|
-
identifier: reifier2 ?? this.blankNode(void 0, this.sourceLocationNoMaterialize()),
|
|
14858
|
-
loc
|
|
14859
|
-
};
|
|
14860
|
-
}
|
|
14861
|
-
isTripleCollectionReifiedTriple(obj) {
|
|
14862
|
-
return this.isOfSubType(obj, "tripleCollection", "reifiedTriple");
|
|
14863
|
-
}
|
|
14864
|
-
tripleCollectionBlankNodeProperties(identifier, triples, loc) {
|
|
14865
|
-
return {
|
|
14866
|
-
type: "tripleCollection",
|
|
14867
|
-
subType: "blankNodeProperties",
|
|
14868
|
-
triples,
|
|
14869
|
-
identifier,
|
|
14870
|
-
loc
|
|
14871
|
-
};
|
|
14872
|
-
}
|
|
14873
|
-
/**
|
|
14874
|
-
* Overwritten triple constructor to always contain an empty annotations list
|
|
14875
|
-
*/
|
|
14876
|
-
triple = (subject, predicate, object3, loc) => ({
|
|
14877
|
-
type: "triple",
|
|
14878
|
-
subject,
|
|
14879
|
-
predicate,
|
|
14880
|
-
object: object3,
|
|
14881
|
-
annotations: [],
|
|
14882
|
-
loc: loc ?? this.sourceLocation(subject, predicate, object3)
|
|
14883
|
-
});
|
|
14884
|
-
annotatedTriple(subject, predicate, object3, annotations, loc) {
|
|
14885
|
-
return {
|
|
14886
|
-
type: "triple",
|
|
14887
|
-
subject,
|
|
14888
|
-
predicate,
|
|
14889
|
-
object: object3,
|
|
14890
|
-
annotations: annotations ?? [],
|
|
14891
|
-
loc: loc ?? this.sourceLocation(subject, predicate, object3, ...annotations ?? [])
|
|
14892
|
-
};
|
|
14893
|
-
}
|
|
14894
|
-
contextDefinitionVersion(version2, loc) {
|
|
14895
|
-
return {
|
|
14896
|
-
type: "contextDef",
|
|
14897
|
-
subType: "version",
|
|
14898
|
-
version: version2,
|
|
14899
|
-
loc
|
|
14900
|
-
};
|
|
14901
|
-
}
|
|
14902
|
-
isContextDefinitionVersion(obj) {
|
|
14903
|
-
return this.isOfSubType(obj, "contextDef", "version");
|
|
14904
|
-
}
|
|
14905
|
-
};
|
|
14906
|
-
|
|
14907
15114
|
// lib/parserUtils.js
|
|
14908
15115
|
function completeParseContext(context) {
|
|
14909
15116
|
return {
|
|
14910
|
-
|
|
15117
|
+
astFactory: context.astFactory ?? new AstFactory2(),
|
|
14911
15118
|
baseIRI: context.baseIRI,
|
|
14912
15119
|
prefixes: { ...context.prefixes },
|
|
14913
15120
|
origSource: context.origSource ?? "",
|
|
14914
15121
|
offset: context.offset,
|
|
14915
15122
|
parseMode: context.parseMode ? new Set(context.parseMode) : /* @__PURE__ */ new Set(["canParseVars", "canCreateBlankNodes"]),
|
|
14916
|
-
skipValidation: context.skipValidation ?? false
|
|
15123
|
+
skipValidation: context.skipValidation ?? false,
|
|
15124
|
+
indentInc: context.indentInc ?? 2,
|
|
15125
|
+
[traqulaIndentation]: context[traqulaIndentation] ?? 0
|
|
14917
15126
|
};
|
|
14918
15127
|
}
|
|
15128
|
+
var AstTransformer2 = class extends TransformerSubType {
|
|
15129
|
+
};
|
|
14919
15130
|
/*! Bundled license information:
|
|
14920
15131
|
|
|
14921
15132
|
lodash-es/lodash.js:
|