@traqula/generator-sparql-1-1 0.0.24 → 1.0.0
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 +2 -0
- package/dist/cjs/lib/index.js +18 -4
- package/dist/cjs/lib/index.js.map +1 -1
- package/dist/esm/lib/index.d.ts +22 -8
- package/dist/esm/lib/index.js +19 -5
- package/dist/esm/lib/index.js.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
# Traqula SPARQL 1.1 generator
|
|
10
10
|
|
|
11
|
+
[](https://www.npmjs.com/package/@traqula/generator-sparql-1-1)
|
|
12
|
+
|
|
11
13
|
Traqula Generator Sparql 1.1 is a [SPARQL 1.1](https://www.w3.org/TR/sparql11-query/#grammar) query generator for TypeScript.
|
|
12
14
|
It can generate SPARQL given the AST created by [Traqula parser SPARQL 1-1](https://github.com/comunica/traqula/tree/main/engines/parser-sparql-1-1).
|
|
13
15
|
|
package/dist/cjs/lib/index.js
CHANGED
|
@@ -22,18 +22,32 @@ exports.sparql11GeneratorBuilder = core_1.GeneratorBuilder.create([
|
|
|
22
22
|
.addMany(rules_sparql_1_1_1.gram.solutionModifier, rules_sparql_1_1_1.gram.groupClause, rules_sparql_1_1_1.gram.havingClause, rules_sparql_1_1_1.gram.orderClause, rules_sparql_1_1_1.gram.limitOffsetClauses)
|
|
23
23
|
.addMany(rules_sparql_1_1_1.gram.triplesBlock, rules_sparql_1_1_1.gram.collectionPath, rules_sparql_1_1_1.gram.blankNodePropertyListPath, rules_sparql_1_1_1.gram.triplesNodePath, rules_sparql_1_1_1.gram.graphNodePath)
|
|
24
24
|
.addMany(rules_sparql_1_1_1.gram.whereClause, rules_sparql_1_1_1.gram.generatePattern, rules_sparql_1_1_1.gram.groupGraphPattern, rules_sparql_1_1_1.gram.graphPatternNotTriples, rules_sparql_1_1_1.gram.optionalGraphPattern, rules_sparql_1_1_1.gram.graphGraphPattern, rules_sparql_1_1_1.gram.serviceGraphPattern, rules_sparql_1_1_1.gram.bind, rules_sparql_1_1_1.gram.inlineData, rules_sparql_1_1_1.gram.minusGraphPattern, rules_sparql_1_1_1.gram.groupOrUnionGraphPattern, rules_sparql_1_1_1.gram.filter);
|
|
25
|
+
/**
|
|
26
|
+
* Generator that can generate a SPARQL 1.1 query string given a SPARQL 1.1 Traqula AST.
|
|
27
|
+
*/
|
|
25
28
|
class Generator {
|
|
26
29
|
defaultContext;
|
|
27
30
|
constructor(defaultContext = {}) {
|
|
28
|
-
this.defaultContext = defaultContext;
|
|
31
|
+
this.defaultContext = (0, rules_sparql_1_1_1.completeGeneratorContext)(defaultContext);
|
|
29
32
|
}
|
|
30
33
|
generator = exports.sparql11GeneratorBuilder.build();
|
|
31
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Generates a query string starting from the
|
|
36
|
+
* [QueryUnit](https://www.w3.org/TR/sparql11-query/#rQueryUnit)
|
|
37
|
+
* or [QueryUpdate](https://www.w3.org/TR/sparql11-query/#rUpdateUnit) rules.
|
|
38
|
+
* @param ast
|
|
39
|
+
* @param context
|
|
40
|
+
*/
|
|
32
41
|
generate(ast, context = {}) {
|
|
33
|
-
return this.generator.queryOrUpdate(ast,
|
|
42
|
+
return this.generator.queryOrUpdate(ast, { ...this.defaultContext, ...context }).trim();
|
|
34
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Generates a query string starting from the [Path](https://www.w3.org/TR/sparql11-query/#rPath) grammar rule.
|
|
46
|
+
* @param ast
|
|
47
|
+
* @param context
|
|
48
|
+
*/
|
|
35
49
|
generatePath(ast, context = {}) {
|
|
36
|
-
return this.generator.path(ast, (0, rules_sparql_1_1_1.
|
|
50
|
+
return this.generator.path(ast, (0, rules_sparql_1_1_1.completeGeneratorContext)({ ...this.defaultContext, ...context }), undefined).trim();
|
|
37
51
|
}
|
|
38
52
|
}
|
|
39
53
|
exports.Generator = Generator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":";;;AAAA,wCAAiD;AAEjD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { GeneratorBuilder } from '@traqula/core';\nimport type * as T11 from '@traqula/rules-sparql-1-1';\nimport { gram, completeGeneratorContext } from '@traqula/rules-sparql-1-1';\n\nexport const sparql11GeneratorBuilder = GeneratorBuilder.create(<const> [\n gram.queryOrUpdate,\n gram.query,\n gram.selectQuery,\n gram.constructQuery,\n gram.describeQuery,\n gram.askQuery,\n gram.selectClause,\n])\n .addMany(\n gram.update,\n gram.update1,\n gram.load,\n gram.clear,\n gram.drop,\n gram.create,\n gram.copy,\n gram.move,\n gram.add,\n gram.insertData,\n gram.deleteData,\n gram.deleteWhere,\n gram.modify,\n gram.graphRef,\n gram.graphRefAll,\n gram.quads,\n gram.quadsNotTriples,\n )\n .addRule(gram.aggregate)\n .addMany(\n gram.datasetClauseStar,\n gram.usingClauseStar,\n )\n .addMany(\n gram.argList,\n gram.expression,\n gram.iriOrFunction,\n )\n .addMany(\n gram.prologue,\n gram.prefixDecl,\n gram.baseDecl,\n gram.varOrTerm,\n gram.var_,\n gram.graphTerm,\n )\n .addMany(\n gram.rdfLiteral,\n gram.iri,\n gram.iriFull,\n gram.prefixedName,\n gram.blankNode,\n )\n .addRule(gram.pathGenerator)\n .addMany(\n gram.solutionModifier,\n gram.groupClause,\n gram.havingClause,\n gram.orderClause,\n gram.limitOffsetClauses,\n )\n .addMany(\n gram.triplesBlock,\n gram.collectionPath,\n gram.blankNodePropertyListPath,\n gram.triplesNodePath,\n gram.graphNodePath,\n )\n .addMany(\n gram.whereClause,\n gram.generatePattern,\n gram.groupGraphPattern,\n gram.graphPatternNotTriples,\n gram.optionalGraphPattern,\n gram.graphGraphPattern,\n gram.serviceGraphPattern,\n gram.bind,\n gram.inlineData,\n gram.minusGraphPattern,\n gram.groupOrUnionGraphPattern,\n gram.filter,\n );\n\nexport type SparqlGenerator = ReturnType<typeof sparql11GeneratorBuilder.build>;\n\n/**\n * Generator that can generate a SPARQL 1.1 query string given a SPARQL 1.1 Traqula AST.\n */\nexport class Generator {\n protected readonly defaultContext: T11.SparqlGeneratorContext;\n public constructor(defaultContext: Partial<T11.SparqlGeneratorContext> = {}) {\n this.defaultContext = completeGeneratorContext(defaultContext);\n }\n\n private readonly generator: SparqlGenerator = sparql11GeneratorBuilder.build();\n\n /**\n * Generates a query string starting from the\n * [QueryUnit](https://www.w3.org/TR/sparql11-query/#rQueryUnit)\n * or [QueryUpdate](https://www.w3.org/TR/sparql11-query/#rUpdateUnit) rules.\n * @param ast\n * @param context\n */\n public generate(ast: T11.Query | T11.Update, context: Partial<T11.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/sparql11-query/#rPath) grammar rule.\n * @param ast\n * @param context\n */\n public generatePath(ast: T11.Path, context: Partial<T11.SparqlGeneratorContext> = {}): string {\n return this.generator.path(ast, completeGeneratorContext({ ...this.defaultContext, ...context }), undefined).trim();\n }\n}\n"]}
|
package/dist/esm/lib/index.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { GeneratorBuilder } from '@traqula/core';
|
|
2
2
|
import type * as T11 from '@traqula/rules-sparql-1-1';
|
|
3
|
-
export declare const sparql11GeneratorBuilder: GeneratorBuilder<T11.SparqlGeneratorContext, "filter" | "
|
|
3
|
+
export declare const sparql11GeneratorBuilder: GeneratorBuilder<T11.SparqlGeneratorContext, "filter" | "graphRef" | "load" | "clear" | "drop" | "create" | "add" | "move" | "copy" | "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" | "graphPatternNotTriples" | "optionalGraphPattern" | "graphGraphPattern" | "serviceGraphPattern" | "inlineData" | "minusGraphPattern" | "groupOrUnionGraphPattern" | "queryOrUpdate" | "generatePattern", {
|
|
4
4
|
filter: import("@traqula/core").GeneratorRule<any, "filter"> & T11.SparqlGrammarRule<"filter", T11.PatternFilter, []> & T11.SparqlGeneratorRule<"filter", T11.PatternFilter, []>;
|
|
5
|
-
copy: import("@traqula/core").GeneratorRule<any, "copy"> & T11.SparqlGrammarRule<"copy", T11.UpdateOperationAdd | T11.UpdateOperationMove | T11.UpdateOperationCopy, []> & T11.SparqlGeneratorRule<"copy", T11.UpdateOperationAdd | T11.UpdateOperationMove | T11.UpdateOperationCopy, []>;
|
|
6
5
|
graphRef: import("@traqula/core").GeneratorRule<any, "graphRef"> & T11.SparqlGrammarRule<"graphRef", T11.GraphRefSpecific, []> & T11.SparqlGeneratorRule<"graphRef", T11.GraphRefSpecific, []>;
|
|
7
6
|
load: import("@traqula/core").GeneratorRule<any, "load"> & T11.SparqlGrammarRule<"load", T11.UpdateOperationLoad, []> & T11.SparqlGeneratorRule<"load", T11.UpdateOperationLoad, []>;
|
|
8
7
|
clear: import("@traqula/core").GeneratorRule<any, "clear"> & T11.SparqlGrammarRule<"clear", T11.UpdateOperationClear | T11.UpdateOperationDrop, []> & T11.SparqlGeneratorRule<"clear", T11.UpdateOperationClear | T11.UpdateOperationDrop, []>;
|
|
@@ -10,6 +9,7 @@ export declare const sparql11GeneratorBuilder: GeneratorBuilder<T11.SparqlGenera
|
|
|
10
9
|
create: import("@traqula/core").GeneratorRule<any, "create"> & T11.SparqlGrammarRule<"create", T11.UpdateOperationCreate, []> & T11.SparqlGeneratorRule<"create", T11.UpdateOperationCreate, []>;
|
|
11
10
|
add: import("@traqula/core").GeneratorRule<any, "add"> & T11.SparqlGrammarRule<"add", T11.UpdateOperationAdd | T11.UpdateOperationMove | T11.UpdateOperationCopy, []> & T11.SparqlGeneratorRule<"add", T11.UpdateOperationAdd | T11.UpdateOperationMove | T11.UpdateOperationCopy, []>;
|
|
12
11
|
move: import("@traqula/core").GeneratorRule<any, "move"> & T11.SparqlGrammarRule<"move", T11.UpdateOperationAdd | T11.UpdateOperationMove | T11.UpdateOperationCopy, []> & T11.SparqlGeneratorRule<"move", T11.UpdateOperationAdd | T11.UpdateOperationMove | T11.UpdateOperationCopy, []>;
|
|
12
|
+
copy: import("@traqula/core").GeneratorRule<any, "copy"> & T11.SparqlGrammarRule<"copy", T11.UpdateOperationAdd | T11.UpdateOperationMove | T11.UpdateOperationCopy, []> & T11.SparqlGeneratorRule<"copy", T11.UpdateOperationAdd | T11.UpdateOperationMove | T11.UpdateOperationCopy, []>;
|
|
13
13
|
modify: import("@traqula/core").GeneratorRule<any, "modify"> & T11.SparqlGrammarRule<"modify", T11.UpdateOperationModify, []> & T11.SparqlGeneratorRule<"modify", T11.UpdateOperationModify, []>;
|
|
14
14
|
update: import("@traqula/core").GeneratorRule<any, "update"> & T11.SparqlGrammarRule<"update", T11.Update, []> & T11.SparqlGeneratorRule<"update", T11.Update, []>;
|
|
15
15
|
query: import("@traqula/core").GeneratorRule<any, "query"> & T11.SparqlGrammarRule<"query", T11.Query, []> & T11.SparqlGeneratorRule<"query", T11.Query, []>;
|
|
@@ -34,7 +34,7 @@ export declare const sparql11GeneratorBuilder: GeneratorBuilder<T11.SparqlGenera
|
|
|
34
34
|
quadsNotTriples: import("@traqula/core").GeneratorRule<any, "quadsNotTriples"> & T11.SparqlGrammarRule<"quadsNotTriples", T11.GraphQuads, []> & T11.SparqlGeneratorRule<"quadsNotTriples", T11.GraphQuads, []>;
|
|
35
35
|
usingClauses: import("@traqula/core").GeneratorRule<any, "usingClauses"> & T11.SparqlGrammarRule<"usingClauses", T11.DatasetClauses, []> & T11.SparqlGeneratorRule<"usingClauses", T11.DatasetClauses, []>;
|
|
36
36
|
argList: import("@traqula/core").GeneratorRule<any, "argList"> & T11.SparqlGrammarRule<"argList", import("@traqula/core").Wrap<T11.gram.IArgList>, []> & T11.SparqlGeneratorRule<"argList", import("@traqula/core").Wrap<T11.gram.IArgList>, []>;
|
|
37
|
-
iriOrFunction: import("@traqula/core").GeneratorRule<any, "iriOrFunction"> & T11.SparqlGrammarRule<"iriOrFunction", T11.
|
|
37
|
+
iriOrFunction: import("@traqula/core").GeneratorRule<any, "iriOrFunction"> & T11.SparqlGrammarRule<"iriOrFunction", T11.TermIri | T11.ExpressionFunctionCall, []> & T11.SparqlGeneratorRule<"iriOrFunction", T11.TermIri | T11.ExpressionFunctionCall, []>;
|
|
38
38
|
prologue: import("@traqula/core").GeneratorRule<any, "prologue"> & T11.SparqlGrammarRule<"prologue", T11.ContextDefinition[], []> & T11.SparqlGeneratorRule<"prologue", T11.ContextDefinition[], []>;
|
|
39
39
|
baseDecl: import("@traqula/core").GeneratorRule<any, "baseDecl"> & T11.SparqlGrammarRule<"baseDecl", T11.ContextDefinitionBase, []> & T11.SparqlGeneratorRule<"baseDecl", T11.ContextDefinitionBase, []>;
|
|
40
40
|
prefixDecl: import("@traqula/core").GeneratorRule<any, "prefixDecl"> & T11.SparqlGrammarRule<"prefixDecl", T11.ContextDefinitionPrefix, []> & T11.SparqlGeneratorRule<"prefixDecl", T11.ContextDefinitionPrefix, []>;
|
|
@@ -53,11 +53,10 @@ export declare const sparql11GeneratorBuilder: GeneratorBuilder<T11.SparqlGenera
|
|
|
53
53
|
collectionPath: import("@traqula/core").GeneratorRule<any, "collectionPath"> & T11.SparqlGrammarRule<"collectionPath", T11.TripleCollectionList, []> & T11.SparqlGeneratorRule<"collectionPath", T11.TripleCollectionList, []>;
|
|
54
54
|
triplesNodePath: import("@traqula/core").GeneratorRule<any, "triplesNodePath"> & T11.SparqlGrammarRule<"triplesNodePath", T11.TripleCollection, []> & T11.SparqlGeneratorRule<"triplesNodePath", T11.TripleCollection, []>;
|
|
55
55
|
blankNodePropertyListPath: import("@traqula/core").GeneratorRule<any, "blankNodePropertyListPath"> & T11.SparqlGrammarRule<"blankNodePropertyListPath", T11.TripleCollectionBlankNodeProperties, []> & T11.SparqlGeneratorRule<"blankNodePropertyListPath", T11.TripleCollectionBlankNodeProperties, []>;
|
|
56
|
-
graphNodePath: import("@traqula/core").GeneratorRule<any, "graphNodePath"> & T11.SparqlGrammarRule<"graphNodePath", T11.
|
|
56
|
+
graphNodePath: import("@traqula/core").GeneratorRule<any, "graphNodePath"> & T11.SparqlGrammarRule<"graphNodePath", T11.Term | T11.TripleCollection, []> & T11.SparqlGeneratorRule<"graphNodePath", T11.Term | T11.TripleCollection, []>;
|
|
57
57
|
whereClause: import("@traqula/core").GeneratorRule<any, "whereClause"> & T11.SparqlGrammarRule<"whereClause", import("@traqula/core").Wrap<T11.PatternGroup>, []> & T11.SparqlGeneratorRule<"whereClause", import("@traqula/core").Wrap<T11.PatternGroup>, []>;
|
|
58
58
|
groupGraphPattern: import("@traqula/core").GeneratorRule<any, "groupGraphPattern"> & T11.SparqlGrammarRule<"groupGraphPattern", T11.PatternGroup, []> & T11.SparqlGeneratorRule<"groupGraphPattern", T11.PatternGroup, []>;
|
|
59
|
-
|
|
60
|
-
graphPatternNotTriples: import("@traqula/core").GeneratorRule<any, "graphPatternNotTriples"> & T11.SparqlGrammarRule<"graphPatternNotTriples", T11.PatternGroup | T11.PatternUnion | T11.PatternOptional | T11.PatternMinus | T11.PatternGraph | T11.PatternService | T11.PatternFilter | T11.PatternBind | T11.PatternValues, []> & T11.SparqlGeneratorRule<"graphPatternNotTriples", T11.PatternGroup | T11.PatternUnion | T11.PatternOptional | T11.PatternMinus | T11.PatternGraph | T11.PatternService | T11.PatternFilter | T11.PatternBind | T11.PatternValues, []>;
|
|
59
|
+
graphPatternNotTriples: import("@traqula/core").GeneratorRule<any, "graphPatternNotTriples"> & T11.SparqlGrammarRule<"graphPatternNotTriples", T11.PatternFilter | T11.PatternBind | T11.PatternGroup | T11.PatternValues | T11.PatternUnion | T11.PatternOptional | T11.PatternMinus | T11.PatternGraph | T11.PatternService, []> & T11.SparqlGeneratorRule<"graphPatternNotTriples", T11.PatternFilter | T11.PatternBind | T11.PatternGroup | T11.PatternValues | T11.PatternUnion | T11.PatternOptional | T11.PatternMinus | T11.PatternGraph | T11.PatternService, []>;
|
|
61
60
|
optionalGraphPattern: import("@traqula/core").GeneratorRule<any, "optionalGraphPattern"> & T11.SparqlGrammarRule<"optionalGraphPattern", T11.PatternOptional, []> & T11.SparqlGeneratorRule<"optionalGraphPattern", T11.PatternOptional, []>;
|
|
62
61
|
graphGraphPattern: import("@traqula/core").GeneratorRule<any, "graphGraphPattern"> & T11.SparqlGrammarRule<"graphGraphPattern", T11.PatternGraph, []> & T11.SparqlGeneratorRule<"graphGraphPattern", T11.PatternGraph, []>;
|
|
63
62
|
serviceGraphPattern: import("@traqula/core").GeneratorRule<any, "serviceGraphPattern"> & T11.SparqlGrammarRule<"serviceGraphPattern", T11.PatternService, []> & T11.SparqlGeneratorRule<"serviceGraphPattern", T11.PatternService, []>;
|
|
@@ -65,13 +64,28 @@ export declare const sparql11GeneratorBuilder: GeneratorBuilder<T11.SparqlGenera
|
|
|
65
64
|
minusGraphPattern: import("@traqula/core").GeneratorRule<any, "minusGraphPattern"> & T11.SparqlGrammarRule<"minusGraphPattern", T11.PatternMinus, []> & T11.SparqlGeneratorRule<"minusGraphPattern", T11.PatternMinus, []>;
|
|
66
65
|
groupOrUnionGraphPattern: import("@traqula/core").GeneratorRule<any, "groupOrUnionGraphPattern"> & T11.SparqlGrammarRule<"groupOrUnionGraphPattern", T11.PatternGroup | T11.PatternUnion, []> & T11.SparqlGeneratorRule<"groupOrUnionGraphPattern", T11.PatternGroup | T11.PatternUnion, []>;
|
|
67
66
|
queryOrUpdate: import("@traqula/core").GeneratorRule<any, "queryOrUpdate"> & T11.SparqlGrammarRule<"queryOrUpdate", T11.SparqlQuery, []> & T11.SparqlGeneratorRule<"queryOrUpdate", T11.SparqlQuery, []>;
|
|
67
|
+
generatePattern: import("@traqula/core").GeneratorRule<any, "generatePattern"> & T11.SparqlGeneratorRule<"generatePattern", T11.Pattern>;
|
|
68
68
|
}>;
|
|
69
69
|
export type SparqlGenerator = ReturnType<typeof sparql11GeneratorBuilder.build>;
|
|
70
|
+
/**
|
|
71
|
+
* Generator that can generate a SPARQL 1.1 query string given a SPARQL 1.1 Traqula AST.
|
|
72
|
+
*/
|
|
70
73
|
export declare class Generator {
|
|
71
|
-
|
|
74
|
+
protected readonly defaultContext: T11.SparqlGeneratorContext;
|
|
72
75
|
constructor(defaultContext?: Partial<T11.SparqlGeneratorContext>);
|
|
73
76
|
private readonly generator;
|
|
74
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Generates a query string starting from the
|
|
79
|
+
* [QueryUnit](https://www.w3.org/TR/sparql11-query/#rQueryUnit)
|
|
80
|
+
* or [QueryUpdate](https://www.w3.org/TR/sparql11-query/#rUpdateUnit) rules.
|
|
81
|
+
* @param ast
|
|
82
|
+
* @param context
|
|
83
|
+
*/
|
|
75
84
|
generate(ast: T11.Query | T11.Update, context?: Partial<T11.SparqlGeneratorContext>): string;
|
|
85
|
+
/**
|
|
86
|
+
* Generates a query string starting from the [Path](https://www.w3.org/TR/sparql11-query/#rPath) grammar rule.
|
|
87
|
+
* @param ast
|
|
88
|
+
* @param context
|
|
89
|
+
*/
|
|
76
90
|
generatePath(ast: T11.Path, context?: Partial<T11.SparqlGeneratorContext>): string;
|
|
77
91
|
}
|
package/dist/esm/lib/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GeneratorBuilder } from '@traqula/core';
|
|
2
|
-
import {
|
|
2
|
+
import { gram, completeGeneratorContext } from '@traqula/rules-sparql-1-1';
|
|
3
3
|
export const sparql11GeneratorBuilder = GeneratorBuilder.create([
|
|
4
4
|
gram.queryOrUpdate,
|
|
5
5
|
gram.query,
|
|
@@ -19,18 +19,32 @@ export const sparql11GeneratorBuilder = GeneratorBuilder.create([
|
|
|
19
19
|
.addMany(gram.solutionModifier, gram.groupClause, gram.havingClause, gram.orderClause, gram.limitOffsetClauses)
|
|
20
20
|
.addMany(gram.triplesBlock, gram.collectionPath, gram.blankNodePropertyListPath, gram.triplesNodePath, gram.graphNodePath)
|
|
21
21
|
.addMany(gram.whereClause, gram.generatePattern, gram.groupGraphPattern, gram.graphPatternNotTriples, gram.optionalGraphPattern, gram.graphGraphPattern, gram.serviceGraphPattern, gram.bind, gram.inlineData, gram.minusGraphPattern, gram.groupOrUnionGraphPattern, gram.filter);
|
|
22
|
+
/**
|
|
23
|
+
* Generator that can generate a SPARQL 1.1 query string given a SPARQL 1.1 Traqula AST.
|
|
24
|
+
*/
|
|
22
25
|
export class Generator {
|
|
23
26
|
defaultContext;
|
|
24
27
|
constructor(defaultContext = {}) {
|
|
25
|
-
this.defaultContext = defaultContext;
|
|
28
|
+
this.defaultContext = completeGeneratorContext(defaultContext);
|
|
26
29
|
}
|
|
27
30
|
generator = sparql11GeneratorBuilder.build();
|
|
28
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Generates a query string starting from the
|
|
33
|
+
* [QueryUnit](https://www.w3.org/TR/sparql11-query/#rQueryUnit)
|
|
34
|
+
* or [QueryUpdate](https://www.w3.org/TR/sparql11-query/#rUpdateUnit) rules.
|
|
35
|
+
* @param ast
|
|
36
|
+
* @param context
|
|
37
|
+
*/
|
|
29
38
|
generate(ast, context = {}) {
|
|
30
|
-
return this.generator.queryOrUpdate(ast,
|
|
39
|
+
return this.generator.queryOrUpdate(ast, { ...this.defaultContext, ...context }).trim();
|
|
31
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Generates a query string starting from the [Path](https://www.w3.org/TR/sparql11-query/#rPath) grammar rule.
|
|
43
|
+
* @param ast
|
|
44
|
+
* @param context
|
|
45
|
+
*/
|
|
32
46
|
generatePath(ast, context = {}) {
|
|
33
|
-
return this.generator.path(ast,
|
|
47
|
+
return this.generator.path(ast, completeGeneratorContext({ ...this.defaultContext, ...context }), undefined).trim();
|
|
34
48
|
}
|
|
35
49
|
}
|
|
36
50
|
//# 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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE3E,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,MAAM,CAAS;IACtE,IAAI,CAAC,aAAa;IAClB,IAAI,CAAC,KAAK;IACV,IAAI,CAAC,WAAW;IAChB,IAAI,CAAC,cAAc;IACnB,IAAI,CAAC,aAAa;IAClB,IAAI,CAAC,QAAQ;IACb,IAAI,CAAC,YAAY;CAClB,CAAC;KACC,OAAO,CACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,eAAe,CACrB;KACA,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;KACvB,OAAO,CACN,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,eAAe,CACrB;KACA,OAAO,CACN,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,aAAa,CACnB;KACA,OAAO,CACN,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CACf;KACA,OAAO,CACN,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,SAAS,CACf;KACA,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;KAC3B,OAAO,CACN,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,kBAAkB,CACxB;KACA,OAAO,CACN,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,yBAAyB,EAC9B,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,aAAa,CACnB;KACA,OAAO,CACN,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,wBAAwB,EAC7B,IAAI,CAAC,MAAM,CACZ,CAAC;AAIJ;;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,wBAAwB,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IACtH,CAAC;CACF","sourcesContent":["import { GeneratorBuilder } from '@traqula/core';\nimport type * as T11 from '@traqula/rules-sparql-1-1';\nimport { gram, completeGeneratorContext } from '@traqula/rules-sparql-1-1';\n\nexport const sparql11GeneratorBuilder = GeneratorBuilder.create(<const> [\n gram.queryOrUpdate,\n gram.query,\n gram.selectQuery,\n gram.constructQuery,\n gram.describeQuery,\n gram.askQuery,\n gram.selectClause,\n])\n .addMany(\n gram.update,\n gram.update1,\n gram.load,\n gram.clear,\n gram.drop,\n gram.create,\n gram.copy,\n gram.move,\n gram.add,\n gram.insertData,\n gram.deleteData,\n gram.deleteWhere,\n gram.modify,\n gram.graphRef,\n gram.graphRefAll,\n gram.quads,\n gram.quadsNotTriples,\n )\n .addRule(gram.aggregate)\n .addMany(\n gram.datasetClauseStar,\n gram.usingClauseStar,\n )\n .addMany(\n gram.argList,\n gram.expression,\n gram.iriOrFunction,\n )\n .addMany(\n gram.prologue,\n gram.prefixDecl,\n gram.baseDecl,\n gram.varOrTerm,\n gram.var_,\n gram.graphTerm,\n )\n .addMany(\n gram.rdfLiteral,\n gram.iri,\n gram.iriFull,\n gram.prefixedName,\n gram.blankNode,\n )\n .addRule(gram.pathGenerator)\n .addMany(\n gram.solutionModifier,\n gram.groupClause,\n gram.havingClause,\n gram.orderClause,\n gram.limitOffsetClauses,\n )\n .addMany(\n gram.triplesBlock,\n gram.collectionPath,\n gram.blankNodePropertyListPath,\n gram.triplesNodePath,\n gram.graphNodePath,\n )\n .addMany(\n gram.whereClause,\n gram.generatePattern,\n gram.groupGraphPattern,\n gram.graphPatternNotTriples,\n gram.optionalGraphPattern,\n gram.graphGraphPattern,\n gram.serviceGraphPattern,\n gram.bind,\n gram.inlineData,\n gram.minusGraphPattern,\n gram.groupOrUnionGraphPattern,\n gram.filter,\n );\n\nexport type SparqlGenerator = ReturnType<typeof sparql11GeneratorBuilder.build>;\n\n/**\n * Generator that can generate a SPARQL 1.1 query string given a SPARQL 1.1 Traqula AST.\n */\nexport class Generator {\n protected readonly defaultContext: T11.SparqlGeneratorContext;\n public constructor(defaultContext: Partial<T11.SparqlGeneratorContext> = {}) {\n this.defaultContext = completeGeneratorContext(defaultContext);\n }\n\n private readonly generator: SparqlGenerator = sparql11GeneratorBuilder.build();\n\n /**\n * Generates a query string starting from the\n * [QueryUnit](https://www.w3.org/TR/sparql11-query/#rQueryUnit)\n * or [QueryUpdate](https://www.w3.org/TR/sparql11-query/#rUpdateUnit) rules.\n * @param ast\n * @param context\n */\n public generate(ast: T11.Query | T11.Update, context: Partial<T11.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/sparql11-query/#rPath) grammar rule.\n * @param ast\n * @param context\n */\n public generatePath(ast: T11.Path, context: Partial<T11.SparqlGeneratorContext> = {}): string {\n return this.generator.path(ast, completeGeneratorContext({ ...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-1",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0
|
|
4
|
+
"version": "1.0.0",
|
|
5
5
|
"description": "SPARQL 1.1 generator",
|
|
6
6
|
"lsd:module": true,
|
|
7
7
|
"license": "MIT",
|
|
@@ -41,12 +41,12 @@
|
|
|
41
41
|
"build:cjs": "node \"../../node_modules/typescript/bin/tsc\" -b tsconfig.cjs.json"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@traqula/core": "^0.0
|
|
45
|
-
"@traqula/rules-sparql-1-1": "^0.0
|
|
44
|
+
"@traqula/core": "^1.0.0",
|
|
45
|
+
"@traqula/rules-sparql-1-1": "^1.0.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@traqula/parser-sparql-1-1": "^0.0
|
|
49
|
-
"@traqula/test-utils": "^0.0
|
|
48
|
+
"@traqula/parser-sparql-1-1": "^1.0.0",
|
|
49
|
+
"@traqula/test-utils": "^1.0.0"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "9e648d6d9081a3b4f994599fa22116414914746f"
|
|
52
52
|
}
|