@traqula/parser-sparql-1-2 0.0.1-alpha.176 → 0.0.1-alpha.9

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/Parser.js CHANGED
@@ -1,11 +1,207 @@
1
1
  import { ParserBuilder } from '@traqula/core';
2
2
  import { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1';
3
- import { sparqlCodepointEscape, gram as g11, SparqlParser, } from '@traqula/rules-sparql-1-1';
4
- import { gram as S12, lex as l12 } from '@traqula/rules-sparql-1-2';
5
- export const sparql12ParserBuilder = ParserBuilder.createBuilder(sparql11ParserBuilder)
3
+ import { gram as g11, sparqlCodepointEscape } from '@traqula/rules-sparql-1-1';
4
+ import { completeParseContext, Factory, gram as S12, lex as l12 } from '@traqula/rules-sparql-1-2';
5
+ export const sparql12ParserBuilder = ParserBuilder.create(sparql11ParserBuilder)
6
+ .widenContext()
7
+ // Needed for portable typing
6
8
  .addRuleRedundant(g11.object)
7
- .typePatch()
8
- .addMany(S12.reifiedTripleBlock, S12.reifiedTripleBlockPath, S12.reifier, S12.varOrReifierId, S12.annotation, S12.annotationPath, S12.annotationBlockPath, S12.annotationBlock, S12.reifiedTriple, S12.reifiedTripleSubject, S12.reifiedTripleObject, S12.tripleTerm, S12.tripleTermSubject, S12.tripleTermObject, S12.tripleTermData, S12.tripleTermDataSubject, S12.tripleTermDataObject, S12.exprTripleTerm, S12.exprTripleTermSubject, S12.exprTripleTermObject, S12.builtinLangDir, S12.builtinLangStrDir, S12.builtinHasLang, S12.builtinHasLangDir, S12.builtinIsTriple, S12.builtinTriple, S12.builtinSubject, S12.builtinPredicate, S12.builtinObject)
9
+ // .typePatch<{
10
+ // /// GeneralFile
11
+ // queryOrUpdate: T12.Query | T12.Update | Pick<T12.Update, 'base' | 'prefixes' | 'version'>;
12
+ // /// Query Unit file
13
+ // [g11.selectQuery.name]: Omit<T12.SelectQuery, g11.HandledByBase>;
14
+ // [g11.subSelect.name]: Omit<T12.SelectQuery, 'prefixes'>;
15
+ // [g11.selectClause.name]: g11.ISelectClause;
16
+ // [g11.constructQuery.name]: Omit<T12.ConstructQuery, g11.HandledByBase>;
17
+ // [g11.describeQuery.name]: Omit<T12.DescribeQuery, g11.HandledByBase>;
18
+ // [g11.askQuery.name]: Omit<T12.AskQuery, g11.HandledByBase>;
19
+ // [g11.valuesClause.name]: T12.ValuePatternRow[] | undefined;
20
+ // [g11.constructTemplate.name]: T12.Triple[] | undefined;
21
+ // [g11.constructTriples.name]: T12.Triple[];
22
+ // /// Update Unit file
23
+ // [g11.update1.name]: T12.UpdateOperation;
24
+ // [g11.load.name]: T12.LoadOperation;
25
+ // [g11.clear.name]: T12.ClearDropOperation;
26
+ // [g11.drop.name]: T12.ClearDropOperation;
27
+ // [g11.create.name]: T12.CreateOperation;
28
+ // [g11.add.name]: T12.CopyMoveAddOperation & { type: 'add' };
29
+ // [g11.move.name]: T12.CopyMoveAddOperation & { type: 'move' };
30
+ // [g11.copy.name]: T12.CopyMoveAddOperation & { type: 'copy' };
31
+ // [g11.insertData.name]: T12.InsertOperation;
32
+ // [g11.deleteData.name]: T12.DeleteOperation;
33
+ // [g11.deleteWhere.name]: T12.DeleteWhereOperation;
34
+ // [g11.modify.name]: T12.ModifyOperation;
35
+ // [g11.deleteClause.name]: T12.Quads;
36
+ // [g11.insertClause.name]: T12.Quads;
37
+ // // [g11.usingClause.name]: // untouched
38
+ // [g11.graphOrDefault.name]: T12.GraphOrDefault;
39
+ // [g11.graphRef.name]: T12.IriTerm;
40
+ // [g11.graphRefAll.name]: T12.GraphReference;
41
+ // [g11.quadPattern.name]: T12.Quads[];
42
+ // [g11.quadData.name]: T12.Quads[];
43
+ // [g11.quads.name]: T12.Quads[];
44
+ // [g11.quadsNotTriples.name]: T12.GraphQuads[];
45
+ // /// Built-in functions
46
+ // [g11.builtInStr.name]: T12.OperationExpression;
47
+ // [g11.builtInLang.name]: T12.OperationExpression;
48
+ // [g11.builtInLangmatches.name]: T12.OperationExpression;
49
+ // [g11.builtInDatatype.name]: T12.OperationExpression;
50
+ // [g11.builtInBound.name]: T12.OperationExpression;
51
+ // [g11.builtInIri.name]: T12.OperationExpression;
52
+ // [g11.builtInUri.name]: T12.OperationExpression;
53
+ // [g11.builtInBnodeSparqlJs.name]: T12.OperationExpression;
54
+ // [g11.builtInRand.name]: T12.OperationExpression;
55
+ // [g11.builtInAbs.name]: T12.OperationExpression;
56
+ // [g11.builtInCeil.name]: T12.OperationExpression;
57
+ // [g11.builtInFloor.name]: T12.OperationExpression;
58
+ // [g11.builtInRound.name]: T12.OperationExpression;
59
+ // [g11.builtInConcat.name]: T12.OperationExpression;
60
+ // [g11.substringExpression.name]: T12.OperationExpression;
61
+ // [g11.builtInStrlen.name]: T12.OperationExpression;
62
+ // [g11.strReplaceExpression.name]: T12.OperationExpression;
63
+ // [g11.builtInUcase.name]: T12.OperationExpression;
64
+ // [g11.builtInLcase.name]: T12.OperationExpression;
65
+ // [g11.builtInEncode_for_uri.name]: T12.OperationExpression;
66
+ // [g11.builtInContains.name]: T12.OperationExpression;
67
+ // [g11.builtInStrstarts.name]: T12.OperationExpression;
68
+ // [g11.builtInStrends.name]: T12.OperationExpression;
69
+ // [g11.builtInStrbefore.name]: T12.OperationExpression;
70
+ // [g11.builtInStrafter.name]: T12.OperationExpression;
71
+ // [g11.builtInYear.name]: T12.OperationExpression;
72
+ // [g11.builtInMonth.name]: T12.OperationExpression;
73
+ // [g11.builtInDay.name]: T12.OperationExpression;
74
+ // [g11.builtInHours.name]: T12.OperationExpression;
75
+ // [g11.builtInMinutes.name]: T12.OperationExpression;
76
+ // [g11.builtInSeconds.name]: T12.OperationExpression;
77
+ // [g11.builtInTimezone.name]: T12.OperationExpression;
78
+ // [g11.builtInTz.name]: T12.OperationExpression;
79
+ // [g11.builtInNow.name]: T12.OperationExpression;
80
+ // [g11.builtInUuid.name]: T12.OperationExpression;
81
+ // [g11.builtInStruuid.name]: T12.OperationExpression;
82
+ // [g11.builtInMd5.name]: T12.OperationExpression;
83
+ // [g11.builtInSha1.name]: T12.OperationExpression;
84
+ // [g11.builtInSha256.name]: T12.OperationExpression;
85
+ // [g11.builtInSha384.name]: T12.OperationExpression;
86
+ // [g11.builtInSha512.name]: T12.OperationExpression;
87
+ // [g11.builtInCoalesce.name]: T12.OperationExpression;
88
+ // [g11.builtInIf.name]: T12.OperationExpression;
89
+ // [g11.builtInStrlang.name]: T12.OperationExpression;
90
+ // [g11.builtInStrdt.name]: T12.OperationExpression;
91
+ // [g11.builtInSameterm.name]: T12.OperationExpression;
92
+ // [g11.builtInIsiri.name]: T12.OperationExpression;
93
+ // [g11.builtInIsuri.name]: T12.OperationExpression;
94
+ // [g11.builtInIsblank.name]: T12.OperationExpression;
95
+ // [g11.builtInIsliteral.name]: T12.OperationExpression;
96
+ // [g11.builtInIsnumeric.name]: T12.OperationExpression;
97
+ // [g11.existsFunc.name]: T12.OperationExpression;
98
+ // [g11.notExistsFunc.name]: T12.OperationExpression;
99
+ // [g11.aggregateCount.name]: T12.AggregateExpression;
100
+ // [g11.aggregateSum.name]: T12.AggregateExpression;
101
+ // [g11.aggregateMin.name]: T12.AggregateExpression;
102
+ // [g11.aggregateMax.name]: T12.AggregateExpression;
103
+ // [g11.aggregateAvg.name]: T12.AggregateExpression;
104
+ // [g11.aggregateSample.name]: T12.AggregateExpression;
105
+ // [g11.aggregateGroup_concat.name]: T12.AggregateExpression;
106
+ // [g11.aggregate.name]: T12.AggregateExpression;
107
+ // [g11.builtInCall.name]: T12.Expression;
108
+ // /// DatasetClause
109
+ // // [g11.datasetClause.name]: // unchanged
110
+ // [g11.defaultGraphClause.name]: T12.IriTerm;
111
+ // [g11.namedGraphClause.name]: T12.IriTerm;
112
+ // [g11.sourceSelector.name]: T12.IriTerm;
113
+ // // Expression file
114
+ // [g11.argList.name]: Patch<g11.IArgList, { args: T12.Expression[] }>;
115
+ // [g11.expressionList.name]: T12.Expression[];
116
+ // [g11.expression.name]: T12.Expression;
117
+ // [g11.conditionalOrExpression.name]: T12.Expression;
118
+ // [g11.conditionalAndExpression.name]: T12.Expression;
119
+ // [g11.valueLogical.name]: T12.Expression;
120
+ // [g11.relationalExpression.name]: T12.Expression;
121
+ // [g11.numericExpression.name]: T12.Expression;
122
+ // [g11.additiveExpression.name]: T12.Expression;
123
+ // [g11.multiplicativeExpression.name]: T12.Expression;
124
+ // [g11.unaryExpression.name]: T12.Expression;
125
+ // [g11.primaryExpression.name]: T12.Expression;
126
+ // [g11.brackettedExpression.name]: T12.Expression;
127
+ // [g11.iriOrFunction.name]:
128
+ // T12.IriTerm | (Patch<g11.IArgList, { args: T12.Expression[] }> & { function: T12.IriTerm });
129
+ // /// General
130
+ // [g11.prologue.name]: Pick<T12.BaseQuery, 'base' | 'prefixes' | 'version'>;
131
+ // // [g11.baseDecl.name]: // unchanged;
132
+ // // [g11.prefixDecl.name]: // unchanged;
133
+ // // [g11.verb.name]: unchanged
134
+ // // [g11.verbA.name]: unchanged
135
+ // [g11.varOrTerm.name]: T12.Term;
136
+ // // [g11.varOrIri.name]: unchanged
137
+ // // [g11.var_.name]: unchanged
138
+ // [g11.graphTerm.name]: T12.GraphTerm;
139
+ // /// Literals
140
+ // [g11.rdfLiteral.name]: T12.LiteralTerm;
141
+ // [g11.numericLiteral.name]: T12.LiteralTerm;
142
+ // [g11.numericLiteralUnsigned.name]: T12.LiteralTerm;
143
+ // [g11.numericLiteralPositive.name]: T12.LiteralTerm;
144
+ // [g11.numericLiteralNegative.name]: T12.LiteralTerm;
145
+ // [g11.booleanLiteral.name]: T12.LiteralTerm;
146
+ // // [g11.string.name]: unchanged;
147
+ // // [g11.iri.name]: unchanged
148
+ // // [g11.prefixedName.name]: unchanged
149
+ // // [g11.blankNode.name]: unchanged
150
+ // /// / Paths: unchanged
151
+ // /// / SolutionModifiers
152
+ // [g11.solutionModifier.name]: Pick<T12.SelectQuery, 'group' | 'having' | 'order' | 'limit' | 'offset'>;
153
+ // [g11.groupClause.name]: T12.Grouping[];
154
+ // [g11.groupCondition.name]: T12.Grouping;
155
+ // [g11.havingClause.name]: T12.Expression[];
156
+ // [g11.havingCondition.name]: T12.Expression;
157
+ // [g11.orderClause.name]: T12.Ordering[];
158
+ // [g11.orderCondition.name]: T12.Ordering;
159
+ // [g11.limitOffsetClauses.name]: Pick<T12.SelectQuery, 'limit' | 'offset'>;
160
+ // // [g11.limitClause.name]: Unchanged
161
+ // // [g11.offsetClause.name]: Unchanged
162
+ // [g11.triplesBlock.name]: T12.BgpPattern;
163
+ // [g11.triplesSameSubject.name]: T12.Triple[];
164
+ // [g11.triplesSameSubjectPath.name]: T12.Triple[];
165
+ // [g11.triplesTemplate.name]: T12.Triple[];
166
+ // [g11.propertyList.name]: T12.Triple[];
167
+ // [g11.propertyListPath.name]: T12.Triple[];
168
+ // [g11.propertyListNotEmpty.name]: T12.Triple[];
169
+ // [g11.propertyListPathNotEmpty.name]: T12.Triple[];
170
+ // // [g11.verbPath.name]: unchanged
171
+ // // [g11.verbSimple.name]: unchanged
172
+ // [g11.objectList.name]: T12.Triple[];
173
+ // [g11.objectListPath.name]: T12.Triple[];
174
+ // [g11.triplesNode.name]: T12.ITriplesNode;
175
+ // [g11.triplesNodePath.name]: T12.ITriplesNode;
176
+ // [g11.blankNodePropertyList.name]: T12.ITriplesNode;
177
+ // [g11.blankNodePropertyListPath.name]: T12.ITriplesNode;
178
+ // [g11.collection.name]: T12.ITriplesNode;
179
+ // [g11.collectionPath.name]: T12.ITriplesNode;
180
+ // [g11.graphNode.name]: T12.IGraphNode;
181
+ // [g11.graphNodePath.name]: T12.IGraphNode;
182
+ // /// WhereClause
183
+ // [g11.whereClause.name]: T12.Pattern;
184
+ // [g11.groupGraphPattern.name]: T12.GroupPattern;
185
+ // [g11.groupGraphPatternSub.name]: T12.Pattern[];
186
+ // [g11.graphPatternNotTriples.name]: T12.ValuesPattern | T12.BindPattern | T12.FilterPattern | T12.BlockPattern;
187
+ // [g11.optionalGraphPattern.name]: T12.OptionalPattern;
188
+ // [g11.graphGraphPattern.name]: T12.GraphPattern;
189
+ // [g11.serviceGraphPattern.name]: T12.ServicePattern;
190
+ // [g11.bind.name]: T12.BindPattern;
191
+ // [g11.inlineData.name]: T12.ValuesPattern;
192
+ // [g11.dataBlock.name]: T12.ValuePatternRow[];
193
+ // [g11.inlineDataOneVar.name]: T12.ValuePatternRow[];
194
+ // [g11.inlineDataFull.name]: T12.ValuePatternRow[];
195
+ // [g11.dataBlockValue.name]: T12.IriTerm | T12.BlankTerm | T12.LiteralTerm | undefined;
196
+ // [g11.minusGraphPattern.name]: T12.MinusPattern;
197
+ // [g11.groupOrUnionGraphPattern.name]: T12.GroupPattern | T12.UnionPattern;
198
+ // [g11.filter.name]: T12.FilterPattern;
199
+ // [g11.constraint.name]: T12.Expression;
200
+ // [g11.functionCall.name]: T12.FunctionCallExpression;
201
+ // }>()
202
+ .addMany(S12.reifiedTripleBlock, S12.reifiedTripleBlockPath, S12.reifier, S12.varOrReifierId, S12.annotation, S12.annotationPath, S12.annotationBlockPath, S12.annotationBlock, S12.reifiedTriple, S12.reifiedTripleSubject, S12.reifiedTripleObject, S12.tripleTerm, S12.tripleTermSubject, S12.tripleTermObject, S12.tripleTermData, S12.tripleTermDataSubject, S12.tripleTermDataObject, S12.exprTripleTerm, S12.exprTripleTermSubject, S12.exprTripleTermObject)
203
+ .addMany(S12.versionDecl, S12.versionSpecifier)
204
+ .addMany(S12.builtinLangDir, S12.builtinLangStrDir, S12.builtinHasLang, S12.builtinHasLangDir, S12.builtinIsTriple, S12.builtinTriple, S12.builtinSubject, S12.builtinPredicate, S12.builtinObject)
9
205
  .patchRule(S12.dataBlockValue)
10
206
  .patchRule(S12.triplesSameSubject)
11
207
  .patchRule(S12.triplesSameSubjectPath)
@@ -14,20 +210,32 @@ export const sparql12ParserBuilder = ParserBuilder.createBuilder(sparql11ParserB
14
210
  .patchRule(S12.graphNode)
15
211
  .patchRule(S12.graphNodePath)
16
212
  .patchRule(S12.varOrTerm)
213
+ // TODO: Does it really go?
17
214
  .deleteRule(g11.graphTerm.name)
18
215
  .patchRule(S12.primaryExpression)
19
216
  .patchRule(S12.builtInCall)
20
- .patchRule(S12.rdfLiteral);
21
- export class Parser extends SparqlParser {
217
+ .patchRule(S12.rdfLiteral)
218
+ .patchRule(S12.prologue);
219
+ export class Parser {
22
220
  constructor() {
23
- const parser = sparql12ParserBuilder.build({
24
- tokenVocabulary: l12.sparql12Tokens.tokenVocabulary,
221
+ this.F = new Factory();
222
+ this.parser = sparql12ParserBuilder.build({
25
223
  queryPreProcessor: sparqlCodepointEscape,
26
- parserConfig: {
27
- skipValidations: true,
28
- },
224
+ tokenVocabulary: l12.sparql12Tokens.tokenVocabulary,
29
225
  });
30
- super(parser);
226
+ }
227
+ parse(query, context = {}) {
228
+ return this.parser.queryOrUpdate(query, completeParseContext(context), undefined);
229
+ }
230
+ parsePath(query, context = {}) {
231
+ const res = this.parser.path(query, completeParseContext(context), undefined);
232
+ if (this.F.isPathPure(res)) {
233
+ return {
234
+ ...res,
235
+ prefixes: {},
236
+ };
237
+ }
238
+ return res;
31
239
  }
32
240
  }
33
241
  //# sourceMappingURL=Parser.js.map
package/lib/Parser.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Parser.js","sourceRoot":"","sources":["Parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,IAAI,IAAI,GAAG,EACX,YAAY,GACb,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC,aAAa,CAAC,qBAAqB,CAAC;KACpF,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;KAC5B,SAAS,EAgMN;KACH,OAAO,CACN,GAAG,CAAC,kBAAkB,EACtB,GAAG,CAAC,sBAAsB,EAC1B,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,mBAAmB,EACvB,GAAG,CAAC,eAAe,EACnB,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,oBAAoB,EACxB,GAAG,CAAC,mBAAmB,EACvB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,iBAAiB,EACrB,GAAG,CAAC,gBAAgB,EACpB,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,qBAAqB,EACzB,GAAG,CAAC,oBAAoB,EACxB,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,qBAAqB,EACzB,GAAG,CAAC,oBAAoB,EACxB,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,iBAAiB,EACrB,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,iBAAiB,EACrB,GAAG,CAAC,eAAe,EACnB,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,gBAAgB,EACpB,GAAG,CAAC,aAAa,CAClB;KACA,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;KAC7B,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;KACjC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC;KACrC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;KACrB,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;KACzB,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;KACxB,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;KAC5B,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;KACxB,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;KAC9B,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC;KAChC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;KAC1B,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAE7B,MAAM,OAAO,MAAO,SAAQ,YAA6B;IACvD;QACE,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC;YACzC,eAAe,EAAE,GAAG,CAAC,cAAc,CAAC,eAAe;YACnD,iBAAiB,EAAE,qBAAqB;YACxC,YAAY,EAAE;gBACZ,eAAe,EAAE,IAAI;aACtB;SACF,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CACF","sourcesContent":["import type { Patch } from '@traqula/core';\nimport { ParserBuilder } from '@traqula/core';\nimport { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1';\nimport {\n sparqlCodepointEscape,\n gram as g11,\n SparqlParser,\n} from '@traqula/rules-sparql-1-1';\n\nimport type { types as T12 } from '@traqula/rules-sparql-1-2';\nimport { gram as S12, lex as l12 } from '@traqula/rules-sparql-1-2';\n\nexport const sparql12ParserBuilder = ParserBuilder.createBuilder(sparql11ParserBuilder)\n .addRuleRedundant(g11.object)\n .typePatch<{\n /// GeneralFile\n queryOrUpdate: T12.Query | T12.Update | Pick<T12.Update, 'base' | 'prefixes'>;\n /// Query Unit file\n [g11.selectQuery.name]: Omit<T12.SelectQuery, g11.HandledByBase>;\n [g11.subSelect.name]: Omit<T12.SelectQuery, 'prefixes'>;\n [g11.selectClause.name]: g11.ISelectClause;\n [g11.constructQuery.name]: Omit<T12.ConstructQuery, g11.HandledByBase>;\n [g11.describeQuery.name]: Omit<T12.DescribeQuery, g11.HandledByBase>;\n [g11.askQuery.name]: Omit<T12.AskQuery, g11.HandledByBase>;\n [g11.valuesClause.name]: T12.ValuePatternRow[] | undefined;\n [g11.constructTemplate.name]: T12.Triple[] | undefined;\n [g11.constructTriples.name]: T12.Triple[];\n /// Update Unit file\n [g11.update1.name]: T12.UpdateOperation;\n [g11.load.name]: T12.LoadOperation;\n [g11.clear.name]: T12.ClearDropOperation;\n [g11.drop.name]: T12.ClearDropOperation;\n [g11.create.name]: T12.CreateOperation;\n [g11.add.name]: T12.CopyMoveAddOperation & { type: 'add' };\n [g11.move.name]: T12.CopyMoveAddOperation & { type: 'move' };\n [g11.copy.name]: T12.CopyMoveAddOperation & { type: 'copy' };\n [g11.insertData.name]: T12.InsertOperation;\n [g11.deleteData.name]: T12.DeleteOperation;\n [g11.deleteWhere.name]: T12.DeleteWhereOperation;\n [g11.modify.name]: T12.ModifyOperation;\n [g11.deleteClause.name]: T12.Quads;\n [g11.insertClause.name]: T12.Quads;\n // [g11.usingClause.name]: // untouched\n [g11.graphOrDefault.name]: T12.GraphOrDefault;\n [g11.graphRef.name]: T12.IriTerm;\n [g11.graphRefAll.name]: T12.GraphReference;\n [g11.quadPattern.name]: T12.Quads[];\n [g11.quadData.name]: T12.Quads[];\n [g11.quads.name]: T12.Quads[];\n [g11.quadsNotTriples.name]: T12.GraphQuads[];\n /// Built-in functions\n [g11.builtInStr.name]: T12.OperationExpression;\n [g11.builtInLang.name]: T12.OperationExpression;\n [g11.builtInLangmatches.name]: T12.OperationExpression;\n [g11.builtInDatatype.name]: T12.OperationExpression;\n [g11.builtInBound.name]: T12.OperationExpression;\n [g11.builtInIri.name]: T12.OperationExpression;\n [g11.builtInUri.name]: T12.OperationExpression;\n [g11.builtInBnodeSparqlJs.name]: T12.OperationExpression;\n [g11.builtInRand.name]: T12.OperationExpression;\n [g11.builtInAbs.name]: T12.OperationExpression;\n [g11.builtInCeil.name]: T12.OperationExpression;\n [g11.builtInFloor.name]: T12.OperationExpression;\n [g11.builtInRound.name]: T12.OperationExpression;\n [g11.builtInConcat.name]: T12.OperationExpression;\n [g11.substringExpression.name]: T12.OperationExpression;\n [g11.builtInStrlen.name]: T12.OperationExpression;\n [g11.strReplaceExpression.name]: T12.OperationExpression;\n [g11.builtInUcase.name]: T12.OperationExpression;\n [g11.builtInLcase.name]: T12.OperationExpression;\n [g11.builtInEncode_for_uri.name]: T12.OperationExpression;\n [g11.builtInContains.name]: T12.OperationExpression;\n [g11.builtInStrstarts.name]: T12.OperationExpression;\n [g11.builtInStrends.name]: T12.OperationExpression;\n [g11.builtInStrbefore.name]: T12.OperationExpression;\n [g11.builtInStrafter.name]: T12.OperationExpression;\n [g11.builtInYear.name]: T12.OperationExpression;\n [g11.builtInMonth.name]: T12.OperationExpression;\n [g11.builtInDay.name]: T12.OperationExpression;\n [g11.builtInHours.name]: T12.OperationExpression;\n [g11.builtInMinutes.name]: T12.OperationExpression;\n [g11.builtInSeconds.name]: T12.OperationExpression;\n [g11.builtInTimezone.name]: T12.OperationExpression;\n [g11.builtInTz.name]: T12.OperationExpression;\n [g11.builtInNow.name]: T12.OperationExpression;\n [g11.builtInUuid.name]: T12.OperationExpression;\n [g11.builtInStruuid.name]: T12.OperationExpression;\n [g11.builtInMd5.name]: T12.OperationExpression;\n [g11.builtInSha1.name]: T12.OperationExpression;\n [g11.builtInSha256.name]: T12.OperationExpression;\n [g11.builtInSha384.name]: T12.OperationExpression;\n [g11.builtInSha512.name]: T12.OperationExpression;\n [g11.builtInCoalesce.name]: T12.OperationExpression;\n [g11.builtInIf.name]: T12.OperationExpression;\n [g11.builtInStrlang.name]: T12.OperationExpression;\n [g11.builtInStrdt.name]: T12.OperationExpression;\n [g11.builtInSameterm.name]: T12.OperationExpression;\n [g11.builtInIsiri.name]: T12.OperationExpression;\n [g11.builtInIsuri.name]: T12.OperationExpression;\n [g11.builtInIsblank.name]: T12.OperationExpression;\n [g11.builtInIsliteral.name]: T12.OperationExpression;\n [g11.builtInIsnumeric.name]: T12.OperationExpression;\n [g11.existsFunc.name]: T12.OperationExpression;\n [g11.notExistsFunc.name]: T12.OperationExpression;\n [g11.aggregateCount.name]: T12.AggregateExpression;\n [g11.aggregateSum.name]: T12.AggregateExpression;\n [g11.aggregateMin.name]: T12.AggregateExpression;\n [g11.aggregateMax.name]: T12.AggregateExpression;\n [g11.aggregateAvg.name]: T12.AggregateExpression;\n [g11.aggregateSample.name]: T12.AggregateExpression;\n [g11.aggregateGroup_concat.name]: T12.AggregateExpression;\n [g11.aggregate.name]: T12.AggregateExpression;\n [g11.builtInCall.name]: T12.Expression;\n /// DatasetClause\n // [g11.datasetClause.name]: // unchanged\n [g11.defaultGraphClause.name]: T12.IriTerm;\n [g11.namedGraphClause.name]: T12.IriTerm;\n [g11.sourceSelector.name]: T12.IriTerm;\n // Expression file\n [g11.argList.name]: Patch<g11.IArgList, { args: T12.Expression[] }>;\n [g11.expressionList.name]: T12.Expression[];\n [g11.expression.name]: T12.Expression;\n [g11.conditionalOrExpression.name]: T12.Expression;\n [g11.conditionalAndExpression.name]: T12.Expression;\n [g11.valueLogical.name]: T12.Expression;\n [g11.relationalExpression.name]: T12.Expression;\n [g11.numericExpression.name]: T12.Expression;\n [g11.additiveExpression.name]: T12.Expression;\n [g11.multiplicativeExpression.name]: T12.Expression;\n [g11.unaryExpression.name]: T12.Expression;\n [g11.primaryExpression.name]: T12.Expression;\n [g11.brackettedExpression.name]: T12.Expression;\n [g11.iriOrFunction.name]:\n T12.IriTerm | (Patch<g11.IArgList, { args: T12.Expression[] }> & { function: T12.IriTerm });\n /// General\n [g11.prologue.name]: Pick<T12.BaseQuery, 'base' | 'prefixes'>;\n // [g11.baseDecl.name]: // unchanged;\n // [g11.prefixDecl.name]: // unchanged;\n // [g11.verb.name]: unchanged\n // [g11.verbA.name]: unchanged\n [g11.varOrTerm.name]: T12.Term;\n // [g11.varOrIri.name]: unchanged\n // [g11.var_.name]: unchanged\n [g11.graphTerm.name]: T12.GraphTerm;\n /// Literals\n [g11.rdfLiteral.name]: T12.LiteralTerm;\n [g11.numericLiteral.name]: T12.LiteralTerm;\n [g11.numericLiteralUnsigned.name]: T12.LiteralTerm;\n [g11.numericLiteralPositive.name]: T12.LiteralTerm;\n [g11.numericLiteralNegative.name]: T12.LiteralTerm;\n [g11.booleanLiteral.name]: T12.LiteralTerm;\n // [g11.string.name]: unchanged;\n // [g11.iri.name]: unchanged\n // [g11.prefixedName.name]: unchanged\n // [g11.blankNode.name]: unchanged\n /// / Paths: unchanged\n /// / SolutionModifiers\n [g11.solutionModifier.name]: Pick<T12.SelectQuery, 'group' | 'having' | 'order' | 'limit' | 'offset'>;\n [g11.groupClause.name]: T12.Grouping[];\n [g11.groupCondition.name]: T12.Grouping;\n [g11.havingClause.name]: T12.Expression[];\n [g11.havingCondition.name]: T12.Expression;\n [g11.orderClause.name]: T12.Ordering[];\n [g11.orderCondition.name]: T12.Ordering;\n [g11.limitOffsetClauses.name]: Pick<T12.SelectQuery, 'limit' | 'offset'>;\n // [g11.limitClause.name]: Unchanged\n // [g11.offsetClause.name]: Unchanged\n [g11.triplesBlock.name]: T12.BgpPattern;\n [g11.triplesSameSubject.name]: T12.Triple[];\n [g11.triplesSameSubjectPath.name]: T12.Triple[];\n [g11.triplesTemplate.name]: T12.Triple[];\n [g11.propertyList.name]: T12.Triple[];\n [g11.propertyListPath.name]: T12.Triple[];\n [g11.propertyListNotEmpty.name]: T12.Triple[];\n [g11.propertyListPathNotEmpty.name]: T12.Triple[];\n // [g11.verbPath.name]: unchanged\n // [g11.verbSimple.name]: unchanged\n [g11.objectList.name]: T12.Triple[];\n [g11.objectListPath.name]: T12.Triple[];\n [g11.triplesNode.name]: T12.ITriplesNode;\n [g11.triplesNodePath.name]: T12.ITriplesNode;\n [g11.blankNodePropertyList.name]: T12.ITriplesNode;\n [g11.blankNodePropertyListPath.name]: T12.ITriplesNode;\n [g11.collection.name]: T12.ITriplesNode;\n [g11.collectionPath.name]: T12.ITriplesNode;\n [g11.graphNode.name]: T12.IGraphNode;\n [g11.graphNodePath.name]: T12.IGraphNode;\n /// WhereClause\n [g11.whereClause.name]: T12.Pattern;\n [g11.groupGraphPattern.name]: T12.GroupPattern;\n [g11.groupGraphPatternSub.name]: T12.Pattern[];\n [g11.graphPatternNotTriples.name]: T12.ValuesPattern | T12.BindPattern | T12.FilterPattern | T12.BlockPattern;\n [g11.optionalGraphPattern.name]: T12.OptionalPattern;\n [g11.graphGraphPattern.name]: T12.GraphPattern;\n [g11.serviceGraphPattern.name]: T12.ServicePattern;\n [g11.bind.name]: T12.BindPattern;\n [g11.inlineData.name]: T12.ValuesPattern;\n [g11.dataBlock.name]: T12.ValuePatternRow[];\n [g11.inlineDataOneVar.name]: T12.ValuePatternRow[];\n [g11.inlineDataFull.name]: T12.ValuePatternRow[];\n [g11.dataBlockValue.name]: T12.IriTerm | T12.BlankTerm | T12.LiteralTerm | undefined;\n [g11.minusGraphPattern.name]: T12.MinusPattern;\n [g11.groupOrUnionGraphPattern.name]: T12.GroupPattern | T12.UnionPattern;\n [g11.filter.name]: T12.FilterPattern;\n [g11.constraint.name]: T12.Expression;\n [g11.functionCall.name]: T12.FunctionCallExpression;\n }>()\n .addMany(\n S12.reifiedTripleBlock,\n S12.reifiedTripleBlockPath,\n S12.reifier,\n S12.varOrReifierId,\n S12.annotation,\n S12.annotationPath,\n S12.annotationBlockPath,\n S12.annotationBlock,\n S12.reifiedTriple,\n S12.reifiedTripleSubject,\n S12.reifiedTripleObject,\n S12.tripleTerm,\n S12.tripleTermSubject,\n S12.tripleTermObject,\n S12.tripleTermData,\n S12.tripleTermDataSubject,\n S12.tripleTermDataObject,\n S12.exprTripleTerm,\n S12.exprTripleTermSubject,\n S12.exprTripleTermObject,\n S12.builtinLangDir,\n S12.builtinLangStrDir,\n S12.builtinHasLang,\n S12.builtinHasLangDir,\n S12.builtinIsTriple,\n S12.builtinTriple,\n S12.builtinSubject,\n S12.builtinPredicate,\n S12.builtinObject,\n )\n .patchRule(S12.dataBlockValue)\n .patchRule(S12.triplesSameSubject)\n .patchRule(S12.triplesSameSubjectPath)\n .patchRule(S12.object)\n .patchRule(S12.objectPath)\n .patchRule(S12.graphNode)\n .patchRule(S12.graphNodePath)\n .patchRule(S12.varOrTerm)\n .deleteRule(g11.graphTerm.name)\n .patchRule(S12.primaryExpression)\n .patchRule(S12.builtInCall)\n .patchRule(S12.rdfLiteral);\n\nexport class Parser extends SparqlParser<T12.SparqlQuery> {\n public constructor() {\n const parser = sparql12ParserBuilder.build({\n tokenVocabulary: l12.sparql12Tokens.tokenVocabulary,\n queryPreProcessor: sparqlCodepointEscape,\n parserConfig: {\n skipValidations: true,\n },\n });\n super(parser);\n }\n}\n"]}
1
+ {"version":3,"file":"Parser.js","sourceRoot":"","sources":["Parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,IAAI,IAAI,GAAG,EAAgB,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAGnG,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC,MAAM,CAAC,qBAAqB,CAAC;KAC7E,YAAY,EAAiB;IAC9B,6BAA6B;KAC5B,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;IAC7B,eAAe;IACf,oBAAoB;IACpB,+FAA+F;IAC/F,wBAAwB;IACxB,sEAAsE;IACtE,6DAA6D;IAC7D,gDAAgD;IAChD,4EAA4E;IAC5E,0EAA0E;IAC1E,gEAAgE;IAChE,gEAAgE;IAChE,4DAA4D;IAC5D,+CAA+C;IAC/C,yBAAyB;IACzB,6CAA6C;IAC7C,wCAAwC;IACxC,8CAA8C;IAC9C,6CAA6C;IAC7C,4CAA4C;IAC5C,gEAAgE;IAChE,kEAAkE;IAClE,kEAAkE;IAClE,gDAAgD;IAChD,gDAAgD;IAChD,sDAAsD;IACtD,4CAA4C;IAC5C,wCAAwC;IACxC,wCAAwC;IACxC,4CAA4C;IAC5C,mDAAmD;IACnD,sCAAsC;IACtC,gDAAgD;IAChD,yCAAyC;IACzC,sCAAsC;IACtC,mCAAmC;IACnC,kDAAkD;IAClD,2BAA2B;IAC3B,oDAAoD;IACpD,qDAAqD;IACrD,4DAA4D;IAC5D,yDAAyD;IACzD,sDAAsD;IACtD,oDAAoD;IACpD,oDAAoD;IACpD,8DAA8D;IAC9D,qDAAqD;IACrD,oDAAoD;IACpD,qDAAqD;IACrD,sDAAsD;IACtD,sDAAsD;IACtD,uDAAuD;IACvD,6DAA6D;IAC7D,uDAAuD;IACvD,8DAA8D;IAC9D,sDAAsD;IACtD,sDAAsD;IACtD,+DAA+D;IAC/D,yDAAyD;IACzD,0DAA0D;IAC1D,wDAAwD;IACxD,0DAA0D;IAC1D,yDAAyD;IACzD,qDAAqD;IACrD,sDAAsD;IACtD,oDAAoD;IACpD,sDAAsD;IACtD,wDAAwD;IACxD,wDAAwD;IACxD,yDAAyD;IACzD,mDAAmD;IACnD,oDAAoD;IACpD,qDAAqD;IACrD,wDAAwD;IACxD,oDAAoD;IACpD,qDAAqD;IACrD,uDAAuD;IACvD,uDAAuD;IACvD,uDAAuD;IACvD,yDAAyD;IACzD,mDAAmD;IACnD,wDAAwD;IACxD,sDAAsD;IACtD,yDAAyD;IACzD,sDAAsD;IACtD,sDAAsD;IACtD,wDAAwD;IACxD,0DAA0D;IAC1D,0DAA0D;IAC1D,oDAAoD;IACpD,uDAAuD;IACvD,wDAAwD;IACxD,sDAAsD;IACtD,sDAAsD;IACtD,sDAAsD;IACtD,sDAAsD;IACtD,yDAAyD;IACzD,+DAA+D;IAC/D,mDAAmD;IACnD,4CAA4C;IAC5C,sBAAsB;IACtB,8CAA8C;IAC9C,gDAAgD;IAChD,8CAA8C;IAC9C,4CAA4C;IAC5C,uBAAuB;IACvB,yEAAyE;IACzE,iDAAiD;IACjD,2CAA2C;IAC3C,wDAAwD;IACxD,yDAAyD;IACzD,6CAA6C;IAC7C,qDAAqD;IACrD,kDAAkD;IAClD,mDAAmD;IACnD,yDAAyD;IACzD,gDAAgD;IAChD,kDAAkD;IAClD,qDAAqD;IACrD,8BAA8B;IAC9B,mGAAmG;IACnG,gBAAgB;IAChB,+EAA+E;IAC/E,0CAA0C;IAC1C,4CAA4C;IAC5C,kCAAkC;IAClC,mCAAmC;IACnC,oCAAoC;IACpC,sCAAsC;IACtC,kCAAkC;IAClC,yCAAyC;IACzC,iBAAiB;IACjB,4CAA4C;IAC5C,gDAAgD;IAChD,wDAAwD;IACxD,wDAAwD;IACxD,wDAAwD;IACxD,gDAAgD;IAChD,qCAAqC;IACrC,iCAAiC;IACjC,0CAA0C;IAC1C,uCAAuC;IACvC,2BAA2B;IAC3B,4BAA4B;IAC5B,2GAA2G;IAC3G,4CAA4C;IAC5C,6CAA6C;IAC7C,+CAA+C;IAC/C,gDAAgD;IAChD,4CAA4C;IAC5C,6CAA6C;IAC7C,8EAA8E;IAC9E,yCAAyC;IACzC,0CAA0C;IAC1C,6CAA6C;IAC7C,iDAAiD;IACjD,qDAAqD;IACrD,8CAA8C;IAC9C,2CAA2C;IAC3C,+CAA+C;IAC/C,mDAAmD;IACnD,uDAAuD;IACvD,sCAAsC;IACtC,wCAAwC;IACxC,yCAAyC;IACzC,6CAA6C;IAC7C,8CAA8C;IAC9C,kDAAkD;IAClD,wDAAwD;IACxD,4DAA4D;IAC5D,6CAA6C;IAC7C,iDAAiD;IACjD,0CAA0C;IAC1C,8CAA8C;IAC9C,oBAAoB;IACpB,yCAAyC;IACzC,oDAAoD;IACpD,oDAAoD;IACpD,mHAAmH;IACnH,0DAA0D;IAC1D,oDAAoD;IACpD,wDAAwD;IACxD,sCAAsC;IACtC,8CAA8C;IAC9C,iDAAiD;IACjD,wDAAwD;IACxD,sDAAsD;IACtD,0FAA0F;IAC1F,oDAAoD;IACpD,8EAA8E;IAC9E,0CAA0C;IAC1C,2CAA2C;IAC3C,yDAAyD;IACzD,OAAO;KACN,OAAO,CACN,GAAG,CAAC,kBAAkB,EACtB,GAAG,CAAC,sBAAsB,EAC1B,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,mBAAmB,EACvB,GAAG,CAAC,eAAe,EACnB,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,oBAAoB,EACxB,GAAG,CAAC,mBAAmB,EACvB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,iBAAiB,EACrB,GAAG,CAAC,gBAAgB,EACpB,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,qBAAqB,EACzB,GAAG,CAAC,oBAAoB,EACxB,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,qBAAqB,EACzB,GAAG,CAAC,oBAAoB,CACzB;KACA,OAAO,CACN,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,gBAAgB,CACrB;KACA,OAAO,CACN,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,iBAAiB,EACrB,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,iBAAiB,EACrB,GAAG,CAAC,eAAe,EACnB,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,gBAAgB,EACpB,GAAG,CAAC,aAAa,CAClB;KACA,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;KAC7B,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;KACjC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC;KACrC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;KACrB,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;KACzB,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;KACxB,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;KAC5B,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;IACzB,2BAA2B;KAC1B,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;KAC9B,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC;KAChC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;KAC1B,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;KACzB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAE3B,MAAM,OAAO,MAAM;IAQjB;QAFiB,MAAC,GAAG,IAAI,OAAO,EAAE,CAAC;QAGjC,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC;YACxC,iBAAiB,EAAE,qBAAqB;YACxC,eAAe,EAAE,GAAG,CAAC,cAAc,CAAC,eAAe;SACpD,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,KAAa,EAAE,UAAkC,EAAE;QAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;IAEM,SAAS,CAAC,KAAa,EAAE,UAAkC,EAAE;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;QAC9E,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,GAAG,GAAG;gBACN,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF","sourcesContent":["import { ParserBuilder } from '@traqula/core';\nimport { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1';\nimport { gram as g11, type TermIri, sparqlCodepointEscape } from '@traqula/rules-sparql-1-1';\nimport { completeParseContext, Factory, gram as S12, lex as l12 } from '@traqula/rules-sparql-1-2';\nimport type { SparqlContext, Query, Update, Path } from '@traqula/rules-sparql-1-2';\n\nexport const sparql12ParserBuilder = ParserBuilder.create(sparql11ParserBuilder)\n .widenContext<SparqlContext>()\n // Needed for portable typing\n .addRuleRedundant(g11.object)\n // .typePatch<{\n // /// GeneralFile\n // queryOrUpdate: T12.Query | T12.Update | Pick<T12.Update, 'base' | 'prefixes' | 'version'>;\n // /// Query Unit file\n // [g11.selectQuery.name]: Omit<T12.SelectQuery, g11.HandledByBase>;\n // [g11.subSelect.name]: Omit<T12.SelectQuery, 'prefixes'>;\n // [g11.selectClause.name]: g11.ISelectClause;\n // [g11.constructQuery.name]: Omit<T12.ConstructQuery, g11.HandledByBase>;\n // [g11.describeQuery.name]: Omit<T12.DescribeQuery, g11.HandledByBase>;\n // [g11.askQuery.name]: Omit<T12.AskQuery, g11.HandledByBase>;\n // [g11.valuesClause.name]: T12.ValuePatternRow[] | undefined;\n // [g11.constructTemplate.name]: T12.Triple[] | undefined;\n // [g11.constructTriples.name]: T12.Triple[];\n // /// Update Unit file\n // [g11.update1.name]: T12.UpdateOperation;\n // [g11.load.name]: T12.LoadOperation;\n // [g11.clear.name]: T12.ClearDropOperation;\n // [g11.drop.name]: T12.ClearDropOperation;\n // [g11.create.name]: T12.CreateOperation;\n // [g11.add.name]: T12.CopyMoveAddOperation & { type: 'add' };\n // [g11.move.name]: T12.CopyMoveAddOperation & { type: 'move' };\n // [g11.copy.name]: T12.CopyMoveAddOperation & { type: 'copy' };\n // [g11.insertData.name]: T12.InsertOperation;\n // [g11.deleteData.name]: T12.DeleteOperation;\n // [g11.deleteWhere.name]: T12.DeleteWhereOperation;\n // [g11.modify.name]: T12.ModifyOperation;\n // [g11.deleteClause.name]: T12.Quads;\n // [g11.insertClause.name]: T12.Quads;\n // // [g11.usingClause.name]: // untouched\n // [g11.graphOrDefault.name]: T12.GraphOrDefault;\n // [g11.graphRef.name]: T12.IriTerm;\n // [g11.graphRefAll.name]: T12.GraphReference;\n // [g11.quadPattern.name]: T12.Quads[];\n // [g11.quadData.name]: T12.Quads[];\n // [g11.quads.name]: T12.Quads[];\n // [g11.quadsNotTriples.name]: T12.GraphQuads[];\n // /// Built-in functions\n // [g11.builtInStr.name]: T12.OperationExpression;\n // [g11.builtInLang.name]: T12.OperationExpression;\n // [g11.builtInLangmatches.name]: T12.OperationExpression;\n // [g11.builtInDatatype.name]: T12.OperationExpression;\n // [g11.builtInBound.name]: T12.OperationExpression;\n // [g11.builtInIri.name]: T12.OperationExpression;\n // [g11.builtInUri.name]: T12.OperationExpression;\n // [g11.builtInBnodeSparqlJs.name]: T12.OperationExpression;\n // [g11.builtInRand.name]: T12.OperationExpression;\n // [g11.builtInAbs.name]: T12.OperationExpression;\n // [g11.builtInCeil.name]: T12.OperationExpression;\n // [g11.builtInFloor.name]: T12.OperationExpression;\n // [g11.builtInRound.name]: T12.OperationExpression;\n // [g11.builtInConcat.name]: T12.OperationExpression;\n // [g11.substringExpression.name]: T12.OperationExpression;\n // [g11.builtInStrlen.name]: T12.OperationExpression;\n // [g11.strReplaceExpression.name]: T12.OperationExpression;\n // [g11.builtInUcase.name]: T12.OperationExpression;\n // [g11.builtInLcase.name]: T12.OperationExpression;\n // [g11.builtInEncode_for_uri.name]: T12.OperationExpression;\n // [g11.builtInContains.name]: T12.OperationExpression;\n // [g11.builtInStrstarts.name]: T12.OperationExpression;\n // [g11.builtInStrends.name]: T12.OperationExpression;\n // [g11.builtInStrbefore.name]: T12.OperationExpression;\n // [g11.builtInStrafter.name]: T12.OperationExpression;\n // [g11.builtInYear.name]: T12.OperationExpression;\n // [g11.builtInMonth.name]: T12.OperationExpression;\n // [g11.builtInDay.name]: T12.OperationExpression;\n // [g11.builtInHours.name]: T12.OperationExpression;\n // [g11.builtInMinutes.name]: T12.OperationExpression;\n // [g11.builtInSeconds.name]: T12.OperationExpression;\n // [g11.builtInTimezone.name]: T12.OperationExpression;\n // [g11.builtInTz.name]: T12.OperationExpression;\n // [g11.builtInNow.name]: T12.OperationExpression;\n // [g11.builtInUuid.name]: T12.OperationExpression;\n // [g11.builtInStruuid.name]: T12.OperationExpression;\n // [g11.builtInMd5.name]: T12.OperationExpression;\n // [g11.builtInSha1.name]: T12.OperationExpression;\n // [g11.builtInSha256.name]: T12.OperationExpression;\n // [g11.builtInSha384.name]: T12.OperationExpression;\n // [g11.builtInSha512.name]: T12.OperationExpression;\n // [g11.builtInCoalesce.name]: T12.OperationExpression;\n // [g11.builtInIf.name]: T12.OperationExpression;\n // [g11.builtInStrlang.name]: T12.OperationExpression;\n // [g11.builtInStrdt.name]: T12.OperationExpression;\n // [g11.builtInSameterm.name]: T12.OperationExpression;\n // [g11.builtInIsiri.name]: T12.OperationExpression;\n // [g11.builtInIsuri.name]: T12.OperationExpression;\n // [g11.builtInIsblank.name]: T12.OperationExpression;\n // [g11.builtInIsliteral.name]: T12.OperationExpression;\n // [g11.builtInIsnumeric.name]: T12.OperationExpression;\n // [g11.existsFunc.name]: T12.OperationExpression;\n // [g11.notExistsFunc.name]: T12.OperationExpression;\n // [g11.aggregateCount.name]: T12.AggregateExpression;\n // [g11.aggregateSum.name]: T12.AggregateExpression;\n // [g11.aggregateMin.name]: T12.AggregateExpression;\n // [g11.aggregateMax.name]: T12.AggregateExpression;\n // [g11.aggregateAvg.name]: T12.AggregateExpression;\n // [g11.aggregateSample.name]: T12.AggregateExpression;\n // [g11.aggregateGroup_concat.name]: T12.AggregateExpression;\n // [g11.aggregate.name]: T12.AggregateExpression;\n // [g11.builtInCall.name]: T12.Expression;\n // /// DatasetClause\n // // [g11.datasetClause.name]: // unchanged\n // [g11.defaultGraphClause.name]: T12.IriTerm;\n // [g11.namedGraphClause.name]: T12.IriTerm;\n // [g11.sourceSelector.name]: T12.IriTerm;\n // // Expression file\n // [g11.argList.name]: Patch<g11.IArgList, { args: T12.Expression[] }>;\n // [g11.expressionList.name]: T12.Expression[];\n // [g11.expression.name]: T12.Expression;\n // [g11.conditionalOrExpression.name]: T12.Expression;\n // [g11.conditionalAndExpression.name]: T12.Expression;\n // [g11.valueLogical.name]: T12.Expression;\n // [g11.relationalExpression.name]: T12.Expression;\n // [g11.numericExpression.name]: T12.Expression;\n // [g11.additiveExpression.name]: T12.Expression;\n // [g11.multiplicativeExpression.name]: T12.Expression;\n // [g11.unaryExpression.name]: T12.Expression;\n // [g11.primaryExpression.name]: T12.Expression;\n // [g11.brackettedExpression.name]: T12.Expression;\n // [g11.iriOrFunction.name]:\n // T12.IriTerm | (Patch<g11.IArgList, { args: T12.Expression[] }> & { function: T12.IriTerm });\n // /// General\n // [g11.prologue.name]: Pick<T12.BaseQuery, 'base' | 'prefixes' | 'version'>;\n // // [g11.baseDecl.name]: // unchanged;\n // // [g11.prefixDecl.name]: // unchanged;\n // // [g11.verb.name]: unchanged\n // // [g11.verbA.name]: unchanged\n // [g11.varOrTerm.name]: T12.Term;\n // // [g11.varOrIri.name]: unchanged\n // // [g11.var_.name]: unchanged\n // [g11.graphTerm.name]: T12.GraphTerm;\n // /// Literals\n // [g11.rdfLiteral.name]: T12.LiteralTerm;\n // [g11.numericLiteral.name]: T12.LiteralTerm;\n // [g11.numericLiteralUnsigned.name]: T12.LiteralTerm;\n // [g11.numericLiteralPositive.name]: T12.LiteralTerm;\n // [g11.numericLiteralNegative.name]: T12.LiteralTerm;\n // [g11.booleanLiteral.name]: T12.LiteralTerm;\n // // [g11.string.name]: unchanged;\n // // [g11.iri.name]: unchanged\n // // [g11.prefixedName.name]: unchanged\n // // [g11.blankNode.name]: unchanged\n // /// / Paths: unchanged\n // /// / SolutionModifiers\n // [g11.solutionModifier.name]: Pick<T12.SelectQuery, 'group' | 'having' | 'order' | 'limit' | 'offset'>;\n // [g11.groupClause.name]: T12.Grouping[];\n // [g11.groupCondition.name]: T12.Grouping;\n // [g11.havingClause.name]: T12.Expression[];\n // [g11.havingCondition.name]: T12.Expression;\n // [g11.orderClause.name]: T12.Ordering[];\n // [g11.orderCondition.name]: T12.Ordering;\n // [g11.limitOffsetClauses.name]: Pick<T12.SelectQuery, 'limit' | 'offset'>;\n // // [g11.limitClause.name]: Unchanged\n // // [g11.offsetClause.name]: Unchanged\n // [g11.triplesBlock.name]: T12.BgpPattern;\n // [g11.triplesSameSubject.name]: T12.Triple[];\n // [g11.triplesSameSubjectPath.name]: T12.Triple[];\n // [g11.triplesTemplate.name]: T12.Triple[];\n // [g11.propertyList.name]: T12.Triple[];\n // [g11.propertyListPath.name]: T12.Triple[];\n // [g11.propertyListNotEmpty.name]: T12.Triple[];\n // [g11.propertyListPathNotEmpty.name]: T12.Triple[];\n // // [g11.verbPath.name]: unchanged\n // // [g11.verbSimple.name]: unchanged\n // [g11.objectList.name]: T12.Triple[];\n // [g11.objectListPath.name]: T12.Triple[];\n // [g11.triplesNode.name]: T12.ITriplesNode;\n // [g11.triplesNodePath.name]: T12.ITriplesNode;\n // [g11.blankNodePropertyList.name]: T12.ITriplesNode;\n // [g11.blankNodePropertyListPath.name]: T12.ITriplesNode;\n // [g11.collection.name]: T12.ITriplesNode;\n // [g11.collectionPath.name]: T12.ITriplesNode;\n // [g11.graphNode.name]: T12.IGraphNode;\n // [g11.graphNodePath.name]: T12.IGraphNode;\n // /// WhereClause\n // [g11.whereClause.name]: T12.Pattern;\n // [g11.groupGraphPattern.name]: T12.GroupPattern;\n // [g11.groupGraphPatternSub.name]: T12.Pattern[];\n // [g11.graphPatternNotTriples.name]: T12.ValuesPattern | T12.BindPattern | T12.FilterPattern | T12.BlockPattern;\n // [g11.optionalGraphPattern.name]: T12.OptionalPattern;\n // [g11.graphGraphPattern.name]: T12.GraphPattern;\n // [g11.serviceGraphPattern.name]: T12.ServicePattern;\n // [g11.bind.name]: T12.BindPattern;\n // [g11.inlineData.name]: T12.ValuesPattern;\n // [g11.dataBlock.name]: T12.ValuePatternRow[];\n // [g11.inlineDataOneVar.name]: T12.ValuePatternRow[];\n // [g11.inlineDataFull.name]: T12.ValuePatternRow[];\n // [g11.dataBlockValue.name]: T12.IriTerm | T12.BlankTerm | T12.LiteralTerm | undefined;\n // [g11.minusGraphPattern.name]: T12.MinusPattern;\n // [g11.groupOrUnionGraphPattern.name]: T12.GroupPattern | T12.UnionPattern;\n // [g11.filter.name]: T12.FilterPattern;\n // [g11.constraint.name]: T12.Expression;\n // [g11.functionCall.name]: T12.FunctionCallExpression;\n // }>()\n .addMany(\n S12.reifiedTripleBlock,\n S12.reifiedTripleBlockPath,\n S12.reifier,\n S12.varOrReifierId,\n S12.annotation,\n S12.annotationPath,\n S12.annotationBlockPath,\n S12.annotationBlock,\n S12.reifiedTriple,\n S12.reifiedTripleSubject,\n S12.reifiedTripleObject,\n S12.tripleTerm,\n S12.tripleTermSubject,\n S12.tripleTermObject,\n S12.tripleTermData,\n S12.tripleTermDataSubject,\n S12.tripleTermDataObject,\n S12.exprTripleTerm,\n S12.exprTripleTermSubject,\n S12.exprTripleTermObject,\n )\n .addMany(\n S12.versionDecl,\n S12.versionSpecifier,\n )\n .addMany(\n S12.builtinLangDir,\n S12.builtinLangStrDir,\n S12.builtinHasLang,\n S12.builtinHasLangDir,\n S12.builtinIsTriple,\n S12.builtinTriple,\n S12.builtinSubject,\n S12.builtinPredicate,\n S12.builtinObject,\n )\n .patchRule(S12.dataBlockValue)\n .patchRule(S12.triplesSameSubject)\n .patchRule(S12.triplesSameSubjectPath)\n .patchRule(S12.object)\n .patchRule(S12.objectPath)\n .patchRule(S12.graphNode)\n .patchRule(S12.graphNodePath)\n .patchRule(S12.varOrTerm)\n // TODO: Does it really go?\n .deleteRule(g11.graphTerm.name)\n .patchRule(S12.primaryExpression)\n .patchRule(S12.builtInCall)\n .patchRule(S12.rdfLiteral)\n .patchRule(S12.prologue);\n\nexport class Parser {\n private readonly parser: {\n queryOrUpdate: (input: string, context: SparqlContext, arg: undefined) => Query | Update;\n path: (input: string, context: SparqlContext, arg: undefined) => Path;\n };\n\n private readonly F = new Factory();\n\n public constructor() {\n this.parser = sparql12ParserBuilder.build({\n queryPreProcessor: sparqlCodepointEscape,\n tokenVocabulary: l12.sparql12Tokens.tokenVocabulary,\n });\n }\n\n public parse(query: string, context: Partial<SparqlContext> = {}): Query | Update {\n return this.parser.queryOrUpdate(query, completeParseContext(context), undefined);\n }\n\n public parsePath(query: string, context: Partial<SparqlContext> = {}): (Path & { prefixes: object }) | TermIri {\n const res = this.parser.path(query, completeParseContext(context), undefined);\n if (this.F.isPathPure(res)) {\n return {\n ...res,\n prefixes: {},\n };\n }\n return res;\n }\n}\n"]}