@traqula/rules-sparql-1-1 0.0.22 → 0.0.24
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/MinimalSparqlParser.js +35 -58
- package/dist/cjs/lib/MinimalSparqlParser.js.map +1 -0
- package/dist/cjs/lib/Sparql11types.js +2 -15
- package/dist/cjs/lib/Sparql11types.js.map +1 -0
- package/dist/cjs/lib/astFactory.js +107 -119
- package/dist/cjs/lib/astFactory.js.map +1 -0
- package/dist/cjs/lib/expressionHelpers.js +181 -191
- package/dist/cjs/lib/expressionHelpers.js.map +1 -0
- package/dist/cjs/lib/factoryMixins/ContextFactory.js +30 -52
- package/dist/cjs/lib/factoryMixins/ContextFactory.js.map +1 -0
- package/dist/cjs/lib/factoryMixins/ExpressionFactory.js +83 -102
- package/dist/cjs/lib/factoryMixins/ExpressionFactory.js.map +1 -0
- package/dist/cjs/lib/factoryMixins/GraphRefFactory.js +51 -73
- package/dist/cjs/lib/factoryMixins/GraphRefFactory.js.map +1 -0
- package/dist/cjs/lib/factoryMixins/PathFactory.js +68 -87
- package/dist/cjs/lib/factoryMixins/PathFactory.js.map +1 -0
- package/dist/cjs/lib/factoryMixins/Patternfactory.js +98 -120
- package/dist/cjs/lib/factoryMixins/Patternfactory.js.map +1 -0
- package/dist/cjs/lib/factoryMixins/QueryFactory.js +43 -65
- package/dist/cjs/lib/factoryMixins/QueryFactory.js.map +1 -0
- package/dist/cjs/lib/factoryMixins/SolutionModifiersFactory.js +55 -77
- package/dist/cjs/lib/factoryMixins/SolutionModifiersFactory.js.map +1 -0
- package/dist/cjs/lib/factoryMixins/TermFactory.js +81 -102
- package/dist/cjs/lib/factoryMixins/TermFactory.js.map +1 -0
- package/dist/cjs/lib/factoryMixins/UpdateOperationFactory.js +126 -147
- package/dist/cjs/lib/factoryMixins/UpdateOperationFactory.js.map +1 -0
- package/dist/cjs/lib/factoryMixins/mixins.js +21 -38
- package/dist/cjs/lib/factoryMixins/mixins.js.map +1 -0
- package/dist/cjs/lib/grammar/builtIn.js +277 -377
- package/dist/cjs/lib/grammar/builtIn.js.map +1 -0
- package/dist/cjs/lib/grammar/dataSetClause.js +110 -109
- package/dist/cjs/lib/grammar/dataSetClause.js.map +1 -0
- package/dist/cjs/lib/grammar/expression.js +387 -358
- package/dist/cjs/lib/grammar/expression.js.map +1 -0
- package/dist/cjs/lib/grammar/general.js +173 -158
- package/dist/cjs/lib/grammar/general.js.map +1 -0
- package/dist/cjs/lib/grammar/index.js +94 -111
- package/dist/cjs/lib/grammar/index.js.map +1 -0
- package/dist/cjs/lib/grammar/literals.js +282 -266
- package/dist/cjs/lib/grammar/literals.js.map +1 -0
- package/dist/cjs/lib/grammar/propertyPaths.js +206 -193
- package/dist/cjs/lib/grammar/propertyPaths.js.map +1 -0
- package/dist/cjs/lib/grammar/queryUnit.js +395 -372
- package/dist/cjs/lib/grammar/queryUnit.js.map +1 -0
- package/dist/cjs/lib/grammar/solutionModifier.js +281 -265
- package/dist/cjs/lib/grammar/solutionModifier.js.map +1 -0
- package/dist/cjs/lib/grammar/tripleBlock.js +390 -355
- package/dist/cjs/lib/grammar/tripleBlock.js.map +1 -0
- package/dist/cjs/lib/grammar/updateUnit.js +551 -519
- package/dist/cjs/lib/grammar/updateUnit.js.map +1 -0
- package/dist/cjs/lib/grammar/whereClause.js +486 -459
- package/dist/cjs/lib/grammar/whereClause.js.map +1 -0
- package/dist/cjs/lib/index.js +47 -54
- package/dist/cjs/lib/index.js.map +1 -0
- package/dist/cjs/lib/lexer/BuiltInCalls.js +188 -333
- package/dist/cjs/lib/lexer/BuiltInCalls.js.map +1 -0
- package/dist/cjs/lib/lexer/graph.js +10 -40
- package/dist/cjs/lib/lexer/graph.js.map +1 -0
- package/dist/cjs/lib/lexer/index.js +43 -48
- package/dist/cjs/lib/lexer/index.js.map +1 -0
- package/dist/cjs/lib/lexer/lexer.js +84 -195
- package/dist/cjs/lib/lexer/lexer.js.map +1 -0
- package/dist/cjs/lib/lexer/lexerPatterns.js +40 -132
- package/dist/cjs/lib/lexer/lexerPatterns.js.map +1 -0
- package/dist/cjs/lib/lexer/symbols.js +31 -106
- package/dist/cjs/lib/lexer/symbols.js.map +1 -0
- package/dist/cjs/lib/lexer/terminals.js +100 -102
- package/dist/cjs/lib/lexer/terminals.js.map +1 -0
- package/dist/cjs/lib/sparql11HelperTypes.js +2 -15
- package/dist/cjs/lib/sparql11HelperTypes.js.map +1 -0
- package/dist/cjs/lib/utils.js +40 -58
- package/dist/cjs/lib/utils.js.map +1 -0
- package/dist/cjs/lib/validation/validators.js +197 -186
- package/dist/cjs/lib/validation/validators.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/package.json +10 -9
|
@@ -1,115 +1,98 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
17
15
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.queryOrUpdate = void 0;
|
|
18
|
+
const index_js_1 = require("../lexer/index.js");
|
|
19
|
+
const validators_js_1 = require("../validation/validators.js");
|
|
20
|
+
const general_js_1 = require("./general.js");
|
|
21
|
+
const queryUnit_js_1 = require("./queryUnit.js");
|
|
22
|
+
const updateUnit_js_1 = require("./updateUnit.js");
|
|
23
|
+
__exportStar(require("./queryUnit.js"), exports);
|
|
24
|
+
__exportStar(require("./updateUnit.js"), exports);
|
|
25
|
+
__exportStar(require("./builtIn.js"), exports);
|
|
26
|
+
__exportStar(require("./dataSetClause.js"), exports);
|
|
27
|
+
__exportStar(require("./expression.js"), exports);
|
|
28
|
+
__exportStar(require("../expressionHelpers.js"), exports);
|
|
29
|
+
__exportStar(require("./general.js"), exports);
|
|
30
|
+
__exportStar(require("./literals.js"), exports);
|
|
31
|
+
__exportStar(require("./propertyPaths.js"), exports);
|
|
32
|
+
__exportStar(require("./solutionModifier.js"), exports);
|
|
33
|
+
__exportStar(require("./tripleBlock.js"), exports);
|
|
34
|
+
__exportStar(require("./whereClause.js"), exports);
|
|
35
|
+
/**
|
|
36
|
+
* Query or update, optimized for the Query case.
|
|
37
|
+
* One could implement a new rule that does not use BACKTRACK.
|
|
38
|
+
*/
|
|
39
|
+
exports.queryOrUpdate = {
|
|
40
|
+
name: 'queryOrUpdate',
|
|
41
|
+
impl: ({ ACTION, SUBRULE, OR1, OR2, MANY, OPTION1, CONSUME, SUBRULE2 }) => (C) => {
|
|
42
|
+
const prologueValues = SUBRULE(general_js_1.prologue);
|
|
43
|
+
return OR1([
|
|
44
|
+
{ ALT: () => {
|
|
45
|
+
const subType = OR2([
|
|
46
|
+
{ ALT: () => SUBRULE(queryUnit_js_1.selectQuery) },
|
|
47
|
+
{ ALT: () => SUBRULE(queryUnit_js_1.constructQuery) },
|
|
48
|
+
{ ALT: () => SUBRULE(queryUnit_js_1.describeQuery) },
|
|
49
|
+
{ ALT: () => SUBRULE(queryUnit_js_1.askQuery) },
|
|
50
|
+
]);
|
|
51
|
+
const values = SUBRULE(queryUnit_js_1.valuesClause);
|
|
52
|
+
return ACTION(() => ({
|
|
53
|
+
context: prologueValues,
|
|
54
|
+
...subType,
|
|
55
|
+
type: 'query',
|
|
56
|
+
...(values && { values }),
|
|
57
|
+
loc: C.astFactory.sourceLocation(prologueValues.at(0), subType, values),
|
|
58
|
+
}));
|
|
59
|
+
} },
|
|
60
|
+
{ ALT: () => {
|
|
61
|
+
const updates = [];
|
|
62
|
+
updates.push({ context: prologueValues });
|
|
63
|
+
let parsedSemi = true;
|
|
64
|
+
MANY({
|
|
65
|
+
GATE: () => parsedSemi,
|
|
66
|
+
DEF: () => {
|
|
67
|
+
parsedSemi = false;
|
|
68
|
+
updates.at(-1).operation = SUBRULE(updateUnit_js_1.update1);
|
|
69
|
+
OPTION1(() => {
|
|
70
|
+
CONSUME(index_js_1.symbols.semi);
|
|
71
|
+
parsedSemi = true;
|
|
72
|
+
const innerPrologue = SUBRULE2(general_js_1.prologue);
|
|
73
|
+
updates.push({ context: innerPrologue });
|
|
74
|
+
});
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
return ACTION(() => {
|
|
78
|
+
const update = {
|
|
79
|
+
type: 'update',
|
|
80
|
+
updates,
|
|
81
|
+
loc: C.astFactory.sourceLocation(...updates[0].context, updates[0].operation, ...updates.at(-1).context, updates.at(-1)?.operation),
|
|
82
|
+
};
|
|
83
|
+
(0, validators_js_1.updateNoReuseBlankNodeLabels)(update);
|
|
84
|
+
return update;
|
|
85
|
+
});
|
|
86
|
+
} },
|
|
53
87
|
]);
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
{ ALT: () => {
|
|
64
|
-
const updates = [];
|
|
65
|
-
updates.push({ context: prologueValues });
|
|
66
|
-
let parsedSemi = true;
|
|
67
|
-
MANY({
|
|
68
|
-
GATE: () => parsedSemi,
|
|
69
|
-
DEF: () => {
|
|
70
|
-
parsedSemi = false;
|
|
71
|
-
updates.at(-1).operation = SUBRULE(import_updateUnit.update1);
|
|
72
|
-
OPTION1(() => {
|
|
73
|
-
CONSUME(import_lexer.symbols.semi);
|
|
74
|
-
parsedSemi = true;
|
|
75
|
-
const innerPrologue = SUBRULE2(import_general.prologue);
|
|
76
|
-
updates.push({ context: innerPrologue });
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
return ACTION(() => {
|
|
81
|
-
const update2 = {
|
|
82
|
-
type: "update",
|
|
83
|
-
updates,
|
|
84
|
-
loc: C.astFactory.sourceLocation(...updates[0].context, updates[0].operation, ...updates.at(-1).context, updates.at(-1)?.operation)
|
|
85
|
-
};
|
|
86
|
-
(0, import_validators.updateNoReuseBlankNodeLabels)(update2);
|
|
87
|
-
return update2;
|
|
88
|
-
});
|
|
89
|
-
} }
|
|
90
|
-
]);
|
|
91
|
-
},
|
|
92
|
-
gImpl: ({ SUBRULE }) => (ast, { astFactory: F }) => {
|
|
93
|
-
if (F.isQuery(ast)) {
|
|
94
|
-
SUBRULE(import_queryUnit.query, ast);
|
|
95
|
-
} else {
|
|
96
|
-
SUBRULE(import_updateUnit.update, ast);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
88
|
+
},
|
|
89
|
+
gImpl: ({ SUBRULE }) => (ast, { astFactory: F }) => {
|
|
90
|
+
if (F.isQuery(ast)) {
|
|
91
|
+
SUBRULE(queryUnit_js_1.query, ast);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
SUBRULE(updateUnit_js_1.update, ast);
|
|
95
|
+
}
|
|
96
|
+
},
|
|
99
97
|
};
|
|
100
|
-
|
|
101
|
-
0 && (module.exports = {
|
|
102
|
-
queryOrUpdate,
|
|
103
|
-
...require("./queryUnit.js"),
|
|
104
|
-
...require("./updateUnit.js"),
|
|
105
|
-
...require("./builtIn.js"),
|
|
106
|
-
...require("./dataSetClause.js"),
|
|
107
|
-
...require("./expression.js"),
|
|
108
|
-
...require("../expressionHelpers.js"),
|
|
109
|
-
...require("./general.js"),
|
|
110
|
-
...require("./literals.js"),
|
|
111
|
-
...require("./propertyPaths.js"),
|
|
112
|
-
...require("./solutionModifier.js"),
|
|
113
|
-
...require("./tripleBlock.js"),
|
|
114
|
-
...require("./whereClause.js")
|
|
115
|
-
});
|
|
98
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/grammar/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { symbols } from '../lexer/index.js';\nimport type { SparqlRule } from '../sparql11HelperTypes.js';\nimport type { Query, SparqlQuery, Update } from '../Sparql11types.js';\nimport { updateNoReuseBlankNodeLabels } from '../validation/validators.js';\nimport { prologue } from './general.js';\nimport type { HandledByBase } from './queryUnit.js';\nimport { query, askQuery, constructQuery, describeQuery, selectQuery, valuesClause } from './queryUnit.js';\nimport { update, update1 } from './updateUnit.js';\n\nexport * from './queryUnit.js';\nexport * from './updateUnit.js';\nexport * from './builtIn.js';\nexport * from './dataSetClause.js';\nexport * from './expression.js';\nexport * from '../expressionHelpers.js';\nexport * from './general.js';\nexport * from './literals.js';\nexport * from './propertyPaths.js';\nexport * from './solutionModifier.js';\nexport * from './tripleBlock.js';\nexport * from './whereClause.js';\n\n/**\n * Query or update, optimized for the Query case.\n * One could implement a new rule that does not use BACKTRACK.\n */\nexport const queryOrUpdate: SparqlRule<'queryOrUpdate', SparqlQuery> = {\n name: 'queryOrUpdate',\n impl: ({ ACTION, SUBRULE, OR1, OR2, MANY, OPTION1, CONSUME, SUBRULE2 }) => (C) => {\n const prologueValues = SUBRULE(prologue);\n return OR1<Query | Update>([\n { ALT: () => {\n const subType = OR2<Omit<Query, HandledByBase>>([\n { ALT: () => SUBRULE(selectQuery) },\n { ALT: () => SUBRULE(constructQuery) },\n { ALT: () => SUBRULE(describeQuery) },\n { ALT: () => SUBRULE(askQuery) },\n ]);\n const values = SUBRULE(valuesClause);\n return ACTION(() => (<Query>{\n context: prologueValues,\n ...subType,\n type: 'query',\n ...(values && { values }),\n loc: C.astFactory.sourceLocation(\n prologueValues.at(0),\n subType,\n values,\n ),\n }));\n } },\n { ALT: () => {\n const updates: Update['updates'] = [];\n updates.push({ context: prologueValues });\n let parsedSemi = true;\n MANY({\n GATE: () => parsedSemi,\n DEF: () => {\n parsedSemi = false;\n updates.at(-1)!.operation = SUBRULE(update1);\n\n OPTION1(() => {\n CONSUME(symbols.semi);\n\n parsedSemi = true;\n const innerPrologue = SUBRULE2(prologue);\n updates.push({ context: innerPrologue });\n });\n },\n });\n return ACTION(() => {\n const update = {\n type: 'update',\n updates,\n loc: C.astFactory.sourceLocation(\n ...updates[0].context,\n updates[0].operation,\n ...updates.at(-1)!.context,\n updates.at(-1)?.operation,\n ),\n } satisfies Update;\n updateNoReuseBlankNodeLabels(update);\n return update;\n });\n } },\n ]);\n },\n gImpl: ({ SUBRULE }) => (ast, { astFactory: F }) => {\n if (F.isQuery(ast)) {\n SUBRULE(query, ast);\n } else {\n SUBRULE(update, ast);\n }\n },\n};\n"]}
|