@_linked/core 2.2.0 → 2.3.0-next.20260325032529
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 +31 -231
- package/lib/cjs/queries/FieldSet.d.ts +3 -0
- package/lib/cjs/queries/FieldSet.js +12 -2
- package/lib/cjs/queries/FieldSet.js.map +1 -1
- package/lib/cjs/queries/IRDesugar.js +6 -2
- package/lib/cjs/queries/IRDesugar.js.map +1 -1
- package/lib/cjs/queries/IRMutation.d.ts +1 -1
- package/lib/cjs/queries/MutationQuery.d.ts +1 -1
- package/lib/cjs/queries/MutationQuery.js +1 -2
- package/lib/cjs/queries/MutationQuery.js.map +1 -1
- package/lib/cjs/queries/QueryFactory.d.ts +1 -1
- package/lib/cjs/queries/SelectQuery.d.ts +1 -1
- package/lib/cjs/shapes/Shape.d.ts +3 -3
- package/lib/cjs/sparql/SparqlStore.d.ts +5 -0
- package/lib/cjs/sparql/SparqlStore.js +12 -0
- package/lib/cjs/sparql/SparqlStore.js.map +1 -1
- package/lib/cjs/sparql/irToAlgebra.js +44 -21
- package/lib/cjs/sparql/irToAlgebra.js.map +1 -1
- package/lib/cjs/test-helpers/FusekiStore.js +5 -2
- package/lib/cjs/test-helpers/FusekiStore.js.map +1 -1
- package/lib/cjs/test-helpers/fuseki-test-store.d.ts +14 -12
- package/lib/cjs/test-helpers/fuseki-test-store.js +109 -13
- package/lib/cjs/test-helpers/fuseki-test-store.js.map +1 -1
- package/lib/cjs/test-helpers/query-fixtures.d.ts +5 -0
- package/lib/cjs/test-helpers/query-fixtures.js +1 -0
- package/lib/cjs/test-helpers/query-fixtures.js.map +1 -1
- package/lib/cjs/utils/ShapeClass.d.ts +5 -1
- package/lib/cjs/utils/ShapeClass.js +7 -0
- package/lib/cjs/utils/ShapeClass.js.map +1 -1
- package/lib/esm/queries/FieldSet.d.ts +3 -0
- package/lib/esm/queries/FieldSet.js +12 -2
- package/lib/esm/queries/FieldSet.js.map +1 -1
- package/lib/esm/queries/IRDesugar.js +6 -2
- package/lib/esm/queries/IRDesugar.js.map +1 -1
- package/lib/esm/queries/IRMutation.d.ts +1 -1
- package/lib/esm/queries/MutationQuery.d.ts +1 -1
- package/lib/esm/queries/MutationQuery.js +1 -2
- package/lib/esm/queries/MutationQuery.js.map +1 -1
- package/lib/esm/queries/QueryFactory.d.ts +1 -1
- package/lib/esm/queries/SelectQuery.d.ts +1 -1
- package/lib/esm/shapes/Shape.d.ts +3 -3
- package/lib/esm/sparql/SparqlStore.d.ts +5 -0
- package/lib/esm/sparql/SparqlStore.js +12 -0
- package/lib/esm/sparql/SparqlStore.js.map +1 -1
- package/lib/esm/sparql/irToAlgebra.js +44 -21
- package/lib/esm/sparql/irToAlgebra.js.map +1 -1
- package/lib/esm/test-helpers/FusekiStore.js +5 -2
- package/lib/esm/test-helpers/FusekiStore.js.map +1 -1
- package/lib/esm/test-helpers/fuseki-test-store.d.ts +14 -12
- package/lib/esm/test-helpers/fuseki-test-store.js +104 -10
- package/lib/esm/test-helpers/fuseki-test-store.js.map +1 -1
- package/lib/esm/test-helpers/query-fixtures.d.ts +5 -0
- package/lib/esm/test-helpers/query-fixtures.js +1 -0
- package/lib/esm/test-helpers/query-fixtures.js.map +1 -1
- package/lib/esm/utils/ShapeClass.d.ts +5 -1
- package/lib/esm/utils/ShapeClass.js +6 -0
- package/lib/esm/utils/ShapeClass.js.map +1 -1
- package/package.json +1 -1
|
@@ -201,8 +201,18 @@ export function selectToAlgebra(query, _options) {
|
|
|
201
201
|
for (const pattern of query.patterns) {
|
|
202
202
|
processPattern(pattern, registry, traverseTriples, optionalPropertyTriples, filteredTraverseBlocks);
|
|
203
203
|
}
|
|
204
|
-
// 3.
|
|
205
|
-
//
|
|
204
|
+
// 3. Pre-register filter property references BEFORE processing projections.
|
|
205
|
+
// This ensures that property triples needed by inline where filters are
|
|
206
|
+
// co-located inside the filtered OPTIONAL block, not in separate OPTIONALs.
|
|
207
|
+
const filterPropertyTriplesMap = new Map();
|
|
208
|
+
filteredTraverseBlocks.forEach((block, idx) => {
|
|
209
|
+
const filterPropertyTriples = [];
|
|
210
|
+
processExpressionForProperties(block.filter, registry, filterPropertyTriples);
|
|
211
|
+
filterPropertyTriplesMap.set(idx, filterPropertyTriples);
|
|
212
|
+
});
|
|
213
|
+
// 4. Process projection expressions, where clause, orderBy expressions
|
|
214
|
+
// to discover any additional property_expr references.
|
|
215
|
+
// Properties already registered by inline filters (above) will be skipped.
|
|
206
216
|
for (const item of query.projection) {
|
|
207
217
|
processExpressionForProperties(item.expression, registry, optionalPropertyTriples);
|
|
208
218
|
}
|
|
@@ -214,7 +224,7 @@ export function selectToAlgebra(query, _options) {
|
|
|
214
224
|
processExpressionForProperties(orderItem.expression, registry, optionalPropertyTriples);
|
|
215
225
|
}
|
|
216
226
|
}
|
|
217
|
-
//
|
|
227
|
+
// 5. Build the algebra tree
|
|
218
228
|
// - Start with the required BGP (type triple + traverse triples)
|
|
219
229
|
// - Wrap each optional property triple in a LeftJoin
|
|
220
230
|
const requiredBgp = {
|
|
@@ -222,17 +232,21 @@ export function selectToAlgebra(query, _options) {
|
|
|
222
232
|
triples: [...requiredTriples, ...traverseTriples],
|
|
223
233
|
};
|
|
224
234
|
let algebra = requiredBgp;
|
|
225
|
-
//
|
|
226
|
-
// Each block contains: traverse triple +
|
|
227
|
-
//
|
|
228
|
-
//
|
|
229
|
-
for (
|
|
230
|
-
const
|
|
231
|
-
|
|
235
|
+
// 5b. Build filtered OPTIONAL blocks for inline where traversals.
|
|
236
|
+
// Each block contains: traverse triple + OPTIONAL property triples + FILTER.
|
|
237
|
+
// Filter property triples are nested as OPTIONALs so that OR filters work
|
|
238
|
+
// even when some entities lack certain properties.
|
|
239
|
+
for (let i = 0; i < filteredTraverseBlocks.length; i++) {
|
|
240
|
+
const block = filteredTraverseBlocks[i];
|
|
241
|
+
const filterPropertyTriples = filterPropertyTriplesMap.get(i) || [];
|
|
232
242
|
const filterExpr = convertExpression(block.filter, registry, filterPropertyTriples);
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
243
|
+
// Start with the traverse triple as the required BGP
|
|
244
|
+
let blockInner = { type: 'bgp', triples: [block.traverseTriple] };
|
|
245
|
+
// Wrap each filter property triple in its own nested OPTIONAL
|
|
246
|
+
for (const propTriple of filterPropertyTriples) {
|
|
247
|
+
blockInner = wrapOptional(blockInner, { type: 'bgp', triples: [propTriple] });
|
|
248
|
+
}
|
|
249
|
+
const filteredBlock = { type: 'filter', expression: filterExpr, inner: blockInner };
|
|
236
250
|
algebra = wrapOptional(algebra, filteredBlock);
|
|
237
251
|
}
|
|
238
252
|
// Wrap each optional property triple in its own OPTIONAL (LeftJoin)
|
|
@@ -487,11 +501,9 @@ function processExpressionForProperties(expr, registry, optionalPropertyTriples)
|
|
|
487
501
|
}
|
|
488
502
|
break;
|
|
489
503
|
case 'exists_expr':
|
|
490
|
-
// exists_expr
|
|
491
|
-
//
|
|
492
|
-
|
|
493
|
-
processExpressionForProperties(expr.filter, registry, optionalPropertyTriples);
|
|
494
|
-
}
|
|
504
|
+
// exists_expr filter properties belong INSIDE the EXISTS block, not in
|
|
505
|
+
// the outer scope. Do NOT register them here — convertExpression's
|
|
506
|
+
// exists_expr handler will collect and emit them locally.
|
|
495
507
|
break;
|
|
496
508
|
case 'context_property_expr': {
|
|
497
509
|
// Context entity property — emit a triple with fixed IRI as subject.
|
|
@@ -588,10 +600,21 @@ function convertExpression(expr, registry, optionalPropertyTriples) {
|
|
|
588
600
|
args: expr.args.map((a) => convertExpression(a, registry, optionalPropertyTriples)),
|
|
589
601
|
};
|
|
590
602
|
case 'exists_expr': {
|
|
591
|
-
// Convert exists expression with inner pattern + filter
|
|
592
|
-
|
|
603
|
+
// Convert exists expression with inner pattern + filter.
|
|
604
|
+
// Filter property triples must live INSIDE the EXISTS block
|
|
605
|
+
// (not in the outer scope), so we collect them locally.
|
|
606
|
+
let innerAlgebra = convertExistsPattern(expr.pattern, registry);
|
|
593
607
|
if (expr.filter) {
|
|
594
|
-
|
|
608
|
+
// First, discover and register filter property references,
|
|
609
|
+
// collecting their triples into a local array (NOT the outer scope).
|
|
610
|
+
const existsPropertyTriples = [];
|
|
611
|
+
processExpressionForProperties(expr.filter, registry, existsPropertyTriples);
|
|
612
|
+
// Now convert the filter expression (variables are registered above).
|
|
613
|
+
const filterExpr = convertExpression(expr.filter, registry, existsPropertyTriples);
|
|
614
|
+
// Add filter property triples inside the EXISTS
|
|
615
|
+
for (const propTriple of existsPropertyTriples) {
|
|
616
|
+
innerAlgebra = joinNodes(innerAlgebra, { type: 'bgp', triples: [propTriple] });
|
|
617
|
+
}
|
|
595
618
|
// Wrap the inner pattern with a filter
|
|
596
619
|
const filteredInner = {
|
|
597
620
|
type: 'filter',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"irToAlgebra.js","sourceRoot":"","sources":["../../../src/sparql/irToAlgebra.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"irToAlgebra.js","sourceRoot":"","sources":["../../../src/sparql/irToAlgebra.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,11 +34,14 @@ export class FusekiStore extends SparqlStore {
|
|
|
34
34
|
}
|
|
35
35
|
init() {
|
|
36
36
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
// Check availability
|
|
37
|
+
// Check availability (use AbortController for jsdom compatibility)
|
|
38
|
+
const controller = new AbortController();
|
|
39
|
+
const timer = setTimeout(() => controller.abort(), 2000);
|
|
38
40
|
const response = yield fetch(this.baseUrl, {
|
|
39
41
|
method: 'HEAD',
|
|
40
|
-
signal:
|
|
42
|
+
signal: controller.signal,
|
|
41
43
|
});
|
|
44
|
+
clearTimeout(timer);
|
|
42
45
|
if (response.status !== 200) {
|
|
43
46
|
throw new Error(`Fuseki not available at ${this.baseUrl}`);
|
|
44
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FusekiStore.js","sourceRoot":"","sources":["../../../src/test-helpers/FusekiStore.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAIrD;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,WAAY,SAAQ,WAAW;IAO1C,YACE,OAAe,EACf,OAAe,EACf,OAAkD;QAElD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,GAAG,OAAO,IAAI,OAAO,SAAS,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,GAAG,OAAO,IAAI,OAAO,SAAS,CAAC;QAErD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,MAAM,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/F,CAAC;IACH,CAAC;IAEK,IAAI;;YACR,
|
|
1
|
+
{"version":3,"file":"FusekiStore.js","sourceRoot":"","sources":["../../../src/test-helpers/FusekiStore.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAIrD;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,WAAY,SAAQ,WAAW;IAO1C,YACE,OAAe,EACf,OAAe,EACf,OAAkD;QAElD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,GAAG,OAAO,IAAI,OAAO,SAAS,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,GAAG,OAAO,IAAI,OAAO,SAAS,CAAC;QAErD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,MAAM,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/F,CAAC;IACH,CAAC;IAEK,IAAI;;YACR,mEAAmE;YACnE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;gBACzC,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;KAAA;IAEe,mBAAmB,CACjC,MAAc;;YAEd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,0BAA0B;oBAC1C,MAAM,EAAE,iCAAiC;iBAC1C;gBACD,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,MAAM,KAAK,IAAI,EAAE,CACrF,CAAC;YACJ,CAAC;YAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;KAAA;IAEe,mBAAmB,CAAC,MAAc;;YAChD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE;gBAChD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAC,cAAc,EAAE,2BAA2B,EAAC;gBACtD,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CACb,yBAAyB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,MAAM,KAAK,IAAI,EAAE,CACtF,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;CACF"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test helper module for Apache Jena Fuseki integration tests.
|
|
3
|
-
*
|
|
4
|
-
* Provides utilities to:
|
|
5
|
-
* - Check if a Fuseki instance is available
|
|
6
|
-
* - Create / delete an in-memory test dataset
|
|
7
|
-
* - Load N-Triples data
|
|
8
|
-
* - Execute SPARQL queries and updates
|
|
9
|
-
* - Clear all data
|
|
10
|
-
*
|
|
11
|
-
* Uses native fetch (Node 18+). No external HTTP libraries.
|
|
12
|
-
*/
|
|
13
1
|
/**
|
|
14
2
|
* Check whether a Fuseki server is reachable.
|
|
15
3
|
* Returns true if a HEAD request to the base URL succeeds with status 200.
|
|
16
4
|
*/
|
|
17
5
|
export declare function isFusekiAvailable(): Promise<boolean>;
|
|
6
|
+
/**
|
|
7
|
+
* Ensure a Fuseki instance is running.
|
|
8
|
+
* If Fuseki is already reachable, returns immediately.
|
|
9
|
+
* Otherwise, starts it via Docker Compose and waits for the healthcheck.
|
|
10
|
+
*
|
|
11
|
+
* Returns true if Fuseki is available after this call.
|
|
12
|
+
* Returns false if Docker is not installed or the compose file can't be found.
|
|
13
|
+
*/
|
|
14
|
+
export declare function ensureFuseki(): Promise<boolean>;
|
|
15
|
+
/**
|
|
16
|
+
* Stop the Fuseki container if it was started by `ensureFuseki()`.
|
|
17
|
+
* No-op if Fuseki was already running before the tests.
|
|
18
|
+
*/
|
|
19
|
+
export declare function stopFuseki(): Promise<void>;
|
|
18
20
|
/**
|
|
19
21
|
* Create the in-memory test dataset on Fuseki.
|
|
20
22
|
* Ignores 409 Conflict (dataset already exists).
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
1
10
|
/**
|
|
2
11
|
* Test helper module for Apache Jena Fuseki integration tests.
|
|
3
12
|
*
|
|
4
13
|
* Provides utilities to:
|
|
14
|
+
* - Ensure a Fuseki instance is running (auto-starts via Docker if needed)
|
|
5
15
|
* - Check if a Fuseki instance is available
|
|
6
16
|
* - Create / delete an in-memory test dataset
|
|
7
17
|
* - Load N-Triples data
|
|
@@ -10,18 +20,14 @@
|
|
|
10
20
|
*
|
|
11
21
|
* Uses native fetch (Node 18+). No external HTTP libraries.
|
|
12
22
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
23
|
+
import { execSync } from 'node:child_process';
|
|
24
|
+
import { existsSync } from 'node:fs';
|
|
25
|
+
import { resolve } from 'node:path';
|
|
22
26
|
const FUSEKI_BASE_URL = process.env.FUSEKI_BASE_URL || 'http://localhost:3030';
|
|
23
27
|
const FUSEKI_ADMIN_PASSWORD = process.env.FUSEKI_ADMIN_PASSWORD || 'admin';
|
|
24
28
|
const DATASET_NAME = 'nashville-test';
|
|
29
|
+
/** Whether this process started Fuseki (so we know whether to stop it). */
|
|
30
|
+
let startedByUs = false;
|
|
25
31
|
const adminAuth = `Basic ${Buffer.from(`admin:${FUSEKI_ADMIN_PASSWORD}`).toString('base64')}`;
|
|
26
32
|
/**
|
|
27
33
|
* Check whether a Fuseki server is reachable.
|
|
@@ -30,10 +36,13 @@ const adminAuth = `Basic ${Buffer.from(`admin:${FUSEKI_ADMIN_PASSWORD}`).toStrin
|
|
|
30
36
|
export function isFusekiAvailable() {
|
|
31
37
|
return __awaiter(this, void 0, void 0, function* () {
|
|
32
38
|
try {
|
|
39
|
+
const controller = new AbortController();
|
|
40
|
+
const timer = setTimeout(() => controller.abort(), 2000);
|
|
33
41
|
const response = yield fetch(FUSEKI_BASE_URL, {
|
|
34
42
|
method: 'HEAD',
|
|
35
|
-
signal:
|
|
43
|
+
signal: controller.signal,
|
|
36
44
|
});
|
|
45
|
+
clearTimeout(timer);
|
|
37
46
|
return response.status === 200;
|
|
38
47
|
}
|
|
39
48
|
catch (_a) {
|
|
@@ -41,6 +50,91 @@ export function isFusekiAvailable() {
|
|
|
41
50
|
}
|
|
42
51
|
});
|
|
43
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Locate the docker-compose.test.yml for Fuseki.
|
|
55
|
+
* Works from both source (src/) and compiled (lib/esm/) paths.
|
|
56
|
+
*/
|
|
57
|
+
function findComposeFile() {
|
|
58
|
+
// __dirname works in both CJS and ts-jest; for ESM builds the lincd
|
|
59
|
+
// toolchain injects a __dirname shim.
|
|
60
|
+
const candidates = [
|
|
61
|
+
resolve(__dirname, '../tests/docker-compose.test.yml'),
|
|
62
|
+
resolve(__dirname, '../../src/tests/docker-compose.test.yml'),
|
|
63
|
+
];
|
|
64
|
+
for (const candidate of candidates) {
|
|
65
|
+
if (existsSync(candidate))
|
|
66
|
+
return candidate;
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Ensure a Fuseki instance is running.
|
|
72
|
+
* If Fuseki is already reachable, returns immediately.
|
|
73
|
+
* Otherwise, starts it via Docker Compose and waits for the healthcheck.
|
|
74
|
+
*
|
|
75
|
+
* Returns true if Fuseki is available after this call.
|
|
76
|
+
* Returns false if Docker is not installed or the compose file can't be found.
|
|
77
|
+
*/
|
|
78
|
+
export function ensureFuseki() {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
if (yield isFusekiAvailable())
|
|
81
|
+
return true;
|
|
82
|
+
const composeFile = findComposeFile();
|
|
83
|
+
if (!composeFile) {
|
|
84
|
+
console.warn('[ensureFuseki] docker-compose.test.yml not found — cannot auto-start Fuseki');
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
execSync('docker compose version', { stdio: 'ignore' });
|
|
89
|
+
}
|
|
90
|
+
catch (_a) {
|
|
91
|
+
console.warn('[ensureFuseki] Docker Compose not available — skipping');
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
console.log('[ensureFuseki] Fuseki not running — starting via Docker...');
|
|
95
|
+
try {
|
|
96
|
+
execSync(`docker compose -f "${composeFile}" up -d --wait`, {
|
|
97
|
+
stdio: 'inherit',
|
|
98
|
+
timeout: 60000,
|
|
99
|
+
});
|
|
100
|
+
startedByUs = true;
|
|
101
|
+
// Verify it came up
|
|
102
|
+
if (yield isFusekiAvailable()) {
|
|
103
|
+
console.log('[ensureFuseki] Fuseki is ready');
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
console.warn('[ensureFuseki] Fuseki started but not responding');
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
console.warn('[ensureFuseki] Failed to start Fuseki:', err.message);
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Stop the Fuseki container if it was started by `ensureFuseki()`.
|
|
117
|
+
* No-op if Fuseki was already running before the tests.
|
|
118
|
+
*/
|
|
119
|
+
export function stopFuseki() {
|
|
120
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
+
if (!startedByUs)
|
|
122
|
+
return;
|
|
123
|
+
const composeFile = findComposeFile();
|
|
124
|
+
if (!composeFile)
|
|
125
|
+
return;
|
|
126
|
+
try {
|
|
127
|
+
execSync(`docker compose -f "${composeFile}" down`, {
|
|
128
|
+
stdio: 'inherit',
|
|
129
|
+
timeout: 30000,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
catch (_a) {
|
|
133
|
+
// Best effort — don't fail the test suite on cleanup
|
|
134
|
+
}
|
|
135
|
+
startedByUs = false;
|
|
136
|
+
});
|
|
137
|
+
}
|
|
44
138
|
/**
|
|
45
139
|
* Create the in-memory test dataset on Fuseki.
|
|
46
140
|
* Ignores 409 Conflict (dataset already exists).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fuseki-test-store.js","sourceRoot":"","sources":["../../../src/test-helpers/fuseki-test-store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fuseki-test-store.js","sourceRoot":"","sources":["../../../src/test-helpers/fuseki-test-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -121,6 +121,11 @@ export declare const queryFactories: {
|
|
|
121
121
|
whereFriendsNameEquals: () => QueryBuilder<Person, import("../queries/SelectQuery").QShapeSet<Person, import("../queries/SelectQuery").QShape<Person, null, "">, "friends">, import("../queries/SelectQuery").QResult<Person, {
|
|
122
122
|
friends: import("../queries/SelectQuery").QResult<Person, {}>[];
|
|
123
123
|
}>[]>;
|
|
124
|
+
whereFriendsNameEqualsChained: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QueryShapeSet<Person, import("../queries/SelectQuery").QShape<Person, null, "">, "friends">, "name">, import("../queries/SelectQuery").QResult<Person, {
|
|
125
|
+
friends: import("../queries/SelectQuery").QResult<Person, {
|
|
126
|
+
name: string;
|
|
127
|
+
}>[];
|
|
128
|
+
}>[]>;
|
|
124
129
|
whereBestFriendEquals: () => QueryBuilder<Person, unknown, import("../queries/SelectQuery").QResult<Person, {}>[]>;
|
|
125
130
|
whereHobbyEquals: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "hobby">, import("../queries/SelectQuery").QResult<Person, {
|
|
126
131
|
hobby: string;
|
|
@@ -236,6 +236,7 @@ export const queryFactories = {
|
|
|
236
236
|
selectBestFriendName: () => Person.select((p) => p.bestFriend.name),
|
|
237
237
|
selectDeepNested: () => Person.select((p) => p.friends.bestFriend.bestFriend.name),
|
|
238
238
|
whereFriendsNameEquals: () => Person.select((p) => p.friends.where((f) => f.name.equals('Moa'))),
|
|
239
|
+
whereFriendsNameEqualsChained: () => Person.select((p) => p.friends.where((f) => f.name.equals('Moa')).name),
|
|
239
240
|
whereBestFriendEquals: () => Person.select().where((p) => p.bestFriend.equals(entity('p3'))),
|
|
240
241
|
whereHobbyEquals: () => Person.select((p) => p.hobby.where((h) => h.equals('Jogging'))),
|
|
241
242
|
whereAnd: () => Person.select((p) => p.friends.where((f) => f.name.equals('Moa').and(f.hobby.equals('Jogging')))),
|