@undefineds.co/drizzle-solid 0.2.13 → 0.3.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 (180) hide show
  1. package/README.md +141 -250
  2. package/dist/core/ast-to-sparql.d.ts +1 -1
  3. package/dist/core/ast-to-sparql.js +1 -1
  4. package/dist/core/comunica-patch.d.ts +1 -6
  5. package/dist/core/comunica-patch.d.ts.map +1 -1
  6. package/dist/core/comunica-patch.js +16 -19
  7. package/dist/core/comunica-patch.js.map +1 -1
  8. package/dist/core/execution/sparql-strategy.d.ts +9 -37
  9. package/dist/core/execution/sparql-strategy.d.ts.map +1 -1
  10. package/dist/core/execution/sparql-strategy.js +44 -148
  11. package/dist/core/execution/sparql-strategy.js.map +1 -1
  12. package/dist/core/execution/strategy-factory.d.ts +7 -20
  13. package/dist/core/execution/strategy-factory.d.ts.map +1 -1
  14. package/dist/core/execution/strategy-factory.js +2 -17
  15. package/dist/core/execution/strategy-factory.js.map +1 -1
  16. package/dist/core/pod-database.d.ts +3 -3
  17. package/dist/core/pod-database.d.ts.map +1 -1
  18. package/dist/core/pod-database.js +37 -37
  19. package/dist/core/pod-database.js.map +1 -1
  20. package/dist/core/pod-dialect.d.ts +2 -0
  21. package/dist/core/pod-dialect.d.ts.map +1 -1
  22. package/dist/core/pod-dialect.js +4 -2
  23. package/dist/core/pod-dialect.js.map +1 -1
  24. package/dist/core/query-builders/select-query-builder.d.ts +2 -2
  25. package/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
  26. package/dist/core/query-builders/select-query-builder.js +10 -10
  27. package/dist/core/query-builders/select-query-builder.js.map +1 -1
  28. package/dist/core/schema/columns.d.ts +6 -6
  29. package/dist/core/schema/columns.d.ts.map +1 -1
  30. package/dist/core/schema/columns.js +18 -18
  31. package/dist/core/schema/columns.js.map +1 -1
  32. package/dist/core/schema/defs.d.ts +4 -4
  33. package/dist/core/schema/defs.d.ts.map +1 -1
  34. package/dist/core/schema/pod-table.js +2 -2
  35. package/dist/core/schema/pod-table.js.map +1 -1
  36. package/dist/core/services/pod-services.d.ts +7 -5
  37. package/dist/core/services/pod-services.d.ts.map +1 -1
  38. package/dist/core/services/pod-services.js +7 -5
  39. package/dist/core/services/pod-services.js.map +1 -1
  40. package/dist/core/shape/generator.js +3 -3
  41. package/dist/core/shape/generator.js.map +1 -1
  42. package/dist/core/shape/manager.js +5 -5
  43. package/dist/core/shape/manager.js.map +1 -1
  44. package/dist/core/sparql/builder/expression-builder.d.ts +5 -5
  45. package/dist/core/sparql/builder/expression-builder.d.ts.map +1 -1
  46. package/dist/core/sparql/builder/expression-builder.js +15 -15
  47. package/dist/core/sparql/builder/expression-builder.js.map +1 -1
  48. package/dist/core/sparql/builder/select-builder.d.ts +1 -1
  49. package/dist/core/sparql/builder/select-builder.js +1 -1
  50. package/dist/core/sparql/builder/update-builder.d.ts +1 -1
  51. package/dist/core/sparql/builder/update-builder.d.ts.map +1 -1
  52. package/dist/core/sparql/builder/update-builder.js +4 -4
  53. package/dist/core/sparql/builder/update-builder.js.map +1 -1
  54. package/dist/core/sparql/helpers.js +3 -3
  55. package/dist/core/sparql/helpers.js.map +1 -1
  56. package/dist/core/sparql-engine.d.ts +16 -0
  57. package/dist/core/sparql-engine.d.ts.map +1 -0
  58. package/dist/core/sparql-engine.js +128 -0
  59. package/dist/core/sparql-engine.js.map +1 -0
  60. package/dist/core/sparql-executor.d.ts +3 -1
  61. package/dist/core/sparql-executor.d.ts.map +1 -1
  62. package/dist/core/sparql-executor.js +3 -4
  63. package/dist/core/sparql-executor.js.map +1 -1
  64. package/dist/core/triple/handlers/inverse.js +4 -4
  65. package/dist/core/triple/handlers/inverse.js.map +1 -1
  66. package/dist/core/triple/handlers/uri.d.ts +1 -1
  67. package/dist/core/triple/handlers/uri.js +3 -3
  68. package/dist/core/triple/handlers/uri.js.map +1 -1
  69. package/dist/core/uri/resolver.d.ts +9 -9
  70. package/dist/core/uri/resolver.d.ts.map +1 -1
  71. package/dist/core/uri/resolver.js +51 -51
  72. package/dist/core/uri/resolver.js.map +1 -1
  73. package/dist/core/uri/types.d.ts +10 -10
  74. package/dist/core/uri/types.d.ts.map +1 -1
  75. package/dist/driver.d.ts +10 -1
  76. package/dist/driver.d.ts.map +1 -1
  77. package/dist/driver.js +1 -5
  78. package/dist/driver.js.map +1 -1
  79. package/dist/esm/core/ast-to-sparql.d.ts +1 -1
  80. package/dist/esm/core/ast-to-sparql.js +1 -1
  81. package/dist/esm/core/comunica-patch.d.ts +1 -6
  82. package/dist/esm/core/comunica-patch.d.ts.map +1 -1
  83. package/dist/esm/core/comunica-patch.js +13 -20
  84. package/dist/esm/core/comunica-patch.js.map +1 -1
  85. package/dist/esm/core/execution/sparql-strategy.d.ts +9 -37
  86. package/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
  87. package/dist/esm/core/execution/sparql-strategy.js +44 -148
  88. package/dist/esm/core/execution/sparql-strategy.js.map +1 -1
  89. package/dist/esm/core/execution/strategy-factory.d.ts +7 -20
  90. package/dist/esm/core/execution/strategy-factory.d.ts.map +1 -1
  91. package/dist/esm/core/execution/strategy-factory.js +2 -17
  92. package/dist/esm/core/execution/strategy-factory.js.map +1 -1
  93. package/dist/esm/core/pod-database.d.ts +3 -3
  94. package/dist/esm/core/pod-database.d.ts.map +1 -1
  95. package/dist/esm/core/pod-database.js +37 -37
  96. package/dist/esm/core/pod-database.js.map +1 -1
  97. package/dist/esm/core/pod-dialect.d.ts +2 -0
  98. package/dist/esm/core/pod-dialect.d.ts.map +1 -1
  99. package/dist/esm/core/pod-dialect.js +4 -2
  100. package/dist/esm/core/pod-dialect.js.map +1 -1
  101. package/dist/esm/core/query-builders/select-query-builder.d.ts +2 -2
  102. package/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
  103. package/dist/esm/core/query-builders/select-query-builder.js +10 -10
  104. package/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
  105. package/dist/esm/core/schema/columns.d.ts +6 -6
  106. package/dist/esm/core/schema/columns.d.ts.map +1 -1
  107. package/dist/esm/core/schema/columns.js +18 -18
  108. package/dist/esm/core/schema/columns.js.map +1 -1
  109. package/dist/esm/core/schema/defs.d.ts +4 -4
  110. package/dist/esm/core/schema/defs.d.ts.map +1 -1
  111. package/dist/esm/core/schema/pod-table.js +2 -2
  112. package/dist/esm/core/schema/pod-table.js.map +1 -1
  113. package/dist/esm/core/services/pod-services.d.ts +7 -5
  114. package/dist/esm/core/services/pod-services.d.ts.map +1 -1
  115. package/dist/esm/core/services/pod-services.js +7 -5
  116. package/dist/esm/core/services/pod-services.js.map +1 -1
  117. package/dist/esm/core/shape/generator.js +3 -3
  118. package/dist/esm/core/shape/generator.js.map +1 -1
  119. package/dist/esm/core/shape/manager.js +5 -5
  120. package/dist/esm/core/shape/manager.js.map +1 -1
  121. package/dist/esm/core/sparql/builder/expression-builder.d.ts +5 -5
  122. package/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -1
  123. package/dist/esm/core/sparql/builder/expression-builder.js +15 -15
  124. package/dist/esm/core/sparql/builder/expression-builder.js.map +1 -1
  125. package/dist/esm/core/sparql/builder/select-builder.d.ts +1 -1
  126. package/dist/esm/core/sparql/builder/select-builder.js +1 -1
  127. package/dist/esm/core/sparql/builder/update-builder.d.ts +1 -1
  128. package/dist/esm/core/sparql/builder/update-builder.d.ts.map +1 -1
  129. package/dist/esm/core/sparql/builder/update-builder.js +4 -4
  130. package/dist/esm/core/sparql/builder/update-builder.js.map +1 -1
  131. package/dist/esm/core/sparql/helpers.js +3 -3
  132. package/dist/esm/core/sparql/helpers.js.map +1 -1
  133. package/dist/esm/core/sparql-engine.d.ts +16 -0
  134. package/dist/esm/core/sparql-engine.d.ts.map +1 -0
  135. package/dist/esm/core/sparql-engine.js +89 -0
  136. package/dist/esm/core/sparql-engine.js.map +1 -0
  137. package/dist/esm/core/sparql-executor.d.ts +3 -1
  138. package/dist/esm/core/sparql-executor.d.ts.map +1 -1
  139. package/dist/esm/core/sparql-executor.js +3 -4
  140. package/dist/esm/core/sparql-executor.js.map +1 -1
  141. package/dist/esm/core/triple/handlers/inverse.js +4 -4
  142. package/dist/esm/core/triple/handlers/inverse.js.map +1 -1
  143. package/dist/esm/core/triple/handlers/uri.d.ts +1 -1
  144. package/dist/esm/core/triple/handlers/uri.js +3 -3
  145. package/dist/esm/core/triple/handlers/uri.js.map +1 -1
  146. package/dist/esm/core/uri/resolver.d.ts +9 -9
  147. package/dist/esm/core/uri/resolver.d.ts.map +1 -1
  148. package/dist/esm/core/uri/resolver.js +51 -51
  149. package/dist/esm/core/uri/resolver.js.map +1 -1
  150. package/dist/esm/core/uri/types.d.ts +10 -10
  151. package/dist/esm/core/uri/types.d.ts.map +1 -1
  152. package/dist/esm/driver.d.ts +10 -1
  153. package/dist/esm/driver.d.ts.map +1 -1
  154. package/dist/esm/driver.js +1 -5
  155. package/dist/esm/driver.js.map +1 -1
  156. package/dist/esm/index.d.ts +2 -0
  157. package/dist/esm/index.d.ts.map +1 -1
  158. package/dist/esm/index.js +3 -1
  159. package/dist/esm/index.js.map +1 -1
  160. package/dist/esm/pod.d.ts +68 -0
  161. package/dist/esm/pod.d.ts.map +1 -0
  162. package/dist/esm/pod.js +146 -0
  163. package/dist/esm/pod.js.map +1 -0
  164. package/dist/esm/utils/webid-resolver.d.ts +1 -2
  165. package/dist/esm/utils/webid-resolver.d.ts.map +1 -1
  166. package/dist/esm/utils/webid-resolver.js +36 -30
  167. package/dist/esm/utils/webid-resolver.js.map +1 -1
  168. package/dist/index.d.ts +2 -0
  169. package/dist/index.d.ts.map +1 -1
  170. package/dist/index.js +12 -4
  171. package/dist/index.js.map +1 -1
  172. package/dist/pod.d.ts +68 -0
  173. package/dist/pod.d.ts.map +1 -0
  174. package/dist/pod.js +153 -0
  175. package/dist/pod.js.map +1 -0
  176. package/dist/utils/webid-resolver.d.ts +1 -2
  177. package/dist/utils/webid-resolver.d.ts.map +1 -1
  178. package/dist/utils/webid-resolver.js +36 -30
  179. package/dist/utils/webid-resolver.js.map +1 -1
  180. package/package.json +11 -3
@@ -1,14 +1,16 @@
1
- import type { ComunicaSPARQLExecutor } from '../sparql-executor';
2
1
  import type { ASTToSPARQLConverter } from '../ast-to-sparql';
3
2
  import type { SelectQueryPlan } from '../select-plan';
4
- import type { ExecutionStrategy } from './types';
3
+ import type { ComunicaSPARQLExecutor } from '../sparql-executor';
4
+ import type { SPARQLQueryEngineFactory } from '../sparql-engine';
5
5
  import type { UriResolver } from '../uri';
6
+ import type { ExecutionStrategy } from './types';
6
7
  export interface SparqlStrategyDependencies {
7
8
  sparqlExecutor: ComunicaSPARQLExecutor;
8
9
  sparqlConverter: ASTToSPARQLConverter;
9
10
  sessionFetch: typeof fetch;
10
11
  podUrl: string;
11
12
  uriResolver: UriResolver;
13
+ createQueryEngine?: SPARQLQueryEngineFactory;
12
14
  }
13
15
  export declare class SparqlStrategy implements ExecutionStrategy {
14
16
  readonly mode: "sparql";
@@ -17,45 +19,15 @@ export declare class SparqlStrategy implements ExecutionStrategy {
17
19
  private sessionFetch;
18
20
  private podUrl;
19
21
  private uriResolver;
22
+ private createQueryEngine?;
20
23
  constructor(deps: SparqlStrategyDependencies);
21
- /**
22
- * Resolve target graph based on resource mode
23
- * - Document Mode SELECT: undefined (let CSS auto-query container and all sub-graphs)
24
- * - Document Mode INSERT/UPDATE/DELETE: container path as graph
25
- * - Fragment Mode: base file path
26
- */
27
24
  private resolveTargetGraph;
28
- /**
29
- * Get the appropriate fetch function for a SPARQL endpoint
30
- */
31
25
  private getFetchForEndpoint;
32
- /**
33
- * Execute SELECT query via SPARQL endpoint
34
- */
35
26
  executeSelect(plan: SelectQueryPlan, _containerUrl: string, resourceUrl: string): Promise<any[]>;
36
- /**
37
- * Execute SPARQL SELECT directly via fetch (fast path, bypasses Comunica)
38
- */
39
27
  private executeDirectSparqlSelect;
40
- /**
41
- * Parse SPARQL Results JSON format into row objects
42
- */
43
- private parseSparqlResultsJson;
44
- /**
45
- * Convert a SPARQL result term to a JavaScript value
46
- */
47
- private convertSparqlTerm;
48
- /**
49
- * Convert a typed literal value to JavaScript type
50
- */
51
- private convertTypedLiteral;
52
- /**
53
- * Extract datatype from a value string like "true"^^<http://...#boolean>
54
- */
55
- private extractDatatypeFromValue;
56
- /**
57
- * Extract literal value from a typed literal string like "true"^^<...>
58
- */
59
- private extractLiteralValue;
28
+ executeInsert(): Promise<any[]>;
29
+ executeUpdate(): Promise<any[]>;
30
+ executeDelete(): Promise<any[]>;
31
+ private parseSparqlValue;
60
32
  }
61
33
  //# sourceMappingURL=sparql-strategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sparql-strategy.d.ts","sourceRoot":"","sources":["../../../src/core/execution/sparql-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAe,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,MAAM,WAAW,0BAA0B;IACzC,cAAc,EAAE,sBAAsB,CAAC;IACvC,eAAe,EAAE,oBAAoB,CAAC;IACtC,YAAY,EAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,qBAAa,cAAe,YAAW,iBAAiB;IACtD,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAElC,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAc;gBAErB,IAAI,EAAE,0BAA0B;IAQ5C;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACG,aAAa,CACjB,IAAI,EAAE,eAAe,EACrB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,EAAE,CAAC;IA4DjB;;OAEG;YACW,yBAAyB;IA2BvC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiD9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuB3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAKhC;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAa5B"}
1
+ {"version":3,"file":"sparql-strategy.d.ts","sourceRoot":"","sources":["../../../src/core/execution/sparql-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAe,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,WAAW,0BAA0B;IACzC,cAAc,EAAE,sBAAsB,CAAC;IACvC,eAAe,EAAE,oBAAoB,CAAC;IACtC,YAAY,EAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;CAC9C;AAED,qBAAa,cAAe,YAAW,iBAAiB;IACtD,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAElC,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,iBAAiB,CAAC,CAA2B;gBAEzC,IAAI,EAAE,0BAA0B;IAS5C,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,mBAAmB;IAIrB,aAAa,CACjB,IAAI,EAAE,eAAe,EACrB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,EAAE,CAAC;YA0CH,yBAAyB;IAwCjC,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAI/B,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAI/B,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAIrC,OAAO,CAAC,gBAAgB;CAwBzB"}
@@ -43,54 +43,28 @@ class SparqlStrategy {
43
43
  this.sessionFetch = deps.sessionFetch;
44
44
  this.podUrl = deps.podUrl;
45
45
  this.uriResolver = deps.uriResolver;
46
+ this.createQueryEngine = deps.createQueryEngine;
46
47
  }
47
- /**
48
- * Resolve target graph based on resource mode
49
- * - Document Mode SELECT: undefined (let CSS auto-query container and all sub-graphs)
50
- * - Document Mode INSERT/UPDATE/DELETE: container path as graph
51
- * - Fragment Mode: base file path
52
- */
53
48
  resolveTargetGraph(table, forSelect = false) {
54
49
  if (!table)
55
50
  return undefined;
56
- // Determine resource mode to choose correct graph
57
51
  const isDocumentMode = this.uriResolver.getResourceMode(table) === 'document';
58
52
  if (isDocumentMode) {
59
- // Document Mode:
60
- // - For SELECT: no graph specified (CSS will auto-query container and all sub-graphs)
61
- // - For INSERT/UPDATE/DELETE: use container path as graph
62
53
  if (forSelect) {
63
- return undefined; // Let CSS use default behavior
54
+ return undefined;
64
55
  }
65
56
  return table.config?.containerPath ?? table.getContainerPath?.();
66
57
  }
67
- // Fragment Mode: graph = base file
68
- // e.g., /data/tags.ttl (all fragments in this file share the same graph)
69
58
  return table.config?.base;
70
59
  }
71
- /**
72
- * Get the appropriate fetch function for a SPARQL endpoint
73
- */
74
60
  getFetchForEndpoint(endpoint) {
75
61
  return (0, origin_auth_1.getFetchForOrigin)(endpoint, this.podUrl, this.sessionFetch);
76
62
  }
77
- /**
78
- * Execute SELECT query via SPARQL endpoint
79
- */
80
- async executeSelect(plan, _containerUrl, resourceUrl // In SPARQL mode, this is the endpoint URL
81
- ) {
63
+ async executeSelect(plan, _containerUrl, resourceUrl) {
82
64
  const table = plan.baseTable;
83
- // Determine target graph based on resource mode
84
- // - Document Mode: no graph (CSS will auto-query container and all sub-graphs)
85
- // - Fragment Mode: graph = base file
86
- const targetGraph = this.resolveTargetGraph(table, true /* forSelect */);
87
- // Convert plan to SPARQL - check for simple select options or SQL
88
- let sparqlQuery;
65
+ const targetGraph = this.resolveTargetGraph(table, true);
89
66
  const extendedPlan = plan;
90
- // For SPARQL endpoint queries (especially CSS /-/sparql), we don't need GRAPH ?g wrapper
91
- // because the endpoint is a federated query interface that automatically queries
92
- // all documents under the container. Using GRAPH ?g can cause issues with some endpoints.
93
- // Only use GRAPH when we have a specific targetGraph.
67
+ let sparqlQuery;
94
68
  const useGraphVariable = targetGraph !== undefined;
95
69
  if (extendedPlan._simpleSelectOptions) {
96
70
  sparqlQuery = this.sparqlConverter.convertSimpleSelect(extendedPlan._simpleSelectOptions, targetGraph, undefined, useGraphVariable);
@@ -104,28 +78,21 @@ class SparqlStrategy {
104
78
  }
105
79
  console.log('DEBUG: Generated SPARQL Query for SELECT:', sparqlQuery.query);
106
80
  console.log('DEBUG: resourceUrl =', resourceUrl);
107
- // Fast path: Direct fetch to SPARQL endpoint (bypass Comunica for speed)
108
- // This is much faster than Comunica which does extra processing
109
81
  if (resourceUrl.includes('/-/sparql')) {
110
82
  return await this.executeDirectSparqlSelect(resourceUrl, sparqlQuery, plan);
111
83
  }
112
- // Fallback to Comunica for non-endpoint sources
113
84
  if ((0, origin_auth_1.isSameOrigin)(resourceUrl, this.podUrl)) {
114
85
  return await this.sparqlExecutor.executeQueryWithSource(sparqlQuery, resourceUrl);
115
86
  }
116
- else {
117
- const { ComunicaSPARQLExecutor } = await Promise.resolve().then(() => __importStar(require('../sparql-executor')));
118
- const unauthExecutor = new ComunicaSPARQLExecutor({
119
- sources: [resourceUrl],
120
- fetch: fetch,
121
- logging: false
122
- });
123
- return await unauthExecutor.executeQueryWithSource(sparqlQuery, resourceUrl);
124
- }
87
+ const { ComunicaSPARQLExecutor } = await Promise.resolve().then(() => __importStar(require('../sparql-executor')));
88
+ const unauthExecutor = new ComunicaSPARQLExecutor({
89
+ sources: [resourceUrl],
90
+ fetch: fetch,
91
+ logging: false,
92
+ createQueryEngine: this.createQueryEngine,
93
+ });
94
+ return await unauthExecutor.executeQueryWithSource(sparqlQuery, resourceUrl);
125
95
  }
126
- /**
127
- * Execute SPARQL SELECT directly via fetch (fast path, bypasses Comunica)
128
- */
129
96
  async executeDirectSparqlSelect(endpoint, sparqlQuery, plan) {
130
97
  const fetchFn = this.getFetchForEndpoint(endpoint);
131
98
  console.log('[SparqlStrategy] Direct fetch to SPARQL endpoint:', endpoint);
@@ -142,118 +109,47 @@ class SparqlStrategy {
142
109
  throw new Error(`SPARQL SELECT failed: ${response.status} ${response.statusText} - ${text}`);
143
110
  }
144
111
  const json = await response.json();
145
- return this.parseSparqlResultsJson(json, plan);
146
- }
147
- /**
148
- * Parse SPARQL Results JSON format into row objects
149
- */
150
- parseSparqlResultsJson(json, plan) {
151
- const bindings = json?.results?.bindings || [];
152
- return bindings.map((binding) => {
112
+ const rows = (json.results?.bindings || []).map((binding) => {
153
113
  const row = {};
154
- for (const [varName, termObj] of Object.entries(binding)) {
155
- if (!termObj)
156
- continue;
157
- // Convert SPARQL result term to JS value
158
- row[varName] = this.convertSparqlTerm(termObj);
159
- }
160
- // Extract ID from subject URI if present
161
- if (row.subject && plan.baseTable) {
162
- const subjectUri = row.subject;
163
- // Preserve the full subject URI in @id for downstream processing
164
- // (hydrateInlineColumns needs full URI, not just the ID)
165
- row['@id'] = subjectUri;
166
- // Use UriResolver to properly extract ID from subject URI
167
- const parsed = this.uriResolver.parseSubject(subjectUri, plan.baseTable);
168
- if (parsed && parsed.id) {
169
- row.id = parsed.id;
170
- }
171
- // Fallback to simple extraction if resolver parsing failed
172
- if (!row.id) {
173
- const hashIndex = subjectUri.lastIndexOf('#');
174
- if (hashIndex !== -1) {
175
- row.id = subjectUri.substring(hashIndex + 1);
176
- }
177
- else {
178
- // Or from "http://pod/path/id.ttl" -> "id"
179
- const lastSlash = subjectUri.lastIndexOf('/');
180
- const filename = subjectUri.substring(lastSlash + 1);
181
- if (filename.endsWith('.ttl')) {
182
- row.id = filename.slice(0, -4);
183
- }
184
- }
185
- }
186
- delete row.subject;
114
+ for (const [key, value] of Object.entries(binding)) {
115
+ row[key] = this.parseSparqlValue(value);
187
116
  }
188
117
  return row;
189
118
  });
190
- }
191
- /**
192
- * Convert a SPARQL result term to a JavaScript value
193
- */
194
- convertSparqlTerm(term) {
195
- if (!term || !term.type)
196
- return null;
197
- const { type, value, datatype } = term;
198
- if (type === 'uri') {
199
- return value;
200
- }
201
- if (type === 'bnode') {
202
- return `_:${value}`;
203
- }
204
- if (type === 'literal' || type === 'typed-literal') {
205
- const effectiveDatatype = datatype || this.extractDatatypeFromValue(value);
206
- if (effectiveDatatype) {
207
- return this.convertTypedLiteral(value, effectiveDatatype);
208
- }
209
- return this.extractLiteralValue(value);
119
+ if (plan.limit !== undefined && rows.length > plan.limit) {
120
+ return rows.slice(0, plan.limit);
210
121
  }
211
- return value;
122
+ return rows;
212
123
  }
213
- /**
214
- * Convert a typed literal value to JavaScript type
215
- */
216
- convertTypedLiteral(value, datatype) {
217
- const literalValue = this.extractLiteralValue(value);
218
- if (datatype === 'http://www.w3.org/2001/XMLSchema#integer' ||
219
- datatype === 'http://www.w3.org/2001/XMLSchema#int') {
220
- return parseInt(literalValue, 10);
221
- }
222
- if (datatype === 'http://www.w3.org/2001/XMLSchema#decimal' ||
223
- datatype === 'http://www.w3.org/2001/XMLSchema#float' ||
224
- datatype === 'http://www.w3.org/2001/XMLSchema#double') {
225
- return parseFloat(literalValue);
226
- }
227
- if (datatype === 'http://www.w3.org/2001/XMLSchema#boolean') {
228
- return literalValue === 'true' || literalValue === '1';
229
- }
230
- if (datatype === 'http://www.w3.org/2001/XMLSchema#dateTime' ||
231
- datatype === 'http://www.w3.org/2001/XMLSchema#date') {
232
- return new Date(literalValue);
233
- }
234
- return literalValue;
124
+ async executeInsert() {
125
+ throw new Error('SPARQL mode INSERT is not supported directly; writes should route through LDP strategy');
126
+ }
127
+ async executeUpdate() {
128
+ throw new Error('SPARQL mode UPDATE is not supported directly; writes should route through LDP strategy');
235
129
  }
236
- /**
237
- * Extract datatype from a value string like "true"^^<http://...#boolean>
238
- */
239
- extractDatatypeFromValue(value) {
240
- const match = value.match(/\^\^<?([^>]+)>?$/);
241
- return match ? match[1] : undefined;
130
+ async executeDelete() {
131
+ throw new Error('SPARQL mode DELETE is not supported directly; writes should route through LDP strategy');
242
132
  }
243
- /**
244
- * Extract literal value from a typed literal string like "true"^^<...>
245
- */
246
- extractLiteralValue(value) {
247
- // Remove quotes and datatype annotation
248
- const match = value.match(/^"(.*)"\^\^/);
249
- if (match) {
250
- return match[1];
133
+ parseSparqlValue(value) {
134
+ if (!value || typeof value !== 'object') {
135
+ return value;
136
+ }
137
+ if (value.type === 'uri') {
138
+ return value.value;
251
139
  }
252
- // Remove just quotes
253
- if (value.startsWith('"') && value.endsWith('"')) {
254
- return value.slice(1, -1);
140
+ if (value.type === 'literal') {
141
+ if (value.datatype?.includes('#integer') || value.datatype?.includes('#int')) {
142
+ return Number.parseInt(value.value, 10);
143
+ }
144
+ if (value.datatype?.includes('#decimal') || value.datatype?.includes('#double')) {
145
+ return Number.parseFloat(value.value);
146
+ }
147
+ if (value.datatype?.includes('#boolean')) {
148
+ return value.value === 'true';
149
+ }
150
+ return value.value;
255
151
  }
256
- return value;
152
+ return value.value ?? value;
257
153
  }
258
154
  }
259
155
  exports.SparqlStrategy = SparqlStrategy;
@@ -1 +1 @@
1
- {"version":3,"file":"sparql-strategy.js","sourceRoot":"","sources":["../../../src/core/execution/sparql-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sparql-strategy.js","sourceRoot":"","sources":["../../../src/core/execution/sparql-strategy.ts"],"names":[],"mappings":"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"}
@@ -5,20 +5,22 @@
5
5
  * - Tables with sparqlEndpoint -> SparqlStrategy
6
6
  * - Tables without sparqlEndpoint -> LdpStrategy
7
7
  */
8
- import type { PodTable } from '../schema';
9
- import type { ComunicaSPARQLExecutor } from '../sparql-executor';
10
8
  import type { ASTToSPARQLConverter } from '../ast-to-sparql';
11
- import type { ResourceResolver } from '../resource-resolver';
12
9
  import type { QueryCondition } from '../query-conditions';
13
- import type { ExecutionStrategy, ExecutionStrategyFactory } from './types';
10
+ import type { ResourceResolver } from '../resource-resolver';
11
+ import type { PodTable } from '../schema';
12
+ import type { ComunicaSPARQLExecutor } from '../sparql-executor';
13
+ import type { SPARQLQueryEngineFactory } from '../sparql-engine';
14
+ import type { UriResolver } from '../uri';
14
15
  import { LdpStrategy } from './ldp-strategy';
15
16
  import type { LdpExecutor } from './ldp-executor';
16
- import type { UriResolver } from '../uri';
17
+ import type { ExecutionStrategy, ExecutionStrategyFactory } from './types';
17
18
  export interface StrategyFactoryDependencies {
18
19
  sparqlExecutor: ComunicaSPARQLExecutor;
19
20
  sparqlConverter: ASTToSPARQLConverter;
20
21
  sessionFetch: typeof fetch;
21
22
  podUrl: string;
23
+ createQueryEngine?: SPARQLQueryEngineFactory;
22
24
  ldpExecutor: LdpExecutor;
23
25
  uriResolver: UriResolver;
24
26
  getResolver: (table: PodTable) => ResourceResolver;
@@ -30,25 +32,10 @@ export declare class ExecutionStrategyFactoryImpl implements ExecutionStrategyFa
30
32
  private ldpStrategy;
31
33
  private sparqlStrategy;
32
34
  constructor(deps: StrategyFactoryDependencies);
33
- /**
34
- * Get the appropriate execution strategy for a table
35
- */
36
35
  getStrategy(table: PodTable): ExecutionStrategy;
37
- /**
38
- * Get LDP strategy explicitly (used for write operations in SPARQL mode)
39
- */
40
36
  getLdpStrategy(): LdpStrategy;
41
- /**
42
- * Get or create LDP strategy (singleton)
43
- */
44
37
  private getLdpStrategyInternal;
45
- /**
46
- * Get or create SPARQL strategy (singleton)
47
- */
48
38
  private getSparqlStrategy;
49
- /**
50
- * Determine execution mode for a table
51
- */
52
39
  static getMode(table: PodTable): 'ldp' | 'sparql';
53
40
  }
54
41
  //# sourceMappingURL=strategy-factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"strategy-factory.d.ts","sourceRoot":"","sources":["../../../src/core/execution/strategy-factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAgC,MAAM,gBAAgB,CAAC;AAE3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,sBAAsB,CAAC;IACvC,eAAe,EAAE,oBAAoB,CAAC;IACtC,YAAY,EAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,gBAAgB,CAAC;IACnD,sBAAsB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,wBAAwB,EAAE,CACxB,SAAS,EAAE,cAAc,EACzB,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACxB;AAED,qBAAa,4BAA6B,YAAW,wBAAwB;IAC3E,OAAO,CAAC,IAAI,CAA8B;IAG1C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,cAAc,CAA+B;gBAEzC,IAAI,EAAE,2BAA2B;IAI7C;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,iBAAiB;IAU/C;;OAEG;IACH,cAAc,IAAI,WAAW;IAI7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ;CAGlD"}
1
+ {"version":3,"file":"strategy-factory.d.ts","sourceRoot":"","sources":["../../../src/core/execution/strategy-factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAgC,MAAM,gBAAgB,CAAC;AAE3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAE3E,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,sBAAsB,CAAC;IACvC,eAAe,EAAE,oBAAoB,CAAC;IACtC,YAAY,EAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,gBAAgB,CAAC;IACnD,sBAAsB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,wBAAwB,EAAE,CACxB,SAAS,EAAE,cAAc,EACzB,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACxB;AAED,qBAAa,4BAA6B,YAAW,wBAAwB;IAC3E,OAAO,CAAC,IAAI,CAA8B;IAE1C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,cAAc,CAA+B;gBAEzC,IAAI,EAAE,2BAA2B;IAI7C,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,iBAAiB;IAU/C,cAAc,IAAI,WAAW;IAI7B,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,iBAAiB;IAezB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ;CAGlD"}
@@ -12,14 +12,10 @@ const ldp_strategy_1 = require("./ldp-strategy");
12
12
  const sparql_strategy_1 = require("./sparql-strategy");
13
13
  class ExecutionStrategyFactoryImpl {
14
14
  constructor(deps) {
15
- // Cache strategies by mode to avoid recreating them
16
15
  this.ldpStrategy = null;
17
16
  this.sparqlStrategy = null;
18
17
  this.deps = deps;
19
18
  }
20
- /**
21
- * Get the appropriate execution strategy for a table
22
- */
23
19
  getStrategy(table) {
24
20
  const endpoint = table.getSparqlEndpoint?.();
25
21
  if (endpoint) {
@@ -27,15 +23,9 @@ class ExecutionStrategyFactoryImpl {
27
23
  }
28
24
  return this.getLdpStrategy();
29
25
  }
30
- /**
31
- * Get LDP strategy explicitly (used for write operations in SPARQL mode)
32
- */
33
26
  getLdpStrategy() {
34
27
  return this.getLdpStrategyInternal();
35
28
  }
36
- /**
37
- * Get or create LDP strategy (singleton)
38
- */
39
29
  getLdpStrategyInternal() {
40
30
  if (!this.ldpStrategy) {
41
31
  const ldpDeps = {
@@ -51,9 +41,6 @@ class ExecutionStrategyFactoryImpl {
51
41
  }
52
42
  return this.ldpStrategy;
53
43
  }
54
- /**
55
- * Get or create SPARQL strategy (singleton)
56
- */
57
44
  getSparqlStrategy() {
58
45
  if (!this.sparqlStrategy) {
59
46
  const sparqlDeps = {
@@ -61,15 +48,13 @@ class ExecutionStrategyFactoryImpl {
61
48
  sparqlConverter: this.deps.sparqlConverter,
62
49
  sessionFetch: this.deps.sessionFetch,
63
50
  podUrl: this.deps.podUrl,
64
- uriResolver: this.deps.uriResolver
51
+ uriResolver: this.deps.uriResolver,
52
+ createQueryEngine: this.deps.createQueryEngine,
65
53
  };
66
54
  this.sparqlStrategy = new sparql_strategy_1.SparqlStrategy(sparqlDeps);
67
55
  }
68
56
  return this.sparqlStrategy;
69
57
  }
70
- /**
71
- * Determine execution mode for a table
72
- */
73
58
  static getMode(table) {
74
59
  return table.getSparqlEndpoint?.() ? 'sparql' : 'ldp';
75
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"strategy-factory.js","sourceRoot":"","sources":["../../../src/core/execution/strategy-factory.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAQH,iDAA2E;AAC3E,uDAAoF;AAoBpF,MAAa,4BAA4B;IAOvC,YAAY,IAAiC;QAJ7C,oDAAoD;QAC5C,gBAAW,GAAuB,IAAI,CAAC;QACvC,mBAAc,GAA0B,IAAI,CAAC;QAGnD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAe;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAE7C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,OAAO,GAA4B;gBACvC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc;gBACxC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;gBAC1C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;gBAClC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;gBAClC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB;gBACxD,wBAAwB,EAAE,IAAI,CAAC,IAAI,CAAC,wBAAwB;aAC7D,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,IAAI,0BAAW,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,UAAU,GAA+B;gBAC7C,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc;gBACxC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;gBAC1C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;gBACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;gBACxB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;aACnC,CAAC;YACF,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,KAAe;QAC5B,OAAO,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,CAAC;CACF;AAzED,oEAyEC"}
1
+ {"version":3,"file":"strategy-factory.js","sourceRoot":"","sources":["../../../src/core/execution/strategy-factory.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AASH,iDAA2E;AAC3E,uDAAoF;AAqBpF,MAAa,4BAA4B;IAMvC,YAAY,IAAiC;QAHrC,gBAAW,GAAuB,IAAI,CAAC;QACvC,mBAAc,GAA0B,IAAI,CAAC;QAGnD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,KAAe;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAE7C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACvC,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,OAAO,GAA4B;gBACvC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc;gBACxC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;gBAC1C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;gBAClC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;gBAClC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB;gBACxD,wBAAwB,EAAE,IAAI,CAAC,IAAI,CAAC,wBAAwB;aAC7D,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,IAAI,0BAAW,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,UAAU,GAA+B;gBAC7C,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc;gBACxC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;gBAC1C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;gBACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;gBACxB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;gBAClC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;aAC/C,CAAC;YACF,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,KAAe;QAC5B,OAAO,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,CAAC;CACF;AA1DD,oEA0DC"}
@@ -375,10 +375,10 @@ export declare class PodDatabase<TSchema extends Record<string, unknown> = Recor
375
375
  private resolveIdFromRow;
376
376
  private resolveParentKey;
377
377
  private resolveIriFromRow;
378
- private collectReferenceLookupKeys;
379
- private normalizeReferenceValue;
378
+ private collectLinkLookupKeys;
379
+ private normalizeLinkValue;
380
380
  private normalizeLiteralValue;
381
- private collectInverseReferenceValues;
381
+ private collectInverseLinkValues;
382
382
  private groupRowsByIri;
383
383
  private extractFragment;
384
384
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pod-database.d.ts","sourceRoot":"","sources":["../../src/core/pod-database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,eAAe,EACf,KAAK,cAAc,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAiB,KAAK,cAAc,EAAE,aAAa,EAA2B,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAG3J,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EAGlB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oBAAoB;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,WAAW,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAS7E,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,eAAe;IACxB,MAAM,CAAC,EAAE,OAAO;IAVzB,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,iBAAiB;IAE7C,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,iBAAiB,CAAuC;IAChE,uBAAuB;IACvB,OAAO,CAAC,mBAAmB,CAAwB;gBAG1C,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,eAAe,EACxB,MAAM,CAAC,EAAE,OAAO,YAAA;IAGzB;;;OAGG;IACH,sBAAsB,IAAI,cAAc,EAAE;IAI1C;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAI5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,WAAW,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAC5E,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,EAC7B,OAAO,EAAE,uBAAuB,GAC/B,QAAQ,CAAC,QAAQ,CAAC;IAiBrB,MAAM,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAKzF,MAAM,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAK/E,MAAM,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAK/E,MAAM,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAKzE,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAK1C,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAQhD,KAAK,CAAC,WAAW,SAAS,SAAS,OAAO,EAAE,EAAE,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;SAAG,CAAC,IAAI,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;KAAE,CAAC;IAWtI,SAAS,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,EAC1C,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IASzC;;;;;;;;;;;;;;;;;;OAkBG;IACG,SAAS,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,EAC1C,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAqBzC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAWhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,cAAc,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,EAC/C,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,sBAAsB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GACtD,OAAO,CAAC,MAAM,IAAI,CAAC;IA+CtB;;;;;;;;;;;;;;;;OAgBG;IACG,WAAW,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,EAC5C,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,GACxD,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAyBzC;;;;;;;;;;;;;;OAcG;IACG,WAAW,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,EAC5C,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC;IA8Bb,WAAW,CAAC,CAAC,EACjB,WAAW,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GACpD,OAAO,CAAC,CAAC,CAAC;IAQb,UAAU;IAKV,UAAU;IAKV,SAAS;IAIT;;OAEG;IACH,IAAI,SAAS,IAAI,aAAa,CAE7B;IAGK,OAAO;IAKP,UAAU;IAQhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,SAAS,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,EAC1C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,YAAY,CAAC;IA6DxB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA0BzB,SAAS;;;;;IAIT;;;;;;;;;;;;;;;;;;;OAmBG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IA6C/D;;OAEG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAa/D;;;;;;;;;;;;;;;;OAgBG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,aAAa,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,aAAa,EAAE,YAAY,EAAE,CAAC;IAIhI;;;;;;;;;;;;;OAaG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,aAAa,EAAE,oBAAoB,EAAE,CAAC;IAI1E;;;;;;;;;OASG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,aAAa,EAAE,YAAY,EAAE,CAAC;IAIjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,eAAe,CACnB,QAAQ,EAAE,OAAO,aAAa,EAAE,YAAY,EAC5C,OAAO,CAAC,EAAE,OAAO,aAAa,EAAE,sBAAsB,GACrD,OAAO,CAAC,QAAQ,CAAC;IAiEpB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;;;;;;;;;;;;;;;;OAkBG;IACG,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,aAAa,EAAE,eAAe,EAC/C,YAAY,CAAC,EAAE,OAAO,aAAa,EAAE,sBAAsB,GAC1D,OAAO,CAAC,QAAQ,EAAE,CAAC;IAYtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIlC,UAAU,IAAI,MAAM,EAAE;IAIhB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC,IAAI,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,EACrC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,IAAI,CAAC;IACV,IAAI,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2E5F,OAAO,CAAC,UAAU,CAAC,CAAsB;IAEzC,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAK/B;IAED,OAAO,CAAC,eAAe;YA4IT,aAAa;IAkM3B,OAAO,CAAC,eAAe;IAqCvB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,6BAA6B;IAyBrC,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,eAAe;CAQxB"}
1
+ {"version":3,"file":"pod-database.d.ts","sourceRoot":"","sources":["../../src/core/pod-database.ts"],"names":[],"mappings":"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"}