@undefineds.co/drizzle-solid 0.2.6

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 (900) hide show
  1. package/CHANGELOG-DRAFT.md +444 -0
  2. package/LICENSE +21 -0
  3. package/README.md +563 -0
  4. package/dist/core/aggregates.d.ts +19 -0
  5. package/dist/core/aggregates.d.ts.map +1 -0
  6. package/dist/core/aggregates.js +51 -0
  7. package/dist/core/aggregates.js.map +1 -0
  8. package/dist/core/ast-to-sparql.d.ts +62 -0
  9. package/dist/core/ast-to-sparql.d.ts.map +1 -0
  10. package/dist/core/ast-to-sparql.js +107 -0
  11. package/dist/core/ast-to-sparql.js.map +1 -0
  12. package/dist/core/compile-time-types.d.ts +37 -0
  13. package/dist/core/compile-time-types.d.ts.map +1 -0
  14. package/dist/core/compile-time-types.js +71 -0
  15. package/dist/core/compile-time-types.js.map +1 -0
  16. package/dist/core/comunica-patch.d.ts +7 -0
  17. package/dist/core/comunica-patch.d.ts.map +1 -0
  18. package/dist/core/comunica-patch.js +76 -0
  19. package/dist/core/comunica-patch.js.map +1 -0
  20. package/dist/core/conflict-resolution.d.ts +110 -0
  21. package/dist/core/conflict-resolution.d.ts.map +1 -0
  22. package/dist/core/conflict-resolution.js +251 -0
  23. package/dist/core/conflict-resolution.js.map +1 -0
  24. package/dist/core/discovery/composite-discovery.d.ts +18 -0
  25. package/dist/core/discovery/composite-discovery.d.ts.map +1 -0
  26. package/dist/core/discovery/composite-discovery.js +118 -0
  27. package/dist/core/discovery/composite-discovery.js.map +1 -0
  28. package/dist/core/discovery/index.d.ts +7 -0
  29. package/dist/core/discovery/index.d.ts.map +1 -0
  30. package/dist/core/discovery/index.js +23 -0
  31. package/dist/core/discovery/index.js.map +1 -0
  32. package/dist/core/discovery/interop-discovery.d.ts +36 -0
  33. package/dist/core/discovery/interop-discovery.d.ts.map +1 -0
  34. package/dist/core/discovery/interop-discovery.js +646 -0
  35. package/dist/core/discovery/interop-discovery.js.map +1 -0
  36. package/dist/core/discovery/interop-tables.d.ts +37 -0
  37. package/dist/core/discovery/interop-tables.d.ts.map +1 -0
  38. package/dist/core/discovery/interop-tables.js +68 -0
  39. package/dist/core/discovery/interop-tables.js.map +1 -0
  40. package/dist/core/discovery/interop-types.d.ts +36 -0
  41. package/dist/core/discovery/interop-types.d.ts.map +1 -0
  42. package/dist/core/discovery/interop-types.js +42 -0
  43. package/dist/core/discovery/interop-types.js.map +1 -0
  44. package/dist/core/discovery/provider-cache.d.ts +99 -0
  45. package/dist/core/discovery/provider-cache.d.ts.map +1 -0
  46. package/dist/core/discovery/provider-cache.js +296 -0
  47. package/dist/core/discovery/provider-cache.js.map +1 -0
  48. package/dist/core/discovery/typeindex-discovery.d.ts +30 -0
  49. package/dist/core/discovery/typeindex-discovery.d.ts.map +1 -0
  50. package/dist/core/discovery/typeindex-discovery.js +136 -0
  51. package/dist/core/discovery/typeindex-discovery.js.map +1 -0
  52. package/dist/core/discovery/types.d.ts +128 -0
  53. package/dist/core/discovery/types.d.ts.map +1 -0
  54. package/dist/core/discovery/types.js +3 -0
  55. package/dist/core/discovery/types.js.map +1 -0
  56. package/dist/core/execution/index.d.ts +14 -0
  57. package/dist/core/execution/index.d.ts.map +1 -0
  58. package/dist/core/execution/index.js +20 -0
  59. package/dist/core/execution/index.js.map +1 -0
  60. package/dist/core/execution/ldp-executor.d.ts +66 -0
  61. package/dist/core/execution/ldp-executor.d.ts.map +1 -0
  62. package/dist/core/execution/ldp-executor.js +584 -0
  63. package/dist/core/execution/ldp-executor.js.map +1 -0
  64. package/dist/core/execution/ldp-strategy.d.ts +53 -0
  65. package/dist/core/execution/ldp-strategy.d.ts.map +1 -0
  66. package/dist/core/execution/ldp-strategy.js +104 -0
  67. package/dist/core/execution/ldp-strategy.js.map +1 -0
  68. package/dist/core/execution/pod-executor-types.d.ts +9 -0
  69. package/dist/core/execution/pod-executor-types.d.ts.map +1 -0
  70. package/dist/core/execution/pod-executor-types.js +3 -0
  71. package/dist/core/execution/pod-executor-types.js.map +1 -0
  72. package/dist/core/execution/pod-executor.d.ts +59 -0
  73. package/dist/core/execution/pod-executor.d.ts.map +1 -0
  74. package/dist/core/execution/pod-executor.js +221 -0
  75. package/dist/core/execution/pod-executor.js.map +1 -0
  76. package/dist/core/execution/sparql-strategy.d.ts +80 -0
  77. package/dist/core/execution/sparql-strategy.d.ts.map +1 -0
  78. package/dist/core/execution/sparql-strategy.js +306 -0
  79. package/dist/core/execution/sparql-strategy.js.map +1 -0
  80. package/dist/core/execution/strategy-factory.d.ts +54 -0
  81. package/dist/core/execution/strategy-factory.d.ts.map +1 -0
  82. package/dist/core/execution/strategy-factory.js +78 -0
  83. package/dist/core/execution/strategy-factory.js.map +1 -0
  84. package/dist/core/execution/types.d.ts +80 -0
  85. package/dist/core/execution/types.d.ts.map +1 -0
  86. package/dist/core/execution/types.js +8 -0
  87. package/dist/core/execution/types.js.map +1 -0
  88. package/dist/core/expressions.d.ts +35 -0
  89. package/dist/core/expressions.d.ts.map +1 -0
  90. package/dist/core/expressions.js +53 -0
  91. package/dist/core/expressions.js.map +1 -0
  92. package/dist/core/federated/executor.d.ts +95 -0
  93. package/dist/core/federated/executor.d.ts.map +1 -0
  94. package/dist/core/federated/executor.js +425 -0
  95. package/dist/core/federated/executor.js.map +1 -0
  96. package/dist/core/federated/index.d.ts +3 -0
  97. package/dist/core/federated/index.d.ts.map +1 -0
  98. package/dist/core/federated/index.js +19 -0
  99. package/dist/core/federated/index.js.map +1 -0
  100. package/dist/core/federated/types.d.ts +69 -0
  101. package/dist/core/federated/types.d.ts.map +1 -0
  102. package/dist/core/federated/types.js +8 -0
  103. package/dist/core/federated/types.js.map +1 -0
  104. package/dist/core/notifications/channels/base-channel.d.ts +29 -0
  105. package/dist/core/notifications/channels/base-channel.d.ts.map +1 -0
  106. package/dist/core/notifications/channels/base-channel.js +63 -0
  107. package/dist/core/notifications/channels/base-channel.js.map +1 -0
  108. package/dist/core/notifications/channels/index.d.ts +4 -0
  109. package/dist/core/notifications/channels/index.d.ts.map +1 -0
  110. package/dist/core/notifications/channels/index.js +11 -0
  111. package/dist/core/notifications/channels/index.js.map +1 -0
  112. package/dist/core/notifications/channels/sse-channel.d.ts +50 -0
  113. package/dist/core/notifications/channels/sse-channel.d.ts.map +1 -0
  114. package/dist/core/notifications/channels/sse-channel.js +210 -0
  115. package/dist/core/notifications/channels/sse-channel.js.map +1 -0
  116. package/dist/core/notifications/channels/websocket-channel.d.ts +16 -0
  117. package/dist/core/notifications/channels/websocket-channel.d.ts.map +1 -0
  118. package/dist/core/notifications/channels/websocket-channel.js +87 -0
  119. package/dist/core/notifications/channels/websocket-channel.js.map +1 -0
  120. package/dist/core/notifications/index.d.ts +3 -0
  121. package/dist/core/notifications/index.d.ts.map +1 -0
  122. package/dist/core/notifications/index.js +6 -0
  123. package/dist/core/notifications/index.js.map +1 -0
  124. package/dist/core/notifications/notifications-client.d.ts +87 -0
  125. package/dist/core/notifications/notifications-client.d.ts.map +1 -0
  126. package/dist/core/notifications/notifications-client.js +460 -0
  127. package/dist/core/notifications/notifications-client.js.map +1 -0
  128. package/dist/core/notifications/types.d.ts +228 -0
  129. package/dist/core/notifications/types.d.ts.map +1 -0
  130. package/dist/core/notifications/types.js +7 -0
  131. package/dist/core/notifications/types.js.map +1 -0
  132. package/dist/core/pod-database.d.ts +383 -0
  133. package/dist/core/pod-database.d.ts.map +1 -0
  134. package/dist/core/pod-database.js +1212 -0
  135. package/dist/core/pod-database.js.map +1 -0
  136. package/dist/core/pod-dialect.d.ts +294 -0
  137. package/dist/core/pod-dialect.d.ts.map +1 -0
  138. package/dist/core/pod-dialect.js +1300 -0
  139. package/dist/core/pod-dialect.js.map +1 -0
  140. package/dist/core/pod-discovery.d.ts +20 -0
  141. package/dist/core/pod-discovery.d.ts.map +1 -0
  142. package/dist/core/pod-discovery.js +115 -0
  143. package/dist/core/pod-discovery.js.map +1 -0
  144. package/dist/core/pod-session.d.ts +44 -0
  145. package/dist/core/pod-session.d.ts.map +1 -0
  146. package/dist/core/pod-session.js +116 -0
  147. package/dist/core/pod-session.js.map +1 -0
  148. package/dist/core/pod-table.d.ts +710 -0
  149. package/dist/core/pod-table.d.ts.map +1 -0
  150. package/dist/core/pod-table.js +1300 -0
  151. package/dist/core/pod-table.js.map +1 -0
  152. package/dist/core/profile-manager.d.ts +90 -0
  153. package/dist/core/profile-manager.d.ts.map +1 -0
  154. package/dist/core/profile-manager.js +168 -0
  155. package/dist/core/profile-manager.js.map +1 -0
  156. package/dist/core/publish-manager.d.ts +90 -0
  157. package/dist/core/publish-manager.d.ts.map +1 -0
  158. package/dist/core/publish-manager.js +147 -0
  159. package/dist/core/publish-manager.js.map +1 -0
  160. package/dist/core/query-builders/delete-query-builder.d.ts +36 -0
  161. package/dist/core/query-builders/delete-query-builder.d.ts.map +1 -0
  162. package/dist/core/query-builders/delete-query-builder.js +144 -0
  163. package/dist/core/query-builders/delete-query-builder.js.map +1 -0
  164. package/dist/core/query-builders/helpers.d.ts +4 -0
  165. package/dist/core/query-builders/helpers.d.ts.map +1 -0
  166. package/dist/core/query-builders/helpers.js +30 -0
  167. package/dist/core/query-builders/helpers.js.map +1 -0
  168. package/dist/core/query-builders/index.d.ts +6 -0
  169. package/dist/core/query-builders/index.d.ts.map +1 -0
  170. package/dist/core/query-builders/index.js +12 -0
  171. package/dist/core/query-builders/index.js.map +1 -0
  172. package/dist/core/query-builders/insert-query-builder.d.ts +27 -0
  173. package/dist/core/query-builders/insert-query-builder.d.ts.map +1 -0
  174. package/dist/core/query-builders/insert-query-builder.js +128 -0
  175. package/dist/core/query-builders/insert-query-builder.js.map +1 -0
  176. package/dist/core/query-builders/select-query-builder.d.ts +106 -0
  177. package/dist/core/query-builders/select-query-builder.d.ts.map +1 -0
  178. package/dist/core/query-builders/select-query-builder.js +1264 -0
  179. package/dist/core/query-builders/select-query-builder.js.map +1 -0
  180. package/dist/core/query-builders/types.d.ts +37 -0
  181. package/dist/core/query-builders/types.d.ts.map +1 -0
  182. package/dist/core/query-builders/types.js +3 -0
  183. package/dist/core/query-builders/types.js.map +1 -0
  184. package/dist/core/query-builders/update-query-builder.d.ts +38 -0
  185. package/dist/core/query-builders/update-query-builder.d.ts.map +1 -0
  186. package/dist/core/query-builders/update-query-builder.js +168 -0
  187. package/dist/core/query-builders/update-query-builder.js.map +1 -0
  188. package/dist/core/query-conditions.d.ts +52 -0
  189. package/dist/core/query-conditions.d.ts.map +1 -0
  190. package/dist/core/query-conditions.js +134 -0
  191. package/dist/core/query-conditions.js.map +1 -0
  192. package/dist/core/rdf-constants.d.ts +16 -0
  193. package/dist/core/rdf-constants.d.ts.map +1 -0
  194. package/dist/core/rdf-constants.js +38 -0
  195. package/dist/core/rdf-constants.js.map +1 -0
  196. package/dist/core/rdf-schema-parser.d.ts +34 -0
  197. package/dist/core/rdf-schema-parser.d.ts.map +1 -0
  198. package/dist/core/rdf-schema-parser.js +143 -0
  199. package/dist/core/rdf-schema-parser.js.map +1 -0
  200. package/dist/core/resource-resolver/base-resolver.d.ts +29 -0
  201. package/dist/core/resource-resolver/base-resolver.d.ts.map +1 -0
  202. package/dist/core/resource-resolver/base-resolver.js +82 -0
  203. package/dist/core/resource-resolver/base-resolver.js.map +1 -0
  204. package/dist/core/resource-resolver/document-resolver.d.ts +20 -0
  205. package/dist/core/resource-resolver/document-resolver.d.ts.map +1 -0
  206. package/dist/core/resource-resolver/document-resolver.js +105 -0
  207. package/dist/core/resource-resolver/document-resolver.js.map +1 -0
  208. package/dist/core/resource-resolver/factory.d.ts +27 -0
  209. package/dist/core/resource-resolver/factory.d.ts.map +1 -0
  210. package/dist/core/resource-resolver/factory.js +58 -0
  211. package/dist/core/resource-resolver/factory.js.map +1 -0
  212. package/dist/core/resource-resolver/fragment-resolver.d.ts +20 -0
  213. package/dist/core/resource-resolver/fragment-resolver.d.ts.map +1 -0
  214. package/dist/core/resource-resolver/fragment-resolver.js +60 -0
  215. package/dist/core/resource-resolver/fragment-resolver.js.map +1 -0
  216. package/dist/core/resource-resolver/index.d.ts +11 -0
  217. package/dist/core/resource-resolver/index.d.ts.map +1 -0
  218. package/dist/core/resource-resolver/index.js +18 -0
  219. package/dist/core/resource-resolver/index.js.map +1 -0
  220. package/dist/core/resource-resolver/types.d.ts +57 -0
  221. package/dist/core/resource-resolver/types.d.ts.map +1 -0
  222. package/dist/core/resource-resolver/types.js +9 -0
  223. package/dist/core/resource-resolver/types.js.map +1 -0
  224. package/dist/core/runtime/pod-runtime.d.ts +34 -0
  225. package/dist/core/runtime/pod-runtime.d.ts.map +1 -0
  226. package/dist/core/runtime/pod-runtime.js +125 -0
  227. package/dist/core/runtime/pod-runtime.js.map +1 -0
  228. package/dist/core/schema/columns.d.ts +74 -0
  229. package/dist/core/schema/columns.d.ts.map +1 -0
  230. package/dist/core/schema/columns.js +295 -0
  231. package/dist/core/schema/columns.js.map +1 -0
  232. package/dist/core/schema/defs.d.ts +92 -0
  233. package/dist/core/schema/defs.d.ts.map +1 -0
  234. package/dist/core/schema/defs.js +43 -0
  235. package/dist/core/schema/defs.js.map +1 -0
  236. package/dist/core/schema/factories.d.ts +29 -0
  237. package/dist/core/schema/factories.d.ts.map +1 -0
  238. package/dist/core/schema/factories.js +117 -0
  239. package/dist/core/schema/factories.js.map +1 -0
  240. package/dist/core/schema/index.d.ts +9 -0
  241. package/dist/core/schema/index.d.ts.map +1 -0
  242. package/dist/core/schema/index.js +25 -0
  243. package/dist/core/schema/index.js.map +1 -0
  244. package/dist/core/schema/pod-table.d.ts +93 -0
  245. package/dist/core/schema/pod-table.d.ts.map +1 -0
  246. package/dist/core/schema/pod-table.js +294 -0
  247. package/dist/core/schema/pod-table.js.map +1 -0
  248. package/dist/core/schema/relations.d.ts +26 -0
  249. package/dist/core/schema/relations.d.ts.map +1 -0
  250. package/dist/core/schema/relations.js +36 -0
  251. package/dist/core/schema/relations.js.map +1 -0
  252. package/dist/core/schema/solid-schema.d.ts +19 -0
  253. package/dist/core/schema/solid-schema.d.ts.map +1 -0
  254. package/dist/core/schema/solid-schema.js +93 -0
  255. package/dist/core/schema/solid-schema.js.map +1 -0
  256. package/dist/core/schema/types.d.ts +45 -0
  257. package/dist/core/schema/types.d.ts.map +1 -0
  258. package/dist/core/schema/types.js +3 -0
  259. package/dist/core/schema/types.js.map +1 -0
  260. package/dist/core/schema/utils.d.ts +15 -0
  261. package/dist/core/schema/utils.d.ts.map +1 -0
  262. package/dist/core/schema/utils.js +44 -0
  263. package/dist/core/schema/utils.js.map +1 -0
  264. package/dist/core/select-plan.d.ts +45 -0
  265. package/dist/core/select-plan.d.ts.map +1 -0
  266. package/dist/core/select-plan.js +3 -0
  267. package/dist/core/select-plan.js.map +1 -0
  268. package/dist/core/services/pod-services.d.ts +41 -0
  269. package/dist/core/services/pod-services.d.ts.map +1 -0
  270. package/dist/core/services/pod-services.js +79 -0
  271. package/dist/core/services/pod-services.js.map +1 -0
  272. package/dist/core/shape/generator.d.ts +12 -0
  273. package/dist/core/shape/generator.d.ts.map +1 -0
  274. package/dist/core/shape/generator.js +109 -0
  275. package/dist/core/shape/generator.js.map +1 -0
  276. package/dist/core/shape/index.d.ts +4 -0
  277. package/dist/core/shape/index.d.ts.map +1 -0
  278. package/dist/core/shape/index.js +20 -0
  279. package/dist/core/shape/index.js.map +1 -0
  280. package/dist/core/shape/manager.d.ts +45 -0
  281. package/dist/core/shape/manager.d.ts.map +1 -0
  282. package/dist/core/shape/manager.js +393 -0
  283. package/dist/core/shape/manager.js.map +1 -0
  284. package/dist/core/shape/shacl-parser.d.ts +19 -0
  285. package/dist/core/shape/shacl-parser.d.ts.map +1 -0
  286. package/dist/core/shape/shacl-parser.js +215 -0
  287. package/dist/core/shape/shacl-parser.js.map +1 -0
  288. package/dist/core/shape/shacl.d.ts +11 -0
  289. package/dist/core/shape/shacl.d.ts.map +1 -0
  290. package/dist/core/shape/shacl.js +130 -0
  291. package/dist/core/shape/shacl.js.map +1 -0
  292. package/dist/core/shape/types.d.ts +149 -0
  293. package/dist/core/shape/types.d.ts.map +1 -0
  294. package/dist/core/shape/types.js +45 -0
  295. package/dist/core/shape/types.js.map +1 -0
  296. package/dist/core/shape/validator.d.ts +11 -0
  297. package/dist/core/shape/validator.d.ts.map +1 -0
  298. package/dist/core/shape/validator.js +232 -0
  299. package/dist/core/shape/validator.js.map +1 -0
  300. package/dist/core/solid-n3-client.d.ts +86 -0
  301. package/dist/core/solid-n3-client.d.ts.map +1 -0
  302. package/dist/core/solid-n3-client.js +279 -0
  303. package/dist/core/solid-n3-client.js.map +1 -0
  304. package/dist/core/sparql/builder/expression-builder.d.ts +42 -0
  305. package/dist/core/sparql/builder/expression-builder.d.ts.map +1 -0
  306. package/dist/core/sparql/builder/expression-builder.js +259 -0
  307. package/dist/core/sparql/builder/expression-builder.js.map +1 -0
  308. package/dist/core/sparql/builder/select-builder.d.ts +35 -0
  309. package/dist/core/sparql/builder/select-builder.d.ts.map +1 -0
  310. package/dist/core/sparql/builder/select-builder.js +446 -0
  311. package/dist/core/sparql/builder/select-builder.js.map +1 -0
  312. package/dist/core/sparql/builder/update-builder.d.ts +33 -0
  313. package/dist/core/sparql/builder/update-builder.d.ts.map +1 -0
  314. package/dist/core/sparql/builder/update-builder.js +523 -0
  315. package/dist/core/sparql/builder/update-builder.js.map +1 -0
  316. package/dist/core/sparql/helpers.d.ts +19 -0
  317. package/dist/core/sparql/helpers.d.ts.map +1 -0
  318. package/dist/core/sparql/helpers.js +172 -0
  319. package/dist/core/sparql/helpers.js.map +1 -0
  320. package/dist/core/sparql/types.d.ts +10 -0
  321. package/dist/core/sparql/types.d.ts.map +1 -0
  322. package/dist/core/sparql/types.js +3 -0
  323. package/dist/core/sparql/types.js.map +1 -0
  324. package/dist/core/sparql-executor.d.ts +34 -0
  325. package/dist/core/sparql-executor.d.ts.map +1 -0
  326. package/dist/core/sparql-executor.js +712 -0
  327. package/dist/core/sparql-executor.js.map +1 -0
  328. package/dist/core/subject/index.d.ts +29 -0
  329. package/dist/core/subject/index.d.ts.map +1 -0
  330. package/dist/core/subject/index.js +51 -0
  331. package/dist/core/subject/index.js.map +1 -0
  332. package/dist/core/subject/resolver.d.ts +92 -0
  333. package/dist/core/subject/resolver.d.ts.map +1 -0
  334. package/dist/core/subject/resolver.js +359 -0
  335. package/dist/core/subject/resolver.js.map +1 -0
  336. package/dist/core/subject/types.d.ts +90 -0
  337. package/dist/core/subject/types.d.ts.map +1 -0
  338. package/dist/core/subject/types.js +8 -0
  339. package/dist/core/subject/types.js.map +1 -0
  340. package/dist/core/triple/builder.d.ts +86 -0
  341. package/dist/core/triple/builder.d.ts.map +1 -0
  342. package/dist/core/triple/builder.js +304 -0
  343. package/dist/core/triple/builder.js.map +1 -0
  344. package/dist/core/triple/handlers/array.d.ts +23 -0
  345. package/dist/core/triple/handlers/array.d.ts.map +1 -0
  346. package/dist/core/triple/handlers/array.js +119 -0
  347. package/dist/core/triple/handlers/array.js.map +1 -0
  348. package/dist/core/triple/handlers/default.d.ts +20 -0
  349. package/dist/core/triple/handlers/default.d.ts.map +1 -0
  350. package/dist/core/triple/handlers/default.js +96 -0
  351. package/dist/core/triple/handlers/default.js.map +1 -0
  352. package/dist/core/triple/handlers/index.d.ts +35 -0
  353. package/dist/core/triple/handlers/index.d.ts.map +1 -0
  354. package/dist/core/triple/handlers/index.js +67 -0
  355. package/dist/core/triple/handlers/index.js.map +1 -0
  356. package/dist/core/triple/handlers/inline.d.ts +35 -0
  357. package/dist/core/triple/handlers/inline.d.ts.map +1 -0
  358. package/dist/core/triple/handlers/inline.js +190 -0
  359. package/dist/core/triple/handlers/inline.js.map +1 -0
  360. package/dist/core/triple/handlers/inverse.d.ts +22 -0
  361. package/dist/core/triple/handlers/inverse.d.ts.map +1 -0
  362. package/dist/core/triple/handlers/inverse.js +68 -0
  363. package/dist/core/triple/handlers/inverse.js.map +1 -0
  364. package/dist/core/triple/handlers/uri.d.ts +28 -0
  365. package/dist/core/triple/handlers/uri.d.ts.map +1 -0
  366. package/dist/core/triple/handlers/uri.js +66 -0
  367. package/dist/core/triple/handlers/uri.js.map +1 -0
  368. package/dist/core/triple/index.d.ts +9 -0
  369. package/dist/core/triple/index.d.ts.map +1 -0
  370. package/dist/core/triple/index.js +21 -0
  371. package/dist/core/triple/index.js.map +1 -0
  372. package/dist/core/triple/types.d.ts +152 -0
  373. package/dist/core/triple/types.d.ts.map +1 -0
  374. package/dist/core/triple/types.js +8 -0
  375. package/dist/core/triple/types.js.map +1 -0
  376. package/dist/core/typeindex-manager.d.ts +124 -0
  377. package/dist/core/typeindex-manager.d.ts.map +1 -0
  378. package/dist/core/typeindex-manager.js +662 -0
  379. package/dist/core/typeindex-manager.js.map +1 -0
  380. package/dist/core/types.d.ts +57 -0
  381. package/dist/core/types.d.ts.map +1 -0
  382. package/dist/core/types.js +4 -0
  383. package/dist/core/types.js.map +1 -0
  384. package/dist/core/uri/index.d.ts +8 -0
  385. package/dist/core/uri/index.d.ts.map +1 -0
  386. package/dist/core/uri/index.js +12 -0
  387. package/dist/core/uri/index.js.map +1 -0
  388. package/dist/core/uri/resolver.d.ts +79 -0
  389. package/dist/core/uri/resolver.d.ts.map +1 -0
  390. package/dist/core/uri/resolver.js +458 -0
  391. package/dist/core/uri/resolver.js.map +1 -0
  392. package/dist/core/uri/types.d.ts +143 -0
  393. package/dist/core/uri/types.d.ts.map +1 -0
  394. package/dist/core/uri/types.js +8 -0
  395. package/dist/core/uri/types.js.map +1 -0
  396. package/dist/core/utils/origin-auth.d.ts +28 -0
  397. package/dist/core/utils/origin-auth.d.ts.map +1 -0
  398. package/dist/core/utils/origin-auth.js +46 -0
  399. package/dist/core/utils/origin-auth.js.map +1 -0
  400. package/dist/core/utils/pod-root.d.ts +15 -0
  401. package/dist/core/utils/pod-root.d.ts.map +1 -0
  402. package/dist/core/utils/pod-root.js +72 -0
  403. package/dist/core/utils/pod-root.js.map +1 -0
  404. package/dist/core/zod-integration.d.ts +95 -0
  405. package/dist/core/zod-integration.d.ts.map +1 -0
  406. package/dist/core/zod-integration.js +236 -0
  407. package/dist/core/zod-integration.js.map +1 -0
  408. package/dist/driver.d.ts +23 -0
  409. package/dist/driver.d.ts.map +1 -0
  410. package/dist/driver.js +34 -0
  411. package/dist/driver.js.map +1 -0
  412. package/dist/esm/core/aggregates.d.ts +19 -0
  413. package/dist/esm/core/aggregates.d.ts.map +1 -0
  414. package/dist/esm/core/aggregates.js +43 -0
  415. package/dist/esm/core/aggregates.js.map +1 -0
  416. package/dist/esm/core/ast-to-sparql.d.ts +62 -0
  417. package/dist/esm/core/ast-to-sparql.d.ts.map +1 -0
  418. package/dist/esm/core/ast-to-sparql.js +103 -0
  419. package/dist/esm/core/ast-to-sparql.js.map +1 -0
  420. package/dist/esm/core/compile-time-types.d.ts +37 -0
  421. package/dist/esm/core/compile-time-types.d.ts.map +1 -0
  422. package/dist/esm/core/compile-time-types.js +64 -0
  423. package/dist/esm/core/compile-time-types.js.map +1 -0
  424. package/dist/esm/core/comunica-patch.d.ts +7 -0
  425. package/dist/esm/core/comunica-patch.d.ts.map +1 -0
  426. package/dist/esm/core/comunica-patch.js +76 -0
  427. package/dist/esm/core/comunica-patch.js.map +1 -0
  428. package/dist/esm/core/conflict-resolution.d.ts +110 -0
  429. package/dist/esm/core/conflict-resolution.d.ts.map +1 -0
  430. package/dist/esm/core/conflict-resolution.js +245 -0
  431. package/dist/esm/core/conflict-resolution.js.map +1 -0
  432. package/dist/esm/core/discovery/composite-discovery.d.ts +18 -0
  433. package/dist/esm/core/discovery/composite-discovery.d.ts.map +1 -0
  434. package/dist/esm/core/discovery/composite-discovery.js +114 -0
  435. package/dist/esm/core/discovery/composite-discovery.js.map +1 -0
  436. package/dist/esm/core/discovery/index.d.ts +7 -0
  437. package/dist/esm/core/discovery/index.d.ts.map +1 -0
  438. package/dist/esm/core/discovery/index.js +7 -0
  439. package/dist/esm/core/discovery/index.js.map +1 -0
  440. package/dist/esm/core/discovery/interop-discovery.d.ts +36 -0
  441. package/dist/esm/core/discovery/interop-discovery.d.ts.map +1 -0
  442. package/dist/esm/core/discovery/interop-discovery.js +642 -0
  443. package/dist/esm/core/discovery/interop-discovery.js.map +1 -0
  444. package/dist/esm/core/discovery/interop-tables.d.ts +37 -0
  445. package/dist/esm/core/discovery/interop-tables.d.ts.map +1 -0
  446. package/dist/esm/core/discovery/interop-tables.js +65 -0
  447. package/dist/esm/core/discovery/interop-tables.js.map +1 -0
  448. package/dist/esm/core/discovery/interop-types.d.ts +36 -0
  449. package/dist/esm/core/discovery/interop-types.d.ts.map +1 -0
  450. package/dist/esm/core/discovery/interop-types.js +39 -0
  451. package/dist/esm/core/discovery/interop-types.js.map +1 -0
  452. package/dist/esm/core/discovery/provider-cache.d.ts +99 -0
  453. package/dist/esm/core/discovery/provider-cache.d.ts.map +1 -0
  454. package/dist/esm/core/discovery/provider-cache.js +292 -0
  455. package/dist/esm/core/discovery/provider-cache.js.map +1 -0
  456. package/dist/esm/core/discovery/typeindex-discovery.d.ts +30 -0
  457. package/dist/esm/core/discovery/typeindex-discovery.d.ts.map +1 -0
  458. package/dist/esm/core/discovery/typeindex-discovery.js +132 -0
  459. package/dist/esm/core/discovery/typeindex-discovery.js.map +1 -0
  460. package/dist/esm/core/discovery/types.d.ts +128 -0
  461. package/dist/esm/core/discovery/types.d.ts.map +1 -0
  462. package/dist/esm/core/discovery/types.js +2 -0
  463. package/dist/esm/core/discovery/types.js.map +1 -0
  464. package/dist/esm/core/execution/index.d.ts +14 -0
  465. package/dist/esm/core/execution/index.d.ts.map +1 -0
  466. package/dist/esm/core/execution/index.js +13 -0
  467. package/dist/esm/core/execution/index.js.map +1 -0
  468. package/dist/esm/core/execution/ldp-executor.d.ts +66 -0
  469. package/dist/esm/core/execution/ldp-executor.d.ts.map +1 -0
  470. package/dist/esm/core/execution/ldp-executor.js +580 -0
  471. package/dist/esm/core/execution/ldp-executor.js.map +1 -0
  472. package/dist/esm/core/execution/ldp-strategy.d.ts +53 -0
  473. package/dist/esm/core/execution/ldp-strategy.d.ts.map +1 -0
  474. package/dist/esm/core/execution/ldp-strategy.js +100 -0
  475. package/dist/esm/core/execution/ldp-strategy.js.map +1 -0
  476. package/dist/esm/core/execution/pod-executor-types.d.ts +9 -0
  477. package/dist/esm/core/execution/pod-executor-types.d.ts.map +1 -0
  478. package/dist/esm/core/execution/pod-executor-types.js +2 -0
  479. package/dist/esm/core/execution/pod-executor-types.js.map +1 -0
  480. package/dist/esm/core/execution/pod-executor.d.ts +59 -0
  481. package/dist/esm/core/execution/pod-executor.d.ts.map +1 -0
  482. package/dist/esm/core/execution/pod-executor.js +217 -0
  483. package/dist/esm/core/execution/pod-executor.js.map +1 -0
  484. package/dist/esm/core/execution/sparql-strategy.d.ts +80 -0
  485. package/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -0
  486. package/dist/esm/core/execution/sparql-strategy.js +269 -0
  487. package/dist/esm/core/execution/sparql-strategy.js.map +1 -0
  488. package/dist/esm/core/execution/strategy-factory.d.ts +54 -0
  489. package/dist/esm/core/execution/strategy-factory.d.ts.map +1 -0
  490. package/dist/esm/core/execution/strategy-factory.js +74 -0
  491. package/dist/esm/core/execution/strategy-factory.js.map +1 -0
  492. package/dist/esm/core/execution/types.d.ts +80 -0
  493. package/dist/esm/core/execution/types.d.ts.map +1 -0
  494. package/dist/esm/core/execution/types.js +7 -0
  495. package/dist/esm/core/execution/types.js.map +1 -0
  496. package/dist/esm/core/expressions.d.ts +35 -0
  497. package/dist/esm/core/expressions.d.ts.map +1 -0
  498. package/dist/esm/core/expressions.js +45 -0
  499. package/dist/esm/core/expressions.js.map +1 -0
  500. package/dist/esm/core/federated/executor.d.ts +95 -0
  501. package/dist/esm/core/federated/executor.d.ts.map +1 -0
  502. package/dist/esm/core/federated/executor.js +421 -0
  503. package/dist/esm/core/federated/executor.js.map +1 -0
  504. package/dist/esm/core/federated/index.d.ts +3 -0
  505. package/dist/esm/core/federated/index.d.ts.map +1 -0
  506. package/dist/esm/core/federated/index.js +3 -0
  507. package/dist/esm/core/federated/index.js.map +1 -0
  508. package/dist/esm/core/federated/types.d.ts +69 -0
  509. package/dist/esm/core/federated/types.d.ts.map +1 -0
  510. package/dist/esm/core/federated/types.js +7 -0
  511. package/dist/esm/core/federated/types.js.map +1 -0
  512. package/dist/esm/core/notifications/channels/base-channel.d.ts +29 -0
  513. package/dist/esm/core/notifications/channels/base-channel.d.ts.map +1 -0
  514. package/dist/esm/core/notifications/channels/base-channel.js +58 -0
  515. package/dist/esm/core/notifications/channels/base-channel.js.map +1 -0
  516. package/dist/esm/core/notifications/channels/index.d.ts +4 -0
  517. package/dist/esm/core/notifications/channels/index.d.ts.map +1 -0
  518. package/dist/esm/core/notifications/channels/index.js +4 -0
  519. package/dist/esm/core/notifications/channels/index.js.map +1 -0
  520. package/dist/esm/core/notifications/channels/sse-channel.d.ts +50 -0
  521. package/dist/esm/core/notifications/channels/sse-channel.d.ts.map +1 -0
  522. package/dist/esm/core/notifications/channels/sse-channel.js +206 -0
  523. package/dist/esm/core/notifications/channels/sse-channel.js.map +1 -0
  524. package/dist/esm/core/notifications/channels/websocket-channel.d.ts +16 -0
  525. package/dist/esm/core/notifications/channels/websocket-channel.d.ts.map +1 -0
  526. package/dist/esm/core/notifications/channels/websocket-channel.js +83 -0
  527. package/dist/esm/core/notifications/channels/websocket-channel.js.map +1 -0
  528. package/dist/esm/core/notifications/index.d.ts +3 -0
  529. package/dist/esm/core/notifications/index.d.ts.map +1 -0
  530. package/dist/esm/core/notifications/index.js +2 -0
  531. package/dist/esm/core/notifications/index.js.map +1 -0
  532. package/dist/esm/core/notifications/notifications-client.d.ts +87 -0
  533. package/dist/esm/core/notifications/notifications-client.d.ts.map +1 -0
  534. package/dist/esm/core/notifications/notifications-client.js +456 -0
  535. package/dist/esm/core/notifications/notifications-client.js.map +1 -0
  536. package/dist/esm/core/notifications/types.d.ts +228 -0
  537. package/dist/esm/core/notifications/types.d.ts.map +1 -0
  538. package/dist/esm/core/notifications/types.js +6 -0
  539. package/dist/esm/core/notifications/types.js.map +1 -0
  540. package/dist/esm/core/pod-database.d.ts +383 -0
  541. package/dist/esm/core/pod-database.d.ts.map +1 -0
  542. package/dist/esm/core/pod-database.js +1175 -0
  543. package/dist/esm/core/pod-database.js.map +1 -0
  544. package/dist/esm/core/pod-dialect.d.ts +294 -0
  545. package/dist/esm/core/pod-dialect.d.ts.map +1 -0
  546. package/dist/esm/core/pod-dialect.js +1296 -0
  547. package/dist/esm/core/pod-dialect.js.map +1 -0
  548. package/dist/esm/core/pod-discovery.d.ts +20 -0
  549. package/dist/esm/core/pod-discovery.d.ts.map +1 -0
  550. package/dist/esm/core/pod-discovery.js +109 -0
  551. package/dist/esm/core/pod-discovery.js.map +1 -0
  552. package/dist/esm/core/pod-session.d.ts +44 -0
  553. package/dist/esm/core/pod-session.d.ts.map +1 -0
  554. package/dist/esm/core/pod-session.js +109 -0
  555. package/dist/esm/core/pod-session.js.map +1 -0
  556. package/dist/esm/core/pod-table.d.ts +710 -0
  557. package/dist/esm/core/pod-table.d.ts.map +1 -0
  558. package/dist/esm/core/pod-table.js +1249 -0
  559. package/dist/esm/core/pod-table.js.map +1 -0
  560. package/dist/esm/core/profile-manager.d.ts +90 -0
  561. package/dist/esm/core/profile-manager.d.ts.map +1 -0
  562. package/dist/esm/core/profile-manager.js +164 -0
  563. package/dist/esm/core/profile-manager.js.map +1 -0
  564. package/dist/esm/core/publish-manager.d.ts +90 -0
  565. package/dist/esm/core/publish-manager.d.ts.map +1 -0
  566. package/dist/esm/core/publish-manager.js +143 -0
  567. package/dist/esm/core/publish-manager.js.map +1 -0
  568. package/dist/esm/core/query-builders/delete-query-builder.d.ts +36 -0
  569. package/dist/esm/core/query-builders/delete-query-builder.d.ts.map +1 -0
  570. package/dist/esm/core/query-builders/delete-query-builder.js +140 -0
  571. package/dist/esm/core/query-builders/delete-query-builder.js.map +1 -0
  572. package/dist/esm/core/query-builders/helpers.d.ts +4 -0
  573. package/dist/esm/core/query-builders/helpers.d.ts.map +1 -0
  574. package/dist/esm/core/query-builders/helpers.js +26 -0
  575. package/dist/esm/core/query-builders/helpers.js.map +1 -0
  576. package/dist/esm/core/query-builders/index.d.ts +6 -0
  577. package/dist/esm/core/query-builders/index.d.ts.map +1 -0
  578. package/dist/esm/core/query-builders/index.js +5 -0
  579. package/dist/esm/core/query-builders/index.js.map +1 -0
  580. package/dist/esm/core/query-builders/insert-query-builder.d.ts +27 -0
  581. package/dist/esm/core/query-builders/insert-query-builder.d.ts.map +1 -0
  582. package/dist/esm/core/query-builders/insert-query-builder.js +124 -0
  583. package/dist/esm/core/query-builders/insert-query-builder.js.map +1 -0
  584. package/dist/esm/core/query-builders/select-query-builder.d.ts +106 -0
  585. package/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -0
  586. package/dist/esm/core/query-builders/select-query-builder.js +1260 -0
  587. package/dist/esm/core/query-builders/select-query-builder.js.map +1 -0
  588. package/dist/esm/core/query-builders/types.d.ts +37 -0
  589. package/dist/esm/core/query-builders/types.d.ts.map +1 -0
  590. package/dist/esm/core/query-builders/types.js +2 -0
  591. package/dist/esm/core/query-builders/types.js.map +1 -0
  592. package/dist/esm/core/query-builders/update-query-builder.d.ts +38 -0
  593. package/dist/esm/core/query-builders/update-query-builder.d.ts.map +1 -0
  594. package/dist/esm/core/query-builders/update-query-builder.js +164 -0
  595. package/dist/esm/core/query-builders/update-query-builder.js.map +1 -0
  596. package/dist/esm/core/query-conditions.d.ts +52 -0
  597. package/dist/esm/core/query-conditions.d.ts.map +1 -0
  598. package/dist/esm/core/query-conditions.js +111 -0
  599. package/dist/esm/core/query-conditions.js.map +1 -0
  600. package/dist/esm/core/rdf-constants.d.ts +16 -0
  601. package/dist/esm/core/rdf-constants.d.ts.map +1 -0
  602. package/dist/esm/core/rdf-constants.js +32 -0
  603. package/dist/esm/core/rdf-constants.js.map +1 -0
  604. package/dist/esm/core/rdf-schema-parser.d.ts +34 -0
  605. package/dist/esm/core/rdf-schema-parser.d.ts.map +1 -0
  606. package/dist/esm/core/rdf-schema-parser.js +136 -0
  607. package/dist/esm/core/rdf-schema-parser.js.map +1 -0
  608. package/dist/esm/core/resource-resolver/base-resolver.d.ts +29 -0
  609. package/dist/esm/core/resource-resolver/base-resolver.d.ts.map +1 -0
  610. package/dist/esm/core/resource-resolver/base-resolver.js +78 -0
  611. package/dist/esm/core/resource-resolver/base-resolver.js.map +1 -0
  612. package/dist/esm/core/resource-resolver/document-resolver.d.ts +20 -0
  613. package/dist/esm/core/resource-resolver/document-resolver.d.ts.map +1 -0
  614. package/dist/esm/core/resource-resolver/document-resolver.js +101 -0
  615. package/dist/esm/core/resource-resolver/document-resolver.js.map +1 -0
  616. package/dist/esm/core/resource-resolver/factory.d.ts +27 -0
  617. package/dist/esm/core/resource-resolver/factory.d.ts.map +1 -0
  618. package/dist/esm/core/resource-resolver/factory.js +53 -0
  619. package/dist/esm/core/resource-resolver/factory.js.map +1 -0
  620. package/dist/esm/core/resource-resolver/fragment-resolver.d.ts +20 -0
  621. package/dist/esm/core/resource-resolver/fragment-resolver.d.ts.map +1 -0
  622. package/dist/esm/core/resource-resolver/fragment-resolver.js +56 -0
  623. package/dist/esm/core/resource-resolver/fragment-resolver.js.map +1 -0
  624. package/dist/esm/core/resource-resolver/index.d.ts +11 -0
  625. package/dist/esm/core/resource-resolver/index.d.ts.map +1 -0
  626. package/dist/esm/core/resource-resolver/index.js +10 -0
  627. package/dist/esm/core/resource-resolver/index.js.map +1 -0
  628. package/dist/esm/core/resource-resolver/types.d.ts +57 -0
  629. package/dist/esm/core/resource-resolver/types.d.ts.map +1 -0
  630. package/dist/esm/core/resource-resolver/types.js +8 -0
  631. package/dist/esm/core/resource-resolver/types.js.map +1 -0
  632. package/dist/esm/core/runtime/pod-runtime.d.ts +34 -0
  633. package/dist/esm/core/runtime/pod-runtime.d.ts.map +1 -0
  634. package/dist/esm/core/runtime/pod-runtime.js +121 -0
  635. package/dist/esm/core/runtime/pod-runtime.js.map +1 -0
  636. package/dist/esm/core/schema/columns.d.ts +74 -0
  637. package/dist/esm/core/schema/columns.d.ts.map +1 -0
  638. package/dist/esm/core/schema/columns.js +282 -0
  639. package/dist/esm/core/schema/columns.js.map +1 -0
  640. package/dist/esm/core/schema/defs.d.ts +92 -0
  641. package/dist/esm/core/schema/defs.d.ts.map +1 -0
  642. package/dist/esm/core/schema/defs.js +36 -0
  643. package/dist/esm/core/schema/defs.js.map +1 -0
  644. package/dist/esm/core/schema/factories.d.ts +29 -0
  645. package/dist/esm/core/schema/factories.d.ts.map +1 -0
  646. package/dist/esm/core/schema/factories.js +89 -0
  647. package/dist/esm/core/schema/factories.js.map +1 -0
  648. package/dist/esm/core/schema/index.d.ts +9 -0
  649. package/dist/esm/core/schema/index.d.ts.map +1 -0
  650. package/dist/esm/core/schema/index.js +9 -0
  651. package/dist/esm/core/schema/index.js.map +1 -0
  652. package/dist/esm/core/schema/pod-table.d.ts +93 -0
  653. package/dist/esm/core/schema/pod-table.d.ts.map +1 -0
  654. package/dist/esm/core/schema/pod-table.js +289 -0
  655. package/dist/esm/core/schema/pod-table.js.map +1 -0
  656. package/dist/esm/core/schema/relations.d.ts +26 -0
  657. package/dist/esm/core/schema/relations.d.ts.map +1 -0
  658. package/dist/esm/core/schema/relations.js +33 -0
  659. package/dist/esm/core/schema/relations.js.map +1 -0
  660. package/dist/esm/core/schema/solid-schema.d.ts +19 -0
  661. package/dist/esm/core/schema/solid-schema.d.ts.map +1 -0
  662. package/dist/esm/core/schema/solid-schema.js +87 -0
  663. package/dist/esm/core/schema/solid-schema.js.map +1 -0
  664. package/dist/esm/core/schema/types.d.ts +45 -0
  665. package/dist/esm/core/schema/types.d.ts.map +1 -0
  666. package/dist/esm/core/schema/types.js +2 -0
  667. package/dist/esm/core/schema/types.js.map +1 -0
  668. package/dist/esm/core/schema/utils.d.ts +15 -0
  669. package/dist/esm/core/schema/utils.d.ts.map +1 -0
  670. package/dist/esm/core/schema/utils.js +40 -0
  671. package/dist/esm/core/schema/utils.js.map +1 -0
  672. package/dist/esm/core/select-plan.d.ts +45 -0
  673. package/dist/esm/core/select-plan.d.ts.map +1 -0
  674. package/dist/esm/core/select-plan.js +2 -0
  675. package/dist/esm/core/select-plan.js.map +1 -0
  676. package/dist/esm/core/services/pod-services.d.ts +41 -0
  677. package/dist/esm/core/services/pod-services.d.ts.map +1 -0
  678. package/dist/esm/core/services/pod-services.js +75 -0
  679. package/dist/esm/core/services/pod-services.js.map +1 -0
  680. package/dist/esm/core/shape/generator.d.ts +12 -0
  681. package/dist/esm/core/shape/generator.d.ts.map +1 -0
  682. package/dist/esm/core/shape/generator.js +106 -0
  683. package/dist/esm/core/shape/generator.js.map +1 -0
  684. package/dist/esm/core/shape/index.d.ts +4 -0
  685. package/dist/esm/core/shape/index.d.ts.map +1 -0
  686. package/dist/esm/core/shape/index.js +4 -0
  687. package/dist/esm/core/shape/index.js.map +1 -0
  688. package/dist/esm/core/shape/manager.d.ts +45 -0
  689. package/dist/esm/core/shape/manager.d.ts.map +1 -0
  690. package/dist/esm/core/shape/manager.js +389 -0
  691. package/dist/esm/core/shape/manager.js.map +1 -0
  692. package/dist/esm/core/shape/shacl-parser.d.ts +19 -0
  693. package/dist/esm/core/shape/shacl-parser.d.ts.map +1 -0
  694. package/dist/esm/core/shape/shacl-parser.js +210 -0
  695. package/dist/esm/core/shape/shacl-parser.js.map +1 -0
  696. package/dist/esm/core/shape/shacl.d.ts +11 -0
  697. package/dist/esm/core/shape/shacl.d.ts.map +1 -0
  698. package/dist/esm/core/shape/shacl.js +127 -0
  699. package/dist/esm/core/shape/shacl.js.map +1 -0
  700. package/dist/esm/core/shape/types.d.ts +149 -0
  701. package/dist/esm/core/shape/types.d.ts.map +1 -0
  702. package/dist/esm/core/shape/types.js +42 -0
  703. package/dist/esm/core/shape/types.js.map +1 -0
  704. package/dist/esm/core/shape/validator.d.ts +11 -0
  705. package/dist/esm/core/shape/validator.d.ts.map +1 -0
  706. package/dist/esm/core/shape/validator.js +229 -0
  707. package/dist/esm/core/shape/validator.js.map +1 -0
  708. package/dist/esm/core/solid-n3-client.d.ts +86 -0
  709. package/dist/esm/core/solid-n3-client.d.ts.map +1 -0
  710. package/dist/esm/core/solid-n3-client.js +275 -0
  711. package/dist/esm/core/solid-n3-client.js.map +1 -0
  712. package/dist/esm/core/sparql/builder/expression-builder.d.ts +42 -0
  713. package/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -0
  714. package/dist/esm/core/sparql/builder/expression-builder.js +255 -0
  715. package/dist/esm/core/sparql/builder/expression-builder.js.map +1 -0
  716. package/dist/esm/core/sparql/builder/select-builder.d.ts +35 -0
  717. package/dist/esm/core/sparql/builder/select-builder.d.ts.map +1 -0
  718. package/dist/esm/core/sparql/builder/select-builder.js +409 -0
  719. package/dist/esm/core/sparql/builder/select-builder.js.map +1 -0
  720. package/dist/esm/core/sparql/builder/update-builder.d.ts +33 -0
  721. package/dist/esm/core/sparql/builder/update-builder.d.ts.map +1 -0
  722. package/dist/esm/core/sparql/builder/update-builder.js +486 -0
  723. package/dist/esm/core/sparql/builder/update-builder.js.map +1 -0
  724. package/dist/esm/core/sparql/helpers.d.ts +19 -0
  725. package/dist/esm/core/sparql/helpers.d.ts.map +1 -0
  726. package/dist/esm/core/sparql/helpers.js +165 -0
  727. package/dist/esm/core/sparql/helpers.js.map +1 -0
  728. package/dist/esm/core/sparql/types.d.ts +10 -0
  729. package/dist/esm/core/sparql/types.d.ts.map +1 -0
  730. package/dist/esm/core/sparql/types.js +2 -0
  731. package/dist/esm/core/sparql/types.js.map +1 -0
  732. package/dist/esm/core/sparql-executor.d.ts +34 -0
  733. package/dist/esm/core/sparql-executor.d.ts.map +1 -0
  734. package/dist/esm/core/sparql-executor.js +708 -0
  735. package/dist/esm/core/sparql-executor.js.map +1 -0
  736. package/dist/esm/core/subject/index.d.ts +29 -0
  737. package/dist/esm/core/subject/index.d.ts.map +1 -0
  738. package/dist/esm/core/subject/index.js +49 -0
  739. package/dist/esm/core/subject/index.js.map +1 -0
  740. package/dist/esm/core/subject/resolver.d.ts +92 -0
  741. package/dist/esm/core/subject/resolver.d.ts.map +1 -0
  742. package/dist/esm/core/subject/resolver.js +355 -0
  743. package/dist/esm/core/subject/resolver.js.map +1 -0
  744. package/dist/esm/core/subject/types.d.ts +90 -0
  745. package/dist/esm/core/subject/types.d.ts.map +1 -0
  746. package/dist/esm/core/subject/types.js +7 -0
  747. package/dist/esm/core/subject/types.js.map +1 -0
  748. package/dist/esm/core/triple/builder.d.ts +86 -0
  749. package/dist/esm/core/triple/builder.d.ts.map +1 -0
  750. package/dist/esm/core/triple/builder.js +300 -0
  751. package/dist/esm/core/triple/builder.js.map +1 -0
  752. package/dist/esm/core/triple/handlers/array.d.ts +23 -0
  753. package/dist/esm/core/triple/handlers/array.d.ts.map +1 -0
  754. package/dist/esm/core/triple/handlers/array.js +115 -0
  755. package/dist/esm/core/triple/handlers/array.js.map +1 -0
  756. package/dist/esm/core/triple/handlers/default.d.ts +20 -0
  757. package/dist/esm/core/triple/handlers/default.d.ts.map +1 -0
  758. package/dist/esm/core/triple/handlers/default.js +92 -0
  759. package/dist/esm/core/triple/handlers/default.js.map +1 -0
  760. package/dist/esm/core/triple/handlers/index.d.ts +35 -0
  761. package/dist/esm/core/triple/handlers/index.d.ts.map +1 -0
  762. package/dist/esm/core/triple/handlers/index.js +59 -0
  763. package/dist/esm/core/triple/handlers/index.js.map +1 -0
  764. package/dist/esm/core/triple/handlers/inline.d.ts +35 -0
  765. package/dist/esm/core/triple/handlers/inline.d.ts.map +1 -0
  766. package/dist/esm/core/triple/handlers/inline.js +186 -0
  767. package/dist/esm/core/triple/handlers/inline.js.map +1 -0
  768. package/dist/esm/core/triple/handlers/inverse.d.ts +22 -0
  769. package/dist/esm/core/triple/handlers/inverse.d.ts.map +1 -0
  770. package/dist/esm/core/triple/handlers/inverse.js +64 -0
  771. package/dist/esm/core/triple/handlers/inverse.js.map +1 -0
  772. package/dist/esm/core/triple/handlers/uri.d.ts +28 -0
  773. package/dist/esm/core/triple/handlers/uri.d.ts.map +1 -0
  774. package/dist/esm/core/triple/handlers/uri.js +62 -0
  775. package/dist/esm/core/triple/handlers/uri.js.map +1 -0
  776. package/dist/esm/core/triple/index.d.ts +9 -0
  777. package/dist/esm/core/triple/index.d.ts.map +1 -0
  778. package/dist/esm/core/triple/index.js +10 -0
  779. package/dist/esm/core/triple/index.js.map +1 -0
  780. package/dist/esm/core/triple/types.d.ts +152 -0
  781. package/dist/esm/core/triple/types.d.ts.map +1 -0
  782. package/dist/esm/core/triple/types.js +7 -0
  783. package/dist/esm/core/triple/types.js.map +1 -0
  784. package/dist/esm/core/typeindex-manager.d.ts +124 -0
  785. package/dist/esm/core/typeindex-manager.d.ts.map +1 -0
  786. package/dist/esm/core/typeindex-manager.js +658 -0
  787. package/dist/esm/core/typeindex-manager.js.map +1 -0
  788. package/dist/esm/core/types.d.ts +57 -0
  789. package/dist/esm/core/types.d.ts.map +1 -0
  790. package/dist/esm/core/types.js +3 -0
  791. package/dist/esm/core/types.js.map +1 -0
  792. package/dist/esm/core/uri/index.d.ts +8 -0
  793. package/dist/esm/core/uri/index.d.ts.map +1 -0
  794. package/dist/esm/core/uri/index.js +8 -0
  795. package/dist/esm/core/uri/index.js.map +1 -0
  796. package/dist/esm/core/uri/resolver.d.ts +79 -0
  797. package/dist/esm/core/uri/resolver.d.ts.map +1 -0
  798. package/dist/esm/core/uri/resolver.js +454 -0
  799. package/dist/esm/core/uri/resolver.js.map +1 -0
  800. package/dist/esm/core/uri/types.d.ts +143 -0
  801. package/dist/esm/core/uri/types.d.ts.map +1 -0
  802. package/dist/esm/core/uri/types.js +7 -0
  803. package/dist/esm/core/uri/types.js.map +1 -0
  804. package/dist/esm/core/utils/origin-auth.d.ts +28 -0
  805. package/dist/esm/core/utils/origin-auth.d.ts.map +1 -0
  806. package/dist/esm/core/utils/origin-auth.js +42 -0
  807. package/dist/esm/core/utils/origin-auth.js.map +1 -0
  808. package/dist/esm/core/utils/pod-root.d.ts +15 -0
  809. package/dist/esm/core/utils/pod-root.d.ts.map +1 -0
  810. package/dist/esm/core/utils/pod-root.js +69 -0
  811. package/dist/esm/core/utils/pod-root.js.map +1 -0
  812. package/dist/esm/core/zod-integration.d.ts +95 -0
  813. package/dist/esm/core/zod-integration.d.ts.map +1 -0
  814. package/dist/esm/core/zod-integration.js +227 -0
  815. package/dist/esm/core/zod-integration.js.map +1 -0
  816. package/dist/esm/driver.d.ts +23 -0
  817. package/dist/esm/driver.d.ts.map +1 -0
  818. package/dist/esm/driver.js +30 -0
  819. package/dist/esm/driver.js.map +1 -0
  820. package/dist/esm/index.d.ts +23 -0
  821. package/dist/esm/index.d.ts.map +1 -0
  822. package/dist/esm/index.js +44 -0
  823. package/dist/esm/index.js.map +1 -0
  824. package/dist/esm/solid.d.ts +21 -0
  825. package/dist/esm/solid.d.ts.map +1 -0
  826. package/dist/esm/solid.js +30 -0
  827. package/dist/esm/solid.js.map +1 -0
  828. package/dist/esm/test-utils/real-test-helpers.d.ts +5 -0
  829. package/dist/esm/test-utils/real-test-helpers.d.ts.map +1 -0
  830. package/dist/esm/test-utils/real-test-helpers.js +17 -0
  831. package/dist/esm/test-utils/real-test-helpers.js.map +1 -0
  832. package/dist/esm/types/sparql-types.d.ts +27 -0
  833. package/dist/esm/types/sparql-types.d.ts.map +1 -0
  834. package/dist/esm/types/sparql-types.js +3 -0
  835. package/dist/esm/types/sparql-types.js.map +1 -0
  836. package/dist/esm/utils/find-by-iri.d.ts +9 -0
  837. package/dist/esm/utils/find-by-iri.d.ts.map +1 -0
  838. package/dist/esm/utils/find-by-iri.js +22 -0
  839. package/dist/esm/utils/find-by-iri.js.map +1 -0
  840. package/dist/esm/utils/helpers.d.ts +17 -0
  841. package/dist/esm/utils/helpers.d.ts.map +1 -0
  842. package/dist/esm/utils/helpers.js +59 -0
  843. package/dist/esm/utils/helpers.js.map +1 -0
  844. package/dist/esm/utils/namespace.d.ts +4 -0
  845. package/dist/esm/utils/namespace.d.ts.map +1 -0
  846. package/dist/esm/utils/namespace.js +30 -0
  847. package/dist/esm/utils/namespace.js.map +1 -0
  848. package/dist/esm/utils/rdf-helpers.d.ts +17 -0
  849. package/dist/esm/utils/rdf-helpers.d.ts.map +1 -0
  850. package/dist/esm/utils/rdf-helpers.js +47 -0
  851. package/dist/esm/utils/rdf-helpers.js.map +1 -0
  852. package/dist/esm/utils/rdf-validation.d.ts +25 -0
  853. package/dist/esm/utils/rdf-validation.d.ts.map +1 -0
  854. package/dist/esm/utils/rdf-validation.js +288 -0
  855. package/dist/esm/utils/rdf-validation.js.map +1 -0
  856. package/dist/esm/utils/thing-operations.d.ts +28 -0
  857. package/dist/esm/utils/thing-operations.d.ts.map +1 -0
  858. package/dist/esm/utils/thing-operations.js +249 -0
  859. package/dist/esm/utils/thing-operations.js.map +1 -0
  860. package/dist/index.d.ts +23 -0
  861. package/dist/index.d.ts.map +1 -0
  862. package/dist/index.js +156 -0
  863. package/dist/index.js.map +1 -0
  864. package/dist/solid.d.ts +21 -0
  865. package/dist/solid.d.ts.map +1 -0
  866. package/dist/solid.js +35 -0
  867. package/dist/solid.js.map +1 -0
  868. package/dist/test-utils/real-test-helpers.d.ts +5 -0
  869. package/dist/test-utils/real-test-helpers.d.ts.map +1 -0
  870. package/dist/test-utils/real-test-helpers.js +22 -0
  871. package/dist/test-utils/real-test-helpers.js.map +1 -0
  872. package/dist/types/sparql-types.d.ts +27 -0
  873. package/dist/types/sparql-types.d.ts.map +1 -0
  874. package/dist/types/sparql-types.js +4 -0
  875. package/dist/types/sparql-types.js.map +1 -0
  876. package/dist/utils/find-by-iri.d.ts +9 -0
  877. package/dist/utils/find-by-iri.d.ts.map +1 -0
  878. package/dist/utils/find-by-iri.js +25 -0
  879. package/dist/utils/find-by-iri.js.map +1 -0
  880. package/dist/utils/helpers.d.ts +17 -0
  881. package/dist/utils/helpers.d.ts.map +1 -0
  882. package/dist/utils/helpers.js +65 -0
  883. package/dist/utils/helpers.js.map +1 -0
  884. package/dist/utils/namespace.d.ts +4 -0
  885. package/dist/utils/namespace.d.ts.map +1 -0
  886. package/dist/utils/namespace.js +33 -0
  887. package/dist/utils/namespace.js.map +1 -0
  888. package/dist/utils/rdf-helpers.d.ts +17 -0
  889. package/dist/utils/rdf-helpers.d.ts.map +1 -0
  890. package/dist/utils/rdf-helpers.js +53 -0
  891. package/dist/utils/rdf-helpers.js.map +1 -0
  892. package/dist/utils/rdf-validation.d.ts +25 -0
  893. package/dist/utils/rdf-validation.d.ts.map +1 -0
  894. package/dist/utils/rdf-validation.js +292 -0
  895. package/dist/utils/rdf-validation.js.map +1 -0
  896. package/dist/utils/thing-operations.d.ts +28 -0
  897. package/dist/utils/thing-operations.d.ts.map +1 -0
  898. package/dist/utils/thing-operations.js +256 -0
  899. package/dist/utils/thing-operations.js.map +1 -0
  900. package/package.json +98 -0
@@ -0,0 +1,389 @@
1
+ import { podTable, string, integer, boolean, date, uri, object } from '../schema';
2
+ import { XSD, SHACL } from './types';
3
+ import { getPredicateForColumn } from '../sparql/helpers';
4
+ import { z } from 'zod';
5
+ import { parseSHACL, xsdToDrizzleType, nodeKindToDrizzleType } from './shacl-parser';
6
+ export class DrizzleShapeManager {
7
+ constructor(podUrl, authenticatedFetch) {
8
+ this.podUrl = podUrl.endsWith('/') ? podUrl : `${podUrl}/`;
9
+ this.authenticatedFetch = authenticatedFetch ?? globalThis.fetch;
10
+ }
11
+ generateShape(table) {
12
+ const tableType = typeof table.config.type === 'string' ? table.config.type : table.config.type.value;
13
+ const resourcePath = table.getResourcePath?.() || table.getContainerPath();
14
+ let baseUri = resourcePath;
15
+ if (baseUri && !baseUri.startsWith('http')) {
16
+ baseUri = `${this.podUrl}${baseUri.replace(/^\//, '')}`;
17
+ }
18
+ if (!baseUri) {
19
+ baseUri = this.podUrl;
20
+ }
21
+ // Ensure baseUri ends with / if it's a container, or is the file if it's a document
22
+ const isContainer = baseUri.endsWith('/');
23
+ const shapeBase = isContainer ? `${baseUri}shapes/` : `${baseUri.substring(0, baseUri.lastIndexOf('/') + 1)}shapes/`;
24
+ const shapeUri = `${shapeBase}${table.config.name}Shape.ttl#${table.config.name}Shape`;
25
+ const properties = [];
26
+ Object.entries(table.columns).forEach(([columnName, column]) => {
27
+ // Skip 'id' column as it is the subject identifier
28
+ if (columnName === 'id')
29
+ return;
30
+ const predicate = getPredicateForColumn(column, table);
31
+ if (!predicate || predicate.includes('example.org/unknown'))
32
+ return;
33
+ const prop = {
34
+ path: predicate,
35
+ name: column.name,
36
+ minCount: column.options?.required ? 1 : undefined,
37
+ maxCount: (column.dataType === 'array' || column.options?.isArray) ? undefined : 1,
38
+ };
39
+ if (column.options?.inverse) {
40
+ prop.inverse = true;
41
+ }
42
+ // Check reference first
43
+ if (column.dataType === 'uri' || column.options?.referenceTarget) {
44
+ prop.datatype = column.dataType === 'uri' ? XSD.ANYURI : undefined;
45
+ prop.nodeKind = SHACL.IRI;
46
+ prop.class = column.options?.referenceTarget;
47
+ }
48
+ else {
49
+ // Map Drizzle-Solid types to XSD/SHACL nodeKind
50
+ switch (column.dataType) {
51
+ case 'string':
52
+ prop.datatype = XSD.STRING;
53
+ prop.nodeKind = SHACL.LITERAL;
54
+ break;
55
+ case 'integer':
56
+ prop.datatype = XSD.INTEGER;
57
+ prop.nodeKind = SHACL.LITERAL;
58
+ break;
59
+ case 'boolean':
60
+ prop.datatype = XSD.BOOLEAN;
61
+ prop.nodeKind = SHACL.LITERAL;
62
+ break;
63
+ case 'datetime':
64
+ prop.datatype = XSD.DATETIME;
65
+ prop.nodeKind = SHACL.LITERAL;
66
+ break;
67
+ case 'object':
68
+ case 'json':
69
+ prop.nodeKind = SHACL.BLANK_NODE;
70
+ break;
71
+ case 'array':
72
+ prop.minCount = column.options?.required ? 1 : 0;
73
+ break;
74
+ default:
75
+ break;
76
+ }
77
+ }
78
+ properties.push(prop);
79
+ });
80
+ return {
81
+ uri: shapeUri,
82
+ name: `${table.config.name} Shape`,
83
+ description: `SHACL Shape for the ${table.config.name} PodTable.`,
84
+ targetClass: tableType,
85
+ properties: properties.filter(p => p.path !== SHACL.PATH)
86
+ };
87
+ }
88
+ toSHACL(shape) {
89
+ const lines = [
90
+ `@prefix sh: <${SHACL.NS}> .`,
91
+ `@prefix xsd: <${XSD.ANYURI.slice(0, XSD.ANYURI.lastIndexOf('#') + 1)}> .`,
92
+ `@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .`,
93
+ `@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .`,
94
+ `@prefix schema: <https://schema.org/> .`,
95
+ `@prefix foaf: <http://xmlns.com/foaf/0.1/> .`,
96
+ `@prefix dc: <http://purl.org/dc/terms/> .`,
97
+ `@prefix : <${shape.uri.slice(0, shape.uri.indexOf('#') + 1)}>`,
98
+ '',
99
+ `:${shape.name?.replace(/\s/g, '')} a sh:NodeShape ;`,
100
+ ` sh:targetClass <${shape.targetClass}> ;`,
101
+ ` sh:closed false ;`
102
+ ];
103
+ if (shape.name) {
104
+ lines.push(` sh:name "${shape.name}" ;`);
105
+ }
106
+ if (shape.description) {
107
+ lines.push(` sh:description "${shape.description}" ;`);
108
+ lines.push(` rdfs:comment """${shape.description}""" ;`);
109
+ }
110
+ shape.properties.forEach(prop => {
111
+ lines.push(` sh:property [`);
112
+ lines.push(` sh:path ${prop.inverse ? `[ sh:inversePath <${prop.path}> ]` : `<${prop.path}>`} ;`);
113
+ if (prop.name) {
114
+ lines.push(` sh:name "${prop.name}" ;`);
115
+ }
116
+ if (prop.datatype) {
117
+ lines.push(` sh:datatype <${prop.datatype}> ;`);
118
+ }
119
+ if (prop.nodeKind) {
120
+ lines.push(` sh:nodeKind <${prop.nodeKind}> ;`);
121
+ }
122
+ if (typeof prop.minCount === 'number') {
123
+ lines.push(` sh:minCount ${prop.minCount} ;`);
124
+ }
125
+ if (typeof prop.maxCount === 'number') {
126
+ lines.push(` sh:maxCount ${prop.maxCount} ;`);
127
+ }
128
+ if (prop.pattern) {
129
+ lines.push(` sh:pattern "${prop.pattern}" ;`);
130
+ }
131
+ if (prop.class) {
132
+ lines.push(` sh:class <${prop.class}> ;`);
133
+ }
134
+ // Remove trailing semicolon from last property, then add closing bracket.
135
+ lines[lines.length - 1] = lines[lines.length - 1].replace(/\s;$/, '');
136
+ lines.push(` ] ;`);
137
+ });
138
+ lines[lines.length - 1] = lines[lines.length - 1].replace(/\s;$/, ' .'); // Finalize last property
139
+ return lines.join('\n');
140
+ }
141
+ async saveShape(shape, location, fetchFn) {
142
+ const effectiveFetch = fetchFn ?? this.authenticatedFetch;
143
+ const shaclContent = this.toSHACL(shape);
144
+ const response = await effectiveFetch(location, {
145
+ method: 'PUT',
146
+ headers: {
147
+ 'Content-Type': 'text/turtle'
148
+ },
149
+ body: shaclContent
150
+ });
151
+ if (!response.ok) {
152
+ const text = await response.text().catch(() => '');
153
+ throw new Error(`Failed to save shape to ${location}: ${response.status} ${response.statusText}${text ? ` - ${text}` : ''}`);
154
+ }
155
+ }
156
+ async loadShape(uri, fetchFn) {
157
+ const effectiveFetch = fetchFn ?? this.authenticatedFetch;
158
+ try {
159
+ // 获取 Shape 资源
160
+ const response = await effectiveFetch(uri, {
161
+ headers: {
162
+ 'Accept': 'text/turtle, application/ld+json'
163
+ }
164
+ });
165
+ if (!response.ok) {
166
+ console.warn(`[ShapeManager] Failed to fetch Shape from ${uri}: ${response.status}`);
167
+ return null;
168
+ }
169
+ const turtle = await response.text();
170
+ // 解析 SHACL
171
+ const shapes = await parseSHACL(turtle, uri);
172
+ if (shapes.length === 0) {
173
+ console.warn(`[ShapeManager] No shapes found in ${uri}`);
174
+ return null;
175
+ }
176
+ // 返回第一个 Shape,或者匹配 URI 的 Shape
177
+ const exactMatch = shapes.find(s => s.uri === uri || uri.includes(s.uri));
178
+ return exactMatch || shapes[0];
179
+ }
180
+ catch (error) {
181
+ console.error(`[ShapeManager] Error loading Shape from ${uri}:`, error);
182
+ return null;
183
+ }
184
+ }
185
+ /**
186
+ * 从 Shape 生成 PodTable 定义
187
+ *
188
+ * @param shape Shape 定义
189
+ * @param containerPath 容器路径(可选)
190
+ * @returns 生成的表定义
191
+ */
192
+ shapeToTable(shape, containerPath) {
193
+ // 从 targetClass 提取表名
194
+ const tableName = this.extractTableName(shape);
195
+ // 构建列定义
196
+ const columns = {
197
+ // 始终包含 id 列
198
+ id: string('id').primaryKey()
199
+ };
200
+ for (const prop of shape.properties) {
201
+ const columnName = prop.name || this.extractNameFromPath(prop.path);
202
+ const column = this.propertyToColumn(prop, columnName);
203
+ if (column) {
204
+ columns[columnName] = column;
205
+ }
206
+ }
207
+ // 创建 PodTable
208
+ const table = podTable(tableName, columns, {
209
+ type: shape.targetClass,
210
+ base: containerPath
211
+ });
212
+ return {
213
+ name: tableName,
214
+ table,
215
+ shape
216
+ };
217
+ }
218
+ /**
219
+ * 从 Shape URI 或 targetClass 提取表名
220
+ */
221
+ extractTableName(shape) {
222
+ // 优先使用 shape.name
223
+ if (shape.name) {
224
+ return shape.name.replace(/\s+/g, '_').replace(/Shape$/i, '').toLowerCase();
225
+ }
226
+ // 从 targetClass 提取
227
+ return this.extractNameFromPath(shape.targetClass).toLowerCase();
228
+ }
229
+ /**
230
+ * 从 URI 路径提取名称
231
+ */
232
+ extractNameFromPath(path) {
233
+ const hashIndex = path.lastIndexOf('#');
234
+ if (hashIndex >= 0) {
235
+ return path.substring(hashIndex + 1);
236
+ }
237
+ const slashIndex = path.lastIndexOf('/');
238
+ if (slashIndex >= 0) {
239
+ return path.substring(slashIndex + 1);
240
+ }
241
+ return path;
242
+ }
243
+ /**
244
+ * 将 ShapeProperty 转换为 PodTable 列定义
245
+ */
246
+ propertyToColumn(prop, columnName) {
247
+ // 确定数据类型
248
+ let drizzleType = 'string';
249
+ if (prop.nodeKind) {
250
+ const fromNodeKind = nodeKindToDrizzleType(prop.nodeKind);
251
+ if (fromNodeKind) {
252
+ drizzleType = fromNodeKind;
253
+ }
254
+ }
255
+ if (prop.datatype) {
256
+ drizzleType = xsdToDrizzleType(prop.datatype);
257
+ }
258
+ // 如果有 class 约束,说明是引用类型
259
+ if (prop.class) {
260
+ drizzleType = 'uri';
261
+ }
262
+ // 判断是否数组
263
+ const isArray = prop.maxCount === undefined || prop.maxCount > 1;
264
+ const isRequired = prop.minCount !== undefined && prop.minCount > 0;
265
+ // 创建列 - 使用列名作为标识符,设置 predicate 为 path URI
266
+ let column;
267
+ switch (drizzleType) {
268
+ case 'string':
269
+ column = string(columnName).predicate(prop.path);
270
+ break;
271
+ case 'integer':
272
+ column = integer(columnName).predicate(prop.path);
273
+ break;
274
+ case 'boolean':
275
+ column = boolean(columnName).predicate(prop.path);
276
+ break;
277
+ case 'datetime':
278
+ column = date(columnName).predicate(prop.path);
279
+ break;
280
+ case 'uri':
281
+ column = uri(columnName).predicate(prop.path);
282
+ if (prop.class) {
283
+ column = column.references(prop.class);
284
+ }
285
+ break;
286
+ case 'object':
287
+ column = object(columnName).predicate(prop.path);
288
+ break;
289
+ default:
290
+ column = string(columnName).predicate(prop.path);
291
+ }
292
+ // 应用约束
293
+ if (isRequired) {
294
+ column = column.notNull();
295
+ }
296
+ if (isArray) {
297
+ column = column.array();
298
+ }
299
+ if (prop.inverse) {
300
+ column = column.inverse();
301
+ }
302
+ return column;
303
+ }
304
+ validate(data, shape) {
305
+ try {
306
+ const zodSchema = this.shapeToZod(shape);
307
+ zodSchema.parse(data);
308
+ return { valid: true };
309
+ }
310
+ catch (error) {
311
+ // console.log('Zod Error:', JSON.stringify(error, null, 2));
312
+ const errors = error instanceof z.ZodError ? error.issues : (error && Array.isArray(error.errors) ? error.errors : undefined);
313
+ if (errors) {
314
+ return {
315
+ valid: false,
316
+ errors: errors.map((e) => ({
317
+ path: e.path ? String(e.path[0]) : '',
318
+ message: e.message,
319
+ constraint: e.code || 'unknown',
320
+ value: undefined
321
+ }))
322
+ };
323
+ }
324
+ return {
325
+ valid: false,
326
+ errors: [{ path: '', message: String(error) }]
327
+ };
328
+ }
329
+ }
330
+ shapeToZod(shape) {
331
+ const shapeMap = {};
332
+ shape.properties.forEach(prop => {
333
+ if (!prop.name)
334
+ return;
335
+ let zodType = z.any();
336
+ // 1. Base Type Mapping
337
+ if (prop.nodeKind === SHACL.IRI) {
338
+ zodType = z.string().url().or(z.string().startsWith('http'));
339
+ }
340
+ else if (prop.datatype) {
341
+ switch (prop.datatype) {
342
+ case XSD.STRING:
343
+ zodType = z.string();
344
+ if (prop.pattern) {
345
+ zodType = zodType.regex(new RegExp(prop.pattern));
346
+ }
347
+ break;
348
+ case XSD.INTEGER:
349
+ zodType = z.number().int().or(z.string().regex(/^\d+$/));
350
+ break;
351
+ case XSD.DECIMAL:
352
+ case XSD.DOUBLE:
353
+ zodType = z.number().or(z.string().regex(/^-?\d*\.?\d+$/));
354
+ break;
355
+ case XSD.BOOLEAN:
356
+ zodType = z.boolean().or(z.string().regex(/^(true|false|1|0)$/i));
357
+ break;
358
+ case XSD.DATETIME:
359
+ case XSD.DATE:
360
+ zodType = z.date().or(z.string().datetime({ offset: true }));
361
+ break;
362
+ case XSD.ANYURI:
363
+ zodType = z.string();
364
+ break;
365
+ }
366
+ }
367
+ // 3. Array / Optional Handling
368
+ const isArray = prop.maxCount !== 1;
369
+ const isRequired = prop.minCount !== undefined && prop.minCount > 0;
370
+ if (isArray) {
371
+ zodType = z.array(zodType);
372
+ if (!isRequired) {
373
+ zodType = zodType.optional();
374
+ }
375
+ else {
376
+ zodType = zodType.min(prop.minCount);
377
+ }
378
+ }
379
+ else {
380
+ if (!isRequired) {
381
+ zodType = zodType.optional();
382
+ }
383
+ }
384
+ shapeMap[prop.name] = zodType;
385
+ });
386
+ return z.object(shapeMap);
387
+ }
388
+ }
389
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/core/shape/manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * SHACL Shape 解析器
3
+ *
4
+ * 从 Turtle 格式的 SHACL 定义解析出 Shape 对象
5
+ */
6
+ import { Shape } from './types';
7
+ /**
8
+ * 从 Turtle 内容解析 SHACL Shape
9
+ */
10
+ export declare function parseSHACL(turtle: string, baseUri?: string): Promise<Shape[]>;
11
+ /**
12
+ * XSD 类型到 Drizzle-Solid 类型的映射
13
+ */
14
+ export declare function xsdToDrizzleType(xsdType: string | undefined): string;
15
+ /**
16
+ * 从 nodeKind 推断类型
17
+ */
18
+ export declare function nodeKindToDrizzleType(nodeKind: string | undefined): string | undefined;
19
+ //# sourceMappingURL=shacl-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shacl-parser.d.ts","sourceRoot":"","sources":["../../../../src/core/shape/shacl-parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAA6B,MAAM,SAAS,CAAC;AAE3D;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CA2BnF;AAiKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAqBpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAatF"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * SHACL Shape 解析器
3
+ *
4
+ * 从 Turtle 格式的 SHACL 定义解析出 Shape 对象
5
+ */
6
+ import { Parser, Store, NamedNode } from 'n3';
7
+ import { SHACL, XSD } from './types';
8
+ /**
9
+ * 从 Turtle 内容解析 SHACL Shape
10
+ */
11
+ export async function parseSHACL(turtle, baseUri) {
12
+ const store = new Store();
13
+ const parser = new Parser({ baseIRI: baseUri });
14
+ return new Promise((resolve, reject) => {
15
+ const quads = [];
16
+ parser.parse(turtle, (error, quad, prefixes) => {
17
+ if (error) {
18
+ reject(error);
19
+ return;
20
+ }
21
+ if (quad) {
22
+ quads.push(quad);
23
+ }
24
+ else {
25
+ // Parsing complete
26
+ store.addQuads(quads);
27
+ try {
28
+ const shapes = extractShapes(store);
29
+ resolve(shapes);
30
+ }
31
+ catch (e) {
32
+ reject(e);
33
+ }
34
+ }
35
+ });
36
+ });
37
+ }
38
+ /**
39
+ * 从 RDF Store 提取所有 Shape
40
+ */
41
+ function extractShapes(store) {
42
+ const shapes = [];
43
+ // 查找所有 sh:NodeShape
44
+ const nodeShapeQuads = store.getQuads(null, new NamedNode('http://www.w3.org/1999/02/22-rdf-syntax-ns#type'), new NamedNode(SHACL.NODE_SHAPE), null);
45
+ for (const quad of nodeShapeQuads) {
46
+ const shapeSubject = quad.subject;
47
+ // 只处理 NamedNode 和 BlankNode,跳过 Variable
48
+ if (shapeSubject.termType === 'NamedNode' || shapeSubject.termType === 'BlankNode') {
49
+ const shape = extractShape(store, shapeSubject);
50
+ if (shape) {
51
+ shapes.push(shape);
52
+ }
53
+ }
54
+ }
55
+ return shapes;
56
+ }
57
+ /**
58
+ * 提取单个 Shape
59
+ */
60
+ function extractShape(store, shapeNode) {
61
+ // 获取 targetClass
62
+ const targetClassQuads = store.getQuads(shapeNode, new NamedNode(SHACL.TARGET_CLASS), null, null);
63
+ if (targetClassQuads.length === 0) {
64
+ return null; // 没有 targetClass,跳过
65
+ }
66
+ const targetClass = targetClassQuads[0].object.value;
67
+ // 获取 name
68
+ const nameQuads = store.getQuads(shapeNode, new NamedNode(SHACL.NAME), null, null);
69
+ const name = nameQuads.length > 0 ? nameQuads[0].object.value : undefined;
70
+ // 获取 description
71
+ const descQuads = store.getQuads(shapeNode, new NamedNode(SHACL.DESCRIPTION), null, null);
72
+ const description = descQuads.length > 0 ? descQuads[0].object.value : undefined;
73
+ // 获取 properties
74
+ const propertyQuads = store.getQuads(shapeNode, new NamedNode(SHACL.PROPERTY), null, null);
75
+ const properties = [];
76
+ for (const propQuad of propertyQuads) {
77
+ const propNode = propQuad.object;
78
+ const property = extractProperty(store, propNode);
79
+ if (property) {
80
+ properties.push(property);
81
+ }
82
+ }
83
+ return {
84
+ uri: shapeNode.value,
85
+ targetClass,
86
+ name,
87
+ description,
88
+ properties
89
+ };
90
+ }
91
+ /**
92
+ * 提取单个属性约束
93
+ */
94
+ function extractProperty(store, propNode) {
95
+ // 获取 path
96
+ const pathQuads = store.getQuads(propNode, new NamedNode(SHACL.PATH), null, null);
97
+ if (pathQuads.length === 0) {
98
+ return null;
99
+ }
100
+ let path;
101
+ let inverse = false;
102
+ const pathObject = pathQuads[0].object;
103
+ // 检查是否是 inversePath
104
+ if (pathObject.termType === 'BlankNode') {
105
+ const inverseQuads = store.getQuads(pathObject, new NamedNode(SHACL.INVERSE_PATH), null, null);
106
+ if (inverseQuads.length > 0) {
107
+ path = inverseQuads[0].object.value;
108
+ inverse = true;
109
+ }
110
+ else {
111
+ // 其他复杂路径,暂不支持
112
+ return null;
113
+ }
114
+ }
115
+ else {
116
+ path = pathObject.value;
117
+ }
118
+ // 获取 name
119
+ const nameQuads = store.getQuads(propNode, new NamedNode(SHACL.NAME), null, null);
120
+ const name = nameQuads.length > 0 ? nameQuads[0].object.value : extractNameFromPath(path);
121
+ // 获取 datatype
122
+ const datatypeQuads = store.getQuads(propNode, new NamedNode(SHACL.DATATYPE), null, null);
123
+ const datatype = datatypeQuads.length > 0 ? datatypeQuads[0].object.value : undefined;
124
+ // 获取 nodeKind
125
+ const nodeKindQuads = store.getQuads(propNode, new NamedNode(SHACL.NODE_KIND), null, null);
126
+ const nodeKind = nodeKindQuads.length > 0 ? nodeKindQuads[0].object.value : undefined;
127
+ // 获取 minCount
128
+ const minCountQuads = store.getQuads(propNode, new NamedNode(SHACL.MIN_COUNT), null, null);
129
+ const minCount = minCountQuads.length > 0 ? parseInt(minCountQuads[0].object.value, 10) : undefined;
130
+ // 获取 maxCount
131
+ const maxCountQuads = store.getQuads(propNode, new NamedNode(SHACL.MAX_COUNT), null, null);
132
+ const maxCount = maxCountQuads.length > 0 ? parseInt(maxCountQuads[0].object.value, 10) : undefined;
133
+ // 获取 pattern
134
+ const patternQuads = store.getQuads(propNode, new NamedNode(SHACL.PATTERN), null, null);
135
+ const pattern = patternQuads.length > 0 ? patternQuads[0].object.value : undefined;
136
+ // 获取 class
137
+ const classQuads = store.getQuads(propNode, new NamedNode(SHACL.CLASS), null, null);
138
+ const classUri = classQuads.length > 0 ? classQuads[0].object.value : undefined;
139
+ return {
140
+ path,
141
+ name,
142
+ datatype,
143
+ nodeKind,
144
+ minCount,
145
+ maxCount,
146
+ pattern,
147
+ class: classUri,
148
+ inverse
149
+ };
150
+ }
151
+ /**
152
+ * 从 path URI 提取属性名
153
+ * 例如:http://schema.org/name -> name
154
+ */
155
+ function extractNameFromPath(path) {
156
+ // 尝试从 # 后面提取
157
+ const hashIndex = path.lastIndexOf('#');
158
+ if (hashIndex >= 0) {
159
+ return path.substring(hashIndex + 1);
160
+ }
161
+ // 尝试从最后一个 / 后面提取
162
+ const slashIndex = path.lastIndexOf('/');
163
+ if (slashIndex >= 0) {
164
+ return path.substring(slashIndex + 1);
165
+ }
166
+ return path;
167
+ }
168
+ /**
169
+ * XSD 类型到 Drizzle-Solid 类型的映射
170
+ */
171
+ export function xsdToDrizzleType(xsdType) {
172
+ if (!xsdType)
173
+ return 'string';
174
+ switch (xsdType) {
175
+ case XSD.STRING:
176
+ return 'string';
177
+ case XSD.INTEGER:
178
+ return 'integer';
179
+ case XSD.BOOLEAN:
180
+ return 'boolean';
181
+ case XSD.DATETIME:
182
+ case XSD.DATE:
183
+ return 'datetime';
184
+ case XSD.DECIMAL:
185
+ case XSD.DOUBLE:
186
+ return 'number';
187
+ case XSD.ANYURI:
188
+ return 'uri';
189
+ default:
190
+ return 'string';
191
+ }
192
+ }
193
+ /**
194
+ * 从 nodeKind 推断类型
195
+ */
196
+ export function nodeKindToDrizzleType(nodeKind) {
197
+ if (!nodeKind)
198
+ return undefined;
199
+ switch (nodeKind) {
200
+ case SHACL.IRI:
201
+ return 'uri';
202
+ case SHACL.LITERAL:
203
+ return 'string';
204
+ case SHACL.BLANK_NODE:
205
+ return 'object';
206
+ default:
207
+ return undefined;
208
+ }
209
+ }
210
+ //# sourceMappingURL=shacl-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shacl-parser.js","sourceRoot":"","sources":["../../../../src/core/shape/shacl-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * SHACL Serializer
3
+ *
4
+ * 将 Shape 定义转换为 SHACL Turtle 格式
5
+ */
6
+ import type { Shape } from './types';
7
+ /**
8
+ * 生成 SHACL Turtle 格式
9
+ */
10
+ export declare function toSHACL(shape: Shape): string;
11
+ //# sourceMappingURL=shacl.d.ts.map