@undefineds.co/xpod 0.3.75 → 0.4.0-rc.140

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 (362) hide show
  1. package/bin/xpod.js +43 -8
  2. package/config/bun.json +45 -48
  3. package/config/cloud.json +13 -90
  4. package/config/components-ignore.json +0 -1
  5. package/config/local.json +111 -63
  6. package/config/resolver.json +4 -2
  7. package/config/terminal.json +4 -1
  8. package/config/xpod.base.json +16 -8
  9. package/config/xpod.json +51 -54
  10. package/dist/acceptance/PublicCloudSemanticConformance.d.ts +4 -0
  11. package/dist/acceptance/PublicCloudSemanticConformance.js +214 -0
  12. package/dist/acceptance/QleverSearchConformance.d.ts +39 -0
  13. package/dist/acceptance/QleverSearchConformance.js +686 -0
  14. package/dist/acceptance/QleverSemanticConformance.d.ts +3 -0
  15. package/dist/acceptance/QleverSemanticConformance.js +178 -0
  16. package/dist/acceptance/RdfSemanticConformance.d.ts +114 -0
  17. package/dist/acceptance/RdfSemanticConformance.js +307 -0
  18. package/dist/acceptance/run-installed-qlever-conformance.d.ts +12 -0
  19. package/dist/acceptance/run-installed-qlever-conformance.js +87 -0
  20. package/dist/acceptance/run-installed-rdf-conformance.d.ts +12 -0
  21. package/dist/acceptance/run-installed-rdf-conformance.js +88 -0
  22. package/dist/ai/service/EmbeddingProviderError.d.ts +7 -0
  23. package/dist/ai/service/EmbeddingProviderError.js +42 -0
  24. package/dist/api/ai-gateway/connect/index.js +5 -2
  25. package/dist/api/auth/AuthContext.d.ts +5 -0
  26. package/dist/api/auth/AuthContext.js +10 -0
  27. package/dist/api/container/common.js +20 -1
  28. package/dist/api/container/rdf.d.ts +1 -0
  29. package/dist/api/container/rdf.js +43 -4
  30. package/dist/api/container/types.d.ts +4 -0
  31. package/dist/api/runs/InngestRunExecutionBackend.d.ts +2 -2
  32. package/dist/api/runs/PiAgentRuntimeDriver.d.ts +2 -0
  33. package/dist/api/runs/PiAgentRuntimeDriver.js +1 -0
  34. package/dist/api/runs/RdfRunContextRetriever.d.ts +8 -0
  35. package/dist/api/runs/RdfRunContextRetriever.js +23 -1
  36. package/dist/api/runtime.js +20 -6
  37. package/dist/api/service/RdfSearchIndexingService.d.ts +37 -3
  38. package/dist/api/service/RdfSearchIndexingService.js +130 -18
  39. package/dist/api/service/RdfSearchIndexingSolidFsSyncer.d.ts +8 -0
  40. package/dist/api/service/RdfSearchIndexingSolidFsSyncer.js +102 -15
  41. package/dist/api/service/RdfSearchReconciliationWorker.d.ts +76 -0
  42. package/dist/api/service/RdfSearchReconciliationWorker.js +294 -0
  43. package/dist/api/tasks/InngestTaskScheduler.d.ts +4 -4
  44. package/dist/components/components.jsonld +9 -12
  45. package/dist/components/context.jsonld +227 -348
  46. package/dist/document/MarkdownRetrievalPointProjector.d.ts +33 -0
  47. package/dist/document/MarkdownRetrievalPointProjector.js +196 -0
  48. package/dist/document/MarkdownRetrievalPointProjector.jsonld +135 -0
  49. package/dist/document/ReaderMaterialization.d.ts +34 -0
  50. package/dist/document/ReaderMaterialization.js +3 -0
  51. package/dist/document/ReaderMaterialization.jsonld +151 -0
  52. package/dist/document/ReaderMaterializationRepository.d.ts +27 -0
  53. package/dist/document/ReaderMaterializationRepository.js +400 -0
  54. package/dist/document/ReaderMaterializationRepository.jsonld +84 -0
  55. package/dist/document/index.d.ts +3 -1
  56. package/dist/document/index.js +3 -1
  57. package/dist/http/SubgraphSparqlHttpHandler.js +34 -54
  58. package/dist/http/search/SearchHttpHandler.js +14 -12
  59. package/dist/http/terminal/TerminalHttpHandler.d.ts +3 -0
  60. package/dist/http/terminal/TerminalHttpHandler.js +1 -0
  61. package/dist/http/terminal/TerminalHttpHandler.jsonld +11 -0
  62. package/dist/identity/drizzle/DrizzleIndexedStorage.js +19 -39
  63. package/dist/identity/drizzle/db.d.ts +1 -0
  64. package/dist/identity/drizzle/db.js +35 -0
  65. package/dist/index.d.ts +9 -17
  66. package/dist/index.js +14 -22
  67. package/dist/provision/ProvisionPodCreator.d.ts +1 -1
  68. package/dist/provision/ProvisionPodCreator.js +4 -3
  69. package/dist/search/RdfSearchIntentSink.d.ts +17 -0
  70. package/dist/search/RdfSearchIntentSink.js +46 -0
  71. package/dist/search/RdfSearchIntentSink.jsonld +47 -0
  72. package/dist/search/RdfSearchReconciliationRepository.d.ts +81 -0
  73. package/dist/search/RdfSearchReconciliationRepository.js +771 -0
  74. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.d.ts +15 -0
  75. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.js +48 -0
  76. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.jsonld +99 -0
  77. package/dist/solidfs/RdfIndexSolidFsSyncer.js +22 -4
  78. package/dist/solidfs/SolidFsSyncJournal.d.ts +7 -1
  79. package/dist/solidfs/SolidFsSyncJournal.js +20 -5
  80. package/dist/solidfs/SolidFsSyncJournal.jsonld +43 -0
  81. package/dist/solidfs/index.d.ts +1 -0
  82. package/dist/solidfs/index.js +1 -0
  83. package/dist/storage/SparqlUpdateResourceStore.js +3 -3
  84. package/dist/storage/accessors/MixDataAccessor.d.ts +21 -29
  85. package/dist/storage/accessors/MixDataAccessor.js +182 -399
  86. package/dist/storage/accessors/MixDataAccessor.jsonld +109 -87
  87. package/dist/storage/accessors/SolidRdfDataAccessor.d.ts +12 -8
  88. package/dist/storage/accessors/SolidRdfDataAccessor.js +189 -59
  89. package/dist/storage/accessors/SolidRdfDataAccessor.jsonld +14 -29
  90. package/dist/storage/rdf/LocalQleverNativeSparqlClient.d.ts +55 -0
  91. package/dist/storage/rdf/LocalQleverNativeSparqlClient.js +519 -0
  92. package/dist/storage/rdf/LocalQleverNativeSparqlClient.jsonld +314 -0
  93. package/dist/storage/rdf/PostgresRdfEngine.d.ts +3 -1
  94. package/dist/storage/rdf/PostgresRdfEngine.js +111 -74
  95. package/dist/storage/rdf/PostgresRdfEngine.jsonld +12 -22
  96. package/dist/storage/rdf/PostgresRdfSchemaValidation.d.ts +8 -0
  97. package/dist/storage/rdf/PostgresRdfSchemaValidation.js +82 -0
  98. package/dist/storage/rdf/PostgresRdfTextIndex.d.ts +6 -3
  99. package/dist/storage/rdf/PostgresRdfTextIndex.js +158 -80
  100. package/dist/storage/rdf/PostgresRdfTextIndex.jsonld +16 -4
  101. package/dist/storage/rdf/PostgresRdfVectorIndex.d.ts +4 -5
  102. package/dist/storage/rdf/PostgresRdfVectorIndex.js +124 -120
  103. package/dist/storage/rdf/PostgresRdfVectorIndex.jsonld +14 -18
  104. package/dist/storage/rdf/QleverSparqlEngine.d.ts +35 -0
  105. package/dist/storage/rdf/QleverSparqlEngine.js +185 -0
  106. package/dist/storage/rdf/QleverSparqlEngine.jsonld +70 -0
  107. package/dist/storage/rdf/Rdf3xIndex.js +20 -16
  108. package/dist/storage/rdf/RdfAccessScope.d.ts +4 -0
  109. package/dist/storage/rdf/RdfAccessScope.js +74 -9
  110. package/dist/storage/rdf/RdfAccessScope.jsonld +16 -0
  111. package/dist/storage/rdf/RdfEngineRdfJsSource.d.ts +14 -0
  112. package/dist/storage/rdf/RdfEngineRdfJsSource.js +179 -0
  113. package/dist/storage/rdf/RdfQuadIndex.d.ts +13 -14
  114. package/dist/storage/rdf/RdfQuadIndex.js +286 -99
  115. package/dist/storage/rdf/RdfQuadIndex.jsonld +10 -22
  116. package/dist/storage/rdf/RdfQueryExecutor.js +10 -4
  117. package/dist/storage/rdf/RdfQuerySparqlEngine.d.ts +33 -0
  118. package/dist/storage/rdf/RdfQuerySparqlEngine.js +215 -0
  119. package/dist/storage/rdf/RdfQuerySparqlEngine.jsonld +78 -0
  120. package/dist/storage/rdf/RdfSparqlAdapter.d.ts +0 -4
  121. package/dist/storage/rdf/RdfSparqlAdapter.js +75 -173
  122. package/dist/storage/rdf/RdfSparqlBoundary.d.ts +37 -0
  123. package/dist/storage/rdf/RdfSparqlBoundary.js +247 -0
  124. package/dist/storage/rdf/RdfSparqlSerialization.d.ts +3 -0
  125. package/dist/storage/rdf/RdfSparqlSerialization.js +19 -0
  126. package/dist/storage/rdf/RdfSqliteConnection.d.ts +7 -0
  127. package/dist/storage/rdf/RdfSqliteConnection.js +23 -0
  128. package/dist/storage/rdf/RdfTermDictionary.d.ts +0 -8
  129. package/dist/storage/rdf/RdfTermDictionary.js +0 -136
  130. package/dist/storage/rdf/RdfTermDictionary.jsonld +0 -32
  131. package/dist/storage/rdf/RdfTermSemantics.d.ts +6 -0
  132. package/dist/storage/rdf/RdfTermSemantics.js +29 -0
  133. package/dist/storage/rdf/RdfTextIndex.d.ts +5 -6
  134. package/dist/storage/rdf/RdfTextIndex.js +187 -115
  135. package/dist/storage/rdf/RdfTextIndex.jsonld +10 -14
  136. package/dist/storage/rdf/RdfVectorIndex.d.ts +4 -4
  137. package/dist/storage/rdf/RdfVectorIndex.js +156 -233
  138. package/dist/storage/rdf/RdfVectorIndex.jsonld +10 -14
  139. package/dist/storage/rdf/SolidRdfEngine.d.ts +16 -21
  140. package/dist/storage/rdf/SolidRdfEngine.js +28 -308
  141. package/dist/storage/rdf/SolidRdfEngine.jsonld +26 -148
  142. package/dist/storage/rdf/XpodComunicaQueryEngine.d.ts +10 -0
  143. package/dist/storage/rdf/XpodComunicaQueryEngine.js +72 -0
  144. package/dist/storage/rdf/index.d.ts +7 -6
  145. package/dist/storage/rdf/index.js +17 -12
  146. package/dist/storage/rdf/models-benchmark.d.ts +5 -1
  147. package/dist/storage/rdf/models-benchmark.js +17 -19
  148. package/dist/storage/rdf/types.d.ts +68 -6
  149. package/dist/storage/rdf/types.jsonld +69 -0
  150. package/dist/storage/sparql/SubgraphQueryEngine.d.ts +13 -7
  151. package/dist/storage/sparql/SubgraphQueryEngine.js +6 -6
  152. package/dist/storage/vector/index.d.ts +0 -1
  153. package/dist/storage/vector/index.js +0 -1
  154. package/dist/terminal/AclPermissionService.d.ts +4 -5
  155. package/dist/terminal/AclPermissionService.js +55 -75
  156. package/dist/terminal/TerminalSessionManager.d.ts +3 -2
  157. package/dist/terminal/TerminalSessionManager.js +3 -3
  158. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts +1 -0
  159. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts.map +1 -1
  160. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js +29 -26
  161. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js.map +1 -1
  162. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts.map +1 -1
  163. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js +9 -4
  164. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js.map +1 -1
  165. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts +1 -0
  166. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts.map +1 -1
  167. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js +6 -3
  168. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js.map +1 -1
  169. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js +3 -3
  170. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js.map +1 -1
  171. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts +6 -0
  172. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
  173. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js +13 -3
  174. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js.map +1 -1
  175. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts +1 -0
  176. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts.map +1 -1
  177. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js +31 -0
  178. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js.map +1 -1
  179. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.d.ts.map +1 -1
  180. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js +5 -0
  181. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js.map +1 -1
  182. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts +1 -0
  183. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts.map +1 -1
  184. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js +45 -0
  185. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js.map +1 -1
  186. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts +1 -0
  187. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts.map +1 -1
  188. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js +29 -26
  189. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js.map +1 -1
  190. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
  191. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js +9 -4
  192. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js.map +1 -1
  193. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts +1 -0
  194. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts.map +1 -1
  195. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js +6 -3
  196. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js.map +1 -1
  197. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js +3 -3
  198. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js.map +1 -1
  199. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts +6 -0
  200. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
  201. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js +14 -4
  202. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
  203. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts +1 -0
  204. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts.map +1 -1
  205. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js +30 -0
  206. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js.map +1 -1
  207. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -1
  208. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js +5 -0
  209. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js.map +1 -1
  210. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts +1 -0
  211. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts.map +1 -1
  212. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js +45 -0
  213. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js.map +1 -1
  214. package/node_modules/@undefineds.co/drizzle-solid/package.json +5 -4
  215. package/package.json +22 -8
  216. package/static/app/assets/{index-36TJKN-3.js → index-BikOyGPu.js} +34 -34
  217. package/static/app/assets/inrupt-smoke.js +2 -2
  218. package/static/app/assets/main.css +1 -1
  219. package/static/app/assets/main.js +11 -11
  220. package/static/auth-callback/assets/{AiConfigContext-BvBdu_A3.js → AiConfigContext-iQ74JmRZ.js} +1 -1
  221. package/static/auth-callback/assets/{AiConfigPage-BpDw4jco.js → AiConfigPage-BBDKE1gJ.js} +1 -1
  222. package/static/auth-callback/assets/{DocumentProcessingPanel-BmZ_jzRr.js → DocumentProcessingPanel-D9NntIEK.js} +1 -1
  223. package/static/auth-callback/assets/{IndexLifecyclePanel-BfQBjN4z.js → IndexLifecyclePanel-BG07yBdA.js} +1 -1
  224. package/static/auth-callback/assets/{IndexSubjectPanel-BlsnatPt.js → IndexSubjectPanel-B-bUnU3G.js} +1 -1
  225. package/static/auth-callback/assets/{ModelAssignmentsPanel-KA6Mdndz.js → ModelAssignmentsPanel-C7I-Nqy-.js} +1 -1
  226. package/static/auth-callback/assets/{ModelsPage-C7jymyIY.js → ModelsPage-C2hxyrmI.js} +1 -1
  227. package/static/auth-callback/assets/{NetworkPage-k2ShktNm.js → NetworkPage-IGIc2q1Y.js} +1 -1
  228. package/static/auth-callback/assets/{PaneListHeader-mLMe_dvU.js → PaneListHeader-CebuPl_g.js} +1 -1
  229. package/static/auth-callback/assets/{SearchIndexingPanel-CqV9um_t.js → SearchIndexingPanel-6HnZSg00.js} +1 -1
  230. package/static/auth-callback/assets/{StatusSubjectPanel-BgMBTbr2.js → StatusSubjectPanel-votxBkr5.js} +1 -1
  231. package/static/auth-callback/assets/{StatusWorkspace-zbSyhdG2.js → StatusWorkspace-Cksl61zX.js} +1 -1
  232. package/static/auth-callback/assets/{SystemSettingsPage-CtW79nW6.js → SystemSettingsPage-CKZFUaZT.js} +1 -1
  233. package/static/auth-callback/assets/{SystemSettingsSubjectPanel-ZOPKYUtZ.js → SystemSettingsSubjectPanel-pzfUcCf4.js} +1 -1
  234. package/static/auth-callback/assets/{activity-BQ-CQE3O.js → activity-DQL6kZHZ.js} +1 -1
  235. package/static/auth-callback/assets/auth-callback-B_s8Ye5Z.css +1 -0
  236. package/static/auth-callback/assets/{auth-callback-Htr_CB_g.js → auth-callback-BxQMd_Mc.js} +39 -39
  237. package/static/auth-callback/assets/{badge-D5SGTJeO.js → badge-DvW4LUHH.js} +1 -1
  238. package/static/auth-callback/assets/{download-DK183Ldo.js → download-Cx_uaCR1.js} +1 -1
  239. package/static/auth-callback/assets/{external-link-LDHy_4bn.js → external-link-D6L6ExH1.js} +1 -1
  240. package/static/auth-callback/assets/{index-BWrvgHqK.js → index-BAS_hxGu.js} +1 -1
  241. package/static/auth-callback/assets/{index-2WmlePQ9.js → index-BmBjpCoD.js} +1 -1
  242. package/static/auth-callback/assets/{index-browser-DUd4E4-x.js → index-browser-pdn4D3M4.js} +1 -1
  243. package/static/auth-callback/assets/{key-round-ibX79Kr-.js → key-round-BTBzOggq.js} +1 -1
  244. package/static/auth-callback/assets/{rotate-ccw-B2_VMaiX.js → rotate-ccw-eV7Cx8sB.js} +1 -1
  245. package/static/auth-callback/assets/{skeleton-F4nrpycc.js → skeleton-Bg4GYgBM.js} +1 -1
  246. package/static/auth-callback/assets/{waypoints-DImIq93f.js → waypoints-CJbydf0B.js} +1 -1
  247. package/static/auth-callback/assets/{workspace-layout-IVCSYU21.js → workspace-layout-C6Hh8Xf-.js} +1 -1
  248. package/static/auth-callback/auth-callback.html +2 -2
  249. package/static/dashboard/assets/{AiConfigContext-cjjfYTo9.js → AiConfigContext-BkJj28vK.js} +1 -1
  250. package/static/dashboard/assets/{AiConfigPage-CO0DSD_j.js → AiConfigPage-Cs9B4uyp.js} +1 -1
  251. package/static/dashboard/assets/{DocumentProcessingPanel-DMGnH8Oj.js → DocumentProcessingPanel-BBWmM7mS.js} +1 -1
  252. package/static/dashboard/assets/{IndexLifecyclePanel-DSkIOCL5.js → IndexLifecyclePanel-D5xGTT_i.js} +1 -1
  253. package/static/dashboard/assets/{IndexSubjectPanel-qWN_DbAp.js → IndexSubjectPanel-d-mjDthn.js} +1 -1
  254. package/static/dashboard/assets/{ModelAssignmentsPanel-DCf83uM3.js → ModelAssignmentsPanel-C-OLNbqf.js} +1 -1
  255. package/static/dashboard/assets/{ModelsPage-CMnvSrl5.js → ModelsPage-CBrLjuUn.js} +1 -1
  256. package/static/dashboard/assets/{NetworkPage-C8Gkwclb.js → NetworkPage-BlYk8L1z.js} +1 -1
  257. package/static/dashboard/assets/{PaneListHeader-BtU_8cDK.js → PaneListHeader-A5oZJQC0.js} +1 -1
  258. package/static/dashboard/assets/{SearchIndexingPanel-DEn12pNU.js → SearchIndexingPanel-Bs1j8ZP2.js} +1 -1
  259. package/static/dashboard/assets/{StatusSubjectPanel-B1_ILg2d.js → StatusSubjectPanel-Qao3orvi.js} +1 -1
  260. package/static/dashboard/assets/{StatusWorkspace-BG6nMNCo.js → StatusWorkspace-rDM0yDtk.js} +1 -1
  261. package/static/dashboard/assets/{SystemSettingsPage-BnWYIXaM.js → SystemSettingsPage-FPRPkKaR.js} +1 -1
  262. package/static/dashboard/assets/{SystemSettingsSubjectPanel-C_mYVPWb.js → SystemSettingsSubjectPanel-CjlJAxnX.js} +1 -1
  263. package/static/dashboard/assets/{activity-DYJ7PdRl.js → activity-CJ5K6hYC.js} +1 -1
  264. package/static/dashboard/assets/{badge-BIaZco1P.js → badge-L-NMOi1P.js} +1 -1
  265. package/static/dashboard/assets/dashboard-B_s8Ye5Z.css +1 -0
  266. package/static/dashboard/assets/{dashboard-Dl40_MEa.js → dashboard-DyjAyYxx.js} +34 -34
  267. package/static/dashboard/assets/{download-By16k9VK.js → download-Bi4u5K5B.js} +1 -1
  268. package/static/dashboard/assets/{external-link-B92xOG_d.js → external-link-jmhLDfvT.js} +1 -1
  269. package/static/dashboard/assets/{index-BajZpJ48.js → index-BoaGJBxf.js} +1 -1
  270. package/static/dashboard/assets/{index-wsVPom_x.js → index-C22TAEi4.js} +1 -1
  271. package/static/dashboard/assets/{key-round-Clo5FOwA.js → key-round-Dk1VmMrn.js} +1 -1
  272. package/static/dashboard/assets/{rotate-ccw-smWSfi1L.js → rotate-ccw-DIfLsSwi.js} +1 -1
  273. package/static/dashboard/assets/{skeleton-BrTaGeJw.js → skeleton-BGPJMHb-.js} +1 -1
  274. package/static/dashboard/assets/{waypoints-DGPQInE7.js → waypoints-CY53egpu.js} +1 -1
  275. package/static/dashboard/assets/{workspace-layout-CPU4XRmb.js → workspace-layout-CoHkcx70.js} +1 -1
  276. package/static/dashboard/dashboard.html +2 -2
  277. package/static/settings/assets/{AiConfigContext-CT29_OyW.js → AiConfigContext-BcEPlEJe.js} +1 -1
  278. package/static/settings/assets/{AiConfigPage-WIE95S28.js → AiConfigPage-D-t3ZUhg.js} +1 -1
  279. package/static/settings/assets/{DocumentProcessingPanel-KG8Sq999.js → DocumentProcessingPanel-m2SasiMO.js} +1 -1
  280. package/static/settings/assets/{IndexLifecyclePanel-iKvtHDXY.js → IndexLifecyclePanel-BNmAvx8V.js} +1 -1
  281. package/static/settings/assets/{IndexSubjectPanel-BQdSCkk4.js → IndexSubjectPanel-C5-L2AcW.js} +1 -1
  282. package/static/settings/assets/{ModelAssignmentsPanel-P8QcVB0F.js → ModelAssignmentsPanel-Cfpkf02Y.js} +1 -1
  283. package/static/settings/assets/{ModelsPage-UZkZGqor.js → ModelsPage-DZrACwVN.js} +1 -1
  284. package/static/settings/assets/{NetworkPage-Dcpcvg15.js → NetworkPage-BlrGGfqL.js} +1 -1
  285. package/static/settings/assets/{PaneListHeader--gHtZws5.js → PaneListHeader-C3TCs1RI.js} +1 -1
  286. package/static/settings/assets/{SearchIndexingPanel-DdgJSJYQ.js → SearchIndexingPanel-Cyp3CUzX.js} +1 -1
  287. package/static/settings/assets/{StatusSubjectPanel-UOxp_XVL.js → StatusSubjectPanel-gRkb8WEX.js} +1 -1
  288. package/static/settings/assets/{StatusWorkspace-CPNXuD12.js → StatusWorkspace-Dptx4Ec2.js} +1 -1
  289. package/static/settings/assets/{SystemSettingsPage-B6ySeVPw.js → SystemSettingsPage-BWgGUQbs.js} +1 -1
  290. package/static/settings/assets/{SystemSettingsSubjectPanel-I7zWmpiI.js → SystemSettingsSubjectPanel-VflUvpgC.js} +1 -1
  291. package/static/settings/assets/{activity-CFhmzahP.js → activity-D7iNhTkQ.js} +1 -1
  292. package/static/settings/assets/{badge-BBdUc5B-.js → badge-DO0r_RT4.js} +1 -1
  293. package/static/settings/assets/{download-WJE9-yxQ.js → download-CsJlNSbd.js} +1 -1
  294. package/static/settings/assets/{external-link-RKoYyCp_.js → external-link-BCR7SHme.js} +1 -1
  295. package/static/settings/assets/{index-Bq2o0Bif.js → index-Cgq16ekN.js} +1 -1
  296. package/static/settings/assets/{index-DvxneI5O.js → index-SrhQvcrU.js} +1 -1
  297. package/static/settings/assets/{index-browser-Qmo6EsFT.js → index-browser-THpcMCnz.js} +1 -1
  298. package/static/settings/assets/{key-round-r-D9sQUK.js → key-round-Dd3jk1BT.js} +1 -1
  299. package/static/settings/assets/{rotate-ccw-D3IIhbPH.js → rotate-ccw-tiL14i1d.js} +1 -1
  300. package/static/settings/assets/settings-B_s8Ye5Z.css +1 -0
  301. package/static/settings/assets/{settings-D8oDBXWg.js → settings-CVLDPejo.js} +34 -34
  302. package/static/settings/assets/{skeleton-DrL4RQuw.js → skeleton-DBxLuNgU.js} +1 -1
  303. package/static/settings/assets/{waypoints-C5sRhpJw.js → waypoints-DS3e3hv7.js} +1 -1
  304. package/static/settings/assets/{workspace-layout-B4ALmWsM.js → workspace-layout-mucrxyTK.js} +1 -1
  305. package/static/settings/settings.html +2 -2
  306. package/config/search.json +0 -66
  307. package/dist/document/HeadingChunker.jsonld +0 -41
  308. package/dist/security/secret-cell/DeploymentRootKeyProvider.jsonld +0 -124
  309. package/dist/security/secret-cell/SecretCellVault.jsonld +0 -207
  310. package/dist/storage/PostgresDerivedIndexJournal.d.ts +0 -47
  311. package/dist/storage/PostgresDerivedIndexJournal.js +0 -408
  312. package/dist/storage/PostgresDerivedIndexJournal.jsonld +0 -303
  313. package/dist/storage/RdfDerivedIndexingListener.d.ts +0 -32
  314. package/dist/storage/RdfDerivedIndexingListener.js +0 -135
  315. package/dist/storage/RdfDerivedIndexingListener.jsonld +0 -228
  316. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.d.ts +0 -148
  317. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js +0 -436
  318. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.jsonld +0 -172
  319. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.d.ts +0 -102
  320. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js +0 -474
  321. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.jsonld +0 -192
  322. package/dist/storage/rdf/RdfSparqlAdapter.jsonld +0 -486
  323. package/dist/storage/rdf/ShadowRdfQuintStore.d.ts +0 -59
  324. package/dist/storage/rdf/ShadowRdfQuintStore.js +0 -216
  325. package/dist/storage/rdf/ShadowRdfQuintStore.jsonld +0 -312
  326. package/dist/storage/rdf/SolidRdfSparqlEngine.d.ts +0 -107
  327. package/dist/storage/rdf/SolidRdfSparqlEngine.js +0 -1117
  328. package/dist/storage/rdf/SolidRdfSparqlEngine.jsonld +0 -312
  329. package/dist/storage/sparql/AlgebraUtils.d.ts +0 -48
  330. package/dist/storage/sparql/AlgebraUtils.js +0 -118
  331. package/dist/storage/sparql/CompatibilitySparqlEngine.d.ts +0 -37
  332. package/dist/storage/sparql/CompatibilitySparqlEngine.js +0 -96
  333. package/dist/storage/sparql/CompatibilitySparqlEngine.jsonld +0 -123
  334. package/dist/storage/sparql/CompatibilitySparqlEngineImpl.d.ts +0 -36
  335. package/dist/storage/sparql/CompatibilitySparqlEngineImpl.js +0 -124
  336. package/dist/storage/sparql/ComunicaOptimizedEngine.d.ts +0 -59
  337. package/dist/storage/sparql/ComunicaOptimizedEngine.js +0 -254
  338. package/dist/storage/sparql/ComunicaQuintEngine.d.ts +0 -143
  339. package/dist/storage/sparql/ComunicaQuintEngine.js +0 -781
  340. package/dist/storage/sparql/ExpressionEvaluator.d.ts +0 -54
  341. package/dist/storage/sparql/ExpressionEvaluator.js +0 -340
  342. package/dist/storage/sparql/FilterPushdownExtractor.d.ts +0 -74
  343. package/dist/storage/sparql/FilterPushdownExtractor.js +0 -421
  344. package/dist/storage/sparql/OptimizedQuadstoreEngine.d.ts +0 -65
  345. package/dist/storage/sparql/OptimizedQuadstoreEngine.js +0 -327
  346. package/dist/storage/sparql/OptimizedQuadstoreSource.d.ts +0 -46
  347. package/dist/storage/sparql/OptimizedQuadstoreSource.js +0 -118
  348. package/dist/storage/sparql/PatternBuilder.d.ts +0 -41
  349. package/dist/storage/sparql/PatternBuilder.js +0 -118
  350. package/dist/storage/sparql/QueryOptimizer.d.ts +0 -125
  351. package/dist/storage/sparql/QueryOptimizer.js +0 -375
  352. package/dist/storage/sparql/QuintEngine.d.ts +0 -92
  353. package/dist/storage/sparql/QuintEngine.js +0 -150
  354. package/dist/storage/sparql/QuintQuerySource.d.ts +0 -241
  355. package/dist/storage/sparql/QuintQuerySource.js +0 -1069
  356. package/dist/storage/sparql/SimpleSparqlExecutor.d.ts +0 -40
  357. package/dist/storage/sparql/SimpleSparqlExecutor.js +0 -131
  358. package/dist/storage/vector/VectorIndexingListener.d.ts +0 -114
  359. package/dist/storage/vector/VectorIndexingListener.js +0 -346
  360. package/static/auth-callback/assets/auth-callback-rWdEQY5f.css +0 -1
  361. package/static/dashboard/assets/dashboard-rWdEQY5f.css +0 -1
  362. package/static/settings/assets/settings-rWdEQY5f.css +0 -1
@@ -1,327 +0,0 @@
1
- "use strict";
2
- /**
3
- * OptimizedQuadstoreEngine - 优化的 SPARQL 查询引擎
4
- *
5
- * 在 quadstore-comunica Engine 基础上增加查询优化:
6
- * - 对于简单查询(单 BGP),直接使用 quadstore API,支持 LIMIT/ORDER BY 下推
7
- * - 对于复杂查询(JOIN/OPTIONAL/UNION/FILTER),委托给 Comunica
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.OptimizedQuadstoreEngine = exports.SimpleBindings = void 0;
11
- const quadstore_comunica_1 = require("quadstore-comunica");
12
- const sparqlalgebrajs_1 = require("sparqlalgebrajs");
13
- const asynciterator_1 = require("asynciterator");
14
- /**
15
- * 简单的 Bindings 实现
16
- */
17
- class SimpleBindings extends Map {
18
- get(key) {
19
- const varName = typeof key === 'string' ? key : key.value;
20
- return super.get(varName);
21
- }
22
- has(key) {
23
- const varName = typeof key === 'string' ? key : key.value;
24
- return super.has(varName);
25
- }
26
- }
27
- exports.SimpleBindings = SimpleBindings;
28
- /**
29
- * 优化的 Quadstore SPARQL 引擎
30
- */
31
- class OptimizedQuadstoreEngine {
32
- constructor(store, debug = false) {
33
- this.quadstore = store;
34
- this.comunica = new quadstore_comunica_1.Engine(store);
35
- this.debug = debug;
36
- }
37
- log(msg) {
38
- if (this.debug) {
39
- console.log(`[OptimizedQuadstoreEngine] ${msg}`);
40
- }
41
- }
42
- /**
43
- * 获取底层 quadstore
44
- */
45
- getStore() {
46
- return this.quadstore;
47
- }
48
- /**
49
- * 执行 SELECT 查询
50
- */
51
- async queryBindings(query, context) {
52
- const params = this.analyzeQuery(query);
53
- if (params) {
54
- this.log(`Using optimized path for SELECT`);
55
- return this.executeOptimizedSelect(params);
56
- }
57
- this.log(`Using Comunica for SELECT`);
58
- return this.comunica.queryBindings(query, context);
59
- }
60
- /**
61
- * 执行 ASK 查询
62
- */
63
- async queryBoolean(query, context) {
64
- const params = this.analyzeQuery(query);
65
- if (params) {
66
- this.log(`Using optimized path for ASK`);
67
- params.limit = 1;
68
- const results = await this.executeOptimizedSelect(params);
69
- const arr = await this.streamToArray(results);
70
- return arr.length > 0;
71
- }
72
- this.log(`Using Comunica for ASK`);
73
- return this.comunica.queryBoolean(query, context);
74
- }
75
- /**
76
- * 执行 CONSTRUCT/DESCRIBE 查询
77
- */
78
- async queryQuads(query, context) {
79
- this.log(`Using Comunica for CONSTRUCT/DESCRIBE`);
80
- return this.comunica.queryQuads(query, context);
81
- }
82
- /**
83
- * 执行 UPDATE 查询
84
- */
85
- async queryVoid(query, context) {
86
- return this.comunica.queryVoid(query, context);
87
- }
88
- /**
89
- * 分析查询,判断是否可以优化
90
- */
91
- analyzeQuery(query) {
92
- try {
93
- const algebra = (0, sparqlalgebrajs_1.translate)(query);
94
- return this.analyzeAlgebra(algebra);
95
- }
96
- catch (error) {
97
- this.log(`Failed to analyze query: ${error}`);
98
- return null;
99
- }
100
- }
101
- /**
102
- * 分析 Algebra 树
103
- */
104
- analyzeAlgebra(op) {
105
- const params = {
106
- pattern: {},
107
- variables: [],
108
- };
109
- let current = op;
110
- let bgpFound = false;
111
- while (current) {
112
- switch (current.type) {
113
- case 'project': {
114
- const project = current;
115
- params.variables = project.variables.map(v => v.value);
116
- current = project.input;
117
- break;
118
- }
119
- case 'slice': {
120
- const slice = current;
121
- if (slice.length !== undefined) {
122
- params.limit = slice.length;
123
- }
124
- if (slice.start !== undefined && slice.start > 0) {
125
- params.offset = slice.start;
126
- }
127
- current = slice.input;
128
- break;
129
- }
130
- case 'distinct':
131
- params.distinct = true;
132
- current = current.input;
133
- break;
134
- case 'reduced':
135
- current = current.input;
136
- break;
137
- case 'orderby': {
138
- const orderBy = current;
139
- if (orderBy.expressions.length === 1) {
140
- const expr = orderBy.expressions[0];
141
- if (expr.expression?.expressionType === 'term' && expr.expression.term.termType === 'Variable') {
142
- const varName = expr.expression.term.value;
143
- const termName = this.varNameToTermName(varName);
144
- if (termName) {
145
- params.order = [termName];
146
- params.reverse = expr.descending || false;
147
- }
148
- }
149
- }
150
- current = orderBy.input;
151
- break;
152
- }
153
- case 'filter':
154
- // FILTER 查询暂时不优化,让 Comunica 处理
155
- this.log(`Query has filter, not optimizing`);
156
- return null;
157
- case 'bgp': {
158
- const bgp = current;
159
- if (bgp.patterns.length !== 1) {
160
- this.log(`BGP has ${bgp.patterns.length} patterns, not optimizing`);
161
- return null;
162
- }
163
- const pattern = bgp.patterns[0];
164
- this.extractPattern(pattern, params);
165
- bgpFound = true;
166
- current = null;
167
- break;
168
- }
169
- case 'join':
170
- case 'leftjoin':
171
- case 'union':
172
- case 'minus':
173
- this.log(`Query has ${current.type}, not optimizing`);
174
- return null;
175
- case 'graph': {
176
- const graphOp = current;
177
- if (graphOp.name.termType === 'Variable') {
178
- params.pattern.graphVar = graphOp.name.value;
179
- }
180
- else {
181
- params.pattern.graph = graphOp.name;
182
- }
183
- current = graphOp.input;
184
- break;
185
- }
186
- default:
187
- if ('input' in current) {
188
- current = current.input;
189
- }
190
- else {
191
- current = null;
192
- }
193
- }
194
- }
195
- if (!bgpFound) {
196
- return null;
197
- }
198
- // 填充 variables(如果是 SELECT *)
199
- if (params.variables.length === 0) {
200
- if (params.pattern.subjectVar)
201
- params.variables.push(params.pattern.subjectVar);
202
- if (params.pattern.predicateVar)
203
- params.variables.push(params.pattern.predicateVar);
204
- if (params.pattern.objectVar)
205
- params.variables.push(params.pattern.objectVar);
206
- if (params.pattern.graphVar)
207
- params.variables.push(params.pattern.graphVar);
208
- }
209
- return params;
210
- }
211
- /**
212
- * 从 BGP pattern 提取匹配条件
213
- */
214
- extractPattern(pattern, params) {
215
- if (pattern.subject.termType === 'Variable') {
216
- params.pattern.subjectVar = pattern.subject.value;
217
- }
218
- else {
219
- params.pattern.subject = pattern.subject;
220
- }
221
- if (pattern.predicate.termType === 'Variable') {
222
- params.pattern.predicateVar = pattern.predicate.value;
223
- }
224
- else {
225
- params.pattern.predicate = pattern.predicate;
226
- }
227
- if (pattern.object.termType === 'Variable') {
228
- params.pattern.objectVar = pattern.object.value;
229
- }
230
- else {
231
- params.pattern.object = pattern.object;
232
- }
233
- if (pattern.graph.termType === 'Variable') {
234
- params.pattern.graphVar = pattern.graph.value;
235
- }
236
- else if (pattern.graph.termType === 'DefaultGraph') {
237
- // DefaultGraph - don't set graph filter
238
- }
239
- else {
240
- params.pattern.graph = pattern.graph;
241
- }
242
- }
243
- /**
244
- * 执行优化的 SELECT
245
- */
246
- async executeOptimizedSelect(params) {
247
- const opts = {};
248
- if (params.limit !== undefined) {
249
- opts.limit = params.limit + (params.offset || 0);
250
- }
251
- if (params.order) {
252
- opts.order = params.order;
253
- }
254
- if (params.reverse) {
255
- opts.reverse = params.reverse;
256
- }
257
- const pattern = {
258
- subject: params.pattern.subject,
259
- predicate: params.pattern.predicate,
260
- object: params.pattern.object,
261
- graph: params.pattern.graph,
262
- };
263
- this.log(`Querying quadstore with pattern: ${JSON.stringify(pattern)}, opts: ${JSON.stringify(opts)}`);
264
- const result = await this.quadstore.get(pattern, opts);
265
- let quads = result.items;
266
- if (params.offset) {
267
- quads = quads.slice(params.offset);
268
- }
269
- if (params.limit !== undefined) {
270
- quads = quads.slice(0, params.limit);
271
- }
272
- const bindings = quads.map(quad => {
273
- const binding = new SimpleBindings();
274
- if (params.pattern.subjectVar) {
275
- binding.set(params.pattern.subjectVar, quad.subject);
276
- }
277
- if (params.pattern.predicateVar) {
278
- binding.set(params.pattern.predicateVar, quad.predicate);
279
- }
280
- if (params.pattern.objectVar) {
281
- binding.set(params.pattern.objectVar, quad.object);
282
- }
283
- if (params.pattern.graphVar) {
284
- binding.set(params.pattern.graphVar, quad.graph);
285
- }
286
- return binding;
287
- });
288
- let finalBindings = bindings;
289
- if (params.distinct) {
290
- const seen = new Set();
291
- finalBindings = bindings.filter(b => {
292
- const key = params.variables.map(v => `${v}=${b.get(v)?.value ?? ''}`).sort().join('|');
293
- if (seen.has(key))
294
- return false;
295
- seen.add(key);
296
- return true;
297
- });
298
- }
299
- return new asynciterator_1.ArrayIterator(finalBindings);
300
- }
301
- varNameToTermName(varName) {
302
- const mapping = {
303
- s: 'subject',
304
- subject: 'subject',
305
- p: 'predicate',
306
- predicate: 'predicate',
307
- o: 'object',
308
- object: 'object',
309
- g: 'graph',
310
- graph: 'graph',
311
- };
312
- return mapping[varName.toLowerCase()] || null;
313
- }
314
- async streamToArray(stream) {
315
- if (typeof stream.toArray === 'function') {
316
- return stream.toArray();
317
- }
318
- const results = [];
319
- return new Promise((resolve, reject) => {
320
- stream.on('data', (item) => results.push(item));
321
- stream.on('end', () => resolve(results));
322
- stream.on('error', reject);
323
- });
324
- }
325
- }
326
- exports.OptimizedQuadstoreEngine = OptimizedQuadstoreEngine;
327
- //# sourceMappingURL=OptimizedQuadstoreEngine.js.map
@@ -1,46 +0,0 @@
1
- /**
2
- * OptimizedQuadstoreSource - 实现 Comunica IQuadSource 接口的优化 quadstore 源
3
- *
4
- * 这个实现允许在 match() 调用时从 context 读取优化参数(LIMIT、ORDER BY),
5
- * 并直接传递给 quadstore.get() API,实现查询下推优化。
6
- */
7
- import type { Quad, Term } from '@rdfjs/types';
8
- import type { IActionContext, IActionContextKey } from '@comunica/types';
9
- import type { AsyncIterator } from 'asynciterator';
10
- import { Quadstore, type TermName } from 'quadstore';
11
- export declare const KEY_OPTIMIZE_PARAMS: IActionContextKey<OptimizeParams>;
12
- export interface OptimizeParams {
13
- limit?: number;
14
- order?: TermName[];
15
- reverse?: boolean;
16
- }
17
- /**
18
- * 从 context 中提取优化参数
19
- */
20
- export declare function getOptimizeParams(context?: IActionContext): OptimizeParams | undefined;
21
- /**
22
- * 将优化参数设置到 context 中
23
- */
24
- export declare function setOptimizeParams(context: IActionContext, params: OptimizeParams): IActionContext;
25
- /**
26
- * 实现 Comunica IQuadSource 接口的优化 quadstore 源
27
- */
28
- export declare class OptimizedQuadstoreSource {
29
- private readonly store;
30
- private readonly debug;
31
- constructor(store: Quadstore, options?: {
32
- debug?: boolean;
33
- });
34
- /**
35
- * 实现 IQuadSource.match() - 带 context 支持的查询
36
- */
37
- match(subject: Term, predicate: Term, object: Term, graph: Term, context?: IActionContext): AsyncIterator<Quad>;
38
- /**
39
- * 创建带 metadata 的 AsyncIterator
40
- */
41
- private createIterator;
42
- /**
43
- * 异步加载数据到 iterator
44
- */
45
- private loadData;
46
- }
@@ -1,118 +0,0 @@
1
- "use strict";
2
- /**
3
- * OptimizedQuadstoreSource - 实现 Comunica IQuadSource 接口的优化 quadstore 源
4
- *
5
- * 这个实现允许在 match() 调用时从 context 读取优化参数(LIMIT、ORDER BY),
6
- * 并直接传递给 quadstore.get() API,实现查询下推优化。
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.OptimizedQuadstoreSource = exports.KEY_OPTIMIZE_PARAMS = void 0;
10
- exports.getOptimizeParams = getOptimizeParams;
11
- exports.setOptimizeParams = setOptimizeParams;
12
- const core_1 = require("@comunica/core");
13
- const asynciterator_1 = require("asynciterator");
14
- const utils_metadata_1 = require("@comunica/utils-metadata");
15
- // Context key for optimization parameters
16
- exports.KEY_OPTIMIZE_PARAMS = new core_1.ActionContextKey('@xpod/optimizeParams');
17
- /**
18
- * 从 context 中提取优化参数
19
- */
20
- function getOptimizeParams(context) {
21
- if (!context)
22
- return undefined;
23
- return context.get(exports.KEY_OPTIMIZE_PARAMS);
24
- }
25
- /**
26
- * 将优化参数设置到 context 中
27
- */
28
- function setOptimizeParams(context, params) {
29
- return context.set(exports.KEY_OPTIMIZE_PARAMS, params);
30
- }
31
- /**
32
- * 实现 Comunica IQuadSource 接口的优化 quadstore 源
33
- */
34
- class OptimizedQuadstoreSource {
35
- constructor(store, options) {
36
- this.store = store;
37
- this.debug = options?.debug ?? false;
38
- }
39
- /**
40
- * 实现 IQuadSource.match() - 带 context 支持的查询
41
- */
42
- match(subject, predicate, object, graph, context) {
43
- // 构建 quadstore pattern
44
- const pattern = {};
45
- if (subject && subject.termType !== 'Variable') {
46
- pattern.subject = subject;
47
- }
48
- if (predicate && predicate.termType !== 'Variable') {
49
- pattern.predicate = predicate;
50
- }
51
- if (object && object.termType !== 'Variable') {
52
- pattern.object = object;
53
- }
54
- if (graph && graph.termType !== 'Variable') {
55
- pattern.graph = graph;
56
- }
57
- // 从 context 读取优化参数
58
- const optimizeParams = getOptimizeParams(context);
59
- const opts = {};
60
- if (optimizeParams) {
61
- if (optimizeParams.limit !== undefined) {
62
- opts.limit = optimizeParams.limit;
63
- }
64
- if (optimizeParams.order !== undefined) {
65
- opts.order = optimizeParams.order;
66
- }
67
- if (optimizeParams.reverse !== undefined) {
68
- opts.reverse = optimizeParams.reverse;
69
- }
70
- }
71
- if (this.debug) {
72
- console.log(`[OptimizedQuadstoreSource] match() called`);
73
- console.log(` pattern: ${JSON.stringify(pattern)}`);
74
- console.log(` opts: ${JSON.stringify(opts)}`);
75
- }
76
- // 调用 quadstore.get() 并返回 AsyncIterator
77
- return this.createIterator(pattern, opts);
78
- }
79
- /**
80
- * 创建带 metadata 的 AsyncIterator
81
- */
82
- createIterator(pattern, opts) {
83
- // 创建一个空的 ArrayIterator,然后异步填充
84
- const iterator = new asynciterator_1.ArrayIterator([], { autoStart: false });
85
- // 异步加载数据
86
- this.loadData(iterator, pattern, opts);
87
- return iterator;
88
- }
89
- /**
90
- * 异步加载数据到 iterator
91
- */
92
- async loadData(iterator, pattern, opts) {
93
- try {
94
- // 获取数据
95
- const result = await this.store.get(pattern, opts);
96
- // 设置 metadata
97
- iterator.setProperty('metadata', {
98
- state: new utils_metadata_1.MetadataValidationState(),
99
- cardinality: { type: 'exact', value: result.items.length },
100
- canContainUndefs: false,
101
- });
102
- // 填充数据 - 使用 append 方法
103
- if (result.items.length > 0) {
104
- // ArrayIterator 在创建后可以追加数据
105
- for (const item of result.items) {
106
- iterator._push(item);
107
- }
108
- }
109
- // 关闭 iterator
110
- iterator.close();
111
- }
112
- catch (error) {
113
- iterator.destroy(error);
114
- }
115
- }
116
- }
117
- exports.OptimizedQuadstoreSource = OptimizedQuadstoreSource;
118
- //# sourceMappingURL=OptimizedQuadstoreSource.js.map
@@ -1,41 +0,0 @@
1
- /**
2
- * PatternBuilder - QuintPattern construction from SPARQL algebra
3
- *
4
- * Builds QuintPattern objects from SPARQL algebra patterns,
5
- * applying security filters and pushdown conditions.
6
- */
7
- import type { Bindings } from '@rdfjs/types';
8
- import type { Algebra } from 'sparqlalgebrajs';
9
- import type { QuintPattern, TermOperators } from '../quint/types';
10
- import type { SecurityFilters } from './ComunicaQuintEngine';
11
- /**
12
- * Pushdown filters extracted from SPARQL FILTER clauses
13
- * Maps variable names to their filter conditions
14
- */
15
- export interface PushdownFilters {
16
- [varName: string]: TermOperators;
17
- }
18
- /**
19
- * PatternBuilder constructs QuintPattern objects from SPARQL algebra
20
- */
21
- export declare class PatternBuilder {
22
- private readonly getSecurityFilters;
23
- constructor(getSecurityFilters: () => SecurityFilters | undefined);
24
- /**
25
- * Build base QuintPattern from SPARQL pattern (without pushdown filters)
26
- */
27
- buildBasePattern(pattern: Algebra.Pattern): QuintPattern;
28
- /**
29
- * Build QuintPattern with pushdown filters applied
30
- */
31
- buildQuintPattern(pattern: Algebra.Pattern, pushdownFilters: PushdownFilters): QuintPattern;
32
- /**
33
- * Build pattern for EXISTS subquery with bound variables
34
- */
35
- buildExistsPattern(subPattern: Algebra.Pattern, binding: Bindings): QuintPattern;
36
- /**
37
- * Merge existing filter with new filter
38
- * Concrete terms take precedence over operators
39
- */
40
- private mergeFilters;
41
- }
@@ -1,118 +0,0 @@
1
- "use strict";
2
- /**
3
- * PatternBuilder - QuintPattern construction from SPARQL algebra
4
- *
5
- * Builds QuintPattern objects from SPARQL algebra patterns,
6
- * applying security filters and pushdown conditions.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.PatternBuilder = void 0;
10
- /**
11
- * PatternBuilder constructs QuintPattern objects from SPARQL algebra
12
- */
13
- class PatternBuilder {
14
- constructor(getSecurityFilters) {
15
- this.getSecurityFilters = getSecurityFilters;
16
- }
17
- /**
18
- * Build base QuintPattern from SPARQL pattern (without pushdown filters)
19
- */
20
- buildBasePattern(pattern) {
21
- const quintPattern = {};
22
- if (pattern.subject && pattern.subject.termType !== 'Variable') {
23
- quintPattern.subject = pattern.subject;
24
- }
25
- if (pattern.predicate && pattern.predicate.termType !== 'Variable') {
26
- quintPattern.predicate = pattern.predicate;
27
- }
28
- if (pattern.object && pattern.object.termType !== 'Variable') {
29
- quintPattern.object = pattern.object;
30
- }
31
- if (pattern.graph && pattern.graph.termType !== 'Variable' && pattern.graph.termType !== 'DefaultGraph') {
32
- quintPattern.graph = pattern.graph;
33
- }
34
- // Apply security filters
35
- const securityFilters = this.getSecurityFilters();
36
- if (securityFilters) {
37
- if (securityFilters.subject && !quintPattern.subject) {
38
- quintPattern.subject = securityFilters.subject;
39
- }
40
- if (securityFilters.predicate && !quintPattern.predicate) {
41
- quintPattern.predicate = securityFilters.predicate;
42
- }
43
- if (securityFilters.object && !quintPattern.object) {
44
- quintPattern.object = securityFilters.object;
45
- }
46
- if (securityFilters.graph && !quintPattern.graph) {
47
- quintPattern.graph = securityFilters.graph;
48
- }
49
- }
50
- return quintPattern;
51
- }
52
- /**
53
- * Build QuintPattern with pushdown filters applied
54
- */
55
- buildQuintPattern(pattern, pushdownFilters) {
56
- const quintPattern = this.buildBasePattern(pattern);
57
- // Apply pushdown filters to appropriate positions
58
- if (pattern.subject?.termType === 'Variable' && pushdownFilters[pattern.subject.value]) {
59
- quintPattern.subject = this.mergeFilters(quintPattern.subject, pushdownFilters[pattern.subject.value]);
60
- }
61
- if (pattern.predicate?.termType === 'Variable' && pushdownFilters[pattern.predicate.value]) {
62
- quintPattern.predicate = this.mergeFilters(quintPattern.predicate, pushdownFilters[pattern.predicate.value]);
63
- }
64
- if (pattern.object?.termType === 'Variable' && pushdownFilters[pattern.object.value]) {
65
- quintPattern.object = this.mergeFilters(quintPattern.object, pushdownFilters[pattern.object.value]);
66
- }
67
- if (pattern.graph?.termType === 'Variable' && pushdownFilters[pattern.graph.value]) {
68
- quintPattern.graph = this.mergeFilters(quintPattern.graph, pushdownFilters[pattern.graph.value]);
69
- }
70
- return quintPattern;
71
- }
72
- /**
73
- * Build pattern for EXISTS subquery with bound variables
74
- */
75
- buildExistsPattern(subPattern, binding) {
76
- const quintPattern = {};
77
- const getBound = (term) => {
78
- if (!term)
79
- return undefined;
80
- if (term.termType === 'Variable') {
81
- return binding.get(term) || undefined;
82
- }
83
- return term;
84
- };
85
- const subject = getBound(subPattern.subject);
86
- if (subject && subject.termType !== 'Variable')
87
- quintPattern.subject = subject;
88
- const predicate = getBound(subPattern.predicate);
89
- if (predicate && predicate.termType !== 'Variable')
90
- quintPattern.predicate = predicate;
91
- const object = getBound(subPattern.object);
92
- if (object && object.termType !== 'Variable')
93
- quintPattern.object = object;
94
- const graph = getBound(subPattern.graph);
95
- if (graph && graph.termType !== 'Variable' && graph.termType !== 'DefaultGraph') {
96
- quintPattern.graph = graph;
97
- }
98
- // Apply security filters
99
- const securityFilters = this.getSecurityFilters();
100
- if (securityFilters?.graph && !quintPattern.graph) {
101
- quintPattern.graph = securityFilters.graph;
102
- }
103
- return quintPattern;
104
- }
105
- /**
106
- * Merge existing filter with new filter
107
- * Concrete terms take precedence over operators
108
- */
109
- mergeFilters(existing, newFilter) {
110
- if (!existing)
111
- return newFilter;
112
- if ('termType' in existing)
113
- return existing; // Concrete term takes precedence
114
- return { ...existing, ...newFilter };
115
- }
116
- }
117
- exports.PatternBuilder = PatternBuilder;
118
- //# sourceMappingURL=PatternBuilder.js.map