@undefineds.co/xpod 0.3.74 → 0.4.0-rc.139

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 (363) 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 +21 -8
  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/runtime/css-process.js +0 -1
  70. package/dist/search/RdfSearchIntentSink.d.ts +17 -0
  71. package/dist/search/RdfSearchIntentSink.js +46 -0
  72. package/dist/search/RdfSearchIntentSink.jsonld +47 -0
  73. package/dist/search/RdfSearchReconciliationRepository.d.ts +81 -0
  74. package/dist/search/RdfSearchReconciliationRepository.js +771 -0
  75. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.d.ts +15 -0
  76. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.js +48 -0
  77. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.jsonld +99 -0
  78. package/dist/solidfs/RdfIndexSolidFsSyncer.js +22 -4
  79. package/dist/solidfs/SolidFsSyncJournal.d.ts +7 -1
  80. package/dist/solidfs/SolidFsSyncJournal.js +20 -5
  81. package/dist/solidfs/SolidFsSyncJournal.jsonld +43 -0
  82. package/dist/solidfs/index.d.ts +1 -0
  83. package/dist/solidfs/index.js +1 -0
  84. package/dist/storage/SparqlUpdateResourceStore.js +3 -3
  85. package/dist/storage/accessors/MixDataAccessor.d.ts +21 -29
  86. package/dist/storage/accessors/MixDataAccessor.js +182 -399
  87. package/dist/storage/accessors/MixDataAccessor.jsonld +109 -87
  88. package/dist/storage/accessors/SolidRdfDataAccessor.d.ts +12 -8
  89. package/dist/storage/accessors/SolidRdfDataAccessor.js +189 -59
  90. package/dist/storage/accessors/SolidRdfDataAccessor.jsonld +14 -29
  91. package/dist/storage/rdf/LocalQleverNativeSparqlClient.d.ts +55 -0
  92. package/dist/storage/rdf/LocalQleverNativeSparqlClient.js +519 -0
  93. package/dist/storage/rdf/LocalQleverNativeSparqlClient.jsonld +314 -0
  94. package/dist/storage/rdf/PostgresRdfEngine.d.ts +3 -1
  95. package/dist/storage/rdf/PostgresRdfEngine.js +111 -74
  96. package/dist/storage/rdf/PostgresRdfEngine.jsonld +12 -22
  97. package/dist/storage/rdf/PostgresRdfSchemaValidation.d.ts +8 -0
  98. package/dist/storage/rdf/PostgresRdfSchemaValidation.js +82 -0
  99. package/dist/storage/rdf/PostgresRdfTextIndex.d.ts +6 -3
  100. package/dist/storage/rdf/PostgresRdfTextIndex.js +158 -80
  101. package/dist/storage/rdf/PostgresRdfTextIndex.jsonld +16 -4
  102. package/dist/storage/rdf/PostgresRdfVectorIndex.d.ts +4 -5
  103. package/dist/storage/rdf/PostgresRdfVectorIndex.js +124 -120
  104. package/dist/storage/rdf/PostgresRdfVectorIndex.jsonld +14 -18
  105. package/dist/storage/rdf/QleverSparqlEngine.d.ts +35 -0
  106. package/dist/storage/rdf/QleverSparqlEngine.js +185 -0
  107. package/dist/storage/rdf/QleverSparqlEngine.jsonld +70 -0
  108. package/dist/storage/rdf/Rdf3xIndex.js +20 -16
  109. package/dist/storage/rdf/RdfAccessScope.d.ts +4 -0
  110. package/dist/storage/rdf/RdfAccessScope.js +74 -9
  111. package/dist/storage/rdf/RdfAccessScope.jsonld +16 -0
  112. package/dist/storage/rdf/RdfEngineRdfJsSource.d.ts +14 -0
  113. package/dist/storage/rdf/RdfEngineRdfJsSource.js +179 -0
  114. package/dist/storage/rdf/RdfQuadIndex.d.ts +13 -14
  115. package/dist/storage/rdf/RdfQuadIndex.js +286 -99
  116. package/dist/storage/rdf/RdfQuadIndex.jsonld +10 -22
  117. package/dist/storage/rdf/RdfQueryExecutor.js +10 -4
  118. package/dist/storage/rdf/RdfQuerySparqlEngine.d.ts +33 -0
  119. package/dist/storage/rdf/RdfQuerySparqlEngine.js +215 -0
  120. package/dist/storage/rdf/RdfQuerySparqlEngine.jsonld +78 -0
  121. package/dist/storage/rdf/RdfSparqlAdapter.d.ts +0 -4
  122. package/dist/storage/rdf/RdfSparqlAdapter.js +75 -173
  123. package/dist/storage/rdf/RdfSparqlBoundary.d.ts +37 -0
  124. package/dist/storage/rdf/RdfSparqlBoundary.js +247 -0
  125. package/dist/storage/rdf/RdfSparqlSerialization.d.ts +3 -0
  126. package/dist/storage/rdf/RdfSparqlSerialization.js +19 -0
  127. package/dist/storage/rdf/RdfSqliteConnection.d.ts +7 -0
  128. package/dist/storage/rdf/RdfSqliteConnection.js +23 -0
  129. package/dist/storage/rdf/RdfTermDictionary.d.ts +0 -8
  130. package/dist/storage/rdf/RdfTermDictionary.js +0 -136
  131. package/dist/storage/rdf/RdfTermDictionary.jsonld +0 -32
  132. package/dist/storage/rdf/RdfTermSemantics.d.ts +6 -0
  133. package/dist/storage/rdf/RdfTermSemantics.js +29 -0
  134. package/dist/storage/rdf/RdfTextIndex.d.ts +5 -6
  135. package/dist/storage/rdf/RdfTextIndex.js +187 -115
  136. package/dist/storage/rdf/RdfTextIndex.jsonld +10 -14
  137. package/dist/storage/rdf/RdfVectorIndex.d.ts +4 -4
  138. package/dist/storage/rdf/RdfVectorIndex.js +156 -233
  139. package/dist/storage/rdf/RdfVectorIndex.jsonld +10 -14
  140. package/dist/storage/rdf/SolidRdfEngine.d.ts +16 -21
  141. package/dist/storage/rdf/SolidRdfEngine.js +28 -308
  142. package/dist/storage/rdf/SolidRdfEngine.jsonld +26 -148
  143. package/dist/storage/rdf/XpodComunicaQueryEngine.d.ts +10 -0
  144. package/dist/storage/rdf/XpodComunicaQueryEngine.js +72 -0
  145. package/dist/storage/rdf/index.d.ts +7 -6
  146. package/dist/storage/rdf/index.js +17 -12
  147. package/dist/storage/rdf/models-benchmark.d.ts +5 -1
  148. package/dist/storage/rdf/models-benchmark.js +17 -19
  149. package/dist/storage/rdf/types.d.ts +68 -6
  150. package/dist/storage/rdf/types.jsonld +69 -0
  151. package/dist/storage/sparql/SubgraphQueryEngine.d.ts +13 -7
  152. package/dist/storage/sparql/SubgraphQueryEngine.js +6 -6
  153. package/dist/storage/vector/index.d.ts +0 -1
  154. package/dist/storage/vector/index.js +0 -1
  155. package/dist/terminal/AclPermissionService.d.ts +4 -5
  156. package/dist/terminal/AclPermissionService.js +55 -75
  157. package/dist/terminal/TerminalSessionManager.d.ts +3 -2
  158. package/dist/terminal/TerminalSessionManager.js +3 -3
  159. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts +1 -0
  160. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts.map +1 -1
  161. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js +29 -26
  162. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js.map +1 -1
  163. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts.map +1 -1
  164. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js +9 -4
  165. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js.map +1 -1
  166. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts +1 -0
  167. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts.map +1 -1
  168. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js +6 -3
  169. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js.map +1 -1
  170. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js +3 -3
  171. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js.map +1 -1
  172. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts +6 -0
  173. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
  174. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js +13 -3
  175. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js.map +1 -1
  176. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts +1 -0
  177. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts.map +1 -1
  178. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js +31 -0
  179. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js.map +1 -1
  180. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.d.ts.map +1 -1
  181. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js +5 -0
  182. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js.map +1 -1
  183. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts +1 -0
  184. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts.map +1 -1
  185. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js +45 -0
  186. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js.map +1 -1
  187. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts +1 -0
  188. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts.map +1 -1
  189. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js +29 -26
  190. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js.map +1 -1
  191. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
  192. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js +9 -4
  193. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js.map +1 -1
  194. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts +1 -0
  195. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts.map +1 -1
  196. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js +6 -3
  197. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js.map +1 -1
  198. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js +3 -3
  199. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js.map +1 -1
  200. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts +6 -0
  201. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
  202. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js +14 -4
  203. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
  204. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts +1 -0
  205. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts.map +1 -1
  206. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js +30 -0
  207. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js.map +1 -1
  208. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -1
  209. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js +5 -0
  210. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js.map +1 -1
  211. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts +1 -0
  212. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts.map +1 -1
  213. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js +45 -0
  214. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js.map +1 -1
  215. package/node_modules/@undefineds.co/drizzle-solid/package.json +5 -4
  216. package/package.json +19 -8
  217. package/static/app/assets/{index-36TJKN-3.js → index-BikOyGPu.js} +34 -34
  218. package/static/app/assets/inrupt-smoke.js +2 -2
  219. package/static/app/assets/main.css +1 -1
  220. package/static/app/assets/main.js +11 -11
  221. package/static/auth-callback/assets/{AiConfigContext-DNfRNaZQ.js → AiConfigContext-iQ74JmRZ.js} +1 -1
  222. package/static/auth-callback/assets/{AiConfigPage-BBiTOm3o.js → AiConfigPage-BBDKE1gJ.js} +1 -1
  223. package/static/auth-callback/assets/{DocumentProcessingPanel-BzpEwqKT.js → DocumentProcessingPanel-D9NntIEK.js} +1 -1
  224. package/static/auth-callback/assets/{IndexLifecyclePanel-CvXMwooQ.js → IndexLifecyclePanel-BG07yBdA.js} +1 -1
  225. package/static/auth-callback/assets/{IndexSubjectPanel-CayA221L.js → IndexSubjectPanel-B-bUnU3G.js} +1 -1
  226. package/static/auth-callback/assets/{ModelAssignmentsPanel-Iew2QgtR.js → ModelAssignmentsPanel-C7I-Nqy-.js} +1 -1
  227. package/static/auth-callback/assets/{ModelsPage-CTJKAUA3.js → ModelsPage-C2hxyrmI.js} +1 -1
  228. package/static/auth-callback/assets/{NetworkPage--8ZCjIHB.js → NetworkPage-IGIc2q1Y.js} +1 -1
  229. package/static/auth-callback/assets/{PaneListHeader-BT-OGKL7.js → PaneListHeader-CebuPl_g.js} +1 -1
  230. package/static/auth-callback/assets/{SearchIndexingPanel-CFjjk1-C.js → SearchIndexingPanel-6HnZSg00.js} +1 -1
  231. package/static/auth-callback/assets/{StatusSubjectPanel-DAN5Ej9q.js → StatusSubjectPanel-votxBkr5.js} +1 -1
  232. package/static/auth-callback/assets/{StatusWorkspace-CEgmKJcX.js → StatusWorkspace-Cksl61zX.js} +1 -1
  233. package/static/auth-callback/assets/{SystemSettingsPage-Bk0TB4RU.js → SystemSettingsPage-CKZFUaZT.js} +1 -1
  234. package/static/auth-callback/assets/{SystemSettingsSubjectPanel-CKl8ukiz.js → SystemSettingsSubjectPanel-pzfUcCf4.js} +1 -1
  235. package/static/auth-callback/assets/{activity-BOtct9Ie.js → activity-DQL6kZHZ.js} +1 -1
  236. package/static/auth-callback/assets/auth-callback-B_s8Ye5Z.css +1 -0
  237. package/static/auth-callback/assets/{auth-callback-ai6OMe6C.js → auth-callback-BxQMd_Mc.js} +39 -39
  238. package/static/auth-callback/assets/{badge-DGSg5wio.js → badge-DvW4LUHH.js} +1 -1
  239. package/static/auth-callback/assets/{download-4eVPmxQ_.js → download-Cx_uaCR1.js} +1 -1
  240. package/static/auth-callback/assets/{external-link-BlD92fAM.js → external-link-D6L6ExH1.js} +1 -1
  241. package/static/auth-callback/assets/{index-FrugCRsJ.js → index-BAS_hxGu.js} +1 -1
  242. package/static/auth-callback/assets/{index-7ppych8q.js → index-BmBjpCoD.js} +1 -1
  243. package/static/auth-callback/assets/{index-browser-dwpJ2mdT.js → index-browser-pdn4D3M4.js} +1 -1
  244. package/static/auth-callback/assets/{key-round-BFOQbNNp.js → key-round-BTBzOggq.js} +1 -1
  245. package/static/auth-callback/assets/{rotate-ccw-BySVgaAP.js → rotate-ccw-eV7Cx8sB.js} +1 -1
  246. package/static/auth-callback/assets/{skeleton-CgcxPTqc.js → skeleton-Bg4GYgBM.js} +1 -1
  247. package/static/auth-callback/assets/{waypoints-DM902DhB.js → waypoints-CJbydf0B.js} +1 -1
  248. package/static/auth-callback/assets/{workspace-layout-DlZlN49Q.js → workspace-layout-C6Hh8Xf-.js} +1 -1
  249. package/static/auth-callback/auth-callback.html +2 -2
  250. package/static/dashboard/assets/{AiConfigContext-VnWI7bOR.js → AiConfigContext-BkJj28vK.js} +1 -1
  251. package/static/dashboard/assets/{AiConfigPage-Dn3oxXcA.js → AiConfigPage-Cs9B4uyp.js} +1 -1
  252. package/static/dashboard/assets/{DocumentProcessingPanel-CAF1uLi3.js → DocumentProcessingPanel-BBWmM7mS.js} +1 -1
  253. package/static/dashboard/assets/{IndexLifecyclePanel-D9zVZwu8.js → IndexLifecyclePanel-D5xGTT_i.js} +1 -1
  254. package/static/dashboard/assets/{IndexSubjectPanel-_JCGwJmO.js → IndexSubjectPanel-d-mjDthn.js} +1 -1
  255. package/static/dashboard/assets/{ModelAssignmentsPanel-DtlxQxFa.js → ModelAssignmentsPanel-C-OLNbqf.js} +1 -1
  256. package/static/dashboard/assets/{ModelsPage-CCNTpXM5.js → ModelsPage-CBrLjuUn.js} +1 -1
  257. package/static/dashboard/assets/{NetworkPage-BAKv9unq.js → NetworkPage-BlYk8L1z.js} +1 -1
  258. package/static/dashboard/assets/{PaneListHeader-Dr1jq2Ii.js → PaneListHeader-A5oZJQC0.js} +1 -1
  259. package/static/dashboard/assets/{SearchIndexingPanel-BW0pPrQB.js → SearchIndexingPanel-Bs1j8ZP2.js} +1 -1
  260. package/static/dashboard/assets/{StatusSubjectPanel-c9iebk4M.js → StatusSubjectPanel-Qao3orvi.js} +1 -1
  261. package/static/dashboard/assets/{StatusWorkspace-KZ7zrrmB.js → StatusWorkspace-rDM0yDtk.js} +1 -1
  262. package/static/dashboard/assets/{SystemSettingsPage-fVSfJMi9.js → SystemSettingsPage-FPRPkKaR.js} +1 -1
  263. package/static/dashboard/assets/{SystemSettingsSubjectPanel-DUSxcVT8.js → SystemSettingsSubjectPanel-CjlJAxnX.js} +1 -1
  264. package/static/dashboard/assets/{activity-Dg4XxJA8.js → activity-CJ5K6hYC.js} +1 -1
  265. package/static/dashboard/assets/{badge-OHMG7sYk.js → badge-L-NMOi1P.js} +1 -1
  266. package/static/dashboard/assets/dashboard-B_s8Ye5Z.css +1 -0
  267. package/static/dashboard/assets/{dashboard-UuQZ5g0B.js → dashboard-DyjAyYxx.js} +34 -34
  268. package/static/dashboard/assets/{download-CkbQhuL2.js → download-Bi4u5K5B.js} +1 -1
  269. package/static/dashboard/assets/{external-link-C15frgwD.js → external-link-jmhLDfvT.js} +1 -1
  270. package/static/dashboard/assets/{index-BiU8tNWd.js → index-BoaGJBxf.js} +1 -1
  271. package/static/dashboard/assets/{index-JUkJUI4K.js → index-C22TAEi4.js} +1 -1
  272. package/static/dashboard/assets/{key-round-BVREfX5D.js → key-round-Dk1VmMrn.js} +1 -1
  273. package/static/dashboard/assets/{rotate-ccw-cPEquKE_.js → rotate-ccw-DIfLsSwi.js} +1 -1
  274. package/static/dashboard/assets/{skeleton-BPM2LdA5.js → skeleton-BGPJMHb-.js} +1 -1
  275. package/static/dashboard/assets/{waypoints-Cd3kODMk.js → waypoints-CY53egpu.js} +1 -1
  276. package/static/dashboard/assets/{workspace-layout-BP3gLLXb.js → workspace-layout-CoHkcx70.js} +1 -1
  277. package/static/dashboard/dashboard.html +2 -2
  278. package/static/settings/assets/{AiConfigContext-B-D3riwG.js → AiConfigContext-BcEPlEJe.js} +1 -1
  279. package/static/settings/assets/{AiConfigPage-CAYT-CgT.js → AiConfigPage-D-t3ZUhg.js} +1 -1
  280. package/static/settings/assets/{DocumentProcessingPanel-D__vS86O.js → DocumentProcessingPanel-m2SasiMO.js} +1 -1
  281. package/static/settings/assets/{IndexLifecyclePanel-CuYEAG62.js → IndexLifecyclePanel-BNmAvx8V.js} +1 -1
  282. package/static/settings/assets/{IndexSubjectPanel-Do71gQQC.js → IndexSubjectPanel-C5-L2AcW.js} +1 -1
  283. package/static/settings/assets/{ModelAssignmentsPanel-Cn3kSze7.js → ModelAssignmentsPanel-Cfpkf02Y.js} +1 -1
  284. package/static/settings/assets/{ModelsPage-BKO0ARYt.js → ModelsPage-DZrACwVN.js} +1 -1
  285. package/static/settings/assets/{NetworkPage-XPYrdyVd.js → NetworkPage-BlrGGfqL.js} +1 -1
  286. package/static/settings/assets/{PaneListHeader-BAiQcCss.js → PaneListHeader-C3TCs1RI.js} +1 -1
  287. package/static/settings/assets/{SearchIndexingPanel-Bx3Fco0x.js → SearchIndexingPanel-Cyp3CUzX.js} +1 -1
  288. package/static/settings/assets/{StatusSubjectPanel-BzKzXmSL.js → StatusSubjectPanel-gRkb8WEX.js} +1 -1
  289. package/static/settings/assets/{StatusWorkspace-NjLpo9xp.js → StatusWorkspace-Dptx4Ec2.js} +1 -1
  290. package/static/settings/assets/{SystemSettingsPage-CclI_Lpv.js → SystemSettingsPage-BWgGUQbs.js} +1 -1
  291. package/static/settings/assets/{SystemSettingsSubjectPanel-CMnSE-8N.js → SystemSettingsSubjectPanel-VflUvpgC.js} +1 -1
  292. package/static/settings/assets/{activity-DYpNPFzG.js → activity-D7iNhTkQ.js} +1 -1
  293. package/static/settings/assets/{badge-C7Vhmg28.js → badge-DO0r_RT4.js} +1 -1
  294. package/static/settings/assets/{download-DdXcAiwj.js → download-CsJlNSbd.js} +1 -1
  295. package/static/settings/assets/{external-link-D7thdQae.js → external-link-BCR7SHme.js} +1 -1
  296. package/static/settings/assets/{index-CwBKvDQZ.js → index-Cgq16ekN.js} +1 -1
  297. package/static/settings/assets/{index-BnYbrf5s.js → index-SrhQvcrU.js} +1 -1
  298. package/static/settings/assets/{index-browser-DYzi1DO1.js → index-browser-THpcMCnz.js} +1 -1
  299. package/static/settings/assets/{key-round-BXErodZA.js → key-round-Dd3jk1BT.js} +1 -1
  300. package/static/settings/assets/{rotate-ccw-DPyOBmDD.js → rotate-ccw-tiL14i1d.js} +1 -1
  301. package/static/settings/assets/settings-B_s8Ye5Z.css +1 -0
  302. package/static/settings/assets/{settings-BGpEf8nx.js → settings-CVLDPejo.js} +34 -34
  303. package/static/settings/assets/{skeleton-S9l3JIr9.js → skeleton-DBxLuNgU.js} +1 -1
  304. package/static/settings/assets/{waypoints-C5By7zWc.js → waypoints-DS3e3hv7.js} +1 -1
  305. package/static/settings/assets/{workspace-layout-Bb6RVAEx.js → workspace-layout-mucrxyTK.js} +1 -1
  306. package/static/settings/settings.html +2 -2
  307. package/config/search.json +0 -66
  308. package/dist/document/HeadingChunker.jsonld +0 -41
  309. package/dist/security/secret-cell/DeploymentRootKeyProvider.jsonld +0 -124
  310. package/dist/security/secret-cell/SecretCellVault.jsonld +0 -207
  311. package/dist/storage/PostgresDerivedIndexJournal.d.ts +0 -47
  312. package/dist/storage/PostgresDerivedIndexJournal.js +0 -408
  313. package/dist/storage/PostgresDerivedIndexJournal.jsonld +0 -303
  314. package/dist/storage/RdfDerivedIndexingListener.d.ts +0 -32
  315. package/dist/storage/RdfDerivedIndexingListener.js +0 -135
  316. package/dist/storage/RdfDerivedIndexingListener.jsonld +0 -228
  317. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.d.ts +0 -148
  318. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js +0 -436
  319. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.jsonld +0 -172
  320. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.d.ts +0 -102
  321. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js +0 -474
  322. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.jsonld +0 -192
  323. package/dist/storage/rdf/RdfSparqlAdapter.jsonld +0 -486
  324. package/dist/storage/rdf/ShadowRdfQuintStore.d.ts +0 -59
  325. package/dist/storage/rdf/ShadowRdfQuintStore.js +0 -216
  326. package/dist/storage/rdf/ShadowRdfQuintStore.jsonld +0 -312
  327. package/dist/storage/rdf/SolidRdfSparqlEngine.d.ts +0 -107
  328. package/dist/storage/rdf/SolidRdfSparqlEngine.js +0 -1117
  329. package/dist/storage/rdf/SolidRdfSparqlEngine.jsonld +0 -312
  330. package/dist/storage/sparql/AlgebraUtils.d.ts +0 -48
  331. package/dist/storage/sparql/AlgebraUtils.js +0 -118
  332. package/dist/storage/sparql/CompatibilitySparqlEngine.d.ts +0 -37
  333. package/dist/storage/sparql/CompatibilitySparqlEngine.js +0 -96
  334. package/dist/storage/sparql/CompatibilitySparqlEngine.jsonld +0 -123
  335. package/dist/storage/sparql/CompatibilitySparqlEngineImpl.d.ts +0 -36
  336. package/dist/storage/sparql/CompatibilitySparqlEngineImpl.js +0 -124
  337. package/dist/storage/sparql/ComunicaOptimizedEngine.d.ts +0 -59
  338. package/dist/storage/sparql/ComunicaOptimizedEngine.js +0 -254
  339. package/dist/storage/sparql/ComunicaQuintEngine.d.ts +0 -143
  340. package/dist/storage/sparql/ComunicaQuintEngine.js +0 -781
  341. package/dist/storage/sparql/ExpressionEvaluator.d.ts +0 -54
  342. package/dist/storage/sparql/ExpressionEvaluator.js +0 -340
  343. package/dist/storage/sparql/FilterPushdownExtractor.d.ts +0 -74
  344. package/dist/storage/sparql/FilterPushdownExtractor.js +0 -421
  345. package/dist/storage/sparql/OptimizedQuadstoreEngine.d.ts +0 -65
  346. package/dist/storage/sparql/OptimizedQuadstoreEngine.js +0 -327
  347. package/dist/storage/sparql/OptimizedQuadstoreSource.d.ts +0 -46
  348. package/dist/storage/sparql/OptimizedQuadstoreSource.js +0 -118
  349. package/dist/storage/sparql/PatternBuilder.d.ts +0 -41
  350. package/dist/storage/sparql/PatternBuilder.js +0 -118
  351. package/dist/storage/sparql/QueryOptimizer.d.ts +0 -125
  352. package/dist/storage/sparql/QueryOptimizer.js +0 -375
  353. package/dist/storage/sparql/QuintEngine.d.ts +0 -92
  354. package/dist/storage/sparql/QuintEngine.js +0 -150
  355. package/dist/storage/sparql/QuintQuerySource.d.ts +0 -241
  356. package/dist/storage/sparql/QuintQuerySource.js +0 -1069
  357. package/dist/storage/sparql/SimpleSparqlExecutor.d.ts +0 -40
  358. package/dist/storage/sparql/SimpleSparqlExecutor.js +0 -131
  359. package/dist/storage/vector/VectorIndexingListener.d.ts +0 -114
  360. package/dist/storage/vector/VectorIndexingListener.js +0 -346
  361. package/static/auth-callback/assets/auth-callback-rWdEQY5f.css +0 -1
  362. package/static/dashboard/assets/dashboard-rWdEQY5f.css +0 -1
  363. 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