@traqula/parser-sparql-1-2 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -2
- package/lib/Parser.d.ts +235 -225
- package/lib/Parser.js +2 -196
- package/lib/Parser.js.map +1 -1
- package/lib/index.cjs +1630 -1627
- package/package.json +7 -7
package/lib/Parser.js
CHANGED
|
@@ -1,204 +1,10 @@
|
|
|
1
1
|
import { ParserBuilder } from '@traqula/core';
|
|
2
2
|
import { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1';
|
|
3
|
-
import { gram as g11, sparqlCodepointEscape } from '@traqula/rules-sparql-1-1';
|
|
3
|
+
import { gram as g11, sparqlCodepointEscape, } from '@traqula/rules-sparql-1-1';
|
|
4
4
|
import { completeParseContext, Factory, gram as S12, lex as l12 } from '@traqula/rules-sparql-1-2';
|
|
5
5
|
export const sparql12ParserBuilder = ParserBuilder.create(sparql11ParserBuilder)
|
|
6
6
|
.widenContext()
|
|
7
|
-
|
|
8
|
-
.addRuleRedundant(g11.object)
|
|
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
|
-
// }>()
|
|
7
|
+
.typePatch()
|
|
202
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)
|
|
203
9
|
.addMany(S12.versionDecl, S12.versionSpecifier)
|
|
204
10
|
.addMany(S12.builtinLangDir, S12.builtinLangStrDir, S12.builtinHasLang, S12.builtinHasLangDir, S12.builtinIsTriple, S12.builtinTriple, S12.builtinSubject, S12.builtinPredicate, S12.builtinObject)
|
package/lib/Parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Parser.js","sourceRoot":"","sources":["Parser.ts"],"names":[],"mappings":"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","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"]}
|
|
1
|
+
{"version":3,"file":"Parser.js","sourceRoot":"","sources":["Parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { ParserBuilder } from '@traqula/core';\nimport type { Patch, Wrap } from '@traqula/core';\nimport { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1';\nimport {\n gram as g11,\n type TermIri,\n sparqlCodepointEscape,\n} from '@traqula/rules-sparql-1-1';\nimport { completeParseContext, Factory, gram as S12, lex as l12, SparqlContext } from '@traqula/rules-sparql-1-2';\nimport type * as T12 from '@traqula/rules-sparql-1-2';\n\nexport const sparql12ParserBuilder = ParserBuilder.create(sparql11ParserBuilder)\n .widenContext<T12.SparqlContext>()\n .typePatch<{\n /// GeneralFile\n queryOrUpdate: [ T12.SparqlQuery];\n /// Query Unit file\n [g11.selectQuery.name]: [Omit<T12.QuerySelect, g11.HandledByBase>];\n [g11.subSelect.name]: [ Omit<T12.SubSelect, 'prefixes'>];\n [g11.selectClause.name]: [Wrap<Pick<T12.QuerySelect, 'variables' | 'distinct' | 'reduced'>>];\n [g11.constructQuery.name]: [Omit<T12.QueryConstruct, g11.HandledByBase>];\n [g11.describeQuery.name]: [Omit<T12.QueryDescribe, g11.HandledByBase>];\n [g11.askQuery.name]: [Omit<T12.QueryAsk, g11.HandledByBase>];\n [g11.valuesClause.name]: [T12.PatternValues[] | undefined];\n [g11.constructTemplate.name]: [Wrap<T12.PatternBgp>];\n [g11.constructTriples.name]: [T12.PatternBgp];\n /// Update Unit file\n [g11.update1.name]: [T12.UpdateOperation];\n [g11.load.name]: [T12.UpdateOperationLoad];\n [g11.clear.name]: [T12.UpdateOperationClear];\n [g11.drop.name]: [T12.UpdateOperationDrop];\n [g11.create.name]: [T12.UpdateOperationCreate];\n [g11.add.name]: [T12.UpdateOperationAdd];\n [g11.move.name]: [T12.UpdateOperationMove];\n [g11.copy.name]: [T12.UpdateOperationCopy];\n [g11.quadPattern.name]: [Wrap<T12.Quads[]>];\n [g11.quadData.name]: [Wrap<T12.Quads[]>];\n [g11.insertData.name]: [T12.UpdateOperationInsertData];\n [g11.deleteData.name]: [T12.UpdateOperationDeleteData];\n [g11.deleteWhere.name]: [T12.UpdateOperationDeleteWhere];\n [g11.modify.name]: [T12.UpdateOperationModify];\n [g11.deleteClause.name]: [Wrap<T12.Quads[]>];\n [g11.insertClause.name]: [Wrap<T12.Quads[]>];\n [g11.graphOrDefault.name]: [T12.GraphRefDefault | T12.GraphRefSpecific];\n [g11.graphRef.name]: [T12.GraphRefSpecific];\n [g11.graphRefAll.name]: [T12.GraphRef];\n [g11.quads.name]: [Wrap<T12.Quads[]>];\n [g11.quadsNotTriples.name]: [T12.GraphQuads];\n /// Built-in functions\n [g11.builtInStr.name]: [T12.ExpressionOperation];\n [g11.builtInLang.name]: [T12.ExpressionOperation];\n [g11.builtInLangmatches.name]: [T12.ExpressionOperation];\n [g11.builtInDatatype.name]: [T12.ExpressionOperation];\n [g11.builtInBound.name]: [T12.ExpressionOperation];\n [g11.builtInIri.name]: [T12.ExpressionOperation];\n [g11.builtInUri.name]: [T12.ExpressionOperation];\n [g11.builtInBnodeSparqlJs.name]: [T12.ExpressionOperation];\n [g11.builtInRand.name]: [T12.ExpressionOperation];\n [g11.builtInAbs.name]: [T12.ExpressionOperation];\n [g11.builtInCeil.name]: [T12.ExpressionOperation];\n [g11.builtInFloor.name]: [T12.ExpressionOperation];\n [g11.builtInRound.name]: [T12.ExpressionOperation];\n [g11.builtInConcat.name]: [T12.ExpressionOperation];\n [g11.substringExpression.name]: [T12.ExpressionOperation];\n [g11.builtInStrlen.name]: [T12.ExpressionOperation];\n [g11.strReplaceExpression.name]: [T12.ExpressionOperation];\n [g11.builtInUcase.name]: [T12.ExpressionOperation];\n [g11.builtInLcase.name]: [T12.ExpressionOperation];\n [g11.builtInEncode_for_uri.name]: [T12.ExpressionOperation];\n [g11.builtInContains.name]: [T12.ExpressionOperation];\n [g11.builtInStrstarts.name]: [T12.ExpressionOperation];\n [g11.builtInStrends.name]: [T12.ExpressionOperation];\n [g11.builtInStrbefore.name]: [T12.ExpressionOperation];\n [g11.builtInStrafter.name]: [T12.ExpressionOperation];\n [g11.builtInYear.name]: [T12.ExpressionOperation];\n [g11.builtInMonth.name]: [T12.ExpressionOperation];\n [g11.builtInDay.name]: [T12.ExpressionOperation];\n [g11.builtInHours.name]: [T12.ExpressionOperation];\n [g11.builtInMinutes.name]: [T12.ExpressionOperation];\n [g11.builtInSeconds.name]: [T12.ExpressionOperation];\n [g11.builtInTimezone.name]: [T12.ExpressionOperation];\n [g11.builtInTz.name]: [T12.ExpressionOperation];\n [g11.builtInNow.name]: [T12.ExpressionOperation];\n [g11.builtInUuid.name]: [T12.ExpressionOperation];\n [g11.builtInStruuid.name]: [T12.ExpressionOperation];\n [g11.builtInMd5.name]: [T12.ExpressionOperation];\n [g11.builtInSha1.name]: [T12.ExpressionOperation];\n [g11.builtInSha256.name]: [T12.ExpressionOperation];\n [g11.builtInSha384.name]: [T12.ExpressionOperation];\n [g11.builtInSha512.name]: [T12.ExpressionOperation];\n [g11.builtInCoalesce.name]: [T12.ExpressionOperation];\n [g11.builtInIf.name]: [T12.ExpressionOperation];\n [g11.builtInStrlang.name]: [T12.ExpressionOperation];\n [g11.builtInStrdt.name]: [T12.ExpressionOperation];\n [g11.builtInSameterm.name]: [T12.ExpressionOperation];\n [g11.builtInIsiri.name]: [T12.ExpressionOperation];\n [g11.builtInIsuri.name]: [T12.ExpressionOperation];\n [g11.builtInIsblank.name]: [T12.ExpressionOperation];\n [g11.builtInIsliteral.name]: [T12.ExpressionOperation];\n [g11.builtInIsnumeric.name]: [T12.ExpressionOperation];\n [g11.existsFunc.name]: [T12.ExpressionPatternOperation];\n [g11.notExistsFunc.name]: [T12.ExpressionPatternOperation];\n [g11.aggregateCount.name]: [T12.ExpressionAggregateOnWildcard | T12.ExpressionAggregateDefault];\n [g11.aggregateSum.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateMin.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateMax.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateAvg.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateSample.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateGroup_concat.name]: [T12.ExpressionAggregateDefault | T12.ExpressionAggregateSeparator];\n [g11.aggregate.name]: [T12.ExpressionAggregate];\n [g11.builtInCall.name]: [T12.Expression];\n /// DatasetClause\n [g11.datasetClause.name]: [Wrap<T12.DatasetClauses['clauses'][0]>];\n [g11.defaultGraphClause.name]: [T12.TermIri];\n [g11.usingClause.name]: [Wrap<T12.DatasetClauses['clauses'][0]>];\n [g11.datasetClauseStar.name]: [T12.DatasetClauses];\n [g11.usingClauseStar.name]: [T12.DatasetClauses];\n [g11.namedGraphClause.name]: [Wrap<T12.TermIri>];\n [g11.sourceSelector.name]: [T12.TermIri];\n // Expression file\n [g11.argList.name]: [Wrap<Patch<g11.IArgList, { args: T12.Expression[] }>>];\n [g11.expressionList.name]: [Wrap<T12.Expression[]>];\n [g11.expression.name]: [T12.Expression];\n [g11.conditionalOrExpression.name]: [T12.ExpressionOperation | T12.Expression];\n [g11.conditionalAndExpression.name]: [T12.Expression];\n [g11.valueLogical.name]: [T12.Expression];\n [g11.relationalExpression.name]: [T12.ExpressionOperation | 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]: [T12.TermIri | T12.ExpressionFunctionCall];\n /// General\n [g11.prologue.name]: [T12.ContextDefinition[]];\n [g11.baseDecl.name]: [T12.ContextDefinition];\n [g11.prefixDecl.name]: [T12.ContextDefinition];\n [g11.verb.name]: [T12.TermVariable | T12.TermIri];\n [g11.varOrTerm.name]: [T12.Term];\n [g11.varOrIri.name]: [T12.TermIri | T12.TermVariable];\n [g11.var_.name]: [T12.TermVariable];\n [g11.graphTerm.name]: [T12.GraphTerm];\n /// Literals\n [g11.rdfLiteral.name]: [T12.TermLiteral];\n [g11.numericLiteral.name]: [T12.TermLiteralTyped];\n [g11.numericLiteralUnsigned.name]: [T12.TermLiteralTyped];\n [g11.numericLiteralPositive.name]: [T12.TermLiteralTyped];\n [g11.numericLiteralNegative.name]: [T12.TermLiteralTyped];\n [g11.booleanLiteral.name]: [T12.TermLiteralTyped];\n [g11.string.name]: [T12.TermLiteralStr];\n [g11.iri.name]: [T12.TermIri];\n [g11.iriFull.name]: [T12.TermIriFull];\n [g11.prefixedName.name]: [T12.TermIriPrefixed];\n [g11.blankNode.name]: [T12.TermBlank];\n [g11.verbA.name]: [T12.TermIriFull];\n /// / Paths: unchanged\n /// / SolutionModifiers\n [g11.solutionModifier.name]: [T12.SolutionModifiers];\n [g11.groupClause.name]: [T12.SolutionModifierGroup];\n [g11.groupCondition.name]: [T12.Expression | T12.SolutionModifierGroupBind];\n [g11.havingClause.name]: [T12.SolutionModifierHaving];\n [g11.havingCondition.name]: [T12.Expression];\n [g11.orderClause.name]: [T12.SolutionModifierOrder];\n [g11.orderCondition.name]: [T12.Ordering];\n [g11.limitOffsetClauses.name]: [T12.SolutionModifierLimitOffset];\n [g11.limitClause.name]: [Wrap<number>];\n [g11.offsetClause.name]: [ Wrap<number>];\n /// tripleBlock\n [g11.triplesBlock.name]: [T12.PatternBgp];\n [g11.triplesSameSubject.name]: [T12.BasicGraphPattern];\n [g11.triplesSameSubjectPath.name]: [T12.BasicGraphPattern];\n [g11.triplesTemplate.name]: [T12.PatternBgp];\n [g11.propertyList.name]: [T12.TripleNesting[]];\n [g11.propertyListPath.name]: [T12.TripleNesting[]];\n [g11.propertyListNotEmpty.name]: [T12.TripleNesting[]];\n [g11.propertyListPathNotEmpty.name]: [T12.TripleNesting[]];\n [g11.verbPath.name]: [T12.Path];\n [g11.verbSimple.name]: [T12.TermVariable];\n [g11.objectList.name]: [T12.TripleNesting[], Pick<T12.TripleNesting, 'subject' | 'predicate'>];\n [g11.objectListPath.name]: [T12.TripleNesting, Pick<T12.TripleNesting, 'subject' | 'predicate'>];\n [g11.object.name]: [T12.TripleNesting, Pick<T12.TripleNesting, 'subject' | 'predicate'>];\n [g11.objectPath.name]: [T12.TripleNesting[], Pick<T12.TripleNesting, 'subject' | 'predicate'>];\n [g11.collection.name]: [T12.TripleCollectionList];\n [g11.collectionPath.name]: [T12.TripleCollectionList];\n [g11.triplesNode.name]: [T12.TripleCollection];\n [g11.triplesNodePath.name]: [T12.TripleCollection];\n [g11.blankNodePropertyList.name]: [T12.TripleCollectionBlankNodeProperties];\n [g11.blankNodePropertyListPath.name]: [T12.TripleCollectionBlankNodeProperties];\n [g11.graphNode.name]: [T12.Term | T12.TripleCollection];\n [g11.graphNodePath.name]: [T12.Term | T12.TripleCollection];\n /// WhereClause\n [g11.whereClause.name]: [Wrap<T12.PatternGroup>];\n [g11.groupGraphPattern.name]: [T12.PatternGroup];\n [g11.groupGraphPatternSub.name]: [T12.Pattern[]];\n [g11.graphPatternNotTriples.name]: [Exclude<T12.Pattern, T12.SubSelect | T12.PatternBgp>];\n [g11.optionalGraphPattern.name]: [T12.PatternOptional];\n [g11.graphGraphPattern.name]: [T12.PatternGraph];\n [g11.serviceGraphPattern.name]: [T12.PatternService];\n [g11.bind.name]: [T12.PatternBind];\n [g11.inlineData.name]: [T12.PatternValues];\n [g11.dataBlock.name]: [Wrap<T12.ValuePatternRow[]>];\n [g11.inlineDataOneVar.name]: [Wrap<T12.ValuePatternRow[]>];\n [g11.inlineDataFull.name]: [Wrap<T12.ValuePatternRow[]>];\n [g11.dataBlockValue.name]: [T12.TermIri | T12.TermLiteral | undefined];\n [g11.minusGraphPattern.name]: [T12.PatternMinus];\n [g11.groupOrUnionGraphPattern.name]: [T12.PatternGroup | T12.PatternUnion];\n [g11.filter.name]: [T12.PatternFilter];\n [g11.constraint.name]: [T12.Expression];\n [g11.functionCall.name]: [T12.ExpressionFunctionCall];\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: T12.SparqlContext, arg: undefined) => T12.SparqlQuery;\n path: (input: string, context: T12.SparqlContext, arg: undefined) => T12.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<T12.SparqlContext> = {}): T12.SparqlQuery {\n return this.parser.queryOrUpdate(query, completeParseContext(context), undefined);\n }\n\n public parsePath(\n query: string,\ncontext: Partial<T12.SparqlContext> = {},\n ): (T12.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"]}
|