@undefineds.co/xpod 0.3.75 → 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.
- package/bin/xpod.js +43 -8
- package/config/bun.json +45 -48
- package/config/cloud.json +13 -90
- package/config/components-ignore.json +0 -1
- package/config/local.json +111 -63
- package/config/resolver.json +4 -2
- package/config/terminal.json +4 -1
- package/config/xpod.base.json +16 -8
- package/config/xpod.json +51 -54
- package/dist/acceptance/PublicCloudSemanticConformance.d.ts +4 -0
- package/dist/acceptance/PublicCloudSemanticConformance.js +214 -0
- package/dist/acceptance/QleverSearchConformance.d.ts +39 -0
- package/dist/acceptance/QleverSearchConformance.js +686 -0
- package/dist/acceptance/QleverSemanticConformance.d.ts +3 -0
- package/dist/acceptance/QleverSemanticConformance.js +178 -0
- package/dist/acceptance/RdfSemanticConformance.d.ts +114 -0
- package/dist/acceptance/RdfSemanticConformance.js +307 -0
- package/dist/acceptance/run-installed-qlever-conformance.d.ts +12 -0
- package/dist/acceptance/run-installed-qlever-conformance.js +87 -0
- package/dist/acceptance/run-installed-rdf-conformance.d.ts +12 -0
- package/dist/acceptance/run-installed-rdf-conformance.js +88 -0
- package/dist/ai/service/EmbeddingProviderError.d.ts +7 -0
- package/dist/ai/service/EmbeddingProviderError.js +42 -0
- package/dist/api/ai-gateway/connect/index.js +5 -2
- package/dist/api/auth/AuthContext.d.ts +5 -0
- package/dist/api/auth/AuthContext.js +10 -0
- package/dist/api/container/common.js +20 -1
- package/dist/api/container/rdf.d.ts +1 -0
- package/dist/api/container/rdf.js +43 -4
- package/dist/api/container/types.d.ts +4 -0
- package/dist/api/runs/InngestRunExecutionBackend.d.ts +2 -2
- package/dist/api/runs/PiAgentRuntimeDriver.d.ts +2 -0
- package/dist/api/runs/PiAgentRuntimeDriver.js +1 -0
- package/dist/api/runs/RdfRunContextRetriever.d.ts +8 -0
- package/dist/api/runs/RdfRunContextRetriever.js +23 -1
- package/dist/api/runtime.js +20 -6
- package/dist/api/service/RdfSearchIndexingService.d.ts +37 -3
- package/dist/api/service/RdfSearchIndexingService.js +130 -18
- package/dist/api/service/RdfSearchIndexingSolidFsSyncer.d.ts +8 -0
- package/dist/api/service/RdfSearchIndexingSolidFsSyncer.js +102 -15
- package/dist/api/service/RdfSearchReconciliationWorker.d.ts +76 -0
- package/dist/api/service/RdfSearchReconciliationWorker.js +294 -0
- package/dist/api/tasks/InngestTaskScheduler.d.ts +4 -4
- package/dist/components/components.jsonld +9 -12
- package/dist/components/context.jsonld +227 -348
- package/dist/document/MarkdownRetrievalPointProjector.d.ts +33 -0
- package/dist/document/MarkdownRetrievalPointProjector.js +196 -0
- package/dist/document/MarkdownRetrievalPointProjector.jsonld +135 -0
- package/dist/document/ReaderMaterialization.d.ts +34 -0
- package/dist/document/ReaderMaterialization.js +3 -0
- package/dist/document/ReaderMaterialization.jsonld +151 -0
- package/dist/document/ReaderMaterializationRepository.d.ts +27 -0
- package/dist/document/ReaderMaterializationRepository.js +400 -0
- package/dist/document/ReaderMaterializationRepository.jsonld +84 -0
- package/dist/document/index.d.ts +3 -1
- package/dist/document/index.js +3 -1
- package/dist/http/SubgraphSparqlHttpHandler.js +34 -54
- package/dist/http/search/SearchHttpHandler.js +14 -12
- package/dist/http/terminal/TerminalHttpHandler.d.ts +3 -0
- package/dist/http/terminal/TerminalHttpHandler.js +1 -0
- package/dist/http/terminal/TerminalHttpHandler.jsonld +11 -0
- package/dist/identity/drizzle/DrizzleIndexedStorage.js +19 -39
- package/dist/identity/drizzle/db.d.ts +1 -0
- package/dist/identity/drizzle/db.js +35 -0
- package/dist/index.d.ts +9 -17
- package/dist/index.js +14 -22
- package/dist/provision/ProvisionPodCreator.d.ts +1 -1
- package/dist/provision/ProvisionPodCreator.js +4 -3
- package/dist/search/RdfSearchIntentSink.d.ts +17 -0
- package/dist/search/RdfSearchIntentSink.js +46 -0
- package/dist/search/RdfSearchIntentSink.jsonld +47 -0
- package/dist/search/RdfSearchReconciliationRepository.d.ts +81 -0
- package/dist/search/RdfSearchReconciliationRepository.js +771 -0
- package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.d.ts +15 -0
- package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.js +48 -0
- package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.jsonld +99 -0
- package/dist/solidfs/RdfIndexSolidFsSyncer.js +22 -4
- package/dist/solidfs/SolidFsSyncJournal.d.ts +7 -1
- package/dist/solidfs/SolidFsSyncJournal.js +20 -5
- package/dist/solidfs/SolidFsSyncJournal.jsonld +43 -0
- package/dist/solidfs/index.d.ts +1 -0
- package/dist/solidfs/index.js +1 -0
- package/dist/storage/SparqlUpdateResourceStore.js +3 -3
- package/dist/storage/accessors/MixDataAccessor.d.ts +21 -29
- package/dist/storage/accessors/MixDataAccessor.js +182 -399
- package/dist/storage/accessors/MixDataAccessor.jsonld +109 -87
- package/dist/storage/accessors/SolidRdfDataAccessor.d.ts +12 -8
- package/dist/storage/accessors/SolidRdfDataAccessor.js +189 -59
- package/dist/storage/accessors/SolidRdfDataAccessor.jsonld +14 -29
- package/dist/storage/rdf/LocalQleverNativeSparqlClient.d.ts +55 -0
- package/dist/storage/rdf/LocalQleverNativeSparqlClient.js +519 -0
- package/dist/storage/rdf/LocalQleverNativeSparqlClient.jsonld +314 -0
- package/dist/storage/rdf/PostgresRdfEngine.d.ts +3 -1
- package/dist/storage/rdf/PostgresRdfEngine.js +111 -74
- package/dist/storage/rdf/PostgresRdfEngine.jsonld +12 -22
- package/dist/storage/rdf/PostgresRdfSchemaValidation.d.ts +8 -0
- package/dist/storage/rdf/PostgresRdfSchemaValidation.js +82 -0
- package/dist/storage/rdf/PostgresRdfTextIndex.d.ts +6 -3
- package/dist/storage/rdf/PostgresRdfTextIndex.js +158 -80
- package/dist/storage/rdf/PostgresRdfTextIndex.jsonld +16 -4
- package/dist/storage/rdf/PostgresRdfVectorIndex.d.ts +4 -5
- package/dist/storage/rdf/PostgresRdfVectorIndex.js +124 -120
- package/dist/storage/rdf/PostgresRdfVectorIndex.jsonld +14 -18
- package/dist/storage/rdf/QleverSparqlEngine.d.ts +35 -0
- package/dist/storage/rdf/QleverSparqlEngine.js +185 -0
- package/dist/storage/rdf/QleverSparqlEngine.jsonld +70 -0
- package/dist/storage/rdf/Rdf3xIndex.js +20 -16
- package/dist/storage/rdf/RdfAccessScope.d.ts +4 -0
- package/dist/storage/rdf/RdfAccessScope.js +74 -9
- package/dist/storage/rdf/RdfAccessScope.jsonld +16 -0
- package/dist/storage/rdf/RdfEngineRdfJsSource.d.ts +14 -0
- package/dist/storage/rdf/RdfEngineRdfJsSource.js +179 -0
- package/dist/storage/rdf/RdfQuadIndex.d.ts +13 -14
- package/dist/storage/rdf/RdfQuadIndex.js +286 -99
- package/dist/storage/rdf/RdfQuadIndex.jsonld +10 -22
- package/dist/storage/rdf/RdfQueryExecutor.js +10 -4
- package/dist/storage/rdf/RdfQuerySparqlEngine.d.ts +33 -0
- package/dist/storage/rdf/RdfQuerySparqlEngine.js +215 -0
- package/dist/storage/rdf/RdfQuerySparqlEngine.jsonld +78 -0
- package/dist/storage/rdf/RdfSparqlAdapter.d.ts +0 -4
- package/dist/storage/rdf/RdfSparqlAdapter.js +75 -173
- package/dist/storage/rdf/RdfSparqlBoundary.d.ts +37 -0
- package/dist/storage/rdf/RdfSparqlBoundary.js +247 -0
- package/dist/storage/rdf/RdfSparqlSerialization.d.ts +3 -0
- package/dist/storage/rdf/RdfSparqlSerialization.js +19 -0
- package/dist/storage/rdf/RdfSqliteConnection.d.ts +7 -0
- package/dist/storage/rdf/RdfSqliteConnection.js +23 -0
- package/dist/storage/rdf/RdfTermDictionary.d.ts +0 -8
- package/dist/storage/rdf/RdfTermDictionary.js +0 -136
- package/dist/storage/rdf/RdfTermDictionary.jsonld +0 -32
- package/dist/storage/rdf/RdfTermSemantics.d.ts +6 -0
- package/dist/storage/rdf/RdfTermSemantics.js +29 -0
- package/dist/storage/rdf/RdfTextIndex.d.ts +5 -6
- package/dist/storage/rdf/RdfTextIndex.js +187 -115
- package/dist/storage/rdf/RdfTextIndex.jsonld +10 -14
- package/dist/storage/rdf/RdfVectorIndex.d.ts +4 -4
- package/dist/storage/rdf/RdfVectorIndex.js +156 -233
- package/dist/storage/rdf/RdfVectorIndex.jsonld +10 -14
- package/dist/storage/rdf/SolidRdfEngine.d.ts +16 -21
- package/dist/storage/rdf/SolidRdfEngine.js +28 -308
- package/dist/storage/rdf/SolidRdfEngine.jsonld +26 -148
- package/dist/storage/rdf/XpodComunicaQueryEngine.d.ts +10 -0
- package/dist/storage/rdf/XpodComunicaQueryEngine.js +72 -0
- package/dist/storage/rdf/index.d.ts +7 -6
- package/dist/storage/rdf/index.js +17 -12
- package/dist/storage/rdf/models-benchmark.d.ts +5 -1
- package/dist/storage/rdf/models-benchmark.js +17 -19
- package/dist/storage/rdf/types.d.ts +68 -6
- package/dist/storage/rdf/types.jsonld +69 -0
- package/dist/storage/sparql/SubgraphQueryEngine.d.ts +13 -7
- package/dist/storage/sparql/SubgraphQueryEngine.js +6 -6
- package/dist/storage/vector/index.d.ts +0 -1
- package/dist/storage/vector/index.js +0 -1
- package/dist/terminal/AclPermissionService.d.ts +4 -5
- package/dist/terminal/AclPermissionService.js +55 -75
- package/dist/terminal/TerminalSessionManager.d.ts +3 -2
- package/dist/terminal/TerminalSessionManager.js +3 -3
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js +29 -26
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js +9 -4
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js +6 -3
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js +3 -3
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts +6 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js +13 -3
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js +31 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js +5 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js +45 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js +29 -26
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js +9 -4
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js +6 -3
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js +3 -3
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts +6 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js +14 -4
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js +30 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js +5 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js +45 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/package.json +5 -4
- package/package.json +19 -8
- package/static/app/assets/{index-36TJKN-3.js → index-BikOyGPu.js} +34 -34
- package/static/app/assets/inrupt-smoke.js +2 -2
- package/static/app/assets/main.css +1 -1
- package/static/app/assets/main.js +11 -11
- package/static/auth-callback/assets/{AiConfigContext-BvBdu_A3.js → AiConfigContext-iQ74JmRZ.js} +1 -1
- package/static/auth-callback/assets/{AiConfigPage-BpDw4jco.js → AiConfigPage-BBDKE1gJ.js} +1 -1
- package/static/auth-callback/assets/{DocumentProcessingPanel-BmZ_jzRr.js → DocumentProcessingPanel-D9NntIEK.js} +1 -1
- package/static/auth-callback/assets/{IndexLifecyclePanel-BfQBjN4z.js → IndexLifecyclePanel-BG07yBdA.js} +1 -1
- package/static/auth-callback/assets/{IndexSubjectPanel-BlsnatPt.js → IndexSubjectPanel-B-bUnU3G.js} +1 -1
- package/static/auth-callback/assets/{ModelAssignmentsPanel-KA6Mdndz.js → ModelAssignmentsPanel-C7I-Nqy-.js} +1 -1
- package/static/auth-callback/assets/{ModelsPage-C7jymyIY.js → ModelsPage-C2hxyrmI.js} +1 -1
- package/static/auth-callback/assets/{NetworkPage-k2ShktNm.js → NetworkPage-IGIc2q1Y.js} +1 -1
- package/static/auth-callback/assets/{PaneListHeader-mLMe_dvU.js → PaneListHeader-CebuPl_g.js} +1 -1
- package/static/auth-callback/assets/{SearchIndexingPanel-CqV9um_t.js → SearchIndexingPanel-6HnZSg00.js} +1 -1
- package/static/auth-callback/assets/{StatusSubjectPanel-BgMBTbr2.js → StatusSubjectPanel-votxBkr5.js} +1 -1
- package/static/auth-callback/assets/{StatusWorkspace-zbSyhdG2.js → StatusWorkspace-Cksl61zX.js} +1 -1
- package/static/auth-callback/assets/{SystemSettingsPage-CtW79nW6.js → SystemSettingsPage-CKZFUaZT.js} +1 -1
- package/static/auth-callback/assets/{SystemSettingsSubjectPanel-ZOPKYUtZ.js → SystemSettingsSubjectPanel-pzfUcCf4.js} +1 -1
- package/static/auth-callback/assets/{activity-BQ-CQE3O.js → activity-DQL6kZHZ.js} +1 -1
- package/static/auth-callback/assets/auth-callback-B_s8Ye5Z.css +1 -0
- package/static/auth-callback/assets/{auth-callback-Htr_CB_g.js → auth-callback-BxQMd_Mc.js} +39 -39
- package/static/auth-callback/assets/{badge-D5SGTJeO.js → badge-DvW4LUHH.js} +1 -1
- package/static/auth-callback/assets/{download-DK183Ldo.js → download-Cx_uaCR1.js} +1 -1
- package/static/auth-callback/assets/{external-link-LDHy_4bn.js → external-link-D6L6ExH1.js} +1 -1
- package/static/auth-callback/assets/{index-BWrvgHqK.js → index-BAS_hxGu.js} +1 -1
- package/static/auth-callback/assets/{index-2WmlePQ9.js → index-BmBjpCoD.js} +1 -1
- package/static/auth-callback/assets/{index-browser-DUd4E4-x.js → index-browser-pdn4D3M4.js} +1 -1
- package/static/auth-callback/assets/{key-round-ibX79Kr-.js → key-round-BTBzOggq.js} +1 -1
- package/static/auth-callback/assets/{rotate-ccw-B2_VMaiX.js → rotate-ccw-eV7Cx8sB.js} +1 -1
- package/static/auth-callback/assets/{skeleton-F4nrpycc.js → skeleton-Bg4GYgBM.js} +1 -1
- package/static/auth-callback/assets/{waypoints-DImIq93f.js → waypoints-CJbydf0B.js} +1 -1
- package/static/auth-callback/assets/{workspace-layout-IVCSYU21.js → workspace-layout-C6Hh8Xf-.js} +1 -1
- package/static/auth-callback/auth-callback.html +2 -2
- package/static/dashboard/assets/{AiConfigContext-cjjfYTo9.js → AiConfigContext-BkJj28vK.js} +1 -1
- package/static/dashboard/assets/{AiConfigPage-CO0DSD_j.js → AiConfigPage-Cs9B4uyp.js} +1 -1
- package/static/dashboard/assets/{DocumentProcessingPanel-DMGnH8Oj.js → DocumentProcessingPanel-BBWmM7mS.js} +1 -1
- package/static/dashboard/assets/{IndexLifecyclePanel-DSkIOCL5.js → IndexLifecyclePanel-D5xGTT_i.js} +1 -1
- package/static/dashboard/assets/{IndexSubjectPanel-qWN_DbAp.js → IndexSubjectPanel-d-mjDthn.js} +1 -1
- package/static/dashboard/assets/{ModelAssignmentsPanel-DCf83uM3.js → ModelAssignmentsPanel-C-OLNbqf.js} +1 -1
- package/static/dashboard/assets/{ModelsPage-CMnvSrl5.js → ModelsPage-CBrLjuUn.js} +1 -1
- package/static/dashboard/assets/{NetworkPage-C8Gkwclb.js → NetworkPage-BlYk8L1z.js} +1 -1
- package/static/dashboard/assets/{PaneListHeader-BtU_8cDK.js → PaneListHeader-A5oZJQC0.js} +1 -1
- package/static/dashboard/assets/{SearchIndexingPanel-DEn12pNU.js → SearchIndexingPanel-Bs1j8ZP2.js} +1 -1
- package/static/dashboard/assets/{StatusSubjectPanel-B1_ILg2d.js → StatusSubjectPanel-Qao3orvi.js} +1 -1
- package/static/dashboard/assets/{StatusWorkspace-BG6nMNCo.js → StatusWorkspace-rDM0yDtk.js} +1 -1
- package/static/dashboard/assets/{SystemSettingsPage-BnWYIXaM.js → SystemSettingsPage-FPRPkKaR.js} +1 -1
- package/static/dashboard/assets/{SystemSettingsSubjectPanel-C_mYVPWb.js → SystemSettingsSubjectPanel-CjlJAxnX.js} +1 -1
- package/static/dashboard/assets/{activity-DYJ7PdRl.js → activity-CJ5K6hYC.js} +1 -1
- package/static/dashboard/assets/{badge-BIaZco1P.js → badge-L-NMOi1P.js} +1 -1
- package/static/dashboard/assets/dashboard-B_s8Ye5Z.css +1 -0
- package/static/dashboard/assets/{dashboard-Dl40_MEa.js → dashboard-DyjAyYxx.js} +34 -34
- package/static/dashboard/assets/{download-By16k9VK.js → download-Bi4u5K5B.js} +1 -1
- package/static/dashboard/assets/{external-link-B92xOG_d.js → external-link-jmhLDfvT.js} +1 -1
- package/static/dashboard/assets/{index-BajZpJ48.js → index-BoaGJBxf.js} +1 -1
- package/static/dashboard/assets/{index-wsVPom_x.js → index-C22TAEi4.js} +1 -1
- package/static/dashboard/assets/{key-round-Clo5FOwA.js → key-round-Dk1VmMrn.js} +1 -1
- package/static/dashboard/assets/{rotate-ccw-smWSfi1L.js → rotate-ccw-DIfLsSwi.js} +1 -1
- package/static/dashboard/assets/{skeleton-BrTaGeJw.js → skeleton-BGPJMHb-.js} +1 -1
- package/static/dashboard/assets/{waypoints-DGPQInE7.js → waypoints-CY53egpu.js} +1 -1
- package/static/dashboard/assets/{workspace-layout-CPU4XRmb.js → workspace-layout-CoHkcx70.js} +1 -1
- package/static/dashboard/dashboard.html +2 -2
- package/static/settings/assets/{AiConfigContext-CT29_OyW.js → AiConfigContext-BcEPlEJe.js} +1 -1
- package/static/settings/assets/{AiConfigPage-WIE95S28.js → AiConfigPage-D-t3ZUhg.js} +1 -1
- package/static/settings/assets/{DocumentProcessingPanel-KG8Sq999.js → DocumentProcessingPanel-m2SasiMO.js} +1 -1
- package/static/settings/assets/{IndexLifecyclePanel-iKvtHDXY.js → IndexLifecyclePanel-BNmAvx8V.js} +1 -1
- package/static/settings/assets/{IndexSubjectPanel-BQdSCkk4.js → IndexSubjectPanel-C5-L2AcW.js} +1 -1
- package/static/settings/assets/{ModelAssignmentsPanel-P8QcVB0F.js → ModelAssignmentsPanel-Cfpkf02Y.js} +1 -1
- package/static/settings/assets/{ModelsPage-UZkZGqor.js → ModelsPage-DZrACwVN.js} +1 -1
- package/static/settings/assets/{NetworkPage-Dcpcvg15.js → NetworkPage-BlrGGfqL.js} +1 -1
- package/static/settings/assets/{PaneListHeader--gHtZws5.js → PaneListHeader-C3TCs1RI.js} +1 -1
- package/static/settings/assets/{SearchIndexingPanel-DdgJSJYQ.js → SearchIndexingPanel-Cyp3CUzX.js} +1 -1
- package/static/settings/assets/{StatusSubjectPanel-UOxp_XVL.js → StatusSubjectPanel-gRkb8WEX.js} +1 -1
- package/static/settings/assets/{StatusWorkspace-CPNXuD12.js → StatusWorkspace-Dptx4Ec2.js} +1 -1
- package/static/settings/assets/{SystemSettingsPage-B6ySeVPw.js → SystemSettingsPage-BWgGUQbs.js} +1 -1
- package/static/settings/assets/{SystemSettingsSubjectPanel-I7zWmpiI.js → SystemSettingsSubjectPanel-VflUvpgC.js} +1 -1
- package/static/settings/assets/{activity-CFhmzahP.js → activity-D7iNhTkQ.js} +1 -1
- package/static/settings/assets/{badge-BBdUc5B-.js → badge-DO0r_RT4.js} +1 -1
- package/static/settings/assets/{download-WJE9-yxQ.js → download-CsJlNSbd.js} +1 -1
- package/static/settings/assets/{external-link-RKoYyCp_.js → external-link-BCR7SHme.js} +1 -1
- package/static/settings/assets/{index-Bq2o0Bif.js → index-Cgq16ekN.js} +1 -1
- package/static/settings/assets/{index-DvxneI5O.js → index-SrhQvcrU.js} +1 -1
- package/static/settings/assets/{index-browser-Qmo6EsFT.js → index-browser-THpcMCnz.js} +1 -1
- package/static/settings/assets/{key-round-r-D9sQUK.js → key-round-Dd3jk1BT.js} +1 -1
- package/static/settings/assets/{rotate-ccw-D3IIhbPH.js → rotate-ccw-tiL14i1d.js} +1 -1
- package/static/settings/assets/settings-B_s8Ye5Z.css +1 -0
- package/static/settings/assets/{settings-D8oDBXWg.js → settings-CVLDPejo.js} +34 -34
- package/static/settings/assets/{skeleton-DrL4RQuw.js → skeleton-DBxLuNgU.js} +1 -1
- package/static/settings/assets/{waypoints-C5sRhpJw.js → waypoints-DS3e3hv7.js} +1 -1
- package/static/settings/assets/{workspace-layout-B4ALmWsM.js → workspace-layout-mucrxyTK.js} +1 -1
- package/static/settings/settings.html +2 -2
- package/config/search.json +0 -66
- package/dist/document/HeadingChunker.jsonld +0 -41
- package/dist/security/secret-cell/DeploymentRootKeyProvider.jsonld +0 -124
- package/dist/security/secret-cell/SecretCellVault.jsonld +0 -207
- package/dist/storage/PostgresDerivedIndexJournal.d.ts +0 -47
- package/dist/storage/PostgresDerivedIndexJournal.js +0 -408
- package/dist/storage/PostgresDerivedIndexJournal.jsonld +0 -303
- package/dist/storage/RdfDerivedIndexingListener.d.ts +0 -32
- package/dist/storage/RdfDerivedIndexingListener.js +0 -135
- package/dist/storage/RdfDerivedIndexingListener.jsonld +0 -228
- package/dist/storage/accessors/QuadstoreSparqlDataAccessor.d.ts +0 -148
- package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js +0 -436
- package/dist/storage/accessors/QuadstoreSparqlDataAccessor.jsonld +0 -172
- package/dist/storage/accessors/QuintStoreSparqlDataAccessor.d.ts +0 -102
- package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js +0 -474
- package/dist/storage/accessors/QuintStoreSparqlDataAccessor.jsonld +0 -192
- package/dist/storage/rdf/RdfSparqlAdapter.jsonld +0 -486
- package/dist/storage/rdf/ShadowRdfQuintStore.d.ts +0 -59
- package/dist/storage/rdf/ShadowRdfQuintStore.js +0 -216
- package/dist/storage/rdf/ShadowRdfQuintStore.jsonld +0 -312
- package/dist/storage/rdf/SolidRdfSparqlEngine.d.ts +0 -107
- package/dist/storage/rdf/SolidRdfSparqlEngine.js +0 -1117
- package/dist/storage/rdf/SolidRdfSparqlEngine.jsonld +0 -312
- package/dist/storage/sparql/AlgebraUtils.d.ts +0 -48
- package/dist/storage/sparql/AlgebraUtils.js +0 -118
- package/dist/storage/sparql/CompatibilitySparqlEngine.d.ts +0 -37
- package/dist/storage/sparql/CompatibilitySparqlEngine.js +0 -96
- package/dist/storage/sparql/CompatibilitySparqlEngine.jsonld +0 -123
- package/dist/storage/sparql/CompatibilitySparqlEngineImpl.d.ts +0 -36
- package/dist/storage/sparql/CompatibilitySparqlEngineImpl.js +0 -124
- package/dist/storage/sparql/ComunicaOptimizedEngine.d.ts +0 -59
- package/dist/storage/sparql/ComunicaOptimizedEngine.js +0 -254
- package/dist/storage/sparql/ComunicaQuintEngine.d.ts +0 -143
- package/dist/storage/sparql/ComunicaQuintEngine.js +0 -781
- package/dist/storage/sparql/ExpressionEvaluator.d.ts +0 -54
- package/dist/storage/sparql/ExpressionEvaluator.js +0 -340
- package/dist/storage/sparql/FilterPushdownExtractor.d.ts +0 -74
- package/dist/storage/sparql/FilterPushdownExtractor.js +0 -421
- package/dist/storage/sparql/OptimizedQuadstoreEngine.d.ts +0 -65
- package/dist/storage/sparql/OptimizedQuadstoreEngine.js +0 -327
- package/dist/storage/sparql/OptimizedQuadstoreSource.d.ts +0 -46
- package/dist/storage/sparql/OptimizedQuadstoreSource.js +0 -118
- package/dist/storage/sparql/PatternBuilder.d.ts +0 -41
- package/dist/storage/sparql/PatternBuilder.js +0 -118
- package/dist/storage/sparql/QueryOptimizer.d.ts +0 -125
- package/dist/storage/sparql/QueryOptimizer.js +0 -375
- package/dist/storage/sparql/QuintEngine.d.ts +0 -92
- package/dist/storage/sparql/QuintEngine.js +0 -150
- package/dist/storage/sparql/QuintQuerySource.d.ts +0 -241
- package/dist/storage/sparql/QuintQuerySource.js +0 -1069
- package/dist/storage/sparql/SimpleSparqlExecutor.d.ts +0 -40
- package/dist/storage/sparql/SimpleSparqlExecutor.js +0 -131
- package/dist/storage/vector/VectorIndexingListener.d.ts +0 -114
- package/dist/storage/vector/VectorIndexingListener.js +0 -346
- package/static/auth-callback/assets/auth-callback-rWdEQY5f.css +0 -1
- package/static/dashboard/assets/dashboard-rWdEQY5f.css +0 -1
- package/static/settings/assets/settings-rWdEQY5f.css +0 -1
|
@@ -6,6 +6,8 @@ const node_path_1 = require("node:path");
|
|
|
6
6
|
const n3_1 = require("n3");
|
|
7
7
|
const SqliteRuntime_1 = require("../SqliteRuntime");
|
|
8
8
|
const RdfTermDictionary_1 = require("./RdfTermDictionary");
|
|
9
|
+
const RdfQuadIndex_1 = require("./RdfQuadIndex");
|
|
10
|
+
const RdfSqliteConnection_1 = require("./RdfSqliteConnection");
|
|
9
11
|
const RdfTermSemantics_1 = require("./RdfTermSemantics");
|
|
10
12
|
const RdfJoinShape_1 = require("./RdfJoinShape");
|
|
11
13
|
const Rdf3xSchema_1 = require("./Rdf3xSchema");
|
|
@@ -68,10 +70,18 @@ class Rdf3xIndex {
|
|
|
68
70
|
(0, node_fs_1.mkdirSync)(dir, { recursive: true });
|
|
69
71
|
}
|
|
70
72
|
}
|
|
71
|
-
this.db = this.sqliteRuntime
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
this.db = (0, RdfSqliteConnection_1.openRdfSqliteDatabase)(this.sqliteRuntime, this.options.path);
|
|
74
|
+
try {
|
|
75
|
+
(0, RdfQuadIndex_1.assertRdfFactsSchemaCompatible)(this.db);
|
|
76
|
+
this.dictionary = new RdfTermDictionary_1.RdfTermDictionary(this.db);
|
|
77
|
+
this.initializeSchema();
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
this.db.close();
|
|
81
|
+
this.db = null;
|
|
82
|
+
this.dictionary = null;
|
|
83
|
+
throw error;
|
|
84
|
+
}
|
|
75
85
|
}
|
|
76
86
|
close() {
|
|
77
87
|
this.db?.close();
|
|
@@ -677,10 +687,6 @@ class Rdf3xIndex {
|
|
|
677
687
|
}
|
|
678
688
|
initializeDirtyTrackingTriggers() {
|
|
679
689
|
const db = this.requireDb();
|
|
680
|
-
const factsTable = db.prepare("SELECT name FROM sqlite_schema WHERE type = 'table' AND name = 'rdf_quads'").get();
|
|
681
|
-
if (!factsTable) {
|
|
682
|
-
return;
|
|
683
|
-
}
|
|
684
690
|
db.exec(`
|
|
685
691
|
CREATE TRIGGER IF NOT EXISTS rdf3x_dirty_quads_insert
|
|
686
692
|
AFTER INSERT ON rdf_quads
|
|
@@ -763,15 +769,13 @@ class Rdf3xIndex {
|
|
|
763
769
|
(0, Rdf3xSchema_1.dropRdf3xDerivedSchemaObjects)(this.requireDb());
|
|
764
770
|
}
|
|
765
771
|
currentFactsDataVersion() {
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
}
|
|
772
|
-
catch {
|
|
773
|
-
return 0;
|
|
772
|
+
const value = this.requireDb()
|
|
773
|
+
.prepare("SELECT value FROM rdf_index_metadata WHERE key = 'data_version'")
|
|
774
|
+
.get()?.value;
|
|
775
|
+
if (value === undefined || !/^(0|[1-9]\d*)$/.test(value)) {
|
|
776
|
+
throw new Error(`Unsupported RDF facts data version: ${value ?? 'missing'}`);
|
|
774
777
|
}
|
|
778
|
+
return Number(value);
|
|
775
779
|
}
|
|
776
780
|
setFactsDataVersion(version) {
|
|
777
781
|
this.requireDb().prepare(`
|
|
@@ -9,10 +9,14 @@ export type RdfAccessMode = typeof RdfAccessMode[keyof typeof RdfAccessMode];
|
|
|
9
9
|
export interface RdfAccessScope {
|
|
10
10
|
basePath: string;
|
|
11
11
|
mode: RdfAccessMode;
|
|
12
|
+
resolved?: boolean;
|
|
12
13
|
principal?: string;
|
|
13
14
|
allowedGraphUrls?: string[];
|
|
14
15
|
deniedGraphUrls?: string[];
|
|
15
16
|
deniedGraphPrefixes?: string[];
|
|
17
|
+
allowedSourceUrls?: string[];
|
|
18
|
+
deniedSourceUrls?: string[];
|
|
19
|
+
deniedSourcePrefixes?: string[];
|
|
16
20
|
version?: string;
|
|
17
21
|
}
|
|
18
22
|
export declare function isRestrictiveRdfAccessScope(scope?: RdfAccessScope): boolean;
|
|
@@ -18,7 +18,10 @@ function isRestrictiveRdfAccessScope(scope) {
|
|
|
18
18
|
return Boolean(scope
|
|
19
19
|
&& ((scope.allowedGraphUrls?.length ?? 0) > 0
|
|
20
20
|
|| (scope.deniedGraphUrls?.length ?? 0) > 0
|
|
21
|
-
|| (scope.deniedGraphPrefixes?.length ?? 0) > 0
|
|
21
|
+
|| (scope.deniedGraphPrefixes?.length ?? 0) > 0
|
|
22
|
+
|| (scope.allowedSourceUrls?.length ?? 0) > 0
|
|
23
|
+
|| (scope.deniedSourceUrls?.length ?? 0) > 0
|
|
24
|
+
|| (scope.deniedSourcePrefixes?.length ?? 0) > 0));
|
|
22
25
|
}
|
|
23
26
|
function rdfAccessCacheScope(scope) {
|
|
24
27
|
if (!scope) {
|
|
@@ -32,6 +35,9 @@ function rdfAccessCacheScope(scope) {
|
|
|
32
35
|
allowedGraphUrls: scope.allowedGraphUrls,
|
|
33
36
|
deniedGraphUrls: scope.deniedGraphUrls,
|
|
34
37
|
deniedGraphPrefixes: scope.deniedGraphPrefixes,
|
|
38
|
+
allowedSourceUrls: scope.allowedSourceUrls,
|
|
39
|
+
deniedSourceUrls: scope.deniedSourceUrls,
|
|
40
|
+
deniedSourcePrefixes: scope.deniedSourcePrefixes,
|
|
35
41
|
};
|
|
36
42
|
}
|
|
37
43
|
function applyRdfAccessScope(query, scope) {
|
|
@@ -161,21 +167,51 @@ function scopeOptionalGroup(group, scope, state) {
|
|
|
161
167
|
};
|
|
162
168
|
}
|
|
163
169
|
function scopePattern(pattern, filters, scope, state) {
|
|
170
|
+
const sourceScope = scopeFactSources(pattern.sourceScope, scope);
|
|
164
171
|
const graph = pattern.graph ?? { $startsWith: scope.basePath };
|
|
165
172
|
if (isVariable(graph)) {
|
|
166
173
|
addGraphAccessFilters(filters, graph.variable, scope);
|
|
167
|
-
return
|
|
174
|
+
return {
|
|
175
|
+
...pattern,
|
|
176
|
+
...(pattern.graph ? {} : { graph }),
|
|
177
|
+
...(sourceScope ? { sourceScope } : {}),
|
|
178
|
+
};
|
|
168
179
|
}
|
|
169
180
|
if ((0, types_1.isTerm)(graph)) {
|
|
181
|
+
if (graph.termType === 'DefaultGraph') {
|
|
182
|
+
const defaultGraphSourceScope = defaultGraphFactSources(pattern.sourceScope, scope);
|
|
183
|
+
if (defaultGraphSourceScope === false) {
|
|
184
|
+
return { ...pattern, graph: state.impossibleGraph, ...(sourceScope ? { sourceScope } : {}) };
|
|
185
|
+
}
|
|
186
|
+
return scope.allowedGraphUrls?.length
|
|
187
|
+
? { ...pattern, graph: state.impossibleGraph, ...(sourceScope ? { sourceScope } : {}) }
|
|
188
|
+
: { ...pattern, ...(defaultGraphSourceScope ? { sourceScope: defaultGraphSourceScope } : {}) };
|
|
189
|
+
}
|
|
170
190
|
return rdfAccessGraphAllowed(graph.value, scope)
|
|
171
|
-
? pattern
|
|
172
|
-
: { ...pattern, graph: state.impossibleGraph };
|
|
191
|
+
? { ...pattern, ...(sourceScope ? { sourceScope } : {}) }
|
|
192
|
+
: { ...pattern, graph: state.impossibleGraph, ...(sourceScope ? { sourceScope } : {}) };
|
|
173
193
|
}
|
|
174
194
|
return {
|
|
175
195
|
...pattern,
|
|
176
196
|
graph: scopeGraphOperators(graph, scope, state.impossibleGraph),
|
|
197
|
+
...(sourceScope ? { sourceScope } : {}),
|
|
177
198
|
};
|
|
178
199
|
}
|
|
200
|
+
function defaultGraphFactSources(existing, scope) {
|
|
201
|
+
const sourcePrefix = intersectSourcePrefix(existing?.sourcePrefix, scope.basePath);
|
|
202
|
+
if (sourcePrefix === false) {
|
|
203
|
+
return false;
|
|
204
|
+
}
|
|
205
|
+
const defaultGraphScope = {
|
|
206
|
+
...scope,
|
|
207
|
+
deniedSourceUrls: unionStringArrays(scope.deniedSourceUrls, scope.deniedGraphUrls),
|
|
208
|
+
deniedSourcePrefixes: unionStringArrays(scope.deniedSourcePrefixes, scope.deniedGraphPrefixes),
|
|
209
|
+
};
|
|
210
|
+
return scopeFactSources({
|
|
211
|
+
...existing,
|
|
212
|
+
...(sourcePrefix ? { sourcePrefix } : {}),
|
|
213
|
+
}, defaultGraphScope);
|
|
214
|
+
}
|
|
179
215
|
function scopeGraphOperators(graph, scope, impossibleGraph) {
|
|
180
216
|
const operators = { ...graph };
|
|
181
217
|
const prefix = intersectSourcePrefix(typeof operators.$startsWith === 'string' ? operators.$startsWith : undefined, scope.basePath);
|
|
@@ -276,8 +312,8 @@ function unionTermArrays(existing, incoming) {
|
|
|
276
312
|
}
|
|
277
313
|
function scopeSearchSources(existing, scope) {
|
|
278
314
|
const prefix = intersectSourcePrefix(existing?.sourcePrefix, scope.basePath);
|
|
279
|
-
const deniedPrefixes = unionStringArrays(existing?.deniedSourcePrefixes, scope.deniedGraphPrefixes);
|
|
280
|
-
const deniedSources = unionStringArrays(existing?.deniedSources, scope.deniedGraphUrls);
|
|
315
|
+
const deniedPrefixes = unionStringArrays(unionStringArrays(existing?.deniedSourcePrefixes, scope.deniedGraphPrefixes), scope.deniedSourcePrefixes);
|
|
316
|
+
const deniedSources = unionStringArrays(unionStringArrays(existing?.deniedSources, scope.deniedGraphUrls), scope.deniedSourceUrls);
|
|
281
317
|
if (prefix === false) {
|
|
282
318
|
return {
|
|
283
319
|
...existing,
|
|
@@ -286,9 +322,8 @@ function scopeSearchSources(existing, scope) {
|
|
|
286
322
|
deniedSourcePrefixes: deniedPrefixes,
|
|
287
323
|
};
|
|
288
324
|
}
|
|
289
|
-
const allowedFromScope = scope.allowedGraphUrls
|
|
290
|
-
|
|
291
|
-
: undefined;
|
|
325
|
+
const allowedFromScope = (scope.allowedSourceUrls ?? scope.allowedGraphUrls)
|
|
326
|
+
?.filter((source) => sourceMatchesPrefix(source, prefix));
|
|
292
327
|
const allowedSources = filterStringsByPrefix(intersectStringArrays(existing?.allowedSources, allowedFromScope), prefix);
|
|
293
328
|
return {
|
|
294
329
|
...existing,
|
|
@@ -299,6 +334,33 @@ function scopeSearchSources(existing, scope) {
|
|
|
299
334
|
...(deniedPrefixes ? { deniedSourcePrefixes: deniedPrefixes } : {}),
|
|
300
335
|
};
|
|
301
336
|
}
|
|
337
|
+
function scopeFactSources(existing, scope) {
|
|
338
|
+
const prefix = existing?.sourcePrefix;
|
|
339
|
+
const deniedPrefixes = nonEmptyStrings(unionStringArrays(existing?.deniedSourcePrefixes, scope.deniedSourcePrefixes));
|
|
340
|
+
const deniedSources = nonEmptyStrings(unionStringArrays(existing?.deniedSources, scope.deniedSourceUrls));
|
|
341
|
+
// An empty access-scope allow-list means that no source restriction was
|
|
342
|
+
// resolved. An explicitly empty pattern sourceScope remains fail-closed via
|
|
343
|
+
// existing?.allowedSources.
|
|
344
|
+
const allowedFromScope = scope.allowedSourceUrls?.length
|
|
345
|
+
? scope.allowedSourceUrls
|
|
346
|
+
: undefined;
|
|
347
|
+
const allowedSources = filterStringsByPrefix(intersectStringArrays(existing?.allowedSources, allowedFromScope), prefix);
|
|
348
|
+
const hasAllowedRestriction = existing?.allowedSources !== undefined || allowedFromScope !== undefined;
|
|
349
|
+
if (!existing
|
|
350
|
+
&& !prefix
|
|
351
|
+
&& !hasAllowedRestriction
|
|
352
|
+
&& !deniedSources
|
|
353
|
+
&& !deniedPrefixes) {
|
|
354
|
+
return undefined;
|
|
355
|
+
}
|
|
356
|
+
return {
|
|
357
|
+
...existing,
|
|
358
|
+
...(prefix ? { sourcePrefix: prefix } : {}),
|
|
359
|
+
...(hasAllowedRestriction && allowedSources !== undefined ? { allowedSources } : {}),
|
|
360
|
+
...(deniedSources ? { deniedSources } : {}),
|
|
361
|
+
...(deniedPrefixes ? { deniedSourcePrefixes: deniedPrefixes } : {}),
|
|
362
|
+
};
|
|
363
|
+
}
|
|
302
364
|
function intersectSourcePrefix(left, right) {
|
|
303
365
|
if (!left) {
|
|
304
366
|
return right;
|
|
@@ -342,4 +404,7 @@ function sourceMatchesPrefix(source, prefix) {
|
|
|
342
404
|
function uniqueStrings(values) {
|
|
343
405
|
return [...new Set(values.filter((value) => value.length > 0))].sort();
|
|
344
406
|
}
|
|
407
|
+
function nonEmptyStrings(values) {
|
|
408
|
+
return values && values.length > 0 ? values : undefined;
|
|
409
|
+
}
|
|
345
410
|
//# sourceMappingURL=RdfAccessScope.js.map
|
|
@@ -18,6 +18,10 @@
|
|
|
18
18
|
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_mode",
|
|
19
19
|
"memberFieldName": "mode"
|
|
20
20
|
},
|
|
21
|
+
{
|
|
22
|
+
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_resolved",
|
|
23
|
+
"memberFieldName": "resolved"
|
|
24
|
+
},
|
|
21
25
|
{
|
|
22
26
|
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_principal",
|
|
23
27
|
"memberFieldName": "principal"
|
|
@@ -34,6 +38,18 @@
|
|
|
34
38
|
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_deniedGraphPrefixes",
|
|
35
39
|
"memberFieldName": "deniedGraphPrefixes"
|
|
36
40
|
},
|
|
41
|
+
{
|
|
42
|
+
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_allowedSourceUrls",
|
|
43
|
+
"memberFieldName": "allowedSourceUrls"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_deniedSourceUrls",
|
|
47
|
+
"memberFieldName": "deniedSourceUrls"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_deniedSourcePrefixes",
|
|
51
|
+
"memberFieldName": "deniedSourcePrefixes"
|
|
52
|
+
},
|
|
37
53
|
{
|
|
38
54
|
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_version",
|
|
39
55
|
"memberFieldName": "version"
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Source, Stream, Term } from '@rdfjs/types';
|
|
2
|
+
import { type RdfAccessScope } from './RdfAccessScope';
|
|
3
|
+
import type { RdfEngineLike } from './types';
|
|
4
|
+
export interface RdfEngineRdfJsSourceOptions {
|
|
5
|
+
accessScope?: RdfAccessScope;
|
|
6
|
+
signal?: AbortSignal;
|
|
7
|
+
}
|
|
8
|
+
export declare class RdfEngineRdfJsSource implements Source {
|
|
9
|
+
private readonly rdfEngine;
|
|
10
|
+
private readonly options;
|
|
11
|
+
constructor(rdfEngine: RdfEngineLike, options?: RdfEngineRdfJsSourceOptions);
|
|
12
|
+
match(subject?: Term | null, predicate?: Term | null, object?: Term | null, graph?: Term | null): Stream;
|
|
13
|
+
countQuads(subject?: Term | null, predicate?: Term | null, object?: Term | null, graph?: Term | null): Promise<number>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RdfEngineRdfJsSource = void 0;
|
|
4
|
+
const asynciterator_1 = require("asynciterator");
|
|
5
|
+
const n3_1 = require("n3");
|
|
6
|
+
const RdfAccessScope_1 = require("./RdfAccessScope");
|
|
7
|
+
const { quad, defaultGraph } = n3_1.DataFactory;
|
|
8
|
+
class RdfEngineRdfJsSource {
|
|
9
|
+
constructor(rdfEngine, options = {}) {
|
|
10
|
+
this.rdfEngine = rdfEngine;
|
|
11
|
+
this.options = options;
|
|
12
|
+
}
|
|
13
|
+
match(subject, predicate, object, graph) {
|
|
14
|
+
return new RdfEngineMatchIterator(this.rdfEngine, {
|
|
15
|
+
subject,
|
|
16
|
+
predicate,
|
|
17
|
+
object,
|
|
18
|
+
graph,
|
|
19
|
+
}, this.options);
|
|
20
|
+
}
|
|
21
|
+
async countQuads(subject, predicate, object, graph) {
|
|
22
|
+
return executeCount(this.rdfEngine, {
|
|
23
|
+
subject,
|
|
24
|
+
predicate,
|
|
25
|
+
object,
|
|
26
|
+
graph,
|
|
27
|
+
}, this.options);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.RdfEngineRdfJsSource = RdfEngineRdfJsSource;
|
|
31
|
+
class RdfEngineMatchIterator extends asynciterator_1.BufferedIterator {
|
|
32
|
+
constructor(rdfEngine, terms, options) {
|
|
33
|
+
super({ autoStart: false });
|
|
34
|
+
this.rdfEngine = rdfEngine;
|
|
35
|
+
this.terms = terms;
|
|
36
|
+
this.options = options;
|
|
37
|
+
this.started = false;
|
|
38
|
+
this.abort = () => this.destroy(createAbortError(options.signal));
|
|
39
|
+
options.signal?.addEventListener('abort', this.abort, { once: true });
|
|
40
|
+
}
|
|
41
|
+
_read(_count, done) {
|
|
42
|
+
if (this.started) {
|
|
43
|
+
done();
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this.started = true;
|
|
47
|
+
executeMatch(this.rdfEngine, this.terms, this.options)
|
|
48
|
+
.then((quads) => {
|
|
49
|
+
for (const item of quads) {
|
|
50
|
+
this._push(item);
|
|
51
|
+
}
|
|
52
|
+
this.close();
|
|
53
|
+
done();
|
|
54
|
+
})
|
|
55
|
+
.catch((error) => {
|
|
56
|
+
this.destroy(error instanceof Error ? error : new Error(String(error)));
|
|
57
|
+
done();
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
_destroy(cause, callback) {
|
|
61
|
+
this.options.signal?.removeEventListener('abort', this.abort);
|
|
62
|
+
super._destroy(cause, callback);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const SLOT_NAMES = ['subject', 'predicate', 'object', 'graph'];
|
|
66
|
+
async function executeMatch(rdfEngine, terms, options) {
|
|
67
|
+
const select = SLOT_NAMES.filter((slot) => isUnboundMatchTerm(terms[slot]));
|
|
68
|
+
const result = await queryWithAbort(rdfEngine, (0, RdfAccessScope_1.applyRdfAccessScope)({
|
|
69
|
+
patterns: [matchPattern(terms)],
|
|
70
|
+
select,
|
|
71
|
+
}, options.accessScope), options.signal);
|
|
72
|
+
assertNotAborted(options.signal);
|
|
73
|
+
return result.bindings.map((row) => {
|
|
74
|
+
assertNotAborted(options.signal);
|
|
75
|
+
return quad(requireQuadSubject(isUnboundMatchTerm(terms.subject) ? requireBinding(row, 'subject') : terms.subject), requireQuadPredicate(isUnboundMatchTerm(terms.predicate) ? requireBinding(row, 'predicate') : terms.predicate), requireQuadObject(isUnboundMatchTerm(terms.object) ? requireBinding(row, 'object') : terms.object), requireQuadGraph(isUnboundMatchTerm(terms.graph) ? (row.graph ?? defaultGraph()) : terms.graph));
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
async function executeCount(rdfEngine, terms, options) {
|
|
79
|
+
const countSlot = 'count';
|
|
80
|
+
const result = await queryWithAbort(rdfEngine, (0, RdfAccessScope_1.applyRdfAccessScope)({
|
|
81
|
+
patterns: [matchPattern(terms)],
|
|
82
|
+
select: [countSlot],
|
|
83
|
+
aggregates: [{ type: 'count', as: countSlot }],
|
|
84
|
+
}, options.accessScope), options.signal);
|
|
85
|
+
const count = Number(result.bindings[0]?.[countSlot]?.value ?? result.count);
|
|
86
|
+
if (!Number.isSafeInteger(count) || count < 0) {
|
|
87
|
+
throw new Error('RDF/JS source count query returned an invalid count');
|
|
88
|
+
}
|
|
89
|
+
return count;
|
|
90
|
+
}
|
|
91
|
+
function matchPattern(terms) {
|
|
92
|
+
return {
|
|
93
|
+
subject: termPattern(terms.subject, 'subject'),
|
|
94
|
+
predicate: termPattern(terms.predicate, 'predicate'),
|
|
95
|
+
object: termPattern(terms.object, 'object'),
|
|
96
|
+
graph: termPattern(terms.graph, 'graph'),
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
function queryWithAbort(rdfEngine, query, signal) {
|
|
100
|
+
assertNotAborted(signal);
|
|
101
|
+
if (!signal) {
|
|
102
|
+
return Promise.resolve(rdfEngine.query(query));
|
|
103
|
+
}
|
|
104
|
+
return new Promise((resolve, reject) => {
|
|
105
|
+
let settled = false;
|
|
106
|
+
const settle = (complete) => {
|
|
107
|
+
if (settled)
|
|
108
|
+
return;
|
|
109
|
+
settled = true;
|
|
110
|
+
signal.removeEventListener('abort', onAbort);
|
|
111
|
+
complete();
|
|
112
|
+
};
|
|
113
|
+
const onAbort = () => settle(() => reject(createAbortError(signal)));
|
|
114
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
115
|
+
if (signal.aborted) {
|
|
116
|
+
onAbort();
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
Promise.resolve()
|
|
120
|
+
.then(() => {
|
|
121
|
+
assertNotAborted(signal);
|
|
122
|
+
return rdfEngine.query(query);
|
|
123
|
+
})
|
|
124
|
+
.then((result) => settle(() => resolve(result)), (error) => settle(() => reject(error)));
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function termPattern(term, variable) {
|
|
128
|
+
if (isUnboundMatchTerm(term)) {
|
|
129
|
+
return { variable };
|
|
130
|
+
}
|
|
131
|
+
return term;
|
|
132
|
+
}
|
|
133
|
+
function isUnboundMatchTerm(term) {
|
|
134
|
+
return !term || term.termType === 'Variable';
|
|
135
|
+
}
|
|
136
|
+
function requireBinding(row, slot) {
|
|
137
|
+
const term = row[slot];
|
|
138
|
+
if (!term) {
|
|
139
|
+
throw new Error(`RDF/JS source query result is missing ${slot} binding`);
|
|
140
|
+
}
|
|
141
|
+
return term;
|
|
142
|
+
}
|
|
143
|
+
function requireQuadSubject(term) {
|
|
144
|
+
if (term.termType === 'NamedNode' || term.termType === 'BlankNode') {
|
|
145
|
+
return term;
|
|
146
|
+
}
|
|
147
|
+
throw new Error(`RDF/JS source query result has invalid subject term type ${term.termType}`);
|
|
148
|
+
}
|
|
149
|
+
function requireQuadPredicate(term) {
|
|
150
|
+
if (term.termType === 'NamedNode') {
|
|
151
|
+
return term;
|
|
152
|
+
}
|
|
153
|
+
throw new Error(`RDF/JS source query result has invalid predicate term type ${term.termType}`);
|
|
154
|
+
}
|
|
155
|
+
function requireQuadObject(term) {
|
|
156
|
+
if (term.termType === 'NamedNode'
|
|
157
|
+
|| term.termType === 'BlankNode'
|
|
158
|
+
|| term.termType === 'Literal') {
|
|
159
|
+
return term;
|
|
160
|
+
}
|
|
161
|
+
throw new Error(`RDF/JS source query result has invalid object term type ${term.termType}`);
|
|
162
|
+
}
|
|
163
|
+
function requireQuadGraph(term) {
|
|
164
|
+
if (term.termType === 'DefaultGraph' || term.termType === 'NamedNode' || term.termType === 'BlankNode') {
|
|
165
|
+
return term;
|
|
166
|
+
}
|
|
167
|
+
throw new Error(`RDF/JS source query result has invalid graph term type ${term.termType}`);
|
|
168
|
+
}
|
|
169
|
+
function assertNotAborted(signal) {
|
|
170
|
+
if (signal?.aborted) {
|
|
171
|
+
throw createAbortError(signal);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
function createAbortError(signal) {
|
|
175
|
+
return signal?.reason instanceof Error
|
|
176
|
+
? signal.reason
|
|
177
|
+
: new DOMException('RDF/JS source match aborted', 'AbortError');
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=RdfEngineRdfJsSource.js.map
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { Quad } from '@rdfjs/types';
|
|
2
|
+
import { type SqliteDatabase } from '../SqliteRuntime';
|
|
2
3
|
import type { QuintPattern } from '../quint/types';
|
|
3
|
-
import type { RdfCardinalityEstimate, RdfCardinalityDistributions, RdfIndexStats, RdfLiteralDatatypeDistribution, RdfIndexPutOptions, RdfIndexSpaceObject, RdfQuadJoinAggregateOptions, RdfQuadJoinCountOptions, RdfQuadJoinGroupAggregateOptions, RdfQuadJoinOptions, RdfQuadJoinPattern, RdfQuadJoinScanResult, RdfQuadTupleConstraintSource, RdfQuadIndexOptions, RdfQuadIndexScanResult, RdfQuadScanOptions, RdfPatternQuery, RdfSourceInput, RdfTermRewriteInput, RdfTermRewriteResult } from './types';
|
|
4
|
+
import type { RdfCardinalityEstimate, RdfCardinalityDistributions, RdfIndexStats, RdfLiteralDatatypeDistribution, RdfIndexPutOptions, RdfIndexSpaceObject, RdfQuadJoinAggregateOptions, RdfQuadJoinCountOptions, RdfQuadJoinGroupAggregateOptions, RdfQuadJoinOptions, RdfQuadJoinPattern, RdfQuadJoinScanResult, RdfQuadTupleConstraintSource, RdfQuadIndexOptions, RdfQuadIndexScanResult, RdfQuadScanOptions, RdfPatternQuery, RdfSourceInput, RdfStoragePattern, RdfTermRewriteInput, RdfTermRewriteResult } from './types';
|
|
4
5
|
type PatternKey = 'graph' | 'subject' | 'predicate' | 'object';
|
|
6
|
+
export declare function assertRdfFactsSchemaCompatible(db: SqliteDatabase): void;
|
|
5
7
|
export declare class RdfQuadIndex {
|
|
6
8
|
private readonly options;
|
|
7
9
|
private readonly sqliteRuntime;
|
|
@@ -27,10 +29,8 @@ export declare class RdfQuadIndex {
|
|
|
27
29
|
rewriteTerms(input: RdfTermRewriteInput): RdfTermRewriteResult;
|
|
28
30
|
private deleteInternal;
|
|
29
31
|
dataVersion(): number;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
scan(pattern: QuintPattern | RdfPatternQuery, options?: RdfQuadScanOptions): RdfQuadIndexScanResult;
|
|
33
|
-
scanWithTupleConstraints(pattern: QuintPattern, tupleSource: RdfQuadTupleConstraintSource, options?: RdfQuadScanOptions): RdfQuadIndexScanResult;
|
|
32
|
+
scan(pattern: RdfStoragePattern | RdfPatternQuery, options?: RdfQuadScanOptions): RdfQuadIndexScanResult;
|
|
33
|
+
scanWithTupleConstraints(pattern: RdfStoragePattern, tupleSource: RdfQuadTupleConstraintSource, options?: RdfQuadScanOptions): RdfQuadIndexScanResult;
|
|
34
34
|
joinPatterns(patterns: RdfQuadJoinPattern[], options?: RdfQuadJoinOptions): RdfQuadJoinScanResult;
|
|
35
35
|
countJoinPatterns(patterns: RdfQuadJoinPattern[], options: RdfQuadJoinCountOptions): RdfQuadJoinScanResult;
|
|
36
36
|
aggregateJoinPatterns(patterns: RdfQuadJoinPattern[], options: RdfQuadJoinAggregateOptions): RdfQuadJoinScanResult;
|
|
@@ -49,10 +49,10 @@ export declare class RdfQuadIndex {
|
|
|
49
49
|
private buildGroupAggregateOrderScope;
|
|
50
50
|
private matchToJoinCondition;
|
|
51
51
|
private joinRowsToBindings;
|
|
52
|
-
count(pattern:
|
|
53
|
-
estimateCardinality(pattern:
|
|
54
|
-
countDistinct(pattern:
|
|
55
|
-
countDistinctTuple(pattern:
|
|
52
|
+
count(pattern: RdfStoragePattern): number;
|
|
53
|
+
estimateCardinality(pattern: RdfStoragePattern): RdfCardinalityEstimate;
|
|
54
|
+
countDistinct(pattern: RdfStoragePattern, distinctKey: PatternKey): RdfCardinalityEstimate;
|
|
55
|
+
countDistinctTuple(pattern: RdfStoragePattern, distinctKeys: PatternKey[]): RdfCardinalityEstimate;
|
|
56
56
|
stats(): RdfIndexStats;
|
|
57
57
|
cardinalityDistributions(limit?: number): RdfCardinalityDistributions;
|
|
58
58
|
literalDatatypeDistribution(): RdfLiteralDatatypeDistribution[];
|
|
@@ -66,15 +66,14 @@ export declare class RdfQuadIndex {
|
|
|
66
66
|
collectSpaceObjects(): RdfIndexSpaceObject[];
|
|
67
67
|
private estimateSpaceObjectsFromSchema;
|
|
68
68
|
private estimatePageSize;
|
|
69
|
-
private
|
|
70
|
-
private
|
|
71
|
-
private
|
|
72
|
-
private dropIndexSchema;
|
|
69
|
+
private prepareFactsSchema;
|
|
70
|
+
private createFreshFactsSchema;
|
|
71
|
+
private hasExistingFactsSchema;
|
|
73
72
|
private bumpDataVersion;
|
|
74
|
-
private setMetadataValue;
|
|
75
73
|
private upsertSource;
|
|
76
74
|
private updateSourceRow;
|
|
77
75
|
private buildWhereClause;
|
|
76
|
+
private addSourceScopeConditions;
|
|
78
77
|
private matchToCondition;
|
|
79
78
|
private termTypeConditionJoin;
|
|
80
79
|
private languageConditionJoin;
|