@traqula/generator-sparql-1-2 0.0.24 → 0.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,6 +8,8 @@
8
8
 
9
9
  # Traqula SPARQL 1.2 generator
10
10
 
11
+ [![npm version](https://badge.fury.io/js/@traqula%2Fgenerator-sparql-1-2.svg)](https://www.npmjs.com/package/@traqula/generator-sparql-1-2)
12
+
11
13
  Traqula Generator Sparql 1.2 is a [SPARQL 1.2](https://www.w3.org/TR/sparql12-query/#grammar) query generator for TypeScript.
12
14
  It can generate SPARQL given the AST created by [Traqula parser SPARQL 1-2](https://github.com/comunica/traqula/tree/main/engines/parser-sparql-1-2).
13
15
 
@@ -16,18 +16,32 @@ exports.sparql12GeneratorBuilder = core_1.GeneratorBuilder.create(generator_spar
16
16
  .patchRule(rules_sparql_1_2_1.gram.prologue)
17
17
  .patchRule(rules_sparql_1_2_1.gram.generateTriplesBlock)
18
18
  .patchRule(rules_sparql_1_2_1.gram.generateGraphTerm);
19
+ /**
20
+ * Generator that can generate a SPARQL 1.2 query string given a SPARQL 1.2 Traqula AST.
21
+ */
19
22
  class Generator {
20
23
  defaultContext;
21
24
  constructor(defaultContext = {}) {
22
- this.defaultContext = defaultContext;
25
+ this.defaultContext = (0, rules_sparql_1_2_1.completeGeneratorContext)(defaultContext);
23
26
  }
24
27
  generator = exports.sparql12GeneratorBuilder.build();
25
- F = new rules_sparql_1_2_1.AstFactory();
28
+ /**
29
+ * Generates a query string starting from the
30
+ * [QueryUnit](https://www.w3.org/TR/sparql12-query/#rQueryUnit)
31
+ * or [QueryUpdate](https://www.w3.org/TR/sparql12-query/#rUpdateUnit) rules.
32
+ * @param ast
33
+ * @param context
34
+ */
26
35
  generate(ast, context = {}) {
27
- return this.generator.queryOrUpdate(ast, (0, rules_sparql_1_2_1.completeParseContext)({ ...this.defaultContext, ...context })).trim();
36
+ return this.generator.queryOrUpdate(ast, { ...this.defaultContext, ...context }).trim();
28
37
  }
38
+ /**
39
+ * Generates a query string starting from the [Path](https://www.w3.org/TR/sparql12-query/#rPath) grammar rule.
40
+ * @param ast
41
+ * @param context
42
+ */
29
43
  generatePath(ast, context = {}) {
30
- return this.generator.path(ast, (0, rules_sparql_1_2_1.completeParseContext)({ ...this.defaultContext, ...context }), undefined).trim();
44
+ return this.generator.path(ast, { ...this.defaultContext, ...context }, undefined).trim();
31
45
  }
32
46
  }
33
47
  exports.Generator = Generator;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":";;;AAAA,wCAAiD;AAEjD,wEAAyE;AAIzE,gEAA0F;AAG7E,QAAA,wBAAwB,GACnC,uBAAgB,CAAC,MAAM,CAAC,+CAAwB,CAAC;KAC9C,YAAY,EAA8B;KAC1C,SAAS,EA6EN;KACH,OAAO,CAAC,uBAAG,CAAC,UAAU,CAAC;KACvB,OAAO,CAAC,uBAAG,CAAC,aAAa,CAAC;KAC1B,SAAS,CAAC,uBAAG,CAAC,aAAa,CAAC;KAC5B,OAAO,CAAC,uBAAG,CAAC,mBAAmB,CAAC;KAChC,OAAO,CAAC,uBAAG,CAAC,cAAc,CAAC;KAC3B,OAAO,CAAC,uBAAG,CAAC,WAAW,CAAC;KACxB,SAAS,CAAC,uBAAG,CAAC,QAAQ,CAAC;KACvB,SAAS,CAAC,uBAAG,CAAC,oBAAoB,CAAC;KACnC,SAAS,CAAC,uBAAG,CAAC,iBAAiB,CAAC,CAAC;AAItC,MAAa,SAAS;IACgB;IAApC,YAAoC,iBAAsD,EAAE;QAAxD,mBAAc,GAAd,cAAc,CAA0C;IAAG,CAAC;IAE/E,SAAS,GAAoB,gCAAwB,CAAC,KAAK,EAAE,CAAC;IAC9D,CAAC,GAAG,IAAI,6BAAU,EAAE,CAAC;IAE/B,QAAQ,CAAC,GAA2B,EAAE,UAA+C,EAAE;QAC5F,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,IAAA,uCAAoB,EAAC,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChH,CAAC;IAEM,YAAY,CAAC,GAAa,EAAE,UAA+C,EAAE;QAClF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAA,uCAAoB,EAAC,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAClH,CAAC;CACF;AAbD,8BAaC","sourcesContent":["import { GeneratorBuilder } from '@traqula/core';\nimport type { Wrap, Patch } from '@traqula/core';\nimport { sparql11GeneratorBuilder } from '@traqula/generator-sparql-1-1';\nimport type {\n gram as g11,\n} from '@traqula/rules-sparql-1-1';\nimport { completeParseContext, AstFactory, gram as g12 } from '@traqula/rules-sparql-1-2';\nimport type * as T12 from '@traqula/rules-sparql-1-2';\n\nexport const sparql12GeneratorBuilder =\n GeneratorBuilder.create(sparql11GeneratorBuilder)\n .widenContext<T12.SparqlGeneratorContext>()\n .typePatch<{\n [g11.queryOrUpdate.name]: [T12.SparqlQuery];\n [g11.query.name]: [T12.Query];\n [g11.selectQuery.name]: [Omit<T12.QuerySelect, g11.HandledByBase>];\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.selectClause.name]: [ Wrap<Pick<T12.QuerySelect, 'variables' | 'distinct' | 'reduced'>> ];\n\n [g11.update.name]: [T12.Update];\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.copy.name]: [T12.UpdateOperationCopy];\n [g11.move.name]: [T12.UpdateOperationMove];\n [g11.add.name]: [T12.UpdateOperationAdd];\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.graphRef.name]: [T12.TermIri];\n [g11.graphRefAll.name]: [T12.GraphRef];\n [g11.quads.name]: [Wrap<T12.Quads[]>];\n [g11.quadsNotTriples.name]: [T12.GraphQuads];\n\n [g11.aggregate.name]: [ T12.ExpressionAggregate ];\n\n [g11.datasetClauseStar.name]: [ T12.DatasetClauses ];\n [g11.usingClauseStar.name]: [ T12.DatasetClauses ];\n\n // [g11.datasetClause.name]: unchanged;\n [g11.argList.name]: [ Patch<g11.IArgList, { args: T12.Expression[] }> ];\n [g11.expression.name]: [ T12.Expression ];\n [g11.iriOrFunction.name]: [T12.TermIri | T12.ExpressionFunctionCall];\n\n [g11.prologue.name]: [ T12.ContextDefinition[] ];\n [g11.prefixDecl.name]: [ T12.ContextDefinitionPrefix ];\n [g11.baseDecl.name]: [ T12.ContextDefinitionBase ];\n // [g11.var_.name]: unchanged;\n [g11.varOrTerm.name]: [ T12.Term ];\n [g11.graphTerm.name]: [ T12.GraphTerm ];\n\n [g11.rdfLiteral.name]: [T12.TermLiteral];\n // [g11.string.name]: unchanged;\n // [g11.iri.name]: unchanged;\n // [g11.iriFull.name]: unchanged;\n // [g11.prefixedName.name]: unchanged;\n // [g11.blankNode.name]: unchanged;\n\n // [g11.path.name]: unchanged;\n //\n [g11.solutionModifier.name]: [ T12.SolutionModifiers ];\n [g11.groupClause.name]: [ T12.SolutionModifierGroup ];\n [g11.havingClause.name]: [ T12.SolutionModifierHaving ];\n [g11.orderClause.name]: [ T12.SolutionModifierOrder ];\n [g11.limitOffsetClauses.name]: [ T12.SolutionModifierLimitOffset ];\n\n [g11.triplesBlock.name]: [ T12.PatternBgp ];\n [g11.collectionPath.name]: [ T12.TripleCollectionList ];\n [g11.blankNodePropertyListPath.name]: [ T12.TripleCollectionBlankNodeProperties ];\n [g11.triplesNodePath.name]: [ T12.TripleCollection ];\n [g11.graphNodePath.name]: [ T12.Term | T12.TripleCollection ];\n\n [g11.whereClause.name]: [ Wrap<T12.PatternGroup> ];\n [g11.generatePattern.name]: [ T12.Pattern ];\n [g11.groupGraphPattern.name]: [ T12.PatternGroup ];\n [g11.graphPatternNotTriples.name]: [ Exclude<T12.Pattern, T12.SubSelect | T12.PatternBgp> ];\n [g11.optionalGraphPattern.name]: [ T12.PatternOptional ];\n [g11.graphGraphPattern.name]: [ T12.PatternGroup ];\n [g11.serviceGraphPattern.name]: [ T12.PatternService ];\n [g11.bind.name]: [ T12.PatternBind ];\n [g11.inlineData.name]: [ T12.PatternValues ];\n [g11.minusGraphPattern.name]: [ T12.PatternMinus ];\n [g11.groupOrUnionGraphPattern.name]: [ T12.PatternGroup | T12.PatternUnion ];\n [g11.filter.name]: [ T12.PatternFilter ];\n }>()\n .addRule(g12.tripleTerm)\n .addRule(g12.reifiedTriple)\n .patchRule(g12.graphNodePath)\n .addRule(g12.annotationBlockPath)\n .addRule(g12.annotationPath)\n .addRule(g12.versionDecl)\n .patchRule(g12.prologue)\n .patchRule(g12.generateTriplesBlock)\n .patchRule(g12.generateGraphTerm);\n\nexport type SparqlGenerator = ReturnType<typeof sparql12GeneratorBuilder.build>;\n\nexport class Generator {\n public constructor(private readonly defaultContext: Partial<T12.SparqlGeneratorContext> = {}) {}\n\n private readonly generator: SparqlGenerator = sparql12GeneratorBuilder.build();\n private readonly F = new AstFactory();\n\n public generate(ast: T12.Query | T12.Update, context: Partial<T12.SparqlGeneratorContext> = {}): string {\n return this.generator.queryOrUpdate(ast, completeParseContext({ ...this.defaultContext, ...context })).trim();\n }\n\n public generatePath(ast: T12.Path, context: Partial<T12.SparqlGeneratorContext> = {}): string {\n return this.generator.path(ast, completeParseContext({ ...this.defaultContext, ...context }), undefined).trim();\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":";;;AAAA,wCAAiD;AAEjD,wEAAyE;AAEzE,gEAAkF;AAGrE,QAAA,wBAAwB,GACnC,uBAAgB,CAAC,MAAM,CAAC,+CAAwB,CAAC;KAC9C,YAAY,EAA8B;KAC1C,SAAS,EA6EN;KACH,OAAO,CAAC,uBAAG,CAAC,UAAU,CAAC;KACvB,OAAO,CAAC,uBAAG,CAAC,aAAa,CAAC;KAC1B,SAAS,CAAC,uBAAG,CAAC,aAAa,CAAC;KAC5B,OAAO,CAAC,uBAAG,CAAC,mBAAmB,CAAC;KAChC,OAAO,CAAC,uBAAG,CAAC,cAAc,CAAC;KAC3B,OAAO,CAAC,uBAAG,CAAC,WAAW,CAAC;KACxB,SAAS,CAAC,uBAAG,CAAC,QAAQ,CAAC;KACvB,SAAS,CAAC,uBAAG,CAAC,oBAAoB,CAAC;KACnC,SAAS,CAAC,uBAAG,CAAC,iBAAiB,CAAC,CAAC;AAItC;;GAEG;AACH,MAAa,SAAS;IACD,cAAc,CAA6B;IAC9D,YAAmB,iBAAsD,EAAE;QACzE,IAAI,CAAC,cAAc,GAAG,IAAA,2CAAwB,EAAC,cAAc,CAAC,CAAC;IACjE,CAAC;IAEgB,SAAS,GAAoB,gCAAwB,CAAC,KAAK,EAAE,CAAC;IAE/E;;;;;;OAMG;IACI,QAAQ,CAAC,GAA2B,EAAE,UAA+C,EAAE;QAC5F,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1F,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,GAAa,EAAE,UAA+C,EAAE;QAClF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5F,CAAC;CACF;AA3BD,8BA2BC","sourcesContent":["import { GeneratorBuilder } from '@traqula/core';\nimport type { Wrap, Patch } from '@traqula/core';\nimport { sparql11GeneratorBuilder } from '@traqula/generator-sparql-1-1';\nimport type { gram as g11 } from '@traqula/rules-sparql-1-1';\nimport { gram as g12, completeGeneratorContext } from '@traqula/rules-sparql-1-2';\nimport type * as T12 from '@traqula/rules-sparql-1-2';\n\nexport const sparql12GeneratorBuilder =\n GeneratorBuilder.create(sparql11GeneratorBuilder)\n .widenContext<T12.SparqlGeneratorContext>()\n .typePatch<{\n [g11.queryOrUpdate.name]: [T12.SparqlQuery];\n [g11.query.name]: [T12.Query];\n [g11.selectQuery.name]: [Omit<T12.QuerySelect, g11.HandledByBase>];\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.selectClause.name]: [ Wrap<Pick<T12.QuerySelect, 'variables' | 'distinct' | 'reduced'>> ];\n\n [g11.update.name]: [T12.Update];\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.copy.name]: [T12.UpdateOperationCopy];\n [g11.move.name]: [T12.UpdateOperationMove];\n [g11.add.name]: [T12.UpdateOperationAdd];\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.graphRef.name]: [T12.TermIri];\n [g11.graphRefAll.name]: [T12.GraphRef];\n [g11.quads.name]: [Wrap<T12.Quads[]>];\n [g11.quadsNotTriples.name]: [T12.GraphQuads];\n\n [g11.aggregate.name]: [ T12.ExpressionAggregate ];\n\n [g11.datasetClauseStar.name]: [ T12.DatasetClauses ];\n [g11.usingClauseStar.name]: [ T12.DatasetClauses ];\n\n // [g11.datasetClause.name]: unchanged;\n [g11.argList.name]: [ Patch<g11.IArgList, { args: T12.Expression[] }> ];\n [g11.expression.name]: [ T12.Expression ];\n [g11.iriOrFunction.name]: [T12.TermIri | T12.ExpressionFunctionCall];\n\n [g11.prologue.name]: [ T12.ContextDefinition[] ];\n [g11.prefixDecl.name]: [ T12.ContextDefinitionPrefix ];\n [g11.baseDecl.name]: [ T12.ContextDefinitionBase ];\n // [g11.var_.name]: unchanged;\n [g11.varOrTerm.name]: [ T12.Term ];\n [g11.graphTerm.name]: [ T12.GraphTerm ];\n\n [g11.rdfLiteral.name]: [T12.TermLiteral];\n // [g11.string.name]: unchanged;\n // [g11.iri.name]: unchanged;\n // [g11.iriFull.name]: unchanged;\n // [g11.prefixedName.name]: unchanged;\n // [g11.blankNode.name]: unchanged;\n\n // [g11.path.name]: unchanged;\n //\n [g11.solutionModifier.name]: [ T12.SolutionModifiers ];\n [g11.groupClause.name]: [ T12.SolutionModifierGroup ];\n [g11.havingClause.name]: [ T12.SolutionModifierHaving ];\n [g11.orderClause.name]: [ T12.SolutionModifierOrder ];\n [g11.limitOffsetClauses.name]: [ T12.SolutionModifierLimitOffset ];\n\n [g11.triplesBlock.name]: [ T12.PatternBgp ];\n [g11.collectionPath.name]: [ T12.TripleCollectionList ];\n [g11.blankNodePropertyListPath.name]: [ T12.TripleCollectionBlankNodeProperties ];\n [g11.triplesNodePath.name]: [ T12.TripleCollection ];\n [g11.graphNodePath.name]: [ T12.Term | T12.TripleCollection ];\n\n [g11.whereClause.name]: [ Wrap<T12.PatternGroup> ];\n [g11.generatePattern.name]: [ T12.Pattern ];\n [g11.groupGraphPattern.name]: [ T12.PatternGroup ];\n [g11.graphPatternNotTriples.name]: [ Exclude<T12.Pattern, T12.SubSelect | T12.PatternBgp> ];\n [g11.optionalGraphPattern.name]: [ T12.PatternOptional ];\n [g11.graphGraphPattern.name]: [ T12.PatternGroup ];\n [g11.serviceGraphPattern.name]: [ T12.PatternService ];\n [g11.bind.name]: [ T12.PatternBind ];\n [g11.inlineData.name]: [ T12.PatternValues ];\n [g11.minusGraphPattern.name]: [ T12.PatternMinus ];\n [g11.groupOrUnionGraphPattern.name]: [ T12.PatternGroup | T12.PatternUnion ];\n [g11.filter.name]: [ T12.PatternFilter ];\n }>()\n .addRule(g12.tripleTerm)\n .addRule(g12.reifiedTriple)\n .patchRule(g12.graphNodePath)\n .addRule(g12.annotationBlockPath)\n .addRule(g12.annotationPath)\n .addRule(g12.versionDecl)\n .patchRule(g12.prologue)\n .patchRule(g12.generateTriplesBlock)\n .patchRule(g12.generateGraphTerm);\n\nexport type SparqlGenerator = ReturnType<typeof sparql12GeneratorBuilder.build>;\n\n/**\n * Generator that can generate a SPARQL 1.2 query string given a SPARQL 1.2 Traqula AST.\n */\nexport class Generator {\n protected readonly defaultContext: T12.SparqlGeneratorContext;\n public constructor(defaultContext: Partial<T12.SparqlGeneratorContext> = {}) {\n this.defaultContext = completeGeneratorContext(defaultContext);\n }\n\n private readonly generator: SparqlGenerator = sparql12GeneratorBuilder.build();\n\n /**\n * Generates 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 ast\n * @param context\n */\n public generate(ast: T12.Query | T12.Update, context: Partial<T12.SparqlGeneratorContext> = {}): string {\n return this.generator.queryOrUpdate(ast, { ...this.defaultContext, ...context }).trim();\n }\n\n /**\n * Generates a query string starting from the [Path](https://www.w3.org/TR/sparql12-query/#rPath) grammar rule.\n * @param ast\n * @param context\n */\n public generatePath(ast: T12.Path, context: Partial<T12.SparqlGeneratorContext> = {}): string {\n return this.generator.path(ast, { ...this.defaultContext, ...context }, undefined).trim();\n }\n}\n"]}
@@ -2,25 +2,10 @@ import { GeneratorBuilder } from '@traqula/core';
2
2
  import type { Wrap, Patch } from '@traqula/core';
3
3
  import type { gram as g11 } from '@traqula/rules-sparql-1-1';
4
4
  import type * as T12 from '@traqula/rules-sparql-1-2';
5
- export declare const sparql12GeneratorBuilder: GeneratorBuilder<T12.SparqlGeneratorContext, "filter" | "copy" | "graphRef" | "load" | "clear" | "drop" | "create" | "add" | "move" | "modify" | "update" | "query" | "datasetClauses" | "bind" | "solutionModifier" | "expression" | "aggregate" | "path" | "blankNode" | "selectQuery" | "selectClause" | "constructQuery" | "describeQuery" | "askQuery" | "update1" | "insertData" | "deleteData" | "deleteWhere" | "graphRefAll" | "quads" | "quadsNotTriples" | "usingClauses" | "argList" | "iriOrFunction" | "prologue" | "baseDecl" | "prefixDecl" | "varOrTerm" | "var" | "graphTerm" | "rdfLiteral" | "iri" | "iriFull" | "prefixedName" | "groupClause" | "havingClause" | "orderClause" | "limitOffsetClauses" | "triplesBlock" | "collectionPath" | "triplesNodePath" | "blankNodePropertyListPath" | "graphNodePath" | "whereClause" | "groupGraphPattern" | "generatePattern" | "graphPatternNotTriples" | "optionalGraphPattern" | "graphGraphPattern" | "serviceGraphPattern" | "inlineData" | "minusGraphPattern" | "groupOrUnionGraphPattern" | "queryOrUpdate" | "reifiedTriple" | "versionDecl" | "annotationPath" | "annotationBlockPath" | "tripleTerm", {
6
- filter: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "filter", T12.PatternFilter, []>;
7
- copy: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "copy", T12.UpdateOperationCopy, []>;
8
- graphRef: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "graphRef", import("@traqula/rules-sparql-1-1").TermIri, []>;
9
- load: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "load", T12.UpdateOperationLoad, []>;
10
- clear: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "clear", T12.UpdateOperationClear, []>;
11
- drop: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "drop", T12.UpdateOperationDrop, []>;
12
- create: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "create", T12.UpdateOperationCreate, []>;
13
- add: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "add", T12.UpdateOperationAdd, []>;
14
- move: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "move", T12.UpdateOperationMove, []>;
15
- modify: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "modify", T12.UpdateOperationModify, []>;
16
- update: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "update", T12.Update, []>;
17
- query: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "query", T12.Query, []>;
18
- datasetClauses: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "datasetClauses", T12.DatasetClauses, []>;
19
- bind: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "bind", T12.PatternBind, []>;
20
- solutionModifier: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "solutionModifier", T12.SolutionModifiers, []>;
21
- expression: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "expression", T12.Expression, []>;
22
- aggregate: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "aggregate", T12.ExpressionAggregate, []>;
5
+ export declare const sparql12GeneratorBuilder: GeneratorBuilder<T12.SparqlGeneratorContext, "path" | "queryOrUpdate" | "triplesBlock" | "blankNode" | "collectionPath" | "triplesNodePath" | "blankNodePropertyListPath" | "graphNodePath" | "query" | "expression" | "aggregate" | "argList" | "iriOrFunction" | "var" | "rdfLiteral" | "iri" | "prefixedName" | "varOrTerm" | "graphTerm" | "iriFull" | "datasetClauses" | "filter" | "bind" | "solutionModifier" | "selectQuery" | "selectClause" | "constructQuery" | "describeQuery" | "askQuery" | "prologue" | "baseDecl" | "prefixDecl" | "groupClause" | "havingClause" | "orderClause" | "limitOffsetClauses" | "whereClause" | "groupGraphPattern" | "graphPatternNotTriples" | "optionalGraphPattern" | "graphGraphPattern" | "serviceGraphPattern" | "inlineData" | "minusGraphPattern" | "groupOrUnionGraphPattern" | "graphRef" | "load" | "clear" | "drop" | "create" | "add" | "move" | "copy" | "modify" | "update" | "update1" | "insertData" | "deleteData" | "deleteWhere" | "graphRefAll" | "quads" | "quadsNotTriples" | "usingClauses" | "generatePattern" | "reifiedTriple" | "tripleTerm" | "annotationBlockPath" | "annotationPath" | "versionDecl", {
23
6
  path: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "path", import("@traqula/rules-sparql-1-1").Path, [boolean | undefined]>;
7
+ queryOrUpdate: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "queryOrUpdate", T12.SparqlQuery, []>;
8
+ triplesBlock: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "triplesBlock", T12.PatternBgp, []>;
24
9
  blankNode: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "blankNode", import("@traqula/core").Node & {
25
10
  type: "term";
26
11
  subType: string;
@@ -29,27 +14,20 @@ export declare const sparql12GeneratorBuilder: GeneratorBuilder<T12.SparqlGenera
29
14
  } & {
30
15
  label: string;
31
16
  }, []>;
32
- selectQuery: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "selectQuery", Omit<T12.QuerySelect, g11.HandledByBase>, []>;
33
- selectClause: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "selectClause", Wrap<Pick<T12.QuerySelect, "variables" | "distinct" | "reduced">>, []>;
34
- constructQuery: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "constructQuery", Omit<T12.QueryConstruct, g11.HandledByBase>, []>;
35
- describeQuery: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "describeQuery", Omit<T12.QueryDescribe, g11.HandledByBase>, []>;
36
- askQuery: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "askQuery", Omit<T12.QueryAsk, g11.HandledByBase>, []>;
37
- update1: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "update1", T12.UpdateOperation, []>;
38
- insertData: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "insertData", T12.UpdateOperationInsertData, []>;
39
- deleteData: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "deleteData", T12.UpdateOperationDeleteData, []>;
40
- deleteWhere: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "deleteWhere", T12.UpdateOperationDeleteWhere, []>;
41
- graphRefAll: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "graphRefAll", import("@traqula/rules-sparql-1-1").GraphRef, []>;
42
- quads: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "quads", Wrap<T12.Quads[]>, []>;
43
- quadsNotTriples: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "quadsNotTriples", T12.GraphQuads, []>;
44
- usingClauses: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "usingClauses", T12.DatasetClauses, []>;
17
+ collectionPath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "collectionPath", T12.TripleCollectionList, []>;
18
+ triplesNodePath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "triplesNodePath", T12.TripleCollection, []>;
19
+ blankNodePropertyListPath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "blankNodePropertyListPath", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
20
+ triples: T12.TripleNesting[];
21
+ identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
22
+ }>, []>;
23
+ graphNodePath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "graphNodePath", T12.GraphNode, []>;
24
+ query: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "query", T12.Query, []>;
25
+ expression: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "expression", T12.Expression, []>;
26
+ aggregate: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "aggregate", T12.ExpressionAggregate, []>;
45
27
  argList: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "argList", Patch<g11.IArgList, {
46
28
  args: T12.Expression[];
47
29
  }>, []>;
48
30
  iriOrFunction: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "iriOrFunction", import("@traqula/rules-sparql-1-1").TermIri | T12.ExpressionFunctionCall, []>;
49
- prologue: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "prologue", T12.ContextDefinition[], []>;
50
- baseDecl: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "baseDecl", import("@traqula/rules-sparql-1-1").ContextDefinitionBase, []>;
51
- prefixDecl: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "prefixDecl", import("@traqula/rules-sparql-1-1").ContextDefinitionPrefix, []>;
52
- varOrTerm: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "varOrTerm", T12.Term, []>;
53
31
  var: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "var", import("@traqula/core").Node & {
54
32
  type: "term";
55
33
  subType: string;
@@ -57,41 +35,45 @@ export declare const sparql12GeneratorBuilder: GeneratorBuilder<T12.SparqlGenera
57
35
  subType: "variable";
58
36
  value: string;
59
37
  }, []>;
60
- graphTerm: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "graphTerm", T12.GraphTerm, []>;
61
38
  rdfLiteral: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "rdfLiteral", import("@traqula/rules-sparql-1-1").TermLiteral, []>;
62
39
  iri: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "iri", import("@traqula/rules-sparql-1-1").TermIri, []>;
63
- iriFull: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "iriFull", import("@traqula/core").Node & {
40
+ prefixedName: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "prefixedName", import("@traqula/core").Node & {
64
41
  type: "term";
65
42
  subType: string;
66
43
  } & {
67
44
  subType: "namedNode";
68
45
  } & {
69
46
  value: string;
47
+ prefix: string;
70
48
  }, []>;
71
- prefixedName: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "prefixedName", import("@traqula/core").Node & {
49
+ varOrTerm: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "varOrTerm", T12.Term, []>;
50
+ graphTerm: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "graphTerm", T12.GraphTerm, []>;
51
+ iriFull: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "iriFull", import("@traqula/core").Node & {
72
52
  type: "term";
73
53
  subType: string;
74
54
  } & {
75
55
  subType: "namedNode";
76
56
  } & {
77
57
  value: string;
78
- prefix: string;
79
58
  }, []>;
59
+ datasetClauses: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "datasetClauses", T12.DatasetClauses, []>;
60
+ filter: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "filter", T12.PatternFilter, []>;
61
+ bind: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "bind", T12.PatternBind, []>;
62
+ solutionModifier: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "solutionModifier", T12.SolutionModifiers, []>;
63
+ selectQuery: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "selectQuery", Omit<T12.QuerySelect, g11.HandledByBase>, []>;
64
+ selectClause: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "selectClause", Wrap<Pick<T12.QuerySelect, "variables" | "distinct" | "reduced">>, []>;
65
+ constructQuery: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "constructQuery", Omit<T12.QueryConstruct, g11.HandledByBase>, []>;
66
+ describeQuery: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "describeQuery", Omit<T12.QueryDescribe, g11.HandledByBase>, []>;
67
+ askQuery: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "askQuery", Omit<T12.QueryAsk, g11.HandledByBase>, []>;
68
+ prologue: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "prologue", T12.ContextDefinition[], []>;
69
+ baseDecl: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "baseDecl", import("@traqula/rules-sparql-1-1").ContextDefinitionBase, []>;
70
+ prefixDecl: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "prefixDecl", import("@traqula/rules-sparql-1-1").ContextDefinitionPrefix, []>;
80
71
  groupClause: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "groupClause", T12.SolutionModifierGroup, []>;
81
72
  havingClause: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "havingClause", T12.SolutionModifierHaving, []>;
82
73
  orderClause: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "orderClause", T12.SolutionModifierOrder, []>;
83
74
  limitOffsetClauses: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "limitOffsetClauses", import("@traqula/rules-sparql-1-1").SolutionModifierLimitOffset, []>;
84
- triplesBlock: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "triplesBlock", T12.PatternBgp, []>;
85
- collectionPath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "collectionPath", T12.TripleCollectionList, []>;
86
- triplesNodePath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "triplesNodePath", T12.TripleCollection, []>;
87
- blankNodePropertyListPath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "blankNodePropertyListPath", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
88
- triples: T12.TripleNesting[];
89
- identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
90
- }>, []>;
91
- graphNodePath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "graphNodePath", T12.GraphNode, []>;
92
75
  whereClause: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "whereClause", Wrap<T12.PatternGroup>, []>;
93
76
  groupGraphPattern: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "groupGraphPattern", T12.PatternGroup, []>;
94
- generatePattern: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "generatePattern", T12.Pattern, []>;
95
77
  graphPatternNotTriples: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "graphPatternNotTriples", T12.PatternGroup | T12.PatternUnion | T12.PatternOptional | T12.PatternMinus | T12.PatternGraph | T12.PatternService | T12.PatternFilter | T12.PatternBind | T12.PatternValues, []>;
96
78
  optionalGraphPattern: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "optionalGraphPattern", T12.PatternOptional, []>;
97
79
  graphGraphPattern: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "graphGraphPattern", T12.PatternGroup, []>;
@@ -99,22 +81,54 @@ export declare const sparql12GeneratorBuilder: GeneratorBuilder<T12.SparqlGenera
99
81
  inlineData: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "inlineData", T12.PatternValues, []>;
100
82
  minusGraphPattern: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "minusGraphPattern", T12.PatternMinus, []>;
101
83
  groupOrUnionGraphPattern: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "groupOrUnionGraphPattern", T12.PatternGroup | T12.PatternUnion, []>;
102
- queryOrUpdate: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "queryOrUpdate", T12.SparqlQuery, []>;
84
+ graphRef: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "graphRef", import("@traqula/rules-sparql-1-1").TermIri, []>;
85
+ load: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "load", T12.UpdateOperationLoad, []>;
86
+ clear: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "clear", T12.UpdateOperationClear, []>;
87
+ drop: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "drop", T12.UpdateOperationDrop, []>;
88
+ create: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "create", T12.UpdateOperationCreate, []>;
89
+ add: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "add", T12.UpdateOperationAdd, []>;
90
+ move: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "move", T12.UpdateOperationMove, []>;
91
+ copy: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "copy", T12.UpdateOperationCopy, []>;
92
+ modify: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "modify", T12.UpdateOperationModify, []>;
93
+ update: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "update", T12.Update, []>;
94
+ update1: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "update1", T12.UpdateOperation, []>;
95
+ insertData: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "insertData", T12.UpdateOperationInsertData, []>;
96
+ deleteData: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "deleteData", T12.UpdateOperationDeleteData, []>;
97
+ deleteWhere: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "deleteWhere", T12.UpdateOperationDeleteWhere, []>;
98
+ graphRefAll: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "graphRefAll", import("@traqula/rules-sparql-1-1").GraphRef, []>;
99
+ quads: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "quads", Wrap<T12.Quads[]>, []>;
100
+ quadsNotTriples: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "quadsNotTriples", T12.GraphQuads, []>;
101
+ usingClauses: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "usingClauses", T12.DatasetClauses, []>;
102
+ generatePattern: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "generatePattern", T12.Pattern, []>;
103
103
  reifiedTriple: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "reifiedTriple", T12.TripleCollectionReifiedTriple, []>;
104
- versionDecl: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "versionDecl", T12.ContextDefinitionVersion, []>;
105
- annotationPath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "annotationPath", T12.Annotation[], []>;
104
+ tripleTerm: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "tripleTerm", T12.TermTriple, []>;
106
105
  annotationBlockPath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "annotationBlockPath", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
107
106
  triples: T12.TripleNesting[];
108
107
  identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
109
108
  }>, []>;
110
- tripleTerm: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "tripleTerm", T12.TermTriple, []>;
109
+ annotationPath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "annotationPath", T12.Annotation[], []>;
110
+ versionDecl: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "versionDecl", T12.ContextDefinitionVersion, []>;
111
111
  }>;
112
112
  export type SparqlGenerator = ReturnType<typeof sparql12GeneratorBuilder.build>;
113
+ /**
114
+ * Generator that can generate a SPARQL 1.2 query string given a SPARQL 1.2 Traqula AST.
115
+ */
113
116
  export declare class Generator {
114
- private readonly defaultContext;
117
+ protected readonly defaultContext: T12.SparqlGeneratorContext;
115
118
  constructor(defaultContext?: Partial<T12.SparqlGeneratorContext>);
116
119
  private readonly generator;
117
- private readonly F;
120
+ /**
121
+ * Generates a query string starting from the
122
+ * [QueryUnit](https://www.w3.org/TR/sparql12-query/#rQueryUnit)
123
+ * or [QueryUpdate](https://www.w3.org/TR/sparql12-query/#rUpdateUnit) rules.
124
+ * @param ast
125
+ * @param context
126
+ */
118
127
  generate(ast: T12.Query | T12.Update, context?: Partial<T12.SparqlGeneratorContext>): string;
128
+ /**
129
+ * Generates a query string starting from the [Path](https://www.w3.org/TR/sparql12-query/#rPath) grammar rule.
130
+ * @param ast
131
+ * @param context
132
+ */
119
133
  generatePath(ast: T12.Path, context?: Partial<T12.SparqlGeneratorContext>): string;
120
134
  }
@@ -1,6 +1,6 @@
1
1
  import { GeneratorBuilder } from '@traqula/core';
2
2
  import { sparql11GeneratorBuilder } from '@traqula/generator-sparql-1-1';
3
- import { completeParseContext, AstFactory, gram as g12 } from '@traqula/rules-sparql-1-2';
3
+ import { gram as g12, completeGeneratorContext } from '@traqula/rules-sparql-1-2';
4
4
  export const sparql12GeneratorBuilder = GeneratorBuilder.create(sparql11GeneratorBuilder)
5
5
  .widenContext()
6
6
  .typePatch()
@@ -13,18 +13,32 @@ export const sparql12GeneratorBuilder = GeneratorBuilder.create(sparql11Generato
13
13
  .patchRule(g12.prologue)
14
14
  .patchRule(g12.generateTriplesBlock)
15
15
  .patchRule(g12.generateGraphTerm);
16
+ /**
17
+ * Generator that can generate a SPARQL 1.2 query string given a SPARQL 1.2 Traqula AST.
18
+ */
16
19
  export class Generator {
17
20
  defaultContext;
18
21
  constructor(defaultContext = {}) {
19
- this.defaultContext = defaultContext;
22
+ this.defaultContext = completeGeneratorContext(defaultContext);
20
23
  }
21
24
  generator = sparql12GeneratorBuilder.build();
22
- F = new AstFactory();
25
+ /**
26
+ * Generates a query string starting from the
27
+ * [QueryUnit](https://www.w3.org/TR/sparql12-query/#rQueryUnit)
28
+ * or [QueryUpdate](https://www.w3.org/TR/sparql12-query/#rUpdateUnit) rules.
29
+ * @param ast
30
+ * @param context
31
+ */
23
32
  generate(ast, context = {}) {
24
- return this.generator.queryOrUpdate(ast, completeParseContext({ ...this.defaultContext, ...context })).trim();
33
+ return this.generator.queryOrUpdate(ast, { ...this.defaultContext, ...context }).trim();
25
34
  }
35
+ /**
36
+ * Generates a query string starting from the [Path](https://www.w3.org/TR/sparql12-query/#rPath) grammar rule.
37
+ * @param ast
38
+ * @param context
39
+ */
26
40
  generatePath(ast, context = {}) {
27
- return this.generator.path(ast, completeParseContext({ ...this.defaultContext, ...context }), undefined).trim();
41
+ return this.generator.path(ast, { ...this.defaultContext, ...context }, undefined).trim();
28
42
  }
29
43
  }
30
44
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIzE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAG1F,MAAM,CAAC,MAAM,wBAAwB,GACnC,gBAAgB,CAAC,MAAM,CAAC,wBAAwB,CAAC;KAC9C,YAAY,EAA8B;KAC1C,SAAS,EA6EN;KACH,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;KACvB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;KAC1B,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;KAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;KAChC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;KAC3B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;KACxB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;KACvB,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC;KACnC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAItC,MAAM,OAAO,SAAS;IACgB;IAApC,YAAoC,iBAAsD,EAAE;QAAxD,mBAAc,GAAd,cAAc,CAA0C;IAAG,CAAC;IAE/E,SAAS,GAAoB,wBAAwB,CAAC,KAAK,EAAE,CAAC;IAC9D,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;IAE/B,QAAQ,CAAC,GAA2B,EAAE,UAA+C,EAAE;QAC5F,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChH,CAAC;IAEM,YAAY,CAAC,GAAa,EAAE,UAA+C,EAAE;QAClF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAClH,CAAC;CACF","sourcesContent":["import { GeneratorBuilder } from '@traqula/core';\nimport type { Wrap, Patch } from '@traqula/core';\nimport { sparql11GeneratorBuilder } from '@traqula/generator-sparql-1-1';\nimport type {\n gram as g11,\n} from '@traqula/rules-sparql-1-1';\nimport { completeParseContext, AstFactory, gram as g12 } from '@traqula/rules-sparql-1-2';\nimport type * as T12 from '@traqula/rules-sparql-1-2';\n\nexport const sparql12GeneratorBuilder =\n GeneratorBuilder.create(sparql11GeneratorBuilder)\n .widenContext<T12.SparqlGeneratorContext>()\n .typePatch<{\n [g11.queryOrUpdate.name]: [T12.SparqlQuery];\n [g11.query.name]: [T12.Query];\n [g11.selectQuery.name]: [Omit<T12.QuerySelect, g11.HandledByBase>];\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.selectClause.name]: [ Wrap<Pick<T12.QuerySelect, 'variables' | 'distinct' | 'reduced'>> ];\n\n [g11.update.name]: [T12.Update];\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.copy.name]: [T12.UpdateOperationCopy];\n [g11.move.name]: [T12.UpdateOperationMove];\n [g11.add.name]: [T12.UpdateOperationAdd];\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.graphRef.name]: [T12.TermIri];\n [g11.graphRefAll.name]: [T12.GraphRef];\n [g11.quads.name]: [Wrap<T12.Quads[]>];\n [g11.quadsNotTriples.name]: [T12.GraphQuads];\n\n [g11.aggregate.name]: [ T12.ExpressionAggregate ];\n\n [g11.datasetClauseStar.name]: [ T12.DatasetClauses ];\n [g11.usingClauseStar.name]: [ T12.DatasetClauses ];\n\n // [g11.datasetClause.name]: unchanged;\n [g11.argList.name]: [ Patch<g11.IArgList, { args: T12.Expression[] }> ];\n [g11.expression.name]: [ T12.Expression ];\n [g11.iriOrFunction.name]: [T12.TermIri | T12.ExpressionFunctionCall];\n\n [g11.prologue.name]: [ T12.ContextDefinition[] ];\n [g11.prefixDecl.name]: [ T12.ContextDefinitionPrefix ];\n [g11.baseDecl.name]: [ T12.ContextDefinitionBase ];\n // [g11.var_.name]: unchanged;\n [g11.varOrTerm.name]: [ T12.Term ];\n [g11.graphTerm.name]: [ T12.GraphTerm ];\n\n [g11.rdfLiteral.name]: [T12.TermLiteral];\n // [g11.string.name]: unchanged;\n // [g11.iri.name]: unchanged;\n // [g11.iriFull.name]: unchanged;\n // [g11.prefixedName.name]: unchanged;\n // [g11.blankNode.name]: unchanged;\n\n // [g11.path.name]: unchanged;\n //\n [g11.solutionModifier.name]: [ T12.SolutionModifiers ];\n [g11.groupClause.name]: [ T12.SolutionModifierGroup ];\n [g11.havingClause.name]: [ T12.SolutionModifierHaving ];\n [g11.orderClause.name]: [ T12.SolutionModifierOrder ];\n [g11.limitOffsetClauses.name]: [ T12.SolutionModifierLimitOffset ];\n\n [g11.triplesBlock.name]: [ T12.PatternBgp ];\n [g11.collectionPath.name]: [ T12.TripleCollectionList ];\n [g11.blankNodePropertyListPath.name]: [ T12.TripleCollectionBlankNodeProperties ];\n [g11.triplesNodePath.name]: [ T12.TripleCollection ];\n [g11.graphNodePath.name]: [ T12.Term | T12.TripleCollection ];\n\n [g11.whereClause.name]: [ Wrap<T12.PatternGroup> ];\n [g11.generatePattern.name]: [ T12.Pattern ];\n [g11.groupGraphPattern.name]: [ T12.PatternGroup ];\n [g11.graphPatternNotTriples.name]: [ Exclude<T12.Pattern, T12.SubSelect | T12.PatternBgp> ];\n [g11.optionalGraphPattern.name]: [ T12.PatternOptional ];\n [g11.graphGraphPattern.name]: [ T12.PatternGroup ];\n [g11.serviceGraphPattern.name]: [ T12.PatternService ];\n [g11.bind.name]: [ T12.PatternBind ];\n [g11.inlineData.name]: [ T12.PatternValues ];\n [g11.minusGraphPattern.name]: [ T12.PatternMinus ];\n [g11.groupOrUnionGraphPattern.name]: [ T12.PatternGroup | T12.PatternUnion ];\n [g11.filter.name]: [ T12.PatternFilter ];\n }>()\n .addRule(g12.tripleTerm)\n .addRule(g12.reifiedTriple)\n .patchRule(g12.graphNodePath)\n .addRule(g12.annotationBlockPath)\n .addRule(g12.annotationPath)\n .addRule(g12.versionDecl)\n .patchRule(g12.prologue)\n .patchRule(g12.generateTriplesBlock)\n .patchRule(g12.generateGraphTerm);\n\nexport type SparqlGenerator = ReturnType<typeof sparql12GeneratorBuilder.build>;\n\nexport class Generator {\n public constructor(private readonly defaultContext: Partial<T12.SparqlGeneratorContext> = {}) {}\n\n private readonly generator: SparqlGenerator = sparql12GeneratorBuilder.build();\n private readonly F = new AstFactory();\n\n public generate(ast: T12.Query | T12.Update, context: Partial<T12.SparqlGeneratorContext> = {}): string {\n return this.generator.queryOrUpdate(ast, completeParseContext({ ...this.defaultContext, ...context })).trim();\n }\n\n public generatePath(ast: T12.Path, context: Partial<T12.SparqlGeneratorContext> = {}): string {\n return this.generator.path(ast, completeParseContext({ ...this.defaultContext, ...context }), undefined).trim();\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAGlF,MAAM,CAAC,MAAM,wBAAwB,GACnC,gBAAgB,CAAC,MAAM,CAAC,wBAAwB,CAAC;KAC9C,YAAY,EAA8B;KAC1C,SAAS,EA6EN;KACH,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;KACvB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;KAC1B,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;KAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;KAChC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;KAC3B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;KACxB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;KACvB,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC;KACnC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAItC;;GAEG;AACH,MAAM,OAAO,SAAS;IACD,cAAc,CAA6B;IAC9D,YAAmB,iBAAsD,EAAE;QACzE,IAAI,CAAC,cAAc,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC;IAEgB,SAAS,GAAoB,wBAAwB,CAAC,KAAK,EAAE,CAAC;IAE/E;;;;;;OAMG;IACI,QAAQ,CAAC,GAA2B,EAAE,UAA+C,EAAE;QAC5F,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1F,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,GAAa,EAAE,UAA+C,EAAE;QAClF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5F,CAAC;CACF","sourcesContent":["import { GeneratorBuilder } from '@traqula/core';\nimport type { Wrap, Patch } from '@traqula/core';\nimport { sparql11GeneratorBuilder } from '@traqula/generator-sparql-1-1';\nimport type { gram as g11 } from '@traqula/rules-sparql-1-1';\nimport { gram as g12, completeGeneratorContext } from '@traqula/rules-sparql-1-2';\nimport type * as T12 from '@traqula/rules-sparql-1-2';\n\nexport const sparql12GeneratorBuilder =\n GeneratorBuilder.create(sparql11GeneratorBuilder)\n .widenContext<T12.SparqlGeneratorContext>()\n .typePatch<{\n [g11.queryOrUpdate.name]: [T12.SparqlQuery];\n [g11.query.name]: [T12.Query];\n [g11.selectQuery.name]: [Omit<T12.QuerySelect, g11.HandledByBase>];\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.selectClause.name]: [ Wrap<Pick<T12.QuerySelect, 'variables' | 'distinct' | 'reduced'>> ];\n\n [g11.update.name]: [T12.Update];\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.copy.name]: [T12.UpdateOperationCopy];\n [g11.move.name]: [T12.UpdateOperationMove];\n [g11.add.name]: [T12.UpdateOperationAdd];\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.graphRef.name]: [T12.TermIri];\n [g11.graphRefAll.name]: [T12.GraphRef];\n [g11.quads.name]: [Wrap<T12.Quads[]>];\n [g11.quadsNotTriples.name]: [T12.GraphQuads];\n\n [g11.aggregate.name]: [ T12.ExpressionAggregate ];\n\n [g11.datasetClauseStar.name]: [ T12.DatasetClauses ];\n [g11.usingClauseStar.name]: [ T12.DatasetClauses ];\n\n // [g11.datasetClause.name]: unchanged;\n [g11.argList.name]: [ Patch<g11.IArgList, { args: T12.Expression[] }> ];\n [g11.expression.name]: [ T12.Expression ];\n [g11.iriOrFunction.name]: [T12.TermIri | T12.ExpressionFunctionCall];\n\n [g11.prologue.name]: [ T12.ContextDefinition[] ];\n [g11.prefixDecl.name]: [ T12.ContextDefinitionPrefix ];\n [g11.baseDecl.name]: [ T12.ContextDefinitionBase ];\n // [g11.var_.name]: unchanged;\n [g11.varOrTerm.name]: [ T12.Term ];\n [g11.graphTerm.name]: [ T12.GraphTerm ];\n\n [g11.rdfLiteral.name]: [T12.TermLiteral];\n // [g11.string.name]: unchanged;\n // [g11.iri.name]: unchanged;\n // [g11.iriFull.name]: unchanged;\n // [g11.prefixedName.name]: unchanged;\n // [g11.blankNode.name]: unchanged;\n\n // [g11.path.name]: unchanged;\n //\n [g11.solutionModifier.name]: [ T12.SolutionModifiers ];\n [g11.groupClause.name]: [ T12.SolutionModifierGroup ];\n [g11.havingClause.name]: [ T12.SolutionModifierHaving ];\n [g11.orderClause.name]: [ T12.SolutionModifierOrder ];\n [g11.limitOffsetClauses.name]: [ T12.SolutionModifierLimitOffset ];\n\n [g11.triplesBlock.name]: [ T12.PatternBgp ];\n [g11.collectionPath.name]: [ T12.TripleCollectionList ];\n [g11.blankNodePropertyListPath.name]: [ T12.TripleCollectionBlankNodeProperties ];\n [g11.triplesNodePath.name]: [ T12.TripleCollection ];\n [g11.graphNodePath.name]: [ T12.Term | T12.TripleCollection ];\n\n [g11.whereClause.name]: [ Wrap<T12.PatternGroup> ];\n [g11.generatePattern.name]: [ T12.Pattern ];\n [g11.groupGraphPattern.name]: [ T12.PatternGroup ];\n [g11.graphPatternNotTriples.name]: [ Exclude<T12.Pattern, T12.SubSelect | T12.PatternBgp> ];\n [g11.optionalGraphPattern.name]: [ T12.PatternOptional ];\n [g11.graphGraphPattern.name]: [ T12.PatternGroup ];\n [g11.serviceGraphPattern.name]: [ T12.PatternService ];\n [g11.bind.name]: [ T12.PatternBind ];\n [g11.inlineData.name]: [ T12.PatternValues ];\n [g11.minusGraphPattern.name]: [ T12.PatternMinus ];\n [g11.groupOrUnionGraphPattern.name]: [ T12.PatternGroup | T12.PatternUnion ];\n [g11.filter.name]: [ T12.PatternFilter ];\n }>()\n .addRule(g12.tripleTerm)\n .addRule(g12.reifiedTriple)\n .patchRule(g12.graphNodePath)\n .addRule(g12.annotationBlockPath)\n .addRule(g12.annotationPath)\n .addRule(g12.versionDecl)\n .patchRule(g12.prologue)\n .patchRule(g12.generateTriplesBlock)\n .patchRule(g12.generateGraphTerm);\n\nexport type SparqlGenerator = ReturnType<typeof sparql12GeneratorBuilder.build>;\n\n/**\n * Generator that can generate a SPARQL 1.2 query string given a SPARQL 1.2 Traqula AST.\n */\nexport class Generator {\n protected readonly defaultContext: T12.SparqlGeneratorContext;\n public constructor(defaultContext: Partial<T12.SparqlGeneratorContext> = {}) {\n this.defaultContext = completeGeneratorContext(defaultContext);\n }\n\n private readonly generator: SparqlGenerator = sparql12GeneratorBuilder.build();\n\n /**\n * Generates 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 ast\n * @param context\n */\n public generate(ast: T12.Query | T12.Update, context: Partial<T12.SparqlGeneratorContext> = {}): string {\n return this.generator.queryOrUpdate(ast, { ...this.defaultContext, ...context }).trim();\n }\n\n /**\n * Generates a query string starting from the [Path](https://www.w3.org/TR/sparql12-query/#rPath) grammar rule.\n * @param ast\n * @param context\n */\n public generatePath(ast: T12.Path, context: Partial<T12.SparqlGeneratorContext> = {}): string {\n return this.generator.path(ast, { ...this.defaultContext, ...context }, undefined).trim();\n }\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@traqula/generator-sparql-1-2",
3
3
  "type": "module",
4
- "version": "0.0.24",
4
+ "version": "0.0.25",
5
5
  "description": "SPARQL 1.2 generator",
6
6
  "lsd:module": true,
7
7
  "license": "MIT",
@@ -41,14 +41,14 @@
41
41
  "build:cjs": "node \"../../node_modules/typescript/bin/tsc\" -b tsconfig.cjs.json"
42
42
  },
43
43
  "dependencies": {
44
- "@traqula/core": "^0.0.24",
45
- "@traqula/generator-sparql-1-1": "^0.0.24",
46
- "@traqula/rules-sparql-1-1": "^0.0.24",
47
- "@traqula/rules-sparql-1-2": "^0.0.24"
44
+ "@traqula/core": "^0.0.25",
45
+ "@traqula/generator-sparql-1-1": "^0.0.25",
46
+ "@traqula/rules-sparql-1-1": "^0.0.25",
47
+ "@traqula/rules-sparql-1-2": "^0.0.25"
48
48
  },
49
49
  "devDependencies": {
50
- "@traqula/parser-sparql-1-2": "^0.0.24",
51
- "@traqula/test-utils": "^0.0.24"
50
+ "@traqula/parser-sparql-1-2": "^0.0.25",
51
+ "@traqula/test-utils": "^0.0.25"
52
52
  },
53
- "gitHead": "9865fe1fe302819d46e19c6f3250ceef778f434f"
53
+ "gitHead": "52cfb2b513294dc154febc0209ac811ceeb6785b"
54
54
  }