@undefineds.co/drizzle-solid 0.2.13 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG-DRAFT.md +1 -1
- package/README.md +163 -248
- package/dist/core/ast-to-sparql.d.ts +32 -25
- package/dist/core/ast-to-sparql.d.ts.map +1 -1
- package/dist/core/ast-to-sparql.js +1 -1
- package/dist/core/ast-to-sparql.js.map +1 -1
- package/dist/core/compile-time-types.d.ts +10 -7
- package/dist/core/compile-time-types.d.ts.map +1 -1
- package/dist/core/compile-time-types.js +6 -4
- package/dist/core/compile-time-types.js.map +1 -1
- package/dist/core/comunica-patch.d.ts +1 -6
- package/dist/core/comunica-patch.d.ts.map +1 -1
- package/dist/core/comunica-patch.js +16 -20
- package/dist/core/comunica-patch.js.map +1 -1
- package/dist/core/conflict-resolution.d.ts.map +1 -1
- package/dist/core/conflict-resolution.js +3 -2
- package/dist/core/conflict-resolution.js.map +1 -1
- package/dist/core/discovery/typeindex-discovery.d.ts.map +1 -1
- package/dist/core/discovery/typeindex-discovery.js +0 -2
- package/dist/core/discovery/typeindex-discovery.js.map +1 -1
- package/dist/core/execution/ldp-executor.d.ts.map +1 -1
- package/dist/core/execution/ldp-executor.js +2 -21
- package/dist/core/execution/ldp-executor.js.map +1 -1
- package/dist/core/execution/pod-executor.d.ts.map +1 -1
- package/dist/core/execution/pod-executor.js +2 -4
- package/dist/core/execution/pod-executor.js.map +1 -1
- package/dist/core/execution/sparql-strategy.d.ts +8 -40
- package/dist/core/execution/sparql-strategy.d.ts.map +1 -1
- package/dist/core/execution/sparql-strategy.js +24 -186
- package/dist/core/execution/sparql-strategy.js.map +1 -1
- package/dist/core/execution/strategy-factory.d.ts +7 -20
- package/dist/core/execution/strategy-factory.d.ts.map +1 -1
- package/dist/core/execution/strategy-factory.js +2 -17
- package/dist/core/execution/strategy-factory.js.map +1 -1
- package/dist/core/expressions.d.ts +10 -9
- package/dist/core/expressions.d.ts.map +1 -1
- package/dist/core/expressions.js.map +1 -1
- package/dist/core/pod-database.d.ts +62 -18
- package/dist/core/pod-database.d.ts.map +1 -1
- package/dist/core/pod-database.js +136 -72
- package/dist/core/pod-database.js.map +1 -1
- package/dist/core/pod-dialect.d.ts +7 -1
- package/dist/core/pod-dialect.d.ts.map +1 -1
- package/dist/core/pod-dialect.js +36 -29
- package/dist/core/pod-dialect.js.map +1 -1
- package/dist/core/pod-session.d.ts +10 -9
- package/dist/core/pod-session.d.ts.map +1 -1
- package/dist/core/pod-session.js.map +1 -1
- package/dist/core/query-builders/delete-query-builder.d.ts +2 -2
- package/dist/core/query-builders/delete-query-builder.d.ts.map +1 -1
- package/dist/core/query-builders/delete-query-builder.js +8 -6
- package/dist/core/query-builders/delete-query-builder.js.map +1 -1
- package/dist/core/query-builders/select-query-builder.d.ts +15 -6
- package/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
- package/dist/core/query-builders/select-query-builder.js +217 -31
- package/dist/core/query-builders/select-query-builder.js.map +1 -1
- package/dist/core/query-builders/update-query-builder.d.ts +2 -2
- package/dist/core/query-builders/update-query-builder.d.ts.map +1 -1
- package/dist/core/query-builders/update-query-builder.js +7 -5
- package/dist/core/query-builders/update-query-builder.js.map +1 -1
- package/dist/core/query-conditions.d.ts +18 -11
- package/dist/core/query-conditions.d.ts.map +1 -1
- package/dist/core/query-conditions.js.map +1 -1
- package/dist/core/query-where-policy.d.ts +7 -0
- package/dist/core/query-where-policy.d.ts.map +1 -0
- package/dist/core/query-where-policy.js +83 -0
- package/dist/core/query-where-policy.js.map +1 -0
- package/dist/core/resource-resolver/base-resolver.d.ts +1 -0
- package/dist/core/resource-resolver/base-resolver.d.ts.map +1 -1
- package/dist/core/resource-resolver/base-resolver.js +33 -39
- package/dist/core/resource-resolver/base-resolver.js.map +1 -1
- package/dist/core/resource-resolver/document-resolver.d.ts +2 -1
- package/dist/core/resource-resolver/document-resolver.d.ts.map +1 -1
- package/dist/core/resource-resolver/document-resolver.js +17 -46
- package/dist/core/resource-resolver/document-resolver.js.map +1 -1
- package/dist/core/runtime/pod-runtime.d.ts.map +1 -1
- package/dist/core/runtime/pod-runtime.js +0 -6
- package/dist/core/runtime/pod-runtime.js.map +1 -1
- package/dist/core/schema/columns.d.ts +6 -6
- package/dist/core/schema/columns.d.ts.map +1 -1
- package/dist/core/schema/columns.js +18 -18
- package/dist/core/schema/columns.js.map +1 -1
- package/dist/core/schema/defs.d.ts +4 -4
- package/dist/core/schema/defs.d.ts.map +1 -1
- package/dist/core/schema/pod-table.js +2 -2
- package/dist/core/schema/pod-table.js.map +1 -1
- package/dist/core/select-plan.d.ts +9 -7
- package/dist/core/select-plan.d.ts.map +1 -1
- package/dist/core/services/pod-services.d.ts +7 -5
- package/dist/core/services/pod-services.d.ts.map +1 -1
- package/dist/core/services/pod-services.js +7 -5
- package/dist/core/services/pod-services.js.map +1 -1
- package/dist/core/shape/generator.js +3 -3
- package/dist/core/shape/generator.js.map +1 -1
- package/dist/core/shape/manager.js +5 -5
- package/dist/core/shape/manager.js.map +1 -1
- package/dist/core/solid-n3-client.d.ts.map +1 -1
- package/dist/core/solid-n3-client.js +20 -9
- package/dist/core/solid-n3-client.js.map +1 -1
- package/dist/core/sparql/builder/expression-builder.d.ts +14 -16
- package/dist/core/sparql/builder/expression-builder.d.ts.map +1 -1
- package/dist/core/sparql/builder/expression-builder.js +177 -74
- package/dist/core/sparql/builder/expression-builder.js.map +1 -1
- package/dist/core/sparql/builder/select-builder.d.ts +1 -1
- package/dist/core/sparql/builder/select-builder.d.ts.map +1 -1
- package/dist/core/sparql/builder/select-builder.js +19 -5
- package/dist/core/sparql/builder/select-builder.js.map +1 -1
- package/dist/core/sparql/builder/update-builder.d.ts +1 -1
- package/dist/core/sparql/builder/update-builder.d.ts.map +1 -1
- package/dist/core/sparql/builder/update-builder.js +4 -15
- package/dist/core/sparql/builder/update-builder.js.map +1 -1
- package/dist/core/sparql/helpers.js +3 -3
- package/dist/core/sparql/helpers.js.map +1 -1
- package/dist/core/sparql-engine.d.ts +16 -0
- package/dist/core/sparql-engine.d.ts.map +1 -0
- package/dist/core/sparql-engine.js +128 -0
- package/dist/core/sparql-engine.js.map +1 -0
- package/dist/core/sparql-executor.d.ts +12 -7
- package/dist/core/sparql-executor.d.ts.map +1 -1
- package/dist/core/sparql-executor.js +56 -47
- package/dist/core/sparql-executor.js.map +1 -1
- package/dist/core/triple/handlers/inverse.js +4 -4
- package/dist/core/triple/handlers/inverse.js.map +1 -1
- package/dist/core/triple/handlers/uri.d.ts +1 -1
- package/dist/core/triple/handlers/uri.js +3 -3
- package/dist/core/triple/handlers/uri.js.map +1 -1
- package/dist/core/typeindex-manager.d.ts.map +1 -1
- package/dist/core/typeindex-manager.js +3 -0
- package/dist/core/typeindex-manager.js.map +1 -1
- package/dist/core/types.d.ts +3 -3
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/uri/resolver.d.ts +9 -9
- package/dist/core/uri/resolver.d.ts.map +1 -1
- package/dist/core/uri/resolver.js +51 -51
- package/dist/core/uri/resolver.js.map +1 -1
- package/dist/core/uri/types.d.ts +10 -10
- package/dist/core/uri/types.d.ts.map +1 -1
- package/dist/core/zod-integration.d.ts +9 -7
- package/dist/core/zod-integration.d.ts.map +1 -1
- package/dist/core/zod-integration.js.map +1 -1
- package/dist/driver.d.ts +10 -1
- package/dist/driver.d.ts.map +1 -1
- package/dist/driver.js +1 -5
- package/dist/driver.js.map +1 -1
- package/dist/esm/core/ast-to-sparql.d.ts +32 -25
- package/dist/esm/core/ast-to-sparql.d.ts.map +1 -1
- package/dist/esm/core/ast-to-sparql.js +1 -1
- package/dist/esm/core/ast-to-sparql.js.map +1 -1
- package/dist/esm/core/compile-time-types.d.ts +10 -7
- package/dist/esm/core/compile-time-types.d.ts.map +1 -1
- package/dist/esm/core/compile-time-types.js +6 -4
- package/dist/esm/core/compile-time-types.js.map +1 -1
- package/dist/esm/core/comunica-patch.d.ts +1 -6
- package/dist/esm/core/comunica-patch.d.ts.map +1 -1
- package/dist/esm/core/comunica-patch.js +13 -21
- package/dist/esm/core/comunica-patch.js.map +1 -1
- package/dist/esm/core/conflict-resolution.d.ts.map +1 -1
- package/dist/esm/core/conflict-resolution.js +3 -2
- package/dist/esm/core/conflict-resolution.js.map +1 -1
- package/dist/esm/core/discovery/typeindex-discovery.d.ts.map +1 -1
- package/dist/esm/core/discovery/typeindex-discovery.js +0 -2
- package/dist/esm/core/discovery/typeindex-discovery.js.map +1 -1
- package/dist/esm/core/execution/ldp-executor.d.ts.map +1 -1
- package/dist/esm/core/execution/ldp-executor.js +2 -21
- package/dist/esm/core/execution/ldp-executor.js.map +1 -1
- package/dist/esm/core/execution/pod-executor.d.ts.map +1 -1
- package/dist/esm/core/execution/pod-executor.js +2 -4
- package/dist/esm/core/execution/pod-executor.js.map +1 -1
- package/dist/esm/core/execution/sparql-strategy.d.ts +8 -40
- package/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
- package/dist/esm/core/execution/sparql-strategy.js +25 -187
- package/dist/esm/core/execution/sparql-strategy.js.map +1 -1
- package/dist/esm/core/execution/strategy-factory.d.ts +7 -20
- package/dist/esm/core/execution/strategy-factory.d.ts.map +1 -1
- package/dist/esm/core/execution/strategy-factory.js +2 -17
- package/dist/esm/core/execution/strategy-factory.js.map +1 -1
- package/dist/esm/core/expressions.d.ts +10 -9
- package/dist/esm/core/expressions.d.ts.map +1 -1
- package/dist/esm/core/expressions.js.map +1 -1
- package/dist/esm/core/pod-database.d.ts +62 -18
- package/dist/esm/core/pod-database.d.ts.map +1 -1
- package/dist/esm/core/pod-database.js +136 -72
- package/dist/esm/core/pod-database.js.map +1 -1
- package/dist/esm/core/pod-dialect.d.ts +7 -1
- package/dist/esm/core/pod-dialect.d.ts.map +1 -1
- package/dist/esm/core/pod-dialect.js +37 -30
- package/dist/esm/core/pod-dialect.js.map +1 -1
- package/dist/esm/core/pod-session.d.ts +10 -9
- package/dist/esm/core/pod-session.d.ts.map +1 -1
- package/dist/esm/core/pod-session.js.map +1 -1
- package/dist/esm/core/query-builders/delete-query-builder.d.ts +2 -2
- package/dist/esm/core/query-builders/delete-query-builder.d.ts.map +1 -1
- package/dist/esm/core/query-builders/delete-query-builder.js +8 -6
- package/dist/esm/core/query-builders/delete-query-builder.js.map +1 -1
- package/dist/esm/core/query-builders/select-query-builder.d.ts +15 -6
- package/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
- package/dist/esm/core/query-builders/select-query-builder.js +218 -32
- package/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
- package/dist/esm/core/query-builders/update-query-builder.d.ts +2 -2
- package/dist/esm/core/query-builders/update-query-builder.d.ts.map +1 -1
- package/dist/esm/core/query-builders/update-query-builder.js +7 -5
- package/dist/esm/core/query-builders/update-query-builder.js.map +1 -1
- package/dist/esm/core/query-conditions.d.ts +18 -11
- package/dist/esm/core/query-conditions.d.ts.map +1 -1
- package/dist/esm/core/query-conditions.js.map +1 -1
- package/dist/esm/core/query-where-policy.d.ts +7 -0
- package/dist/esm/core/query-where-policy.d.ts.map +1 -0
- package/dist/esm/core/query-where-policy.js +78 -0
- package/dist/esm/core/query-where-policy.js.map +1 -0
- package/dist/esm/core/resource-resolver/base-resolver.d.ts +1 -0
- package/dist/esm/core/resource-resolver/base-resolver.d.ts.map +1 -1
- package/dist/esm/core/resource-resolver/base-resolver.js +33 -39
- package/dist/esm/core/resource-resolver/base-resolver.js.map +1 -1
- package/dist/esm/core/resource-resolver/document-resolver.d.ts +2 -1
- package/dist/esm/core/resource-resolver/document-resolver.d.ts.map +1 -1
- package/dist/esm/core/resource-resolver/document-resolver.js +17 -46
- package/dist/esm/core/resource-resolver/document-resolver.js.map +1 -1
- package/dist/esm/core/runtime/pod-runtime.d.ts.map +1 -1
- package/dist/esm/core/runtime/pod-runtime.js +0 -6
- package/dist/esm/core/runtime/pod-runtime.js.map +1 -1
- package/dist/esm/core/schema/columns.d.ts +6 -6
- package/dist/esm/core/schema/columns.d.ts.map +1 -1
- package/dist/esm/core/schema/columns.js +18 -18
- package/dist/esm/core/schema/columns.js.map +1 -1
- package/dist/esm/core/schema/defs.d.ts +4 -4
- package/dist/esm/core/schema/defs.d.ts.map +1 -1
- package/dist/esm/core/schema/pod-table.js +2 -2
- package/dist/esm/core/schema/pod-table.js.map +1 -1
- package/dist/esm/core/select-plan.d.ts +9 -7
- package/dist/esm/core/select-plan.d.ts.map +1 -1
- package/dist/esm/core/services/pod-services.d.ts +7 -5
- package/dist/esm/core/services/pod-services.d.ts.map +1 -1
- package/dist/esm/core/services/pod-services.js +7 -5
- package/dist/esm/core/services/pod-services.js.map +1 -1
- package/dist/esm/core/shape/generator.js +3 -3
- package/dist/esm/core/shape/generator.js.map +1 -1
- package/dist/esm/core/shape/manager.js +5 -5
- package/dist/esm/core/shape/manager.js.map +1 -1
- package/dist/esm/core/solid-n3-client.d.ts.map +1 -1
- package/dist/esm/core/solid-n3-client.js +20 -9
- package/dist/esm/core/solid-n3-client.js.map +1 -1
- package/dist/esm/core/sparql/builder/expression-builder.d.ts +14 -16
- package/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -1
- package/dist/esm/core/sparql/builder/expression-builder.js +177 -74
- package/dist/esm/core/sparql/builder/expression-builder.js.map +1 -1
- package/dist/esm/core/sparql/builder/select-builder.d.ts +1 -1
- package/dist/esm/core/sparql/builder/select-builder.d.ts.map +1 -1
- package/dist/esm/core/sparql/builder/select-builder.js +19 -5
- package/dist/esm/core/sparql/builder/select-builder.js.map +1 -1
- package/dist/esm/core/sparql/builder/update-builder.d.ts +1 -1
- package/dist/esm/core/sparql/builder/update-builder.d.ts.map +1 -1
- package/dist/esm/core/sparql/builder/update-builder.js +4 -15
- package/dist/esm/core/sparql/builder/update-builder.js.map +1 -1
- package/dist/esm/core/sparql/helpers.js +3 -3
- package/dist/esm/core/sparql/helpers.js.map +1 -1
- package/dist/esm/core/sparql-engine.d.ts +16 -0
- package/dist/esm/core/sparql-engine.d.ts.map +1 -0
- package/dist/esm/core/sparql-engine.js +89 -0
- package/dist/esm/core/sparql-engine.js.map +1 -0
- package/dist/esm/core/sparql-executor.d.ts +12 -7
- package/dist/esm/core/sparql-executor.d.ts.map +1 -1
- package/dist/esm/core/sparql-executor.js +56 -47
- package/dist/esm/core/sparql-executor.js.map +1 -1
- package/dist/esm/core/triple/handlers/inverse.js +4 -4
- package/dist/esm/core/triple/handlers/inverse.js.map +1 -1
- package/dist/esm/core/triple/handlers/uri.d.ts +1 -1
- package/dist/esm/core/triple/handlers/uri.js +3 -3
- package/dist/esm/core/triple/handlers/uri.js.map +1 -1
- package/dist/esm/core/typeindex-manager.d.ts.map +1 -1
- package/dist/esm/core/typeindex-manager.js +3 -0
- package/dist/esm/core/typeindex-manager.js.map +1 -1
- package/dist/esm/core/types.d.ts +3 -3
- package/dist/esm/core/types.d.ts.map +1 -1
- package/dist/esm/core/uri/resolver.d.ts +9 -9
- package/dist/esm/core/uri/resolver.d.ts.map +1 -1
- package/dist/esm/core/uri/resolver.js +51 -51
- package/dist/esm/core/uri/resolver.js.map +1 -1
- package/dist/esm/core/uri/types.d.ts +10 -10
- package/dist/esm/core/uri/types.d.ts.map +1 -1
- package/dist/esm/core/zod-integration.d.ts +9 -7
- package/dist/esm/core/zod-integration.d.ts.map +1 -1
- package/dist/esm/core/zod-integration.js.map +1 -1
- package/dist/esm/driver.d.ts +10 -1
- package/dist/esm/driver.d.ts.map +1 -1
- package/dist/esm/driver.js +1 -5
- package/dist/esm/driver.js.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +4 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pod.d.ts +118 -0
- package/dist/esm/pod.d.ts.map +1 -0
- package/dist/esm/pod.js +146 -0
- package/dist/esm/pod.js.map +1 -0
- package/dist/esm/utils/find-by-iri.d.ts +4 -2
- package/dist/esm/utils/find-by-iri.d.ts.map +1 -1
- package/dist/esm/utils/find-by-iri.js +8 -8
- package/dist/esm/utils/find-by-iri.js.map +1 -1
- package/dist/esm/utils/helpers.d.ts +2 -2
- package/dist/esm/utils/helpers.d.ts.map +1 -1
- package/dist/esm/utils/rdf-helpers.d.ts +2 -2
- package/dist/esm/utils/rdf-helpers.d.ts.map +1 -1
- package/dist/esm/utils/rdf-helpers.js +9 -6
- package/dist/esm/utils/rdf-helpers.js.map +1 -1
- package/dist/esm/utils/rdf-validation.d.ts +5 -3
- package/dist/esm/utils/rdf-validation.d.ts.map +1 -1
- package/dist/esm/utils/rdf-validation.js +47 -8
- package/dist/esm/utils/rdf-validation.js.map +1 -1
- package/dist/esm/utils/webid-resolver.d.ts +1 -2
- package/dist/esm/utils/webid-resolver.d.ts.map +1 -1
- package/dist/esm/utils/webid-resolver.js +37 -31
- package/dist/esm/utils/webid-resolver.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/pod.d.ts +118 -0
- package/dist/pod.d.ts.map +1 -0
- package/dist/pod.js +153 -0
- package/dist/pod.js.map +1 -0
- package/dist/utils/find-by-iri.d.ts +4 -2
- package/dist/utils/find-by-iri.d.ts.map +1 -1
- package/dist/utils/find-by-iri.js +8 -8
- package/dist/utils/find-by-iri.js.map +1 -1
- package/dist/utils/helpers.d.ts +2 -2
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/rdf-helpers.d.ts +2 -2
- package/dist/utils/rdf-helpers.d.ts.map +1 -1
- package/dist/utils/rdf-helpers.js +9 -6
- package/dist/utils/rdf-helpers.js.map +1 -1
- package/dist/utils/rdf-validation.d.ts +5 -3
- package/dist/utils/rdf-validation.d.ts.map +1 -1
- package/dist/utils/rdf-validation.js +47 -8
- package/dist/utils/rdf-validation.js.map +1 -1
- package/dist/utils/webid-resolver.d.ts +1 -2
- package/dist/utils/webid-resolver.d.ts.map +1 -1
- package/dist/utils/webid-resolver.js +37 -31
- package/dist/utils/webid-resolver.js.map +1 -1
- package/package.json +13 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rdf-helpers.js","sourceRoot":"","sources":["../../src/utils/rdf-helpers.ts"],"names":[],"mappings":";AAAA,oCAAoC;;AAKpC,
|
|
1
|
+
{"version":3,"file":"rdf-helpers.js","sourceRoot":"","sources":["../../src/utils/rdf-helpers.ts"],"names":[],"mappings":";AAAA,oCAAoC;;AAKpC,wCAaC;AAKD,kDAMC;AAKD,kCAKC;AAKD,4CAmBC;AA7DD;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAe;IAC5C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,MAAiC,CAAC;IACpD,OAAO,CACL,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ;QACrC,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ;QACvC,CAAC,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ;YACpC,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ;YACpC,OAAO,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CACxC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,OAAe,EAAE,YAAoB,EAAE,EAAW;IACpF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,EAAE,IAAI,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC;IAEpD,OAAO,GAAG,OAAO,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,YAAsB,EACtB,QAAgB,EAChB,UAAoC;IAEpC,IAAI,KAAK,GAAG,UAAU,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IAC3E,KAAK,IAAI,WAAW,CAAC;IACrB,KAAK,IAAI,YAAY,QAAQ,OAAO,CAAC;IAErC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAClD,KAAK,IAAI,mCAAmC,GAAG,MAAM,KAAK,OAAO,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,IAAI,OAAO,CAAC;IACjB,KAAK,IAAI,GAAG,CAAC;IAEb,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -3,23 +3,25 @@ export interface ValidationResult {
|
|
|
3
3
|
errors: string[];
|
|
4
4
|
warnings: string[];
|
|
5
5
|
}
|
|
6
|
+
type RDFObjectValue = string | number | boolean | Date | null;
|
|
6
7
|
export interface RDFTriple {
|
|
7
8
|
subject: string;
|
|
8
9
|
predicate: string;
|
|
9
|
-
object:
|
|
10
|
+
object: RDFObjectValue;
|
|
10
11
|
}
|
|
11
12
|
export interface ParsedRDFData {
|
|
12
13
|
triples: RDFTriple[];
|
|
13
14
|
subjects: Set<string>;
|
|
14
15
|
predicates: Set<string>;
|
|
15
|
-
objects: Set<
|
|
16
|
+
objects: Set<RDFObjectValue>;
|
|
16
17
|
}
|
|
17
18
|
/**
|
|
18
19
|
* 验证 RDF 数据的有效性
|
|
19
20
|
*/
|
|
20
|
-
export declare function validateRDFData(data:
|
|
21
|
+
export declare function validateRDFData(data: unknown): ValidationResult;
|
|
21
22
|
/**
|
|
22
23
|
* 解析 RDF 响应数据
|
|
23
24
|
*/
|
|
24
25
|
export declare function parseRDFResponse(response: string, format?: 'turtle' | 'jsonld' | 'ntriples'): ParsedRDFData;
|
|
26
|
+
export {};
|
|
25
27
|
//# sourceMappingURL=rdf-validation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rdf-validation.d.ts","sourceRoot":"","sources":["../../src/utils/rdf-validation.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"rdf-validation.d.ts","sourceRoot":"","sources":["../../src/utils/rdf-validation.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;AAG9D,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAoD/D;AAwCD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,QAAQ,GAAG,QAAQ,GAAG,UAAqB,GAAG,aAAa,CAuBrH"}
|
|
@@ -22,7 +22,12 @@ function validateRDFData(data) {
|
|
|
22
22
|
// 如果是数组,验证每个元素
|
|
23
23
|
if (Array.isArray(data)) {
|
|
24
24
|
for (let i = 0; i < data.length; i++) {
|
|
25
|
-
const
|
|
25
|
+
const item = asRDFRecord(data[i]);
|
|
26
|
+
if (!item) {
|
|
27
|
+
result.warnings.push(`item[${i}]: Non-object item ignored`);
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
const itemResult = validateRDFItem(item, `item[${i}]`);
|
|
26
31
|
result.errors.push(...itemResult.errors);
|
|
27
32
|
result.warnings.push(...itemResult.warnings);
|
|
28
33
|
if (!itemResult.isValid) {
|
|
@@ -32,7 +37,13 @@ function validateRDFData(data) {
|
|
|
32
37
|
}
|
|
33
38
|
else {
|
|
34
39
|
// 验证单个对象
|
|
35
|
-
const
|
|
40
|
+
const item = asRDFRecord(data);
|
|
41
|
+
if (!item) {
|
|
42
|
+
result.errors.push('root: RDF item must be an object');
|
|
43
|
+
result.isValid = false;
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
const itemResult = validateRDFItem(item, 'root');
|
|
36
47
|
result.errors.push(...itemResult.errors);
|
|
37
48
|
result.warnings.push(...itemResult.warnings);
|
|
38
49
|
if (!itemResult.isValid) {
|
|
@@ -159,14 +170,26 @@ function parseJsonLD(jsonld) {
|
|
|
159
170
|
const data = JSON.parse(jsonld);
|
|
160
171
|
// 处理单个对象或对象数组
|
|
161
172
|
const items = Array.isArray(data) ? data : [data];
|
|
162
|
-
for (const
|
|
163
|
-
const
|
|
173
|
+
for (const rawItem of items) {
|
|
174
|
+
const item = asRDFRecord(rawItem);
|
|
175
|
+
if (!item) {
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
const subject = (typeof item['@id'] === 'string' && item['@id']) ||
|
|
179
|
+
(typeof item.id === 'string' && item.id) ||
|
|
180
|
+
'_:blank';
|
|
164
181
|
for (const [key, value] of Object.entries(item)) {
|
|
165
182
|
if (key.startsWith('@'))
|
|
166
183
|
continue; // 跳过 JSON-LD 关键字
|
|
167
184
|
const predicate = expandPredicate(key, item['@context']);
|
|
168
|
-
const
|
|
169
|
-
|
|
185
|
+
const linkedValue = asRDFRecord(value);
|
|
186
|
+
const objectValue = linkedValue
|
|
187
|
+
? (typeof linkedValue['@id'] === 'string'
|
|
188
|
+
? linkedValue['@id']
|
|
189
|
+
: typeof linkedValue.id === 'string'
|
|
190
|
+
? linkedValue.id
|
|
191
|
+
: JSON.stringify(value))
|
|
192
|
+
: normalizeObjectValue(value);
|
|
170
193
|
parsed.triples.push({
|
|
171
194
|
subject,
|
|
172
195
|
predicate,
|
|
@@ -270,8 +293,11 @@ function expandPredicate(key, context) {
|
|
|
270
293
|
return key;
|
|
271
294
|
}
|
|
272
295
|
// 简单的上下文扩展
|
|
273
|
-
if (context && context
|
|
274
|
-
|
|
296
|
+
if (context && typeof context === 'object' && key in context) {
|
|
297
|
+
const resolved = context[key];
|
|
298
|
+
if (typeof resolved === 'string') {
|
|
299
|
+
return resolved;
|
|
300
|
+
}
|
|
275
301
|
}
|
|
276
302
|
// 默认命名空间扩展
|
|
277
303
|
if (key.includes(':')) {
|
|
@@ -289,4 +315,17 @@ function expandPredicate(key, context) {
|
|
|
289
315
|
}
|
|
290
316
|
return key;
|
|
291
317
|
}
|
|
318
|
+
function asRDFRecord(value) {
|
|
319
|
+
return value !== null && typeof value === 'object' ? value : null;
|
|
320
|
+
}
|
|
321
|
+
function normalizeObjectValue(value) {
|
|
322
|
+
if (typeof value === 'string' ||
|
|
323
|
+
typeof value === 'number' ||
|
|
324
|
+
typeof value === 'boolean' ||
|
|
325
|
+
value instanceof Date ||
|
|
326
|
+
value === null) {
|
|
327
|
+
return value;
|
|
328
|
+
}
|
|
329
|
+
return JSON.stringify(value);
|
|
330
|
+
}
|
|
292
331
|
//# sourceMappingURL=rdf-validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rdf-validation.js","sourceRoot":"","sources":["../../src/utils/rdf-validation.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"rdf-validation.js","sourceRoot":"","sources":["../../src/utils/rdf-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
* Implements the IdP-SP Separation architecture.
|
|
4
4
|
*/
|
|
5
5
|
export declare class WebIdResolver {
|
|
6
|
-
private engine;
|
|
7
6
|
private cache;
|
|
8
|
-
|
|
7
|
+
private extractStorageFromProfile;
|
|
9
8
|
/**
|
|
10
9
|
* Resolve the storage root URL from a WebID Profile.
|
|
11
10
|
* Prioritizes pim:storage (WSIM) over solid:pod.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webid-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/webid-resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webid-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/webid-resolver.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAkC;IAE/C,OAAO,CAAC,yBAAyB;IAuBjC;;;;;;;OAOG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAqCnF;;OAEG;IACH,UAAU;CAGX;AAGD,eAAO,MAAM,aAAa,eAAsB,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.webIdResolver = exports.WebIdResolver = void 0;
|
|
4
|
-
const
|
|
4
|
+
const n3_1 = require("n3");
|
|
5
|
+
const PIM_STORAGE = 'http://www.w3.org/ns/pim/space#storage';
|
|
6
|
+
const SOLID_POD = 'http://www.w3.org/ns/solid/terms#pod';
|
|
5
7
|
/**
|
|
6
8
|
* Resolver to find the actual storage root (SP) from a WebID (IdP).
|
|
7
9
|
* Implements the IdP-SP Separation architecture.
|
|
@@ -9,7 +11,24 @@ const query_sparql_solid_1 = require("@comunica/query-sparql-solid");
|
|
|
9
11
|
class WebIdResolver {
|
|
10
12
|
constructor() {
|
|
11
13
|
this.cache = new Map();
|
|
12
|
-
|
|
14
|
+
}
|
|
15
|
+
extractStorageFromProfile(webId, profileText, contentType) {
|
|
16
|
+
const normalizedContentType = contentType?.split(';')[0]?.trim().toLowerCase();
|
|
17
|
+
const parser = new n3_1.Parser({
|
|
18
|
+
baseIRI: webId,
|
|
19
|
+
format: normalizedContentType === 'application/n-triples' ? 'N-Triples' : undefined,
|
|
20
|
+
});
|
|
21
|
+
const quads = parser.parse(profileText);
|
|
22
|
+
const preferredPredicates = [PIM_STORAGE, SOLID_POD];
|
|
23
|
+
for (const predicate of preferredPredicates) {
|
|
24
|
+
const match = quads.find((quad) => {
|
|
25
|
+
return quad.subject.value === webId && quad.predicate.value === predicate;
|
|
26
|
+
});
|
|
27
|
+
if (match?.object?.value) {
|
|
28
|
+
return match.object.value;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
13
32
|
}
|
|
14
33
|
/**
|
|
15
34
|
* Resolve the storage root URL from a WebID Profile.
|
|
@@ -21,38 +40,25 @@ class WebIdResolver {
|
|
|
21
40
|
*/
|
|
22
41
|
async resolveStorage(webId, fetchFn) {
|
|
23
42
|
if (this.cache.has(webId)) {
|
|
24
|
-
return this.cache.get(webId);
|
|
43
|
+
return this.cache.get(webId) ?? null;
|
|
25
44
|
}
|
|
26
45
|
try {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
{ <${webId}> <http://www.w3.org/ns/pim/space#storage> ?storage }
|
|
32
|
-
UNION
|
|
33
|
-
{ <${webId}> <http://www.w3.org/ns/solid/terms#pod> ?storage }
|
|
34
|
-
} LIMIT 1
|
|
35
|
-
`;
|
|
36
|
-
// Use authenticated fetch if available, otherwise fall back to unauthenticated
|
|
37
|
-
// Profile documents are usually public, but some might be private
|
|
38
|
-
const context = {
|
|
39
|
-
sources: [webId],
|
|
40
|
-
lenient: true
|
|
41
|
-
};
|
|
42
|
-
if (fetchFn) {
|
|
43
|
-
context.fetch = fetchFn;
|
|
44
|
-
}
|
|
45
|
-
const bindingsStream = await this.engine.queryBindings(query, context);
|
|
46
|
-
const bindings = await bindingsStream.toArray();
|
|
47
|
-
if (bindings.length > 0) {
|
|
48
|
-
const storage = bindings[0].get('storage')?.value;
|
|
49
|
-
if (storage) {
|
|
50
|
-
// Ensure trailing slash for directory/container semantics
|
|
51
|
-
const normalized = storage.endsWith('/') ? storage : `${storage}/`;
|
|
52
|
-
console.log(`[WebIdResolver] Resolved storage for ${webId} -> ${normalized}`);
|
|
53
|
-
this.cache.set(webId, normalized);
|
|
54
|
-
return normalized;
|
|
46
|
+
const effectiveFetch = fetchFn ?? fetch;
|
|
47
|
+
const response = await effectiveFetch(webId, {
|
|
48
|
+
headers: {
|
|
49
|
+
Accept: 'text/turtle, application/n-triples;q=0.9, text/n3;q=0.8, */*;q=0.1'
|
|
55
50
|
}
|
|
51
|
+
});
|
|
52
|
+
if (!response.ok) {
|
|
53
|
+
throw new Error(`Failed to fetch WebID profile: ${response.status} ${response.statusText}`);
|
|
54
|
+
}
|
|
55
|
+
const profileText = await response.text();
|
|
56
|
+
const storage = this.extractStorageFromProfile(webId, profileText, response.headers.get('content-type'));
|
|
57
|
+
if (storage) {
|
|
58
|
+
const normalized = storage.endsWith('/') ? storage : `${storage}/`;
|
|
59
|
+
console.log(`[WebIdResolver] Resolved storage for ${webId} -> ${normalized}`);
|
|
60
|
+
this.cache.set(webId, normalized);
|
|
61
|
+
return normalized;
|
|
56
62
|
}
|
|
57
63
|
}
|
|
58
64
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webid-resolver.js","sourceRoot":"","sources":["../../src/utils/webid-resolver.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"webid-resolver.js","sourceRoot":"","sources":["../../src/utils/webid-resolver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@undefineds.co/drizzle-solid",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Drizzle ORM adapter for Solid Pods",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -78,7 +78,6 @@
|
|
|
78
78
|
"access": "public"
|
|
79
79
|
},
|
|
80
80
|
"dependencies": {
|
|
81
|
-
"@comunica/query-sparql-solid": "^4.0.2",
|
|
82
81
|
"@inrupt/solid-client": "^3.0.0",
|
|
83
82
|
"@inrupt/solid-client-authn-node": "^3.1.1",
|
|
84
83
|
"@inrupt/universal-fetch": "^1.0.3",
|
|
@@ -108,6 +107,16 @@
|
|
|
108
107
|
"ts-node": "^10.9.0",
|
|
109
108
|
"typescript": "^5.0.0",
|
|
110
109
|
"vite": "^5.4.21",
|
|
111
|
-
"vitest": "^2.1.9"
|
|
112
|
-
|
|
110
|
+
"vitest": "^2.1.9",
|
|
111
|
+
"@comunica/query-sparql-solid": "^4.0.2"
|
|
112
|
+
},
|
|
113
|
+
"peerDependencies": {
|
|
114
|
+
"@comunica/query-sparql-solid": "^4.0.2"
|
|
115
|
+
},
|
|
116
|
+
"peerDependenciesMeta": {
|
|
117
|
+
"@comunica/query-sparql-solid": {
|
|
118
|
+
"optional": true
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
|
113
122
|
}
|