@_linked/core 2.6.0-next.20260509053822 → 2.6.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/CHANGELOG.md +54 -4
- package/README.md +36 -0
- package/lib/cjs/queries/queryDispatch.js +1 -1
- package/lib/cjs/queries/queryDispatch.js.map +1 -1
- package/lib/cjs/shapes/SHACL.d.ts +13 -0
- package/lib/cjs/shapes/SHACL.js +53 -5
- package/lib/cjs/shapes/SHACL.js.map +1 -1
- package/lib/cjs/sparql/{SparqlStore.d.ts → SparqlDataset.d.ts} +6 -5
- package/lib/cjs/sparql/{SparqlStore.js → SparqlDataset.js} +9 -8
- package/lib/cjs/sparql/SparqlDataset.js.map +1 -0
- package/lib/cjs/sparql/index.d.ts +1 -1
- package/lib/cjs/sparql/index.js +5 -4
- package/lib/cjs/sparql/index.js.map +1 -1
- package/lib/cjs/sparql/irToAlgebra.js +237 -41
- package/lib/cjs/sparql/irToAlgebra.js.map +1 -1
- package/lib/cjs/test-helpers/FusekiStore.d.ts +4 -4
- package/lib/cjs/test-helpers/FusekiStore.js +4 -4
- package/lib/cjs/test-helpers/FusekiStore.js.map +1 -1
- package/lib/cjs/test-helpers/fuseki-test-store.js +3 -0
- package/lib/cjs/test-helpers/fuseki-test-store.js.map +1 -1
- package/lib/cjs/utils/LinkedFileStorage.d.ts +3 -3
- package/lib/cjs/utils/LinkedFileStorage.js +21 -13
- package/lib/cjs/utils/LinkedFileStorage.js.map +1 -1
- package/lib/cjs/utils/LinkedStorage.d.ts +25 -9
- package/lib/cjs/utils/LinkedStorage.js +63 -44
- package/lib/cjs/utils/LinkedStorage.js.map +1 -1
- package/lib/cjs/utils/loadStores.d.ts +34 -0
- package/lib/cjs/utils/loadStores.js +101 -0
- package/lib/cjs/utils/loadStores.js.map +1 -0
- package/lib/cjs/utils/parseDatasetsConfig.d.ts +49 -0
- package/lib/cjs/utils/parseDatasetsConfig.js +110 -0
- package/lib/cjs/utils/parseDatasetsConfig.js.map +1 -0
- package/lib/esm/queries/queryDispatch.js +1 -1
- package/lib/esm/queries/queryDispatch.js.map +1 -1
- package/lib/esm/shapes/SHACL.d.ts +13 -0
- package/lib/esm/shapes/SHACL.js +53 -5
- package/lib/esm/shapes/SHACL.js.map +1 -1
- package/lib/esm/sparql/{SparqlStore.d.ts → SparqlDataset.d.ts} +6 -5
- package/lib/esm/sparql/{SparqlStore.js → SparqlDataset.js} +8 -6
- package/lib/esm/sparql/SparqlDataset.js.map +1 -0
- package/lib/esm/sparql/index.d.ts +1 -1
- package/lib/esm/sparql/index.js +2 -2
- package/lib/esm/sparql/index.js.map +1 -1
- package/lib/esm/sparql/irToAlgebra.js +237 -41
- package/lib/esm/sparql/irToAlgebra.js.map +1 -1
- package/lib/esm/test-helpers/FusekiStore.d.ts +4 -4
- package/lib/esm/test-helpers/FusekiStore.js +4 -4
- package/lib/esm/test-helpers/FusekiStore.js.map +1 -1
- package/lib/esm/test-helpers/fuseki-test-store.js +3 -0
- package/lib/esm/test-helpers/fuseki-test-store.js.map +1 -1
- package/lib/esm/utils/LinkedFileStorage.d.ts +3 -3
- package/lib/esm/utils/LinkedFileStorage.js +21 -13
- package/lib/esm/utils/LinkedFileStorage.js.map +1 -1
- package/lib/esm/utils/LinkedStorage.d.ts +25 -9
- package/lib/esm/utils/LinkedStorage.js +63 -44
- package/lib/esm/utils/LinkedStorage.js.map +1 -1
- package/lib/esm/utils/loadStores.d.ts +34 -0
- package/lib/esm/utils/loadStores.js +65 -0
- package/lib/esm/utils/loadStores.js.map +1 -0
- package/lib/esm/utils/parseDatasetsConfig.d.ts +49 -0
- package/lib/esm/utils/parseDatasetsConfig.js +107 -0
- package/lib/esm/utils/parseDatasetsConfig.js.map +1 -0
- package/package.json +1 -1
- package/lib/cjs/sparql/SparqlStore.js.map +0 -1
- package/lib/esm/sparql/SparqlStore.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SHACL.js","sourceRoot":"","sources":["../../../src/shapes/SHACL.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SHACL.js","sourceRoot":"","sources":["../../../src/shapes/SHACL.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,9 @@ import type { SparqlJsonResults } from './resultMapping.js';
|
|
|
8
8
|
import { type SparqlOptions } from './sparqlUtils.js';
|
|
9
9
|
import { Shape } from '../shapes/Shape.js';
|
|
10
10
|
/**
|
|
11
|
-
* Abstract base class for SPARQL-backed
|
|
11
|
+
* Abstract base class for SPARQL-backed datasets.
|
|
12
12
|
*
|
|
13
|
-
* Extends Shape so
|
|
13
|
+
* Extends Shape so dataset configurations can themselves be persisted as linked data.
|
|
14
14
|
* Handles the full pipeline: IR query → SPARQL string → execute → map results.
|
|
15
15
|
* Subclasses only need to implement the two transport methods:
|
|
16
16
|
* - `executeSparqlSelect` — send a SPARQL SELECT and return JSON results
|
|
@@ -18,7 +18,7 @@ import { Shape } from '../shapes/Shape.js';
|
|
|
18
18
|
*
|
|
19
19
|
* Example subclass (Fuseki):
|
|
20
20
|
* ```ts
|
|
21
|
-
* class
|
|
21
|
+
* class FusekiDataset extends SparqlDataset {
|
|
22
22
|
* constructor(baseUrl: string, dataset: string) {
|
|
23
23
|
* super({ dataRoot: 'http://data.example.org' });
|
|
24
24
|
* this.queryEndpoint = `${baseUrl}/${dataset}/sparql`;
|
|
@@ -34,7 +34,7 @@ import { Shape } from '../shapes/Shape.js';
|
|
|
34
34
|
* }
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
37
|
-
export declare abstract class
|
|
37
|
+
export declare abstract class SparqlDataset extends Shape implements IDataset {
|
|
38
38
|
protected options?: SparqlOptions;
|
|
39
39
|
constructor(options?: SparqlOptions);
|
|
40
40
|
/**
|
|
@@ -52,8 +52,9 @@ export declare abstract class SparqlStore extends Shape implements IDataset {
|
|
|
52
52
|
updateQuery(query: UpdateQuery): Promise<UpdateResult>;
|
|
53
53
|
deleteQuery(query: DeleteQuery): Promise<DeleteResponse>;
|
|
54
54
|
/**
|
|
55
|
-
* Execute a raw SPARQL query string directly against the
|
|
55
|
+
* Execute a raw SPARQL query string directly against the dataset.
|
|
56
56
|
* Defaults to SELECT; pass `'update'` for INSERT/DELETE operations.
|
|
57
57
|
*/
|
|
58
58
|
rawQuery(sparql: string, mode?: 'query' | 'update'): Promise<SparqlJsonResults | void>;
|
|
59
59
|
}
|
|
60
|
+
export { SparqlDataset as SparqlStore };
|
|
@@ -12,9 +12,9 @@ import { mapSparqlSelectResult, mapSparqlCreateResult, mapSparqlUpdateResult, }
|
|
|
12
12
|
import { generateEntityUri } from './sparqlUtils.js';
|
|
13
13
|
import { Shape } from '../shapes/Shape.js';
|
|
14
14
|
/**
|
|
15
|
-
* Abstract base class for SPARQL-backed
|
|
15
|
+
* Abstract base class for SPARQL-backed datasets.
|
|
16
16
|
*
|
|
17
|
-
* Extends Shape so
|
|
17
|
+
* Extends Shape so dataset configurations can themselves be persisted as linked data.
|
|
18
18
|
* Handles the full pipeline: IR query → SPARQL string → execute → map results.
|
|
19
19
|
* Subclasses only need to implement the two transport methods:
|
|
20
20
|
* - `executeSparqlSelect` — send a SPARQL SELECT and return JSON results
|
|
@@ -22,7 +22,7 @@ import { Shape } from '../shapes/Shape.js';
|
|
|
22
22
|
*
|
|
23
23
|
* Example subclass (Fuseki):
|
|
24
24
|
* ```ts
|
|
25
|
-
* class
|
|
25
|
+
* class FusekiDataset extends SparqlDataset {
|
|
26
26
|
* constructor(baseUrl: string, dataset: string) {
|
|
27
27
|
* super({ dataRoot: 'http://data.example.org' });
|
|
28
28
|
* this.queryEndpoint = `${baseUrl}/${dataset}/sparql`;
|
|
@@ -38,7 +38,7 @@ import { Shape } from '../shapes/Shape.js';
|
|
|
38
38
|
* }
|
|
39
39
|
* ```
|
|
40
40
|
*/
|
|
41
|
-
export class
|
|
41
|
+
export class SparqlDataset extends Shape {
|
|
42
42
|
constructor(options) {
|
|
43
43
|
super();
|
|
44
44
|
this.options = options;
|
|
@@ -92,7 +92,7 @@ export class SparqlStore extends Shape {
|
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
94
|
/**
|
|
95
|
-
* Execute a raw SPARQL query string directly against the
|
|
95
|
+
* Execute a raw SPARQL query string directly against the dataset.
|
|
96
96
|
* Defaults to SELECT; pass `'update'` for INSERT/DELETE operations.
|
|
97
97
|
*/
|
|
98
98
|
rawQuery(sparql, mode) {
|
|
@@ -104,4 +104,6 @@ export class SparqlStore extends Shape {
|
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
|
|
107
|
+
// Backwards-compatibility re-export — remove once all consumers are updated.
|
|
108
|
+
export { SparqlDataset as SparqlStore };
|
|
109
|
+
//# sourceMappingURL=SparqlDataset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SparqlDataset.js","sourceRoot":"","sources":["../../../src/sparql/SparqlDataset.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,4 +6,4 @@ export { selectToSparql, createToSparql, updateToSparql, deleteToSparql, } from
|
|
|
6
6
|
export { serializeAlgebraNode, serializeExpression, serializeTerm, selectPlanToSparql, insertDataPlanToSparql, deleteInsertPlanToSparql, deleteWherePlanToSparql, } from './algebraToString.js';
|
|
7
7
|
export { mapSparqlSelectResult, mapSparqlCreateResult, mapSparqlUpdateResult, } from './resultMapping.js';
|
|
8
8
|
export type { SparqlJsonResults, SparqlBinding } from './resultMapping.js';
|
|
9
|
-
export { SparqlStore } from './
|
|
9
|
+
export { SparqlDataset, SparqlStore } from './SparqlDataset.js';
|
package/lib/esm/sparql/index.js
CHANGED
|
@@ -8,6 +8,6 @@ export { selectToSparql, createToSparql, updateToSparql, deleteToSparql, } from
|
|
|
8
8
|
export { serializeAlgebraNode, serializeExpression, serializeTerm, selectPlanToSparql, insertDataPlanToSparql, deleteInsertPlanToSparql, deleteWherePlanToSparql, } from './algebraToString.js';
|
|
9
9
|
// Result mapping
|
|
10
10
|
export { mapSparqlSelectResult, mapSparqlCreateResult, mapSparqlUpdateResult, } from './resultMapping.js';
|
|
11
|
-
//
|
|
12
|
-
export { SparqlStore } from './
|
|
11
|
+
// Dataset base class
|
|
12
|
+
export { SparqlDataset, SparqlStore } from './SparqlDataset.js';
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sparql/index.ts"],"names":[],"mappings":"AAIA,YAAY;AACZ,OAAO,EACL,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,oCAAoC;AACpC,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,uDAAuD;AACvD,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,kDAAkD;AAClD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,iBAAiB;AACjB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sparql/index.ts"],"names":[],"mappings":"AAIA,YAAY;AACZ,OAAO,EACL,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,oCAAoC;AACpC,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,uDAAuD;AACvD,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,kDAAkD;AAClD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,iBAAiB;AACjB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,qBAAqB;AACrB,OAAO,EAAC,aAAa,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,26 +1,11 @@
|
|
|
1
1
|
import { pathExprToSparql, collectPathUris } from '../paths/pathExprToSparql.js';
|
|
2
2
|
import { generateEntityUri } from './sparqlUtils.js';
|
|
3
3
|
import { selectPlanToSparql, insertDataPlanToSparql, deleteInsertPlanToSparql, } from './algebraToString.js';
|
|
4
|
-
// Lazy-loaded to avoid circular dependency:
|
|
5
|
-
// irToAlgebra → ShapeClass → Shape → CreateBuilder → … → SHACL → Shape (circular)
|
|
6
|
-
let _getShapeClass;
|
|
7
|
-
function lazyGetShapeClass(id) {
|
|
8
|
-
if (!_getShapeClass) {
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
10
|
-
_getShapeClass = require('../utils/ShapeClass.js').getShapeClass;
|
|
11
|
-
}
|
|
12
|
-
return _getShapeClass(id);
|
|
13
|
-
}
|
|
14
|
-
let _shacl;
|
|
15
|
-
function lazyShacl() {
|
|
16
|
-
if (!_shacl) {
|
|
17
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
18
|
-
_shacl = require('../ontologies/shacl.js').shacl;
|
|
19
|
-
}
|
|
20
|
-
return _shacl;
|
|
21
|
-
}
|
|
22
4
|
import { rdf } from '../ontologies/rdf.js';
|
|
5
|
+
import { shacl } from '../ontologies/shacl.js';
|
|
23
6
|
import { xsd } from '../ontologies/xsd.js';
|
|
7
|
+
import { getSimplePathId } from '../paths/normalizePropertyPath.js';
|
|
8
|
+
import { getAllShapeClasses, getShapeClass } from '../utils/ShapeClass.js';
|
|
24
9
|
// ---------------------------------------------------------------------------
|
|
25
10
|
// Constants
|
|
26
11
|
// ---------------------------------------------------------------------------
|
|
@@ -47,6 +32,30 @@ function literalTerm(value, datatype) {
|
|
|
47
32
|
function tripleOf(subject, predicate, object) {
|
|
48
33
|
return { subject, predicate, object };
|
|
49
34
|
}
|
|
35
|
+
function shouldResolveShapeOrPropertyId(resolvedId) {
|
|
36
|
+
return !!resolvedId && !resolvedId.startsWith('linked://tmp/');
|
|
37
|
+
}
|
|
38
|
+
function resolveShapeScanIri(shapeId) {
|
|
39
|
+
var _a;
|
|
40
|
+
const shapeClass = getShapeClass(shapeId);
|
|
41
|
+
const targetClassId = (_a = shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.targetClass) === null || _a === void 0 ? void 0 : _a.id;
|
|
42
|
+
return shouldResolveShapeOrPropertyId(targetClassId) ? targetClassId : shapeId;
|
|
43
|
+
}
|
|
44
|
+
function resolvePropertyPredicateIri(propertyId) {
|
|
45
|
+
var _a, _b, _c;
|
|
46
|
+
const shapeClasses = getAllShapeClasses();
|
|
47
|
+
for (const shapeClass of shapeClasses.values()) {
|
|
48
|
+
const propertyShape = (_c = (_b = (_a = shapeClass.shape) === null || _a === void 0 ? void 0 : _a.getPropertyShapes) === null || _b === void 0 ? void 0 : _b.call(_a, true)) === null || _c === void 0 ? void 0 : _c.find((prop) => prop.id === propertyId);
|
|
49
|
+
if (!propertyShape)
|
|
50
|
+
continue;
|
|
51
|
+
const simplePathId = getSimplePathId(propertyShape.path);
|
|
52
|
+
if (shouldResolveShapeOrPropertyId(simplePathId)) {
|
|
53
|
+
return simplePathId;
|
|
54
|
+
}
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
return propertyId;
|
|
58
|
+
}
|
|
50
59
|
/** Produce variable name suffix from the last segment of a property URI. */
|
|
51
60
|
function propertySuffix(propertyUri) {
|
|
52
61
|
const hashIdx = propertyUri.lastIndexOf('#');
|
|
@@ -141,6 +150,147 @@ function collectTraversalAliases(patterns) {
|
|
|
141
150
|
}
|
|
142
151
|
return aliases;
|
|
143
152
|
}
|
|
153
|
+
function buildTraverseTriple(pattern) {
|
|
154
|
+
const predicate = pattern.pathExpr
|
|
155
|
+
? {
|
|
156
|
+
kind: 'path',
|
|
157
|
+
value: pathExprToSparql(pattern.pathExpr),
|
|
158
|
+
uris: collectPathUris(pattern.pathExpr),
|
|
159
|
+
}
|
|
160
|
+
: iriTerm(resolvePropertyPredicateIri(pattern.property));
|
|
161
|
+
return tripleOf(varTerm(pattern.from), predicate, varTerm(pattern.to));
|
|
162
|
+
}
|
|
163
|
+
function collectTraversePatternsInOrder(patterns, out = []) {
|
|
164
|
+
for (const pattern of patterns) {
|
|
165
|
+
switch (pattern.kind) {
|
|
166
|
+
case 'traverse':
|
|
167
|
+
out.push(pattern);
|
|
168
|
+
break;
|
|
169
|
+
case 'join':
|
|
170
|
+
collectTraversePatternsInOrder(pattern.patterns, out);
|
|
171
|
+
break;
|
|
172
|
+
case 'optional':
|
|
173
|
+
case 'exists':
|
|
174
|
+
collectTraversePatternsInOrder([pattern.pattern], out);
|
|
175
|
+
break;
|
|
176
|
+
case 'union':
|
|
177
|
+
for (const branch of pattern.branches) {
|
|
178
|
+
collectTraversePatternsInOrder([branch], out);
|
|
179
|
+
}
|
|
180
|
+
break;
|
|
181
|
+
case 'shape_scan':
|
|
182
|
+
case 'minus':
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return out;
|
|
187
|
+
}
|
|
188
|
+
function collectDirectProjectionAliases(query, rootAlias) {
|
|
189
|
+
const aliases = new Set();
|
|
190
|
+
for (const item of query.projection) {
|
|
191
|
+
if (item.expression.kind === 'property_expr') {
|
|
192
|
+
if (item.expression.sourceAlias !== rootAlias) {
|
|
193
|
+
aliases.add(item.expression.sourceAlias);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
else if (item.expression.kind === 'alias_expr') {
|
|
197
|
+
if (item.expression.alias !== rootAlias) {
|
|
198
|
+
aliases.add(item.expression.alias);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return aliases;
|
|
203
|
+
}
|
|
204
|
+
function collectExpressionAliases(expr, aliases) {
|
|
205
|
+
switch (expr.kind) {
|
|
206
|
+
case 'property_expr':
|
|
207
|
+
aliases.add(expr.sourceAlias);
|
|
208
|
+
break;
|
|
209
|
+
case 'alias_expr':
|
|
210
|
+
aliases.add(expr.alias);
|
|
211
|
+
break;
|
|
212
|
+
case 'binary_expr':
|
|
213
|
+
collectExpressionAliases(expr.left, aliases);
|
|
214
|
+
collectExpressionAliases(expr.right, aliases);
|
|
215
|
+
break;
|
|
216
|
+
case 'logical_expr':
|
|
217
|
+
for (const sub of expr.expressions) {
|
|
218
|
+
collectExpressionAliases(sub, aliases);
|
|
219
|
+
}
|
|
220
|
+
break;
|
|
221
|
+
case 'not_expr':
|
|
222
|
+
collectExpressionAliases(expr.expression, aliases);
|
|
223
|
+
break;
|
|
224
|
+
case 'function_expr':
|
|
225
|
+
case 'aggregate_expr':
|
|
226
|
+
for (const arg of expr.args) {
|
|
227
|
+
collectExpressionAliases(arg, aliases);
|
|
228
|
+
}
|
|
229
|
+
break;
|
|
230
|
+
case 'exists_expr':
|
|
231
|
+
if (expr.filter) {
|
|
232
|
+
collectExpressionAliases(expr.filter, aliases);
|
|
233
|
+
}
|
|
234
|
+
break;
|
|
235
|
+
case 'literal_expr':
|
|
236
|
+
case 'reference_expr':
|
|
237
|
+
case 'context_property_expr':
|
|
238
|
+
break;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
function markAliasAndAncestors(alias, traversePatternMap, target) {
|
|
242
|
+
var _a;
|
|
243
|
+
let currentAlias = alias;
|
|
244
|
+
while (currentAlias && traversePatternMap.has(currentAlias)) {
|
|
245
|
+
if (target.has(currentAlias)) {
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
target.add(currentAlias);
|
|
249
|
+
currentAlias = (_a = traversePatternMap.get(currentAlias)) === null || _a === void 0 ? void 0 : _a.from;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
function collectRequiredTraversalAliases(query, traversePatternMap) {
|
|
253
|
+
const directAliases = new Set();
|
|
254
|
+
if (query.where) {
|
|
255
|
+
collectExpressionAliases(query.where, directAliases);
|
|
256
|
+
}
|
|
257
|
+
if (query.orderBy) {
|
|
258
|
+
for (const item of query.orderBy) {
|
|
259
|
+
collectExpressionAliases(item.expression, directAliases);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
for (const pattern of traversePatternMap.values()) {
|
|
263
|
+
if (pattern.filter) {
|
|
264
|
+
directAliases.add(pattern.to);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
const requiredAliases = new Set();
|
|
268
|
+
for (const alias of directAliases) {
|
|
269
|
+
markAliasAndAncestors(alias, traversePatternMap, requiredAliases);
|
|
270
|
+
}
|
|
271
|
+
return requiredAliases;
|
|
272
|
+
}
|
|
273
|
+
function buildOptionalTraversalSubtree(alias, traversePatternMap, childOptionalAliasesByParent, propertyTriplesByAlias) {
|
|
274
|
+
var _a, _b;
|
|
275
|
+
const pattern = traversePatternMap.get(alias);
|
|
276
|
+
if (!pattern) {
|
|
277
|
+
throw new Error(`Missing traverse pattern for alias "${alias}"`);
|
|
278
|
+
}
|
|
279
|
+
let subtree = {
|
|
280
|
+
type: 'bgp',
|
|
281
|
+
triples: [buildTraverseTriple(pattern)],
|
|
282
|
+
};
|
|
283
|
+
for (const propTriple of (_a = propertyTriplesByAlias.get(alias)) !== null && _a !== void 0 ? _a : []) {
|
|
284
|
+
subtree = wrapOptional(subtree, {
|
|
285
|
+
type: 'bgp',
|
|
286
|
+
triples: [propTriple],
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
for (const childAlias of (_b = childOptionalAliasesByParent.get(alias)) !== null && _b !== void 0 ? _b : []) {
|
|
290
|
+
subtree = wrapOptional(subtree, buildOptionalTraversalSubtree(childAlias, traversePatternMap, childOptionalAliasesByParent, propertyTriplesByAlias));
|
|
291
|
+
}
|
|
292
|
+
return subtree;
|
|
293
|
+
}
|
|
144
294
|
// ---------------------------------------------------------------------------
|
|
145
295
|
// Variable Registry
|
|
146
296
|
// ---------------------------------------------------------------------------
|
|
@@ -213,6 +363,7 @@ function containsAggregate(expr) {
|
|
|
213
363
|
* Converts an IRSelectQuery to a SparqlSelectPlan.
|
|
214
364
|
*/
|
|
215
365
|
export function selectToAlgebra(query, _options) {
|
|
366
|
+
var _a, _b;
|
|
216
367
|
const registry = new VariableRegistry();
|
|
217
368
|
// Promote bindings only when the top-level WHERE would reject rows without
|
|
218
369
|
// them. This keeps human-like SPARQL for null-rejecting filters without
|
|
@@ -232,10 +383,12 @@ export function selectToAlgebra(query, _options) {
|
|
|
232
383
|
}
|
|
233
384
|
const rootAlias = query.root.alias;
|
|
234
385
|
const shapeUri = query.root.shape;
|
|
235
|
-
const typeTriple = tripleOf(varTerm(rootAlias), iriTerm(RDF_TYPE), iriTerm(shapeUri));
|
|
386
|
+
const typeTriple = tripleOf(varTerm(rootAlias), iriTerm(RDF_TYPE), iriTerm(resolveShapeScanIri(shapeUri)));
|
|
236
387
|
const requiredTriples = [typeTriple];
|
|
237
388
|
// Track traverse triples (required pattern)
|
|
238
389
|
const traverseTriples = [];
|
|
390
|
+
const traversePatternsInOrder = collectTraversePatternsInOrder(query.patterns);
|
|
391
|
+
const traversePatternMap = new Map(traversePatternsInOrder.map((pattern) => [pattern.to, pattern]));
|
|
239
392
|
// 2. Process patterns → traverse triples, populate variable registry
|
|
240
393
|
for (const pattern of query.patterns) {
|
|
241
394
|
processPattern(pattern, registry, traverseTriples, optionalPropertyTriples, filteredTraverseBlocks);
|
|
@@ -263,12 +416,53 @@ export function selectToAlgebra(query, _options) {
|
|
|
263
416
|
processExpressionForProperties(orderItem.expression, registry, optionalPropertyTriples, requiredPropertyTriples, requiredPropertyKeys);
|
|
264
417
|
}
|
|
265
418
|
}
|
|
419
|
+
const projectedTraversalAliases = new Set();
|
|
420
|
+
const directProjectionAliases = collectDirectProjectionAliases(query, rootAlias);
|
|
421
|
+
for (const alias of directProjectionAliases) {
|
|
422
|
+
markAliasAndAncestors(alias, traversePatternMap, projectedTraversalAliases);
|
|
423
|
+
}
|
|
424
|
+
const requiredTraversalAliases = collectRequiredTraversalAliases(query, traversePatternMap);
|
|
425
|
+
const optionalTraversalAliases = new Set([...projectedTraversalAliases].filter((alias) => {
|
|
426
|
+
const pattern = traversePatternMap.get(alias);
|
|
427
|
+
return !!pattern &&
|
|
428
|
+
typeof pattern.maxCount === 'number' &&
|
|
429
|
+
pattern.maxCount <= 1 &&
|
|
430
|
+
!pattern.filter &&
|
|
431
|
+
!requiredTraversalAliases.has(alias);
|
|
432
|
+
}));
|
|
433
|
+
const requiredTraverseTriples = traverseTriples.filter((triple) => !(triple.object.kind === 'variable' &&
|
|
434
|
+
optionalTraversalAliases.has(triple.object.name)));
|
|
435
|
+
const nestedOptionalPropertyTriplesByAlias = new Map();
|
|
436
|
+
const topLevelOptionalPropertyTriples = [];
|
|
437
|
+
for (const propTriple of optionalPropertyTriples) {
|
|
438
|
+
if (propTriple.subject.kind === 'variable' &&
|
|
439
|
+
optionalTraversalAliases.has(propTriple.subject.name)) {
|
|
440
|
+
const triples = (_a = nestedOptionalPropertyTriplesByAlias.get(propTriple.subject.name)) !== null && _a !== void 0 ? _a : [];
|
|
441
|
+
triples.push(propTriple);
|
|
442
|
+
nestedOptionalPropertyTriplesByAlias.set(propTriple.subject.name, triples);
|
|
443
|
+
}
|
|
444
|
+
else {
|
|
445
|
+
topLevelOptionalPropertyTriples.push(propTriple);
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
const childOptionalAliasesByParent = new Map();
|
|
449
|
+
for (const pattern of traversePatternsInOrder) {
|
|
450
|
+
if (!optionalTraversalAliases.has(pattern.to))
|
|
451
|
+
continue;
|
|
452
|
+
const siblings = (_b = childOptionalAliasesByParent.get(pattern.from)) !== null && _b !== void 0 ? _b : [];
|
|
453
|
+
siblings.push(pattern.to);
|
|
454
|
+
childOptionalAliasesByParent.set(pattern.from, siblings);
|
|
455
|
+
}
|
|
456
|
+
const rootOptionalTraversalAliases = traversePatternsInOrder
|
|
457
|
+
.filter((pattern) => optionalTraversalAliases.has(pattern.to) &&
|
|
458
|
+
!optionalTraversalAliases.has(pattern.from))
|
|
459
|
+
.map((pattern) => pattern.to);
|
|
266
460
|
// 5. Build the algebra tree
|
|
267
461
|
// - Start with the required BGP (type triple + traverse triples)
|
|
268
462
|
// - Wrap each optional property triple in a LeftJoin
|
|
269
463
|
const requiredBgp = {
|
|
270
464
|
type: 'bgp',
|
|
271
|
-
triples: [...requiredTriples, ...
|
|
465
|
+
triples: [...requiredTriples, ...requiredTraverseTriples, ...requiredPropertyTriples],
|
|
272
466
|
};
|
|
273
467
|
let algebra = requiredBgp;
|
|
274
468
|
// 5b. Build filtered OPTIONAL blocks for inline where traversals.
|
|
@@ -288,8 +482,11 @@ export function selectToAlgebra(query, _options) {
|
|
|
288
482
|
const filteredBlock = { type: 'filter', expression: filterExpr, inner: blockInner };
|
|
289
483
|
algebra = wrapOptional(algebra, filteredBlock);
|
|
290
484
|
}
|
|
485
|
+
for (const alias of rootOptionalTraversalAliases) {
|
|
486
|
+
algebra = wrapOptional(algebra, buildOptionalTraversalSubtree(alias, traversePatternMap, childOptionalAliasesByParent, nestedOptionalPropertyTriplesByAlias));
|
|
487
|
+
}
|
|
291
488
|
// Wrap each optional property triple in its own OPTIONAL (LeftJoin)
|
|
292
|
-
for (const propTriple of
|
|
489
|
+
for (const propTriple of topLevelOptionalPropertyTriples) {
|
|
293
490
|
algebra = wrapOptional(algebra, {
|
|
294
491
|
type: 'bgp',
|
|
295
492
|
triples: [propTriple],
|
|
@@ -458,10 +655,7 @@ function processPattern(pattern, registry, traverseTriples, optionalPropertyTrip
|
|
|
458
655
|
// Register the traverse variable: (from, property) → to
|
|
459
656
|
registry.set(pattern.from, pattern.property, pattern.to);
|
|
460
657
|
// Add traverse triple to required pattern (or filtered block if inline where)
|
|
461
|
-
const
|
|
462
|
-
? { kind: 'path', value: pathExprToSparql(pattern.pathExpr), uris: collectPathUris(pattern.pathExpr) }
|
|
463
|
-
: iriTerm(pattern.property);
|
|
464
|
-
const triple = tripleOf(varTerm(pattern.from), predicate, varTerm(pattern.to));
|
|
658
|
+
const triple = buildTraverseTriple(pattern);
|
|
465
659
|
if (pattern.filter && filteredTraverseBlocks) {
|
|
466
660
|
filteredTraverseBlocks.push({
|
|
467
661
|
traverseTriple: triple,
|
|
@@ -511,7 +705,7 @@ function processExpressionForProperties(expr, registry, optionalPropertyTriples,
|
|
|
511
705
|
const varName = registry.getOrCreate(expr.sourceAlias, expr.property);
|
|
512
706
|
const predicate = expr.pathExpr
|
|
513
707
|
? { kind: 'path', value: pathExprToSparql(expr.pathExpr), uris: collectPathUris(expr.pathExpr) }
|
|
514
|
-
: iriTerm(expr.property);
|
|
708
|
+
: iriTerm(resolvePropertyPredicateIri(expr.property));
|
|
515
709
|
const triple = tripleOf(varTerm(expr.sourceAlias), predicate, varTerm(varName));
|
|
516
710
|
const triples = requiredPropertyKeys.has(bindingKey(expr.sourceAlias, expr.property))
|
|
517
711
|
? requiredPropertyTriples
|
|
@@ -554,7 +748,7 @@ function processExpressionForProperties(expr, registry, optionalPropertyTriples,
|
|
|
554
748
|
const ctxKey = contextAliasKey(expr.contextIri);
|
|
555
749
|
if (!registry.has(ctxKey, expr.property)) {
|
|
556
750
|
const varName = registry.getOrCreate(ctxKey, expr.property);
|
|
557
|
-
const triple = tripleOf(iriTerm(expr.contextIri), iriTerm(expr.property), varTerm(varName));
|
|
751
|
+
const triple = tripleOf(iriTerm(expr.contextIri), iriTerm(resolvePropertyPredicateIri(expr.property)), varTerm(varName));
|
|
558
752
|
const triples = requiredPropertyKeys.has(bindingKey(ctxKey, expr.property))
|
|
559
753
|
? requiredPropertyTriples
|
|
560
754
|
: optionalPropertyTriples;
|
|
@@ -723,7 +917,7 @@ function convertExistsPattern(pattern, registry) {
|
|
|
723
917
|
case 'traverse': {
|
|
724
918
|
const existsPredicate = pattern.pathExpr
|
|
725
919
|
? { kind: 'path', value: pathExprToSparql(pattern.pathExpr), uris: collectPathUris(pattern.pathExpr) }
|
|
726
|
-
: iriTerm(pattern.property);
|
|
920
|
+
: iriTerm(resolvePropertyPredicateIri(pattern.property));
|
|
727
921
|
const triple = tripleOf(varTerm(pattern.from), existsPredicate, varTerm(pattern.to));
|
|
728
922
|
return { type: 'bgp', triples: [triple] };
|
|
729
923
|
}
|
|
@@ -739,7 +933,7 @@ function convertExistsPattern(pattern, registry) {
|
|
|
739
933
|
return {
|
|
740
934
|
type: 'bgp',
|
|
741
935
|
triples: [
|
|
742
|
-
tripleOf(varTerm(pattern.alias), iriTerm(RDF_TYPE), iriTerm(pattern.shape)),
|
|
936
|
+
tripleOf(varTerm(pattern.alias), iriTerm(RDF_TYPE), iriTerm(resolveShapeScanIri(pattern.shape))),
|
|
743
937
|
],
|
|
744
938
|
};
|
|
745
939
|
}
|
|
@@ -834,11 +1028,14 @@ function generateNodeDataTriples(data, options) {
|
|
|
834
1028
|
const uri = data.id || generateEntityUri(data.shape, options);
|
|
835
1029
|
const triples = [];
|
|
836
1030
|
const subjectTerm = iriTerm(uri);
|
|
837
|
-
// Type triple
|
|
838
|
-
|
|
1031
|
+
// Type triple — resolve the SHACL NodeShape id in the IR to the ontology
|
|
1032
|
+
// targetClass URI (sibling of PR #77's SELECT-side resolveShapeScanIri).
|
|
1033
|
+
// Mutations were not covered by #77; see mutation-uri-fidelity.test.ts.
|
|
1034
|
+
triples.push(tripleOf(subjectTerm, iriTerm(RDF_TYPE), iriTerm(resolveShapeScanIri(data.shape))));
|
|
839
1035
|
// Field triples
|
|
840
1036
|
for (const field of data.fields) {
|
|
841
|
-
|
|
1037
|
+
// Resolve the SHACL PropertyShape id to its declared `path` URI.
|
|
1038
|
+
const propertyTerm = iriTerm(resolvePropertyPredicateIri(field.property));
|
|
842
1039
|
if (field.value === null || field.value === undefined) {
|
|
843
1040
|
continue;
|
|
844
1041
|
}
|
|
@@ -898,7 +1095,7 @@ function processUpdateFields(data, subjectTerm, options) {
|
|
|
898
1095
|
const oldValueTriples = [];
|
|
899
1096
|
const extends_ = [];
|
|
900
1097
|
for (const field of data.fields) {
|
|
901
|
-
const propertyTerm = iriTerm(field.property);
|
|
1098
|
+
const propertyTerm = iriTerm(resolvePropertyPredicateIri(field.property));
|
|
902
1099
|
const suffix = propertySuffix(field.property);
|
|
903
1100
|
// Check for set modification ({add, remove})
|
|
904
1101
|
if (field.value &&
|
|
@@ -1082,7 +1279,7 @@ export function deleteToAlgebra(query, _options) {
|
|
|
1082
1279
|
const idx = query.ids.length > 1 ? `_${i}` : '';
|
|
1083
1280
|
const subjWild = tripleOf(subjectTerm, varTerm(`p${idx}`), varTerm(`o${idx}`));
|
|
1084
1281
|
const objWild = tripleOf(varTerm(`s${idx}`), varTerm(`p2${idx}`), subjectTerm);
|
|
1085
|
-
const typeGuard = tripleOf(subjectTerm, iriTerm(RDF_TYPE), iriTerm(query.shape));
|
|
1282
|
+
const typeGuard = tripleOf(subjectTerm, iriTerm(RDF_TYPE), iriTerm(resolveShapeScanIri(query.shape)));
|
|
1086
1283
|
// DELETE block: all patterns (subject-wildcard, object-wildcard, type)
|
|
1087
1284
|
deletePatterns.push(subjWild, objWild, typeGuard);
|
|
1088
1285
|
// WHERE block: subject-wildcard and type guard are required;
|
|
@@ -1119,8 +1316,7 @@ function isBlankNodeProperty(prop) {
|
|
|
1119
1316
|
const nk = (_a = prop.nodeKind) === null || _a === void 0 ? void 0 : _a.id;
|
|
1120
1317
|
if (!nk)
|
|
1121
1318
|
return false;
|
|
1122
|
-
|
|
1123
|
-
return nk === s.BlankNode.id || nk === s.BlankNodeOrIRI.id;
|
|
1319
|
+
return nk === shacl.BlankNode.id || nk === shacl.BlankNodeOrIRI.id;
|
|
1124
1320
|
}
|
|
1125
1321
|
/**
|
|
1126
1322
|
* Recursively builds DELETE + WHERE patterns for blank-node-typed properties.
|
|
@@ -1134,7 +1330,7 @@ function isBlankNodeProperty(prop) {
|
|
|
1134
1330
|
*/
|
|
1135
1331
|
function walkBlankNodeTree(shapeId, parentVar, depth, deletePatterns) {
|
|
1136
1332
|
var _a;
|
|
1137
|
-
const shapeClass =
|
|
1333
|
+
const shapeClass = getShapeClass(shapeId);
|
|
1138
1334
|
if (!(shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.shape))
|
|
1139
1335
|
return null;
|
|
1140
1336
|
let optionals = null;
|
|
@@ -1148,7 +1344,7 @@ function walkBlankNodeTree(shapeId, parentVar, depth, deletePatterns) {
|
|
|
1148
1344
|
// DELETE pattern: wildcard all triples on the blank node
|
|
1149
1345
|
deletePatterns.push(tripleOf(varTerm(bnVar), varTerm(pVar), varTerm(oVar)));
|
|
1150
1346
|
// WHERE: parent --<property>--> ?bnVar
|
|
1151
|
-
const traverseTriple = tripleOf(varTerm(parentVar), iriTerm(prop.
|
|
1347
|
+
const traverseTriple = tripleOf(varTerm(parentVar), iriTerm(resolvePropertyPredicateIri(prop.id)), varTerm(bnVar));
|
|
1152
1348
|
// FILTER(isBlank(?bnVar))
|
|
1153
1349
|
const isBlankFilter = {
|
|
1154
1350
|
kind: 'function_expr',
|
|
@@ -1194,7 +1390,7 @@ export function deleteAllToAlgebra(query, _options) {
|
|
|
1194
1390
|
tripleOf(varTerm(subjectVar), varTerm('p'), varTerm('o')),
|
|
1195
1391
|
];
|
|
1196
1392
|
// WHERE: type triple + root wildcard
|
|
1197
|
-
const typeTriple = tripleOf(varTerm(subjectVar), iriTerm(RDF_TYPE), iriTerm(query.shape));
|
|
1393
|
+
const typeTriple = tripleOf(varTerm(subjectVar), iriTerm(RDF_TYPE), iriTerm(resolveShapeScanIri(query.shape)));
|
|
1198
1394
|
const rootWildcard = tripleOf(varTerm(subjectVar), varTerm('p'), varTerm('o'));
|
|
1199
1395
|
let whereAlgebra = { type: 'bgp', triples: [typeTriple, rootWildcard] };
|
|
1200
1396
|
// Walk blank node tree for cleanup
|
|
@@ -1222,7 +1418,7 @@ export function deleteWhereToAlgebra(query, _options) {
|
|
|
1222
1418
|
tripleOf(varTerm(subjectVar), varTerm('p'), varTerm('o')),
|
|
1223
1419
|
];
|
|
1224
1420
|
// WHERE: type triple + root wildcard
|
|
1225
|
-
const typeTriple = tripleOf(varTerm(subjectVar), iriTerm(RDF_TYPE), iriTerm(query.shape));
|
|
1421
|
+
const typeTriple = tripleOf(varTerm(subjectVar), iriTerm(RDF_TYPE), iriTerm(resolveShapeScanIri(query.shape)));
|
|
1226
1422
|
const rootWildcard = tripleOf(varTerm(subjectVar), varTerm('p'), varTerm('o'));
|
|
1227
1423
|
let whereAlgebra = { type: 'bgp', triples: [typeTriple, rootWildcard] };
|
|
1228
1424
|
// Process where patterns (traversals from the where clause)
|
|
@@ -1267,7 +1463,7 @@ export function updateWhereToAlgebra(query, options) {
|
|
|
1267
1463
|
const subjectTerm = varTerm('a0');
|
|
1268
1464
|
const result = processUpdateFields(query.data, subjectTerm, options);
|
|
1269
1465
|
// WHERE: type triple is always required
|
|
1270
|
-
const typeTriple = tripleOf(subjectTerm, iriTerm(RDF_TYPE), iriTerm(query.data.shape));
|
|
1466
|
+
const typeTriple = tripleOf(subjectTerm, iriTerm(RDF_TYPE), iriTerm(resolveShapeScanIri(query.data.shape)));
|
|
1271
1467
|
let whereAlgebra = { type: 'bgp', triples: [typeTriple] };
|
|
1272
1468
|
// Process where filter conditions (if any)
|
|
1273
1469
|
if (query.where && query.wherePatterns) {
|