@traqula/parser-sparql-1-2 1.1.2 → 1.1.3
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/dist/cjs/lib/Parser.js +2 -1
- package/dist/cjs/lib/Parser.js.map +1 -1
- package/dist/esm/lib/Parser.d.ts +148 -148
- package/dist/esm/lib/Parser.js +3 -2
- package/dist/esm/lib/Parser.js.map +1 -1
- package/package.json +7 -7
package/dist/cjs/lib/Parser.js
CHANGED
|
@@ -31,6 +31,8 @@ exports.sparql12ParserBuilder = core_1.ParserBuilder.create(parser_sparql_1_1_1.
|
|
|
31
31
|
.patchRule(rules_sparql_1_2_1.gram.rdfLiteral)
|
|
32
32
|
.patchRule(rules_sparql_1_2_1.gram.unaryExpression)
|
|
33
33
|
.patchRule(rules_sparql_1_2_1.gram.prologue)
|
|
34
|
+
.patchRule(rules_sparql_1_2_1.gram.string)
|
|
35
|
+
.patchRule(rules_sparql_1_2_1.gram.iriFull)
|
|
34
36
|
.deleteRule(rules_sparql_1_1_1.gram.graphTerm.name);
|
|
35
37
|
/**
|
|
36
38
|
* Parser that can parse a SPARQL 1.2 string into a SPARQL 1.2 AST.
|
|
@@ -41,7 +43,6 @@ class Parser {
|
|
|
41
43
|
constructor(args = {}) {
|
|
42
44
|
this.parser = exports.sparql12ParserBuilder.build({
|
|
43
45
|
...args,
|
|
44
|
-
queryPreProcessor: rules_sparql_1_1_1.sparqlCodepointEscape,
|
|
45
46
|
tokenVocabulary: rules_sparql_1_2_1.lex.sparql12LexerBuilder.tokenVocabulary,
|
|
46
47
|
});
|
|
47
48
|
this.defaultContext = (0, rules_sparql_1_2_1.completeParseContext)(args.defaultContext ?? {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../../lib/Parser.ts"],"names":[],"mappings":";;;AAAA,wCAA8C;AAE9C,kEAAmE;AACnE,gEAGmC;AAInC,gEAA4G;AAG5G;;;;;GAKG;AACU,QAAA,qBAAqB,GAAG,oBAAa,CAAC,MAAM,CAAC,yCAAqB,CAAC;KAC7E,YAAY,EAAqB;KACjC,SAAS,EAqMN;KACH,OAAO,CACN,uBAAG,CAAC,kBAAkB,EACtB,uBAAG,CAAC,sBAAsB,EAC1B,uBAAG,CAAC,OAAO,EACX,uBAAG,CAAC,cAAc,EAClB,uBAAG,CAAC,UAAU,EACd,uBAAG,CAAC,cAAc,EAClB,uBAAG,CAAC,mBAAmB,EACvB,uBAAG,CAAC,eAAe,EACnB,uBAAG,CAAC,aAAa,EACjB,uBAAG,CAAC,oBAAoB,EACxB,uBAAG,CAAC,mBAAmB,EACvB,uBAAG,CAAC,UAAU,EACd,uBAAG,CAAC,iBAAiB,EACrB,uBAAG,CAAC,gBAAgB,EACpB,uBAAG,CAAC,cAAc,EAClB,uBAAG,CAAC,qBAAqB,EACzB,uBAAG,CAAC,oBAAoB,EACxB,uBAAG,CAAC,cAAc,EAClB,uBAAG,CAAC,qBAAqB,EACzB,uBAAG,CAAC,oBAAoB,CACzB;KACA,OAAO,CACN,uBAAG,CAAC,WAAW,EACf,uBAAG,CAAC,gBAAgB,CACrB;KACA,OAAO,CACN,uBAAG,CAAC,cAAc,EAClB,uBAAG,CAAC,iBAAiB,EACrB,uBAAG,CAAC,cAAc,EAClB,uBAAG,CAAC,iBAAiB,EACrB,uBAAG,CAAC,eAAe,EACnB,uBAAG,CAAC,aAAa,EACjB,uBAAG,CAAC,cAAc,EAClB,uBAAG,CAAC,gBAAgB,EACpB,uBAAG,CAAC,aAAa,CAClB;KACA,SAAS,CAAC,uBAAG,CAAC,WAAW,CAAC;KAC1B,SAAS,CAAC,uBAAG,CAAC,cAAc,CAAC;KAC7B,SAAS,CAAC,uBAAG,CAAC,kBAAkB,CAAC;KACjC,SAAS,CAAC,uBAAG,CAAC,sBAAsB,CAAC;KACrC,SAAS,CAAC,uBAAG,CAAC,MAAM,CAAC;KACrB,SAAS,CAAC,uBAAG,CAAC,UAAU,CAAC;KACzB,SAAS,CAAC,uBAAG,CAAC,SAAS,CAAC;KACxB,SAAS,CAAC,uBAAG,CAAC,aAAa,CAAC;KAC5B,SAAS,CAAC,uBAAG,CAAC,SAAS,CAAC;KACxB,SAAS,CAAC,uBAAG,CAAC,iBAAiB,CAAC;KAChC,SAAS,CAAC,uBAAG,CAAC,WAAW,CAAC;KAC1B,SAAS,CAAC,uBAAG,CAAC,UAAU,CAAC;KACzB,SAAS,CAAC,uBAAG,CAAC,eAAe,CAAC;KAC9B,SAAS,CAAC,uBAAG,CAAC,QAAQ,CAAC;KACvB,UAAU,CAAC,uBAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAIlC;;GAEG;AACH,MAAa,MAAM;IACA,MAAM,CAAe;IACnB,cAAc,CAAoB;IAErD,YACE,OAAgH,EAAE;QAElH,IAAI,CAAC,MAAM,GAAG,6BAAqB,CAAC,KAAK,CAAC;YACxC,GAAG,IAAI;YACP,iBAAiB,EAAE,wCAAqB;YACxC,eAAe,EAAE,sBAAG,CAAC,oBAAoB,CAAC,eAAe;SAC1D,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAA,uCAAoB,EAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,KAAa,EAAE,UAAsC,EAAE;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,IAAA,mCAAgB,EAAC,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;QACvG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjH,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,SAAS,CACd,KAAa,EACjB,UAAsC,EAAE;QAEpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAA,mCAAgB,EAAC,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9F,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjH,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,OAAO;gBACL,GAAG,GAAG;gBACN,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA/CD,wBA+CC","sourcesContent":["import { ParserBuilder } from '@traqula/core';\nimport type { Patch, Wrap, ParserBuildArgs } from '@traqula/core';\nimport { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1';\nimport {\n gram as g11,\n sparqlCodepointEscape,\n} from '@traqula/rules-sparql-1-1';\nimport type {\n TermIri,\n} from '@traqula/rules-sparql-1-1';\nimport { completeParseContext, copyParseContext, gram as S12, lex as l12 } from '@traqula/rules-sparql-1-2';\nimport type * as T12 from '@traqula/rules-sparql-1-2';\n\n/**\n * Pre-configured {@link ParserBuilder} for SPARQL 1.2, extending the SPARQL 1.1 parser builder\n * with SPARQL 1.2 grammar rules (e.g. reified triples, triple terms, VERSION declaration).\n * Use {@link ParserBuilder.create ParserBuilder.create(sparql12ParserBuilder)} to extend it\n * with additional rules.\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[], [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.objectListPath.name]: [T12.TripleNesting, [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.object.name]: [T12.TripleNesting, [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.objectPath.name]: [T12.TripleNesting[], [ T12.TripleNesting['subject'], T12.TripleNesting['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]: [T12.PatternValues];\n [g11.inlineDataOneVar.name]: [T12.PatternValues];\n [g11.inlineDataFull.name]: [T12.PatternValues];\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.buildInLangDir,\n S12.buildInLangStrDir,\n S12.buildInHasLang,\n S12.buildInHasLangDir,\n S12.buildInIsTriple,\n S12.buildInTriple,\n S12.buildInSubject,\n S12.buildInPredicate,\n S12.buildInObject,\n )\n .patchRule(S12.selectQuery)\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 .patchRule(S12.primaryExpression)\n .patchRule(S12.builtInCall)\n .patchRule(S12.rdfLiteral)\n .patchRule(S12.unaryExpression)\n .patchRule(S12.prologue)\n .deleteRule(g11.graphTerm.name);\n\nexport type SparqlParser = ReturnType<typeof sparql12ParserBuilder.build>;\n\n/**\n * Parser that can parse a SPARQL 1.2 string into a SPARQL 1.2 AST.\n */\nexport class Parser {\n private readonly parser: SparqlParser;\n protected readonly defaultContext: T12.SparqlContext;\n\n public constructor(\n args: Pick<ParserBuildArgs, 'parserConfig' | 'lexerConfig'> & { defaultContext?: Partial<T12.SparqlContext> } = {},\n ) {\n this.parser = sparql12ParserBuilder.build({\n ...args,\n queryPreProcessor: sparqlCodepointEscape,\n tokenVocabulary: l12.sparql12LexerBuilder.tokenVocabulary,\n });\n this.defaultContext = completeParseContext(args.defaultContext ?? {});\n }\n\n /**\n * Parse a query string starting from the\n * [QueryUnit](https://www.w3.org/TR/sparql12-query/#rQueryUnit)\n * or [QueryUpdate](https://www.w3.org/TR/sparql12-query/#rUpdateUnit) rules.\n * @param query\n * @param context\n */\n public parse(query: string, context: Partial<T12.SparqlContext> = {}): T12.SparqlQuery {\n const ast = this.parser.queryOrUpdate(query, copyParseContext({ ...this.defaultContext, ...context }));\n ast.loc = this.defaultContext.astFactory.sourceLocationInlinedSource(query, ast.loc, 0, Number.MAX_SAFE_INTEGER);\n return ast;\n }\n\n /**\n * Parse a query string starting from the [Path](https://www.w3.org/TR/sparql12-query/#rPath) grammar rule.\n * @param query\n * @param context\n */\n public parsePath(\n query: string,\ncontext: Partial<T12.SparqlContext> = {},\n ): (T12.Path & { prefixes: object }) | TermIri {\n const ast = this.parser.path(query, copyParseContext({ ...this.defaultContext, ...context }));\n ast.loc = this.defaultContext.astFactory.sourceLocationInlinedSource(query, ast.loc, 0, Number.MAX_SAFE_INTEGER);\n if (this.defaultContext.astFactory.isPathPure(ast)) {\n return {\n ...ast,\n prefixes: {},\n };\n }\n return ast;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../../lib/Parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { ParserBuilder } from '@traqula/core';\nimport type { Patch, Wrap, ParserBuildArgs } from '@traqula/core';\nimport { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1';\nimport {\n gram as g11,\n} from '@traqula/rules-sparql-1-1';\nimport type {\n TermIri,\n} from '@traqula/rules-sparql-1-1';\nimport { completeParseContext, copyParseContext, gram as S12, lex as l12 } from '@traqula/rules-sparql-1-2';\nimport type * as T12 from '@traqula/rules-sparql-1-2';\n\n/**\n * Pre-configured {@link ParserBuilder} for SPARQL 1.2, extending the SPARQL 1.1 parser builder\n * with SPARQL 1.2 grammar rules (e.g. reified triples, triple terms, VERSION declaration).\n * Use {@link ParserBuilder.create ParserBuilder.create(sparql12ParserBuilder)} to extend it\n * with additional rules.\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[], [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.objectListPath.name]: [T12.TripleNesting, [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.object.name]: [T12.TripleNesting, [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.objectPath.name]: [T12.TripleNesting[], [ T12.TripleNesting['subject'], T12.TripleNesting['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]: [T12.PatternValues];\n [g11.inlineDataOneVar.name]: [T12.PatternValues];\n [g11.inlineDataFull.name]: [T12.PatternValues];\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.buildInLangDir,\n S12.buildInLangStrDir,\n S12.buildInHasLang,\n S12.buildInHasLangDir,\n S12.buildInIsTriple,\n S12.buildInTriple,\n S12.buildInSubject,\n S12.buildInPredicate,\n S12.buildInObject,\n )\n .patchRule(S12.selectQuery)\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 .patchRule(S12.primaryExpression)\n .patchRule(S12.builtInCall)\n .patchRule(S12.rdfLiteral)\n .patchRule(S12.unaryExpression)\n .patchRule(S12.prologue)\n .patchRule(S12.string)\n .patchRule(S12.iriFull)\n .deleteRule(g11.graphTerm.name);\n\nexport type SparqlParser = ReturnType<typeof sparql12ParserBuilder.build>;\n\n/**\n * Parser that can parse a SPARQL 1.2 string into a SPARQL 1.2 AST.\n */\nexport class Parser {\n private readonly parser: SparqlParser;\n protected readonly defaultContext: T12.SparqlContext;\n\n public constructor(\n args: Pick<ParserBuildArgs, 'parserConfig' | 'lexerConfig'> & { defaultContext?: Partial<T12.SparqlContext> } = {},\n ) {\n this.parser = sparql12ParserBuilder.build({\n ...args,\n tokenVocabulary: l12.sparql12LexerBuilder.tokenVocabulary,\n });\n this.defaultContext = completeParseContext(args.defaultContext ?? {});\n }\n\n /**\n * Parse a query string starting from the\n * [QueryUnit](https://www.w3.org/TR/sparql12-query/#rQueryUnit)\n * or [QueryUpdate](https://www.w3.org/TR/sparql12-query/#rUpdateUnit) rules.\n * @param query\n * @param context\n */\n public parse(query: string, context: Partial<T12.SparqlContext> = {}): T12.SparqlQuery {\n const ast = this.parser.queryOrUpdate(query, copyParseContext({ ...this.defaultContext, ...context }));\n ast.loc = this.defaultContext.astFactory.sourceLocationInlinedSource(query, ast.loc, 0, Number.MAX_SAFE_INTEGER);\n return ast;\n }\n\n /**\n * Parse a query string starting from the [Path](https://www.w3.org/TR/sparql12-query/#rPath) grammar rule.\n * @param query\n * @param context\n */\n public parsePath(\n query: string,\ncontext: Partial<T12.SparqlContext> = {},\n ): (T12.Path & { prefixes: object }) | TermIri {\n const ast = this.parser.path(query, copyParseContext({ ...this.defaultContext, ...context }));\n ast.loc = this.defaultContext.astFactory.sourceLocationInlinedSource(query, ast.loc, 0, Number.MAX_SAFE_INTEGER);\n if (this.defaultContext.astFactory.isPathPure(ast)) {\n return {\n ...ast,\n prefixes: {},\n };\n }\n return ast;\n }\n}\n"]}
|
package/dist/esm/lib/Parser.d.ts
CHANGED
|
@@ -9,83 +9,52 @@ import type * as T12 from '@traqula/rules-sparql-1-2';
|
|
|
9
9
|
* Use {@link ParserBuilder.create ParserBuilder.create(sparql12ParserBuilder)} to extend it
|
|
10
10
|
* with additional rules.
|
|
11
11
|
*/
|
|
12
|
-
export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "string" | "object" | "
|
|
12
|
+
export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "string" | "object" | "filter" | "copy" | "graphRef" | "load" | "clear" | "drop" | "create" | "add" | "move" | "modify" | "update" | "query" | "datasetClauses" | "bind" | "solutionModifier" | "expression" | "aggregate" | "functionCall" | "path" | "blankNode" | "queryUnit" | "selectQuery" | "subSelect" | "selectClause" | "constructQuery" | "describeQuery" | "askQuery" | "valuesClause" | "constructTemplate" | "constructTriples" | "updateUnit" | "update1" | "quadPattern" | "quadData" | "insertData" | "deleteData" | "deleteWhere" | "deleteClause" | "insertClause" | "graphOrDefault" | "graphRefAll" | "quads" | "quadsNotTriples" | "builtInStr" | "builtInLang" | "builtInLangmatches" | "builtInDatatype" | "builtInBound" | "builtInIri" | "builtInUri" | "builtInBnode" | "builtInRand" | "builtInAbs" | "builtInCeil" | "builtInFloor" | "builtInRound" | "builtInConcat" | "builtInStrlen" | "builtInUcase" | "builtInLcase" | "builtInEncode_for_uri" | "builtInContains" | "builtInStrstarts" | "builtInStrends" | "builtInStrbefore" | "builtInStrafter" | "builtInYear" | "builtInMonth" | "builtInDay" | "builtInHours" | "builtInMinutes" | "builtInSeconds" | "builtInTimezone" | "builtInTz" | "builtInNow" | "builtInUuid" | "builtInStruuid" | "builtInMd5" | "builtInSha1" | "builtInSha256" | "builtInSha384" | "builtInSha512" | "builtInCoalesce" | "builtInIf" | "builtInStrlang" | "builtInStrdt" | "builtInSameterm" | "builtInIsiri" | "builtInIsuri" | "builtInIsblank" | "builtInIsliteral" | "builtInIsnumeric" | "builtInCall" | "builtInRegex" | "builtInSubstr" | "builtInReplace" | "builtInExists" | "builtInNotexists" | "builtInCount" | "builtInSum" | "builtInMin" | "builtInMax" | "builtInAvg" | "builtInSample" | "builtInGroup_concat" | "usingClause" | "datasetClause" | "defaultGraphClause" | "usingClauses" | "namedGraphClause" | "sourceSelector" | "argList" | "expressionList" | "conditionalOrExpression" | "conditionalAndExpression" | "valueLogical" | "relationalExpression" | "numericExpression" | "additiveExpression" | "multiplicativeExpression" | "unaryExpression" | "primaryExpression" | "brackettedExpression" | "iriOrFunction" | "prologue" | "baseDecl" | "prefixDecl" | "verb" | "varOrTerm" | "varOrIri" | "var" | "rdfLiteral" | "numericLiteral" | "numericLiteralUnsigned" | "numericLiteralPositive" | "numericLiteralNegative" | "booleanLiteral" | "iri" | "iriFull" | "prefixedName" | "VerbA" | "pathEltOrInverse" | "pathSequence" | "pathAlternative" | "pathElt" | "pathMod" | "pathPrimary" | "pathNegatedPropertySet" | "pathOneInPropertySet" | "groupClause" | "groupCondition" | "havingClause" | "havingCondition" | "orderClause" | "orderCondition" | "limitOffsetClauses" | "limitClause" | "offsetClause" | "triplesBlock" | "triplesSameSubject" | "triplesSameSubjectPath" | "triplesTemplate" | "propertyList" | "propertyListPath" | "propertyListNotEmpty" | "propertyListPathNotEmpty" | "verbPath" | "verbSimple" | "objectList" | "objectListPath" | "objectPath" | "collection" | "collectionPath" | "triplesNode" | "triplesNodePath" | "blankNodePropertyList" | "blankNodePropertyListPath" | "graphNode" | "graphNodePath" | "whereClause" | "groupGraphPattern" | "groupGraphPatternSub" | "graphPatternNotTriples" | "optionalGraphPattern" | "graphGraphPattern" | "serviceGraphPattern" | "inlineData" | "dataBlock" | "inlineDataOneVar" | "inlineDataFull" | "dataBlockValue" | "minusGraphPattern" | "groupOrUnionGraphPattern" | "constraint" | "queryOrUpdate" | "reifiedTriple" | "versionDecl" | "versionSpecifier" | "reifiedTripleBlock" | "reifiedTripleBlockPath" | "varOrReifierId" | "reifier" | "annotationPath" | "annotation" | "annotationBlockPath" | "annotationBlock" | "reifiedTripleSubject" | "reifiedTripleObject" | "tripleTerm" | "tripleTermSubject" | "tripleTermObject" | "tripleTermData" | "tripleTermDataSubject" | "tripleTermDataObject" | "exprTripleTerm" | "exprTripleTermSubject" | "exprTripleTermObject" | "builtInLangdir" | "builtInStrLangdir" | "builtInHasLang" | "builtInHasLangdir" | "builtInIsTriple" | "builtInTriple" | "builtInSubject" | "builtInPredicate" | "builtInObject", {
|
|
13
13
|
string: import("@traqula/core").ParserRule<T12.SparqlContext, "string", import("@traqula/rules-sparql-1-1").TermLiteralStr, []>;
|
|
14
|
-
object: import("@traqula/core").ParserRule<T12.SparqlContext, "object", T12.TripleNesting, [T12.GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").
|
|
14
|
+
object: import("@traqula/core").ParserRule<T12.SparqlContext, "object", T12.TripleNesting, [T12.GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated]>;
|
|
15
|
+
filter: import("@traqula/core").ParserRule<T12.SparqlContext, "filter", T12.PatternFilter, []>;
|
|
16
|
+
copy: import("@traqula/core").ParserRule<T12.SparqlContext, "copy", T12.UpdateOperationCopy, []>;
|
|
17
|
+
graphRef: import("@traqula/core").ParserRule<T12.SparqlContext, "graphRef", import("@traqula/rules-sparql-1-1").GraphRefSpecific, []>;
|
|
18
|
+
load: import("@traqula/core").ParserRule<T12.SparqlContext, "load", T12.UpdateOperationLoad, []>;
|
|
19
|
+
clear: import("@traqula/core").ParserRule<T12.SparqlContext, "clear", T12.UpdateOperationClear, []>;
|
|
20
|
+
drop: import("@traqula/core").ParserRule<T12.SparqlContext, "drop", T12.UpdateOperationDrop, []>;
|
|
21
|
+
create: import("@traqula/core").ParserRule<T12.SparqlContext, "create", T12.UpdateOperationCreate, []>;
|
|
22
|
+
add: import("@traqula/core").ParserRule<T12.SparqlContext, "add", T12.UpdateOperationAdd, []>;
|
|
23
|
+
move: import("@traqula/core").ParserRule<T12.SparqlContext, "move", T12.UpdateOperationMove, []>;
|
|
24
|
+
modify: import("@traqula/core").ParserRule<T12.SparqlContext, "modify", T12.UpdateOperationModify, []>;
|
|
25
|
+
update: import("@traqula/core").ParserRule<T12.SparqlContext, "update", import("@traqula/rules-sparql-1-1").Update, []>;
|
|
26
|
+
query: import("@traqula/core").ParserRule<T12.SparqlContext, "query", import("@traqula/rules-sparql-1-1").Query, []>;
|
|
27
|
+
datasetClauses: import("@traqula/core").ParserRule<T12.SparqlContext, "datasetClauses", T12.DatasetClauses, []>;
|
|
28
|
+
bind: import("@traqula/core").ParserRule<T12.SparqlContext, "bind", T12.PatternBind, []>;
|
|
29
|
+
solutionModifier: import("@traqula/core").ParserRule<T12.SparqlContext, "solutionModifier", T12.SolutionModifiers, []>;
|
|
30
|
+
expression: import("@traqula/core").ParserRule<T12.SparqlContext, "expression", T12.Expression, []>;
|
|
31
|
+
aggregate: import("@traqula/core").ParserRule<T12.SparqlContext, "aggregate", T12.ExpressionAggregate, []>;
|
|
32
|
+
functionCall: import("@traqula/core").ParserRule<T12.SparqlContext, "functionCall", T12.ExpressionFunctionCall, []>;
|
|
15
33
|
path: import("@traqula/core").ParserRule<T12.SparqlContext, "path", import("@traqula/rules-sparql-1-1").Path, []>;
|
|
16
|
-
pathEltOrInverse: import("@traqula/core").ParserRule<T12.SparqlContext, "pathEltOrInverse", import("@traqula/rules-sparql-1-1").Path, []>;
|
|
17
|
-
pathSequence: import("@traqula/core").ParserRule<T12.SparqlContext, "pathSequence", import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated, []>;
|
|
18
|
-
pathAlternative: import("@traqula/core").ParserRule<T12.SparqlContext, "pathAlternative", import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated, []>;
|
|
19
|
-
pathElt: import("@traqula/core").ParserRule<T12.SparqlContext, "pathElt", import("@traqula/rules-sparql-1-1").Path, []>;
|
|
20
|
-
pathMod: import("@traqula/core").ParserRule<T12.SparqlContext, "pathMod", import("@traqula/chevrotain").IToken & {
|
|
21
|
-
image: "*" | "+" | "?";
|
|
22
|
-
}, []>;
|
|
23
|
-
pathPrimary: import("@traqula/core").ParserRule<T12.SparqlContext, "pathPrimary", import("@traqula/rules-sparql-1-1").Path, []>;
|
|
24
|
-
pathNegatedPropertySet: import("@traqula/core").ParserRule<T12.SparqlContext, "pathNegatedPropertySet", import("@traqula/rules-sparql-1-1").PathNegated, []>;
|
|
25
|
-
pathOneInPropertySet: import("@traqula/core").ParserRule<T12.SparqlContext, "pathOneInPropertySet", TermIri | import("@traqula/rules-sparql-1-1").PathNegatedElt, []>;
|
|
26
|
-
queryOrUpdate: import("@traqula/core").ParserRule<T12.SparqlContext, "queryOrUpdate", T12.SparqlQuery, []>;
|
|
27
|
-
triplesBlock: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesBlock", T12.PatternBgp, []>;
|
|
28
|
-
triplesSameSubject: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesSameSubject", import("@traqula/rules-sparql-1-1").BasicGraphPattern, []>;
|
|
29
|
-
triplesSameSubjectPath: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesSameSubjectPath", import("@traqula/rules-sparql-1-1").BasicGraphPattern, []>;
|
|
30
|
-
triplesTemplate: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesTemplate", T12.PatternBgp, []>;
|
|
31
|
-
propertyList: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyList", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
|
|
32
34
|
blankNode: import("@traqula/core").ParserRule<T12.SparqlContext, "blankNode", import("@traqula/rules-sparql-1-1").TermBlank, []>;
|
|
33
|
-
propertyListPath: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyListPath", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
|
|
34
|
-
propertyListNotEmpty: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyListNotEmpty", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
|
|
35
|
-
propertyListPathNotEmpty: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyListPathNotEmpty", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
|
|
36
|
-
verbPath: import("@traqula/core").ParserRule<T12.SparqlContext, "verbPath", import("@traqula/rules-sparql-1-1").Path, []>;
|
|
37
|
-
verbSimple: import("@traqula/core").ParserRule<T12.SparqlContext, "verbSimple", import("@traqula/rules-sparql-1-1").TermVariable, []>;
|
|
38
|
-
objectList: import("@traqula/core").ParserRule<T12.SparqlContext, "objectList", T12.TripleNesting[], [T12.GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated | import("@traqula/rules-sparql-1-1").TermVariable]>;
|
|
39
|
-
objectListPath: import("@traqula/core").ParserRule<T12.SparqlContext, "objectListPath", T12.TripleNesting, [T12.GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated | import("@traqula/rules-sparql-1-1").TermVariable]>;
|
|
40
|
-
objectPath: import("@traqula/core").ParserRule<T12.SparqlContext, "objectPath", T12.TripleNesting, [T12.GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated | import("@traqula/rules-sparql-1-1").TermVariable]>;
|
|
41
|
-
collection: import("@traqula/core").ParserRule<T12.SparqlContext, "collection", T12.TripleCollectionList, []>;
|
|
42
|
-
collectionPath: import("@traqula/core").ParserRule<T12.SparqlContext, "collectionPath", T12.TripleCollectionList, []>;
|
|
43
|
-
triplesNode: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesNode", T12.TripleCollection, []>;
|
|
44
|
-
triplesNodePath: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesNodePath", T12.TripleCollection, []>;
|
|
45
|
-
blankNodePropertyList: import("@traqula/core").ParserRule<T12.SparqlContext, "blankNodePropertyList", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
|
|
46
|
-
triples: T12.TripleNesting[];
|
|
47
|
-
identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
|
|
48
|
-
}>, []>;
|
|
49
|
-
blankNodePropertyListPath: import("@traqula/core").ParserRule<T12.SparqlContext, "blankNodePropertyListPath", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
|
|
50
|
-
triples: T12.TripleNesting[];
|
|
51
|
-
identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
|
|
52
|
-
}>, []>;
|
|
53
|
-
graphNode: import("@traqula/core").ParserRule<T12.SparqlContext, "graphNode", T12.GraphNode, []>;
|
|
54
|
-
graphNodePath: import("@traqula/core").ParserRule<T12.SparqlContext, "graphNodePath", T12.GraphNode, []>;
|
|
55
|
-
query: import("@traqula/core").ParserRule<T12.SparqlContext, "query", import("@traqula/rules-sparql-1-1").Query, []>;
|
|
56
35
|
queryUnit: import("@traqula/core").ParserRule<T12.SparqlContext, "queryUnit", import("@traqula/rules-sparql-1-1").Query, []>;
|
|
57
|
-
|
|
58
|
-
|
|
36
|
+
selectQuery: import("@traqula/core").ParserRule<T12.SparqlContext, "selectQuery", Omit<T12.QuerySelect, "values" | "type" | "context">, []>;
|
|
37
|
+
subSelect: import("@traqula/core").ParserRule<T12.SparqlContext, "subSelect", Omit<T12.QuerySelect, "prefixes">, []>;
|
|
38
|
+
selectClause: import("@traqula/core").ParserRule<T12.SparqlContext, "selectClause", Wrap<Pick<T12.QuerySelect, "variables" | "distinct" | "reduced">>, []>;
|
|
59
39
|
constructQuery: import("@traqula/core").ParserRule<T12.SparqlContext, "constructQuery", Omit<T12.QueryConstruct, g11.HandledByBase>, []>;
|
|
60
40
|
describeQuery: import("@traqula/core").ParserRule<T12.SparqlContext, "describeQuery", Omit<T12.QueryDescribe, g11.HandledByBase>, []>;
|
|
61
41
|
askQuery: import("@traqula/core").ParserRule<T12.SparqlContext, "askQuery", Omit<T12.QueryAsk, g11.HandledByBase>, []>;
|
|
62
42
|
valuesClause: import("@traqula/core").ParserRule<T12.SparqlContext, "valuesClause", T12.PatternValues[] | undefined, []>;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
unaryExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "unaryExpression", T12.Expression, []>;
|
|
79
|
-
primaryExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "primaryExpression", T12.Expression, []>;
|
|
80
|
-
brackettedExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "brackettedExpression", T12.Expression, []>;
|
|
81
|
-
iriOrFunction: import("@traqula/core").ParserRule<T12.SparqlContext, "iriOrFunction", TermIri | T12.ExpressionFunctionCall, []>;
|
|
82
|
-
rdfLiteral: import("@traqula/core").ParserRule<T12.SparqlContext, "rdfLiteral", import("@traqula/rules-sparql-1-1").TermLiteral, []>;
|
|
83
|
-
numericLiteral: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteral", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
|
|
84
|
-
numericLiteralUnsigned: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteralUnsigned", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
|
|
85
|
-
numericLiteralPositive: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteralPositive", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
|
|
86
|
-
numericLiteralNegative: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteralNegative", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
|
|
87
|
-
booleanLiteral: import("@traqula/core").ParserRule<T12.SparqlContext, "booleanLiteral", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
|
|
88
|
-
var: import("@traqula/core").ParserRule<T12.SparqlContext, "var", import("@traqula/rules-sparql-1-1").TermVariable, []>;
|
|
43
|
+
constructTemplate: import("@traqula/core").ParserRule<T12.SparqlContext, "constructTemplate", Wrap<T12.PatternBgp>, []>;
|
|
44
|
+
constructTriples: import("@traqula/core").ParserRule<T12.SparqlContext, "constructTriples", T12.PatternBgp, []>;
|
|
45
|
+
updateUnit: import("@traqula/core").ParserRule<T12.SparqlContext, "updateUnit", import("@traqula/rules-sparql-1-1").Update, []>;
|
|
46
|
+
update1: import("@traqula/core").ParserRule<T12.SparqlContext, "update1", T12.UpdateOperation, []>;
|
|
47
|
+
quadPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "quadPattern", Wrap<T12.Quads[]>, []>;
|
|
48
|
+
quadData: import("@traqula/core").ParserRule<T12.SparqlContext, "quadData", Wrap<T12.Quads[]>, []>;
|
|
49
|
+
insertData: import("@traqula/core").ParserRule<T12.SparqlContext, "insertData", T12.UpdateOperationInsertData, []>;
|
|
50
|
+
deleteData: import("@traqula/core").ParserRule<T12.SparqlContext, "deleteData", T12.UpdateOperationDeleteData, []>;
|
|
51
|
+
deleteWhere: import("@traqula/core").ParserRule<T12.SparqlContext, "deleteWhere", T12.UpdateOperationDeleteWhere, []>;
|
|
52
|
+
deleteClause: import("@traqula/core").ParserRule<T12.SparqlContext, "deleteClause", Wrap<T12.Quads[]>, []>;
|
|
53
|
+
insertClause: import("@traqula/core").ParserRule<T12.SparqlContext, "insertClause", Wrap<T12.Quads[]>, []>;
|
|
54
|
+
graphOrDefault: import("@traqula/core").ParserRule<T12.SparqlContext, "graphOrDefault", import("@traqula/rules-sparql-1-1").GraphRefDefault | import("@traqula/rules-sparql-1-1").GraphRefSpecific, []>;
|
|
55
|
+
graphRefAll: import("@traqula/core").ParserRule<T12.SparqlContext, "graphRefAll", import("@traqula/rules-sparql-1-1").GraphRef, []>;
|
|
56
|
+
quads: import("@traqula/core").ParserRule<T12.SparqlContext, "quads", Wrap<T12.Quads[]>, []>;
|
|
57
|
+
quadsNotTriples: import("@traqula/core").ParserRule<T12.SparqlContext, "quadsNotTriples", T12.GraphQuads, []>;
|
|
89
58
|
builtInStr: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInStr", T12.ExpressionOperation, []>;
|
|
90
59
|
builtInLang: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInLang", T12.ExpressionOperation, []>;
|
|
91
60
|
builtInLangmatches: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInLangmatches", T12.ExpressionOperation, []>;
|
|
@@ -104,8 +73,6 @@ export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "st
|
|
|
104
73
|
builtInUcase: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInUcase", T12.ExpressionOperation, []>;
|
|
105
74
|
builtInLcase: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInLcase", T12.ExpressionOperation, []>;
|
|
106
75
|
builtInEncode_for_uri: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInEncode_for_uri", T12.ExpressionOperation, []>;
|
|
107
|
-
functionCall: import("@traqula/core").ParserRule<T12.SparqlContext, "functionCall", T12.ExpressionFunctionCall, []>;
|
|
108
|
-
aggregate: import("@traqula/core").ParserRule<T12.SparqlContext, "aggregate", T12.ExpressionAggregate, []>;
|
|
109
76
|
builtInContains: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInContains", T12.ExpressionOperation, []>;
|
|
110
77
|
builtInStrstarts: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInStrstarts", T12.ExpressionOperation, []>;
|
|
111
78
|
builtInStrends: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInStrends", T12.ExpressionOperation, []>;
|
|
@@ -137,126 +104,159 @@ export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "st
|
|
|
137
104
|
builtInIsblank: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInIsblank", T12.ExpressionOperation, []>;
|
|
138
105
|
builtInIsliteral: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInIsliteral", T12.ExpressionOperation, []>;
|
|
139
106
|
builtInIsnumeric: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInIsnumeric", T12.ExpressionOperation, []>;
|
|
107
|
+
builtInCall: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInCall", import("@traqula/rules-sparql-1-1").Expression, []>;
|
|
140
108
|
builtInRegex: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInRegex", g11.ExpressionFunctionX<[import("@traqula/rules-sparql-1-1").Expression, import("@traqula/rules-sparql-1-1").Expression] | [import("@traqula/rules-sparql-1-1").Expression, import("@traqula/rules-sparql-1-1").Expression, import("@traqula/rules-sparql-1-1").Expression]>, []>;
|
|
141
109
|
builtInSubstr: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInSubstr", T12.ExpressionOperation, []>;
|
|
142
110
|
builtInReplace: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInReplace", T12.ExpressionOperation, []>;
|
|
143
|
-
|
|
111
|
+
builtInExists: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInExists", T12.ExpressionPatternOperation, []>;
|
|
112
|
+
builtInNotexists: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInNotexists", T12.ExpressionPatternOperation, []>;
|
|
113
|
+
builtInCount: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInCount", T12.ExpressionAggregateDefault | T12.ExpressionAggregateOnWildcard, []>;
|
|
144
114
|
builtInSum: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInSum", T12.ExpressionAggregateDefault, []>;
|
|
145
115
|
builtInMin: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInMin", T12.ExpressionAggregateDefault, []>;
|
|
146
116
|
builtInMax: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInMax", T12.ExpressionAggregateDefault, []>;
|
|
147
117
|
builtInAvg: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInAvg", T12.ExpressionAggregateDefault, []>;
|
|
148
118
|
builtInSample: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInSample", T12.ExpressionAggregateDefault, []>;
|
|
149
119
|
builtInGroup_concat: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInGroup_concat", T12.ExpressionAggregateDefault | T12.ExpressionAggregateSeparator, []>;
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
120
|
+
usingClause: import("@traqula/core").ParserRule<T12.SparqlContext, "usingClause", Wrap<{
|
|
121
|
+
clauseType: "default" | "named";
|
|
122
|
+
value: T12.TermIri;
|
|
123
|
+
}>, []>;
|
|
124
|
+
datasetClause: import("@traqula/core").ParserRule<T12.SparqlContext, "datasetClause", Wrap<{
|
|
125
|
+
clauseType: "default" | "named";
|
|
126
|
+
value: T12.TermIri;
|
|
127
|
+
}>, []>;
|
|
128
|
+
defaultGraphClause: import("@traqula/core").ParserRule<T12.SparqlContext, "defaultGraphClause", TermIri, []>;
|
|
129
|
+
usingClauses: import("@traqula/core").ParserRule<T12.SparqlContext, "usingClauses", T12.DatasetClauses, []>;
|
|
130
|
+
namedGraphClause: import("@traqula/core").ParserRule<T12.SparqlContext, "namedGraphClause", Wrap<TermIri>, []>;
|
|
131
|
+
sourceSelector: import("@traqula/core").ParserRule<T12.SparqlContext, "sourceSelector", TermIri, []>;
|
|
153
132
|
argList: import("@traqula/core").ParserRule<T12.SparqlContext, "argList", Wrap<Patch<g11.IArgList, {
|
|
154
133
|
args: T12.Expression[];
|
|
155
134
|
}>>, []>;
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
135
|
+
expressionList: import("@traqula/core").ParserRule<T12.SparqlContext, "expressionList", Wrap<T12.Expression[]>, []>;
|
|
136
|
+
conditionalOrExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "conditionalOrExpression", T12.Expression, []>;
|
|
137
|
+
conditionalAndExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "conditionalAndExpression", T12.Expression, []>;
|
|
138
|
+
valueLogical: import("@traqula/core").ParserRule<T12.SparqlContext, "valueLogical", T12.Expression, []>;
|
|
139
|
+
relationalExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "relationalExpression", T12.Expression, []>;
|
|
140
|
+
numericExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "numericExpression", T12.Expression, []>;
|
|
141
|
+
additiveExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "additiveExpression", T12.Expression, []>;
|
|
142
|
+
multiplicativeExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "multiplicativeExpression", T12.Expression, []>;
|
|
143
|
+
unaryExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "unaryExpression", T12.Expression, []>;
|
|
144
|
+
primaryExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "primaryExpression", T12.Expression, []>;
|
|
145
|
+
brackettedExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "brackettedExpression", T12.Expression, []>;
|
|
146
|
+
iriOrFunction: import("@traqula/core").ParserRule<T12.SparqlContext, "iriOrFunction", TermIri | T12.ExpressionFunctionCall, []>;
|
|
147
|
+
prologue: import("@traqula/core").ParserRule<T12.SparqlContext, "prologue", T12.ContextDefinition[], []>;
|
|
148
|
+
baseDecl: import("@traqula/core").ParserRule<T12.SparqlContext, "baseDecl", T12.ContextDefinition, []>;
|
|
149
|
+
prefixDecl: import("@traqula/core").ParserRule<T12.SparqlContext, "prefixDecl", T12.ContextDefinition, []>;
|
|
162
150
|
verb: import("@traqula/core").ParserRule<T12.SparqlContext, "verb", TermIri | import("@traqula/rules-sparql-1-1").TermVariable, []>;
|
|
163
|
-
|
|
151
|
+
varOrTerm: import("@traqula/core").ParserRule<T12.SparqlContext, "varOrTerm", T12.Term, []>;
|
|
164
152
|
varOrIri: import("@traqula/core").ParserRule<T12.SparqlContext, "varOrIri", TermIri | import("@traqula/rules-sparql-1-1").TermVariable, []>;
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
153
|
+
var: import("@traqula/core").ParserRule<T12.SparqlContext, "var", import("@traqula/rules-sparql-1-1").TermVariable, []>;
|
|
154
|
+
rdfLiteral: import("@traqula/core").ParserRule<T12.SparqlContext, "rdfLiteral", import("@traqula/rules-sparql-1-1").TermLiteral, []>;
|
|
155
|
+
numericLiteral: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteral", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
|
|
156
|
+
numericLiteralUnsigned: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteralUnsigned", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
|
|
157
|
+
numericLiteralPositive: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteralPositive", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
|
|
158
|
+
numericLiteralNegative: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteralNegative", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
|
|
159
|
+
booleanLiteral: import("@traqula/core").ParserRule<T12.SparqlContext, "booleanLiteral", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
|
|
160
|
+
iri: import("@traqula/core").ParserRule<T12.SparqlContext, "iri", TermIri, []>;
|
|
161
|
+
iriFull: import("@traqula/core").ParserRule<T12.SparqlContext, "iriFull", import("@traqula/rules-sparql-1-1").TermIriFull, []>;
|
|
162
|
+
prefixedName: import("@traqula/core").ParserRule<T12.SparqlContext, "prefixedName", import("@traqula/rules-sparql-1-1").TermIriPrefixed, []>;
|
|
163
|
+
VerbA: import("@traqula/core").ParserRule<T12.SparqlContext, "VerbA", import("@traqula/rules-sparql-1-1").TermIriFull, []>;
|
|
164
|
+
pathEltOrInverse: import("@traqula/core").ParserRule<T12.SparqlContext, "pathEltOrInverse", import("@traqula/rules-sparql-1-1").Path, []>;
|
|
165
|
+
pathSequence: import("@traqula/core").ParserRule<T12.SparqlContext, "pathSequence", import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated, []>;
|
|
166
|
+
pathAlternative: import("@traqula/core").ParserRule<T12.SparqlContext, "pathAlternative", import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated, []>;
|
|
167
|
+
pathElt: import("@traqula/core").ParserRule<T12.SparqlContext, "pathElt", import("@traqula/rules-sparql-1-1").Path, []>;
|
|
168
|
+
pathMod: import("@traqula/core").ParserRule<T12.SparqlContext, "pathMod", import("@traqula/chevrotain").IToken & {
|
|
169
|
+
image: "*" | "+" | "?";
|
|
170
|
+
}, []>;
|
|
171
|
+
pathPrimary: import("@traqula/core").ParserRule<T12.SparqlContext, "pathPrimary", import("@traqula/rules-sparql-1-1").Path, []>;
|
|
172
|
+
pathNegatedPropertySet: import("@traqula/core").ParserRule<T12.SparqlContext, "pathNegatedPropertySet", import("@traqula/rules-sparql-1-1").PathNegated, []>;
|
|
173
|
+
pathOneInPropertySet: import("@traqula/core").ParserRule<T12.SparqlContext, "pathOneInPropertySet", TermIri | import("@traqula/rules-sparql-1-1").PathNegatedElt, []>;
|
|
179
174
|
groupClause: import("@traqula/core").ParserRule<T12.SparqlContext, "groupClause", T12.SolutionModifierGroup, []>;
|
|
180
|
-
havingClause: import("@traqula/core").ParserRule<T12.SparqlContext, "havingClause", T12.SolutionModifierHaving, []>;
|
|
181
|
-
orderClause: import("@traqula/core").ParserRule<T12.SparqlContext, "orderClause", T12.SolutionModifierOrder, []>;
|
|
182
|
-
limitOffsetClauses: import("@traqula/core").ParserRule<T12.SparqlContext, "limitOffsetClauses", import("@traqula/rules-sparql-1-1").SolutionModifierLimitOffset, []>;
|
|
183
175
|
groupCondition: import("@traqula/core").ParserRule<T12.SparqlContext, "groupCondition", T12.Expression | T12.SolutionModifierGroupBind, []>;
|
|
176
|
+
havingClause: import("@traqula/core").ParserRule<T12.SparqlContext, "havingClause", T12.SolutionModifierHaving, []>;
|
|
184
177
|
havingCondition: import("@traqula/core").ParserRule<T12.SparqlContext, "havingCondition", T12.Expression, []>;
|
|
178
|
+
orderClause: import("@traqula/core").ParserRule<T12.SparqlContext, "orderClause", T12.SolutionModifierOrder, []>;
|
|
185
179
|
orderCondition: import("@traqula/core").ParserRule<T12.SparqlContext, "orderCondition", T12.Ordering, []>;
|
|
180
|
+
limitOffsetClauses: import("@traqula/core").ParserRule<T12.SparqlContext, "limitOffsetClauses", import("@traqula/rules-sparql-1-1").SolutionModifierLimitOffset, []>;
|
|
186
181
|
limitClause: import("@traqula/core").ParserRule<T12.SparqlContext, "limitClause", Wrap<number>, []>;
|
|
187
182
|
offsetClause: import("@traqula/core").ParserRule<T12.SparqlContext, "offsetClause", Wrap<number>, []>;
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
183
|
+
triplesBlock: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesBlock", T12.PatternBgp, []>;
|
|
184
|
+
triplesSameSubject: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesSameSubject", import("@traqula/rules-sparql-1-1").BasicGraphPattern, []>;
|
|
185
|
+
triplesSameSubjectPath: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesSameSubjectPath", import("@traqula/rules-sparql-1-1").BasicGraphPattern, []>;
|
|
186
|
+
triplesTemplate: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesTemplate", T12.PatternBgp, []>;
|
|
187
|
+
propertyList: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyList", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
|
|
188
|
+
propertyListPath: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyListPath", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
|
|
189
|
+
propertyListNotEmpty: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyListNotEmpty", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
|
|
190
|
+
propertyListPathNotEmpty: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyListPathNotEmpty", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
|
|
191
|
+
verbPath: import("@traqula/core").ParserRule<T12.SparqlContext, "verbPath", import("@traqula/rules-sparql-1-1").Path, []>;
|
|
192
|
+
verbSimple: import("@traqula/core").ParserRule<T12.SparqlContext, "verbSimple", import("@traqula/rules-sparql-1-1").TermVariable, []>;
|
|
193
|
+
objectList: import("@traqula/core").ParserRule<T12.SparqlContext, "objectList", T12.TripleNesting[], [T12.GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated]>;
|
|
194
|
+
objectListPath: import("@traqula/core").ParserRule<T12.SparqlContext, "objectListPath", T12.TripleNesting, [T12.GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated]>;
|
|
195
|
+
objectPath: import("@traqula/core").ParserRule<T12.SparqlContext, "objectPath", T12.TripleNesting, [T12.GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated]>;
|
|
196
|
+
collection: import("@traqula/core").ParserRule<T12.SparqlContext, "collection", T12.TripleCollectionList, []>;
|
|
197
|
+
collectionPath: import("@traqula/core").ParserRule<T12.SparqlContext, "collectionPath", T12.TripleCollectionList, []>;
|
|
198
|
+
triplesNode: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesNode", T12.TripleCollection, []>;
|
|
199
|
+
triplesNodePath: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesNodePath", T12.TripleCollection, []>;
|
|
200
|
+
blankNodePropertyList: import("@traqula/core").ParserRule<T12.SparqlContext, "blankNodePropertyList", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
|
|
201
|
+
triples: T12.TripleNesting[];
|
|
202
|
+
identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
|
|
191
203
|
}>, []>;
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
sourceSelector: import("@traqula/core").ParserRule<T12.SparqlContext, "sourceSelector", TermIri, []>;
|
|
196
|
-
constructTemplate: import("@traqula/core").ParserRule<T12.SparqlContext, "constructTemplate", Wrap<T12.PatternBgp>, []>;
|
|
197
|
-
constructTriples: import("@traqula/core").ParserRule<T12.SparqlContext, "constructTriples", T12.PatternBgp, []>;
|
|
198
|
-
updateUnit: import("@traqula/core").ParserRule<T12.SparqlContext, "updateUnit", import("@traqula/rules-sparql-1-1").Update, []>;
|
|
199
|
-
update: import("@traqula/core").ParserRule<T12.SparqlContext, "update", import("@traqula/rules-sparql-1-1").Update, []>;
|
|
200
|
-
load: import("@traqula/core").ParserRule<T12.SparqlContext, "load", T12.UpdateOperationLoad, []>;
|
|
201
|
-
clear: import("@traqula/core").ParserRule<T12.SparqlContext, "clear", T12.UpdateOperationClear, []>;
|
|
202
|
-
drop: import("@traqula/core").ParserRule<T12.SparqlContext, "drop", T12.UpdateOperationDrop, []>;
|
|
203
|
-
add: import("@traqula/core").ParserRule<T12.SparqlContext, "add", T12.UpdateOperationAdd, []>;
|
|
204
|
-
move: import("@traqula/core").ParserRule<T12.SparqlContext, "move", T12.UpdateOperationMove, []>;
|
|
205
|
-
copy: import("@traqula/core").ParserRule<T12.SparqlContext, "copy", T12.UpdateOperationCopy, []>;
|
|
206
|
-
create: import("@traqula/core").ParserRule<T12.SparqlContext, "create", T12.UpdateOperationCreate, []>;
|
|
207
|
-
insertData: import("@traqula/core").ParserRule<T12.SparqlContext, "insertData", T12.UpdateOperationInsertData, []>;
|
|
208
|
-
deleteData: import("@traqula/core").ParserRule<T12.SparqlContext, "deleteData", T12.UpdateOperationDeleteData, []>;
|
|
209
|
-
deleteWhere: import("@traqula/core").ParserRule<T12.SparqlContext, "deleteWhere", T12.UpdateOperationDeleteWhere, []>;
|
|
210
|
-
graphRef: import("@traqula/core").ParserRule<T12.SparqlContext, "graphRef", import("@traqula/rules-sparql-1-1").GraphRefSpecific, []>;
|
|
211
|
-
graphRefAll: import("@traqula/core").ParserRule<T12.SparqlContext, "graphRefAll", import("@traqula/rules-sparql-1-1").GraphRef, []>;
|
|
212
|
-
graphOrDefault: import("@traqula/core").ParserRule<T12.SparqlContext, "graphOrDefault", import("@traqula/rules-sparql-1-1").GraphRefSpecific | import("@traqula/rules-sparql-1-1").GraphRefDefault, []>;
|
|
213
|
-
quadData: import("@traqula/core").ParserRule<T12.SparqlContext, "quadData", Wrap<T12.Quads[]>, []>;
|
|
214
|
-
quads: import("@traqula/core").ParserRule<T12.SparqlContext, "quads", Wrap<T12.Quads[]>, []>;
|
|
215
|
-
update1: import("@traqula/core").ParserRule<T12.SparqlContext, "update1", T12.UpdateOperation, []>;
|
|
216
|
-
quadPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "quadPattern", Wrap<T12.Quads[]>, []>;
|
|
217
|
-
quadsNotTriples: import("@traqula/core").ParserRule<T12.SparqlContext, "quadsNotTriples", T12.GraphQuads, []>;
|
|
218
|
-
modify: import("@traqula/core").ParserRule<T12.SparqlContext, "modify", T12.UpdateOperationModify, []>;
|
|
219
|
-
deleteClause: import("@traqula/core").ParserRule<T12.SparqlContext, "deleteClause", Wrap<T12.Quads[]>, []>;
|
|
220
|
-
insertClause: import("@traqula/core").ParserRule<T12.SparqlContext, "insertClause", Wrap<T12.Quads[]>, []>;
|
|
221
|
-
usingClause: import("@traqula/core").ParserRule<T12.SparqlContext, "usingClause", Wrap<{
|
|
222
|
-
clauseType: "default" | "named";
|
|
223
|
-
value: T12.TermIri;
|
|
204
|
+
blankNodePropertyListPath: import("@traqula/core").ParserRule<T12.SparqlContext, "blankNodePropertyListPath", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
|
|
205
|
+
triples: T12.TripleNesting[];
|
|
206
|
+
identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
|
|
224
207
|
}>, []>;
|
|
225
|
-
|
|
208
|
+
graphNode: import("@traqula/core").ParserRule<T12.SparqlContext, "graphNode", T12.GraphNode, []>;
|
|
209
|
+
graphNodePath: import("@traqula/core").ParserRule<T12.SparqlContext, "graphNodePath", T12.GraphNode, []>;
|
|
210
|
+
whereClause: import("@traqula/core").ParserRule<T12.SparqlContext, "whereClause", Wrap<T12.PatternGroup>, []>;
|
|
211
|
+
groupGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "groupGraphPattern", T12.PatternGroup, []>;
|
|
212
|
+
groupGraphPatternSub: import("@traqula/core").ParserRule<T12.SparqlContext, "groupGraphPatternSub", T12.Pattern[], []>;
|
|
213
|
+
graphPatternNotTriples: import("@traqula/core").ParserRule<T12.SparqlContext, "graphPatternNotTriples", T12.PatternGroup | T12.PatternUnion | T12.PatternOptional | T12.PatternMinus | T12.PatternGraph | T12.PatternService | T12.PatternFilter | T12.PatternBind | T12.PatternValues, []>;
|
|
214
|
+
optionalGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "optionalGraphPattern", T12.PatternOptional, []>;
|
|
215
|
+
graphGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "graphGraphPattern", T12.PatternGraph, []>;
|
|
216
|
+
serviceGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "serviceGraphPattern", T12.PatternService, []>;
|
|
217
|
+
inlineData: import("@traqula/core").ParserRule<T12.SparqlContext, "inlineData", T12.PatternValues, []>;
|
|
218
|
+
dataBlock: import("@traqula/core").ParserRule<T12.SparqlContext, "dataBlock", T12.PatternValues, []>;
|
|
219
|
+
inlineDataOneVar: import("@traqula/core").ParserRule<T12.SparqlContext, "inlineDataOneVar", T12.PatternValues, []>;
|
|
220
|
+
inlineDataFull: import("@traqula/core").ParserRule<T12.SparqlContext, "inlineDataFull", T12.PatternValues, []>;
|
|
221
|
+
dataBlockValue: import("@traqula/core").ParserRule<T12.SparqlContext, "dataBlockValue", TermIri | import("@traqula/rules-sparql-1-1").TermLiteral | T12.TermTriple | undefined, []>;
|
|
222
|
+
minusGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "minusGraphPattern", T12.PatternMinus, []>;
|
|
223
|
+
groupOrUnionGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "groupOrUnionGraphPattern", T12.PatternGroup | T12.PatternUnion, []>;
|
|
224
|
+
constraint: import("@traqula/core").ParserRule<T12.SparqlContext, "constraint", T12.Expression, []>;
|
|
225
|
+
queryOrUpdate: import("@traqula/core").ParserRule<T12.SparqlContext, "queryOrUpdate", T12.SparqlQuery, []>;
|
|
226
226
|
reifiedTriple: import("@traqula/core").ParserRule<any, "reifiedTriple"> & T12.SparqlGrammarRule<"reifiedTriple", T12.TripleCollectionReifiedTriple, []> & T12.SparqlGeneratorRule<"reifiedTriple", T12.TripleCollectionReifiedTriple, []>;
|
|
227
|
+
versionDecl: import("@traqula/core").ParserRule<any, "versionDecl"> & T12.SparqlGrammarRule<"versionDecl", T12.ContextDefinitionVersion, []> & T12.SparqlGeneratorRule<"versionDecl", T12.ContextDefinitionVersion, []>;
|
|
228
|
+
versionSpecifier: import("@traqula/core").ParserRule<any, "versionSpecifier"> & T12.SparqlGrammarRule<"versionSpecifier", Wrap<string>>;
|
|
227
229
|
reifiedTripleBlock: import("@traqula/core").ParserRule<any, "reifiedTripleBlock"> & T12.SparqlGrammarRule<"reifiedTripleBlock", import("@traqula/rules-sparql-1-1").BasicGraphPattern>;
|
|
228
230
|
reifiedTripleBlockPath: import("@traqula/core").ParserRule<any, "reifiedTripleBlockPath"> & T12.SparqlGrammarRule<"reifiedTripleBlockPath", import("@traqula/rules-sparql-1-1").BasicGraphPattern>;
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
annotation: import("@traqula/core").ParserRule<any, "annotation"> & T12.SparqlGrammarRule<"annotation", T12.Annotation[], []> & T12.SparqlGeneratorRule<"annotation", T12.Annotation[], []>;
|
|
231
|
+
varOrReifierId: import("@traqula/core").ParserRule<any, "varOrReifierId"> & T12.SparqlGrammarRule<"varOrReifierId", TermIri | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").TermBlank>;
|
|
232
|
+
reifier: import("@traqula/core").ParserRule<any, "reifier"> & T12.SparqlGrammarRule<"reifier", Wrap<TermIri | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").TermBlank>>;
|
|
232
233
|
annotationPath: import("@traqula/core").ParserRule<any, "annotationPath"> & T12.SparqlGrammarRule<"annotationPath", T12.Annotation[], []> & T12.SparqlGeneratorRule<"annotationPath", T12.Annotation[], []>;
|
|
234
|
+
annotation: import("@traqula/core").ParserRule<any, "annotation"> & T12.SparqlGrammarRule<"annotation", T12.Annotation[], []> & T12.SparqlGeneratorRule<"annotation", T12.Annotation[], []>;
|
|
233
235
|
annotationBlockPath: import("@traqula/core").ParserRule<any, "annotationBlockPath"> & T12.SparqlGrammarRule<"annotationBlockPath", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
|
|
234
236
|
triples: T12.TripleNesting[];
|
|
235
237
|
identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
|
|
236
|
-
}>, [TermIri | import("@traqula/rules-sparql-1-1").
|
|
238
|
+
}>, [TermIri | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").TermBlank]> & T12.SparqlGeneratorRule<"annotationBlockPath", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
|
|
237
239
|
triples: T12.TripleNesting[];
|
|
238
240
|
identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
|
|
239
241
|
}>>;
|
|
240
242
|
annotationBlock: import("@traqula/core").ParserRule<any, "annotationBlock"> & T12.SparqlGrammarRule<"annotationBlock", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
|
|
241
243
|
triples: T12.TripleNesting[];
|
|
242
244
|
identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
|
|
243
|
-
}>, [TermIri | import("@traqula/rules-sparql-1-1").
|
|
245
|
+
}>, [TermIri | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").TermBlank]> & T12.SparqlGeneratorRule<"annotationBlock", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
|
|
244
246
|
triples: T12.TripleNesting[];
|
|
245
247
|
identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
|
|
246
248
|
}>>;
|
|
247
|
-
reifiedTripleSubject: import("@traqula/core").ParserRule<any, "reifiedTripleSubject"> & T12.SparqlGrammarRule<"reifiedTripleSubject", T12.
|
|
248
|
-
reifiedTripleObject: import("@traqula/core").ParserRule<any, "reifiedTripleObject"> & T12.SparqlGrammarRule<"reifiedTripleObject", T12.
|
|
249
|
+
reifiedTripleSubject: import("@traqula/core").ParserRule<any, "reifiedTripleSubject"> & T12.SparqlGrammarRule<"reifiedTripleSubject", T12.TripleCollectionReifiedTriple | T12.Term>;
|
|
250
|
+
reifiedTripleObject: import("@traqula/core").ParserRule<any, "reifiedTripleObject"> & T12.SparqlGrammarRule<"reifiedTripleObject", T12.TripleCollectionReifiedTriple | T12.Term>;
|
|
249
251
|
tripleTerm: import("@traqula/core").ParserRule<any, "tripleTerm"> & T12.SparqlGrammarRule<"tripleTerm", T12.TermTriple, []> & T12.SparqlGeneratorRule<"tripleTerm", T12.TermTriple, []>;
|
|
250
|
-
tripleTermSubject: import("@traqula/core").ParserRule<any, "tripleTermSubject"> & T12.SparqlGrammarRule<"tripleTermSubject", TermIri | import("@traqula/rules-sparql-1-1").
|
|
251
|
-
tripleTermObject: import("@traqula/core").ParserRule<any, "tripleTermObject"> & T12.SparqlGrammarRule<"tripleTermObject", TermIri | import("@traqula/rules-sparql-1-1").
|
|
252
|
+
tripleTermSubject: import("@traqula/core").ParserRule<any, "tripleTermSubject"> & T12.SparqlGrammarRule<"tripleTermSubject", TermIri | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").TermLiteral | import("@traqula/rules-sparql-1-1").TermBlank | T12.TermTriple>;
|
|
253
|
+
tripleTermObject: import("@traqula/core").ParserRule<any, "tripleTermObject"> & T12.SparqlGrammarRule<"tripleTermObject", TermIri | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").TermLiteral | import("@traqula/rules-sparql-1-1").TermBlank | T12.TermTriple>;
|
|
252
254
|
tripleTermData: import("@traqula/core").ParserRule<any, "tripleTermData"> & T12.SparqlGrammarRule<"tripleTermData", T12.TermTriple>;
|
|
253
255
|
tripleTermDataSubject: import("@traqula/core").ParserRule<any, "tripleTermDataSubject"> & T12.SparqlGrammarRule<"tripleTermDataSubject", TermIri | import("@traqula/rules-sparql-1-1").TermLiteral | T12.TermTriple>;
|
|
254
256
|
tripleTermDataObject: import("@traqula/core").ParserRule<any, "tripleTermDataObject"> & T12.SparqlGrammarRule<"tripleTermDataObject", TermIri | import("@traqula/rules-sparql-1-1").TermLiteral | T12.TermTriple>;
|
|
255
257
|
exprTripleTerm: import("@traqula/core").ParserRule<any, "exprTripleTerm"> & T12.SparqlGrammarRule<"exprTripleTerm", T12.TermTriple>;
|
|
256
|
-
exprTripleTermSubject: import("@traqula/core").ParserRule<any, "exprTripleTermSubject"> & T12.SparqlGrammarRule<"exprTripleTermSubject", TermIri | import("@traqula/rules-sparql-1-1").
|
|
257
|
-
exprTripleTermObject: import("@traqula/core").ParserRule<any, "exprTripleTermObject"> & T12.SparqlGrammarRule<"exprTripleTermObject", TermIri | import("@traqula/rules-sparql-1-1").
|
|
258
|
-
versionDecl: import("@traqula/core").ParserRule<any, "versionDecl"> & T12.SparqlGrammarRule<"versionDecl", T12.ContextDefinitionVersion, []> & T12.SparqlGeneratorRule<"versionDecl", T12.ContextDefinitionVersion, []>;
|
|
259
|
-
versionSpecifier: import("@traqula/core").ParserRule<any, "versionSpecifier"> & T12.SparqlGrammarRule<"versionSpecifier", Wrap<string>>;
|
|
258
|
+
exprTripleTermSubject: import("@traqula/core").ParserRule<any, "exprTripleTermSubject"> & T12.SparqlGrammarRule<"exprTripleTermSubject", TermIri | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").TermLiteral | T12.TermTriple>;
|
|
259
|
+
exprTripleTermObject: import("@traqula/core").ParserRule<any, "exprTripleTermObject"> & T12.SparqlGrammarRule<"exprTripleTermObject", TermIri | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").TermLiteral | T12.TermTriple>;
|
|
260
260
|
builtInLangdir: import("@traqula/core").ParserRule<any, "builtInLangdir"> & g11.RuleDefExpressionFunctionX<"builtInLangdir", [import("@traqula/rules-sparql-1-1").Expression]>;
|
|
261
261
|
builtInStrLangdir: import("@traqula/core").ParserRule<any, "builtInStrLangdir"> & g11.RuleDefExpressionFunctionX<"builtInStrLangdir", [import("@traqula/rules-sparql-1-1").Expression, import("@traqula/rules-sparql-1-1").Expression, import("@traqula/rules-sparql-1-1").Expression]>;
|
|
262
262
|
builtInHasLang: import("@traqula/core").ParserRule<any, "builtInHasLang"> & g11.RuleDefExpressionFunctionX<"builtInHasLang", [import("@traqula/rules-sparql-1-1").Expression]>;
|
package/dist/esm/lib/Parser.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ParserBuilder } from '@traqula/core';
|
|
2
2
|
import { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1';
|
|
3
|
-
import { gram as g11,
|
|
3
|
+
import { gram as g11, } from '@traqula/rules-sparql-1-1';
|
|
4
4
|
import { completeParseContext, copyParseContext, gram as S12, lex as l12 } from '@traqula/rules-sparql-1-2';
|
|
5
5
|
/**
|
|
6
6
|
* Pre-configured {@link ParserBuilder} for SPARQL 1.2, extending the SPARQL 1.1 parser builder
|
|
@@ -28,6 +28,8 @@ export const sparql12ParserBuilder = ParserBuilder.create(sparql11ParserBuilder)
|
|
|
28
28
|
.patchRule(S12.rdfLiteral)
|
|
29
29
|
.patchRule(S12.unaryExpression)
|
|
30
30
|
.patchRule(S12.prologue)
|
|
31
|
+
.patchRule(S12.string)
|
|
32
|
+
.patchRule(S12.iriFull)
|
|
31
33
|
.deleteRule(g11.graphTerm.name);
|
|
32
34
|
/**
|
|
33
35
|
* Parser that can parse a SPARQL 1.2 string into a SPARQL 1.2 AST.
|
|
@@ -38,7 +40,6 @@ export class Parser {
|
|
|
38
40
|
constructor(args = {}) {
|
|
39
41
|
this.parser = sparql12ParserBuilder.build({
|
|
40
42
|
...args,
|
|
41
|
-
queryPreProcessor: sparqlCodepointEscape,
|
|
42
43
|
tokenVocabulary: l12.sparql12LexerBuilder.tokenVocabulary,
|
|
43
44
|
});
|
|
44
45
|
this.defaultContext = completeParseContext(args.defaultContext ?? {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../../lib/Parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { ParserBuilder } from '@traqula/core';\nimport type { Patch, Wrap, ParserBuildArgs } from '@traqula/core';\nimport { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1';\nimport {\n gram as g11,\n sparqlCodepointEscape,\n} from '@traqula/rules-sparql-1-1';\nimport type {\n TermIri,\n} from '@traqula/rules-sparql-1-1';\nimport { completeParseContext, copyParseContext, gram as S12, lex as l12 } from '@traqula/rules-sparql-1-2';\nimport type * as T12 from '@traqula/rules-sparql-1-2';\n\n/**\n * Pre-configured {@link ParserBuilder} for SPARQL 1.2, extending the SPARQL 1.1 parser builder\n * with SPARQL 1.2 grammar rules (e.g. reified triples, triple terms, VERSION declaration).\n * Use {@link ParserBuilder.create ParserBuilder.create(sparql12ParserBuilder)} to extend it\n * with additional rules.\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[], [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.objectListPath.name]: [T12.TripleNesting, [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.object.name]: [T12.TripleNesting, [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.objectPath.name]: [T12.TripleNesting[], [ T12.TripleNesting['subject'], T12.TripleNesting['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]: [T12.PatternValues];\n [g11.inlineDataOneVar.name]: [T12.PatternValues];\n [g11.inlineDataFull.name]: [T12.PatternValues];\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.buildInLangDir,\n S12.buildInLangStrDir,\n S12.buildInHasLang,\n S12.buildInHasLangDir,\n S12.buildInIsTriple,\n S12.buildInTriple,\n S12.buildInSubject,\n S12.buildInPredicate,\n S12.buildInObject,\n )\n .patchRule(S12.selectQuery)\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 .patchRule(S12.primaryExpression)\n .patchRule(S12.builtInCall)\n .patchRule(S12.rdfLiteral)\n .patchRule(S12.unaryExpression)\n .patchRule(S12.prologue)\n .deleteRule(g11.graphTerm.name);\n\nexport type SparqlParser = ReturnType<typeof sparql12ParserBuilder.build>;\n\n/**\n * Parser that can parse a SPARQL 1.2 string into a SPARQL 1.2 AST.\n */\nexport class Parser {\n private readonly parser: SparqlParser;\n protected readonly defaultContext: T12.SparqlContext;\n\n public constructor(\n args: Pick<ParserBuildArgs, 'parserConfig' | 'lexerConfig'> & { defaultContext?: Partial<T12.SparqlContext> } = {},\n ) {\n this.parser = sparql12ParserBuilder.build({\n ...args,\n queryPreProcessor: sparqlCodepointEscape,\n tokenVocabulary: l12.sparql12LexerBuilder.tokenVocabulary,\n });\n this.defaultContext = completeParseContext(args.defaultContext ?? {});\n }\n\n /**\n * Parse a query string starting from the\n * [QueryUnit](https://www.w3.org/TR/sparql12-query/#rQueryUnit)\n * or [QueryUpdate](https://www.w3.org/TR/sparql12-query/#rUpdateUnit) rules.\n * @param query\n * @param context\n */\n public parse(query: string, context: Partial<T12.SparqlContext> = {}): T12.SparqlQuery {\n const ast = this.parser.queryOrUpdate(query, copyParseContext({ ...this.defaultContext, ...context }));\n ast.loc = this.defaultContext.astFactory.sourceLocationInlinedSource(query, ast.loc, 0, Number.MAX_SAFE_INTEGER);\n return ast;\n }\n\n /**\n * Parse a query string starting from the [Path](https://www.w3.org/TR/sparql12-query/#rPath) grammar rule.\n * @param query\n * @param context\n */\n public parsePath(\n query: string,\ncontext: Partial<T12.SparqlContext> = {},\n ): (T12.Path & { prefixes: object }) | TermIri {\n const ast = this.parser.path(query, copyParseContext({ ...this.defaultContext, ...context }));\n ast.loc = this.defaultContext.astFactory.sourceLocationInlinedSource(query, ast.loc, 0, Number.MAX_SAFE_INTEGER);\n if (this.defaultContext.astFactory.isPathPure(ast)) {\n return {\n ...ast,\n prefixes: {},\n };\n }\n return ast;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../../lib/Parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { ParserBuilder } from '@traqula/core';\nimport type { Patch, Wrap, ParserBuildArgs } from '@traqula/core';\nimport { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1';\nimport {\n gram as g11,\n} from '@traqula/rules-sparql-1-1';\nimport type {\n TermIri,\n} from '@traqula/rules-sparql-1-1';\nimport { completeParseContext, copyParseContext, gram as S12, lex as l12 } from '@traqula/rules-sparql-1-2';\nimport type * as T12 from '@traqula/rules-sparql-1-2';\n\n/**\n * Pre-configured {@link ParserBuilder} for SPARQL 1.2, extending the SPARQL 1.1 parser builder\n * with SPARQL 1.2 grammar rules (e.g. reified triples, triple terms, VERSION declaration).\n * Use {@link ParserBuilder.create ParserBuilder.create(sparql12ParserBuilder)} to extend it\n * with additional rules.\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[], [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.objectListPath.name]: [T12.TripleNesting, [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.object.name]: [T12.TripleNesting, [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.objectPath.name]: [T12.TripleNesting[], [ T12.TripleNesting['subject'], T12.TripleNesting['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]: [T12.PatternValues];\n [g11.inlineDataOneVar.name]: [T12.PatternValues];\n [g11.inlineDataFull.name]: [T12.PatternValues];\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.buildInLangDir,\n S12.buildInLangStrDir,\n S12.buildInHasLang,\n S12.buildInHasLangDir,\n S12.buildInIsTriple,\n S12.buildInTriple,\n S12.buildInSubject,\n S12.buildInPredicate,\n S12.buildInObject,\n )\n .patchRule(S12.selectQuery)\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 .patchRule(S12.primaryExpression)\n .patchRule(S12.builtInCall)\n .patchRule(S12.rdfLiteral)\n .patchRule(S12.unaryExpression)\n .patchRule(S12.prologue)\n .patchRule(S12.string)\n .patchRule(S12.iriFull)\n .deleteRule(g11.graphTerm.name);\n\nexport type SparqlParser = ReturnType<typeof sparql12ParserBuilder.build>;\n\n/**\n * Parser that can parse a SPARQL 1.2 string into a SPARQL 1.2 AST.\n */\nexport class Parser {\n private readonly parser: SparqlParser;\n protected readonly defaultContext: T12.SparqlContext;\n\n public constructor(\n args: Pick<ParserBuildArgs, 'parserConfig' | 'lexerConfig'> & { defaultContext?: Partial<T12.SparqlContext> } = {},\n ) {\n this.parser = sparql12ParserBuilder.build({\n ...args,\n tokenVocabulary: l12.sparql12LexerBuilder.tokenVocabulary,\n });\n this.defaultContext = completeParseContext(args.defaultContext ?? {});\n }\n\n /**\n * Parse a query string starting from the\n * [QueryUnit](https://www.w3.org/TR/sparql12-query/#rQueryUnit)\n * or [QueryUpdate](https://www.w3.org/TR/sparql12-query/#rUpdateUnit) rules.\n * @param query\n * @param context\n */\n public parse(query: string, context: Partial<T12.SparqlContext> = {}): T12.SparqlQuery {\n const ast = this.parser.queryOrUpdate(query, copyParseContext({ ...this.defaultContext, ...context }));\n ast.loc = this.defaultContext.astFactory.sourceLocationInlinedSource(query, ast.loc, 0, Number.MAX_SAFE_INTEGER);\n return ast;\n }\n\n /**\n * Parse a query string starting from the [Path](https://www.w3.org/TR/sparql12-query/#rPath) grammar rule.\n * @param query\n * @param context\n */\n public parsePath(\n query: string,\ncontext: Partial<T12.SparqlContext> = {},\n ): (T12.Path & { prefixes: object }) | TermIri {\n const ast = this.parser.path(query, copyParseContext({ ...this.defaultContext, ...context }));\n ast.loc = this.defaultContext.astFactory.sourceLocationInlinedSource(query, ast.loc, 0, Number.MAX_SAFE_INTEGER);\n if (this.defaultContext.astFactory.isPathPure(ast)) {\n return {\n ...ast,\n prefixes: {},\n };\n }\n return ast;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@traqula/parser-sparql-1-2",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.3",
|
|
5
5
|
"description": "SPARQL 1.2 parser",
|
|
6
6
|
"lsd:module": true,
|
|
7
7
|
"license": "MIT",
|
|
@@ -53,17 +53,17 @@
|
|
|
53
53
|
"spec:earl": "yarn spec:earl:base-1-0 && yarn spec:earl:query-1-1 && yarn spec:earl:update-1-1"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@traqula/core": "^1.1.
|
|
57
|
-
"@traqula/parser-sparql-1-1": "^1.1.
|
|
58
|
-
"@traqula/rules-sparql-1-1": "^1.1.
|
|
59
|
-
"@traqula/rules-sparql-1-2": "^1.1.
|
|
56
|
+
"@traqula/core": "^1.1.3",
|
|
57
|
+
"@traqula/parser-sparql-1-1": "^1.1.3",
|
|
58
|
+
"@traqula/rules-sparql-1-1": "^1.1.3",
|
|
59
|
+
"@traqula/rules-sparql-1-2": "^1.1.3",
|
|
60
60
|
"rdf-data-factory": "^2.0.1"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
|
-
"@traqula/test-utils": "^1.1.
|
|
63
|
+
"@traqula/test-utils": "^1.1.3",
|
|
64
64
|
"rdf-data-factory": "^2.0.1",
|
|
65
65
|
"rdf-test-suite": "^2.0.0",
|
|
66
66
|
"sparqljs": "^3.7.3"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "9f3269bc699a2990f2948c78883dabdac6908f26"
|
|
69
69
|
}
|