@_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.
Files changed (65) hide show
  1. package/CHANGELOG.md +54 -4
  2. package/README.md +36 -0
  3. package/lib/cjs/queries/queryDispatch.js +1 -1
  4. package/lib/cjs/queries/queryDispatch.js.map +1 -1
  5. package/lib/cjs/shapes/SHACL.d.ts +13 -0
  6. package/lib/cjs/shapes/SHACL.js +53 -5
  7. package/lib/cjs/shapes/SHACL.js.map +1 -1
  8. package/lib/cjs/sparql/{SparqlStore.d.ts → SparqlDataset.d.ts} +6 -5
  9. package/lib/cjs/sparql/{SparqlStore.js → SparqlDataset.js} +9 -8
  10. package/lib/cjs/sparql/SparqlDataset.js.map +1 -0
  11. package/lib/cjs/sparql/index.d.ts +1 -1
  12. package/lib/cjs/sparql/index.js +5 -4
  13. package/lib/cjs/sparql/index.js.map +1 -1
  14. package/lib/cjs/sparql/irToAlgebra.js +237 -41
  15. package/lib/cjs/sparql/irToAlgebra.js.map +1 -1
  16. package/lib/cjs/test-helpers/FusekiStore.d.ts +4 -4
  17. package/lib/cjs/test-helpers/FusekiStore.js +4 -4
  18. package/lib/cjs/test-helpers/FusekiStore.js.map +1 -1
  19. package/lib/cjs/test-helpers/fuseki-test-store.js +3 -0
  20. package/lib/cjs/test-helpers/fuseki-test-store.js.map +1 -1
  21. package/lib/cjs/utils/LinkedFileStorage.d.ts +3 -3
  22. package/lib/cjs/utils/LinkedFileStorage.js +21 -13
  23. package/lib/cjs/utils/LinkedFileStorage.js.map +1 -1
  24. package/lib/cjs/utils/LinkedStorage.d.ts +25 -9
  25. package/lib/cjs/utils/LinkedStorage.js +63 -44
  26. package/lib/cjs/utils/LinkedStorage.js.map +1 -1
  27. package/lib/cjs/utils/loadStores.d.ts +34 -0
  28. package/lib/cjs/utils/loadStores.js +101 -0
  29. package/lib/cjs/utils/loadStores.js.map +1 -0
  30. package/lib/cjs/utils/parseDatasetsConfig.d.ts +49 -0
  31. package/lib/cjs/utils/parseDatasetsConfig.js +110 -0
  32. package/lib/cjs/utils/parseDatasetsConfig.js.map +1 -0
  33. package/lib/esm/queries/queryDispatch.js +1 -1
  34. package/lib/esm/queries/queryDispatch.js.map +1 -1
  35. package/lib/esm/shapes/SHACL.d.ts +13 -0
  36. package/lib/esm/shapes/SHACL.js +53 -5
  37. package/lib/esm/shapes/SHACL.js.map +1 -1
  38. package/lib/esm/sparql/{SparqlStore.d.ts → SparqlDataset.d.ts} +6 -5
  39. package/lib/esm/sparql/{SparqlStore.js → SparqlDataset.js} +8 -6
  40. package/lib/esm/sparql/SparqlDataset.js.map +1 -0
  41. package/lib/esm/sparql/index.d.ts +1 -1
  42. package/lib/esm/sparql/index.js +2 -2
  43. package/lib/esm/sparql/index.js.map +1 -1
  44. package/lib/esm/sparql/irToAlgebra.js +237 -41
  45. package/lib/esm/sparql/irToAlgebra.js.map +1 -1
  46. package/lib/esm/test-helpers/FusekiStore.d.ts +4 -4
  47. package/lib/esm/test-helpers/FusekiStore.js +4 -4
  48. package/lib/esm/test-helpers/FusekiStore.js.map +1 -1
  49. package/lib/esm/test-helpers/fuseki-test-store.js +3 -0
  50. package/lib/esm/test-helpers/fuseki-test-store.js.map +1 -1
  51. package/lib/esm/utils/LinkedFileStorage.d.ts +3 -3
  52. package/lib/esm/utils/LinkedFileStorage.js +21 -13
  53. package/lib/esm/utils/LinkedFileStorage.js.map +1 -1
  54. package/lib/esm/utils/LinkedStorage.d.ts +25 -9
  55. package/lib/esm/utils/LinkedStorage.js +63 -44
  56. package/lib/esm/utils/LinkedStorage.js.map +1 -1
  57. package/lib/esm/utils/loadStores.d.ts +34 -0
  58. package/lib/esm/utils/loadStores.js +65 -0
  59. package/lib/esm/utils/loadStores.js.map +1 -0
  60. package/lib/esm/utils/parseDatasetsConfig.d.ts +49 -0
  61. package/lib/esm/utils/parseDatasetsConfig.js +107 -0
  62. package/lib/esm/utils/parseDatasetsConfig.js.map +1 -0
  63. package/package.json +1 -1
  64. package/lib/cjs/sparql/SparqlStore.js.map +0 -1
  65. 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 quad stores.
11
+ * Abstract base class for SPARQL-backed datasets.
12
12
  *
13
- * Extends Shape so store configurations can themselves be persisted as linked data.
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 FusekiStore extends SparqlStore {
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 SparqlStore extends Shape implements IDataset {
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 store.
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 quad stores.
15
+ * Abstract base class for SPARQL-backed datasets.
16
16
  *
17
- * Extends Shape so store configurations can themselves be persisted as linked data.
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 FusekiStore extends SparqlStore {
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 SparqlStore extends Shape {
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 store.
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
- //# sourceMappingURL=SparqlStore.js.map
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 './SparqlStore.js';
9
+ export { SparqlDataset, SparqlStore } from './SparqlDataset.js';
@@ -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
- // Store base class
12
- export { SparqlStore } from './SparqlStore.js';
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,mBAAmB;AACnB,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC"}
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, ...traverseTriples, ...requiredPropertyTriples],
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 optionalPropertyTriples) {
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 predicate = pattern.pathExpr
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
- triples.push(tripleOf(subjectTerm, iriTerm(RDF_TYPE), iriTerm(data.shape)));
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
- const propertyTerm = iriTerm(field.property);
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
- const s = lazyShacl();
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 = lazyGetShapeClass(shapeId);
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.path[0].id), varTerm(bnVar));
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) {