@thomasfosterau/effect-rdf 0.0.0 → 0.1.0

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 (776) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2250 -1
  3. package/dist/Algebra-CGG4oae3.mjs +433 -0
  4. package/dist/Algebra-CGG4oae3.mjs.map +1 -0
  5. package/dist/Algebra-uGsIEOUA.d.mts +446 -0
  6. package/dist/Ast-CPRZmBvk.mjs +552 -0
  7. package/dist/Ast-CPRZmBvk.mjs.map +1 -0
  8. package/dist/Ast-vcw2W-lf.d.mts +827 -0
  9. package/dist/Bindings-Ck3m7JRC.mjs +249 -0
  10. package/dist/Bindings-Ck3m7JRC.mjs.map +1 -0
  11. package/dist/Bindings-DiKpBd7f.d.mts +153 -0
  12. package/dist/ClientErrors-CpXdFX5u.mjs +128 -0
  13. package/dist/ClientErrors-CpXdFX5u.mjs.map +1 -0
  14. package/dist/ClientErrors-D4IZHUM-.d.mts +101 -0
  15. package/dist/ClientFormats-CXomkXLV.mjs +73 -0
  16. package/dist/ClientFormats-CXomkXLV.mjs.map +1 -0
  17. package/dist/ClientFormats-Dm57ZPwR.d.mts +36 -0
  18. package/dist/Csv2Json-DynEcwCh.mjs +194 -0
  19. package/dist/Csv2Json-DynEcwCh.mjs.map +1 -0
  20. package/dist/Csv2Json-aXNVDoXQ.d.mts +40 -0
  21. package/dist/Csv2Rdf-8maXP6mt.d.mts +41 -0
  22. package/dist/Csv2Rdf-DuSEkaKE.mjs +161 -0
  23. package/dist/Csv2Rdf-DuSEkaKE.mjs.map +1 -0
  24. package/dist/Dataset-BlmlcI7J.mjs +782 -0
  25. package/dist/Dataset-BlmlcI7J.mjs.map +1 -0
  26. package/dist/Dataset-DS3ESOcO.d.mts +426 -0
  27. package/dist/Dataset.d.mts +2 -0
  28. package/dist/Dataset.mjs +1 -0
  29. package/dist/Datatype-CxMpamHC.d.mts +212 -0
  30. package/dist/Datatype-DQvkNkiH.mjs +1001 -0
  31. package/dist/Datatype-DQvkNkiH.mjs.map +1 -0
  32. package/dist/Dialect-8ChFj5EX.d.mts +113 -0
  33. package/dist/Dialect-CzVH38uo.mjs +165 -0
  34. package/dist/Dialect-CzVH38uo.mjs.map +1 -0
  35. package/dist/DocumentLoader-D3lZREnB.mjs +346 -0
  36. package/dist/DocumentLoader-D3lZREnB.mjs.map +1 -0
  37. package/dist/DocumentLoader-ZUCEVrW5.d.mts +178 -0
  38. package/dist/DublinCore-AnwqxRx6.mjs +137 -0
  39. package/dist/DublinCore-AnwqxRx6.mjs.map +1 -0
  40. package/dist/DublinCore-Dq-tVA5d.d.mts +119 -0
  41. package/dist/Engine-CYPB3g4h.d.mts +144 -0
  42. package/dist/Engine-DF8PN7g-.mjs +872 -0
  43. package/dist/Engine-DF8PN7g-.mjs.map +1 -0
  44. package/dist/Errors-CMdV1RhU.mjs +37 -0
  45. package/dist/Errors-CMdV1RhU.mjs.map +1 -0
  46. package/dist/Errors-u2bDjUeM.d.mts +30 -0
  47. package/dist/Evaluator-DEsU4d1o.d.mts +50 -0
  48. package/dist/Evaluator-DOY2-guC.mjs +281 -0
  49. package/dist/Evaluator-DOY2-guC.mjs.map +1 -0
  50. package/dist/Exif-CpqniYQd.d.mts +78 -0
  51. package/dist/Exif-DjkCfEB-.mjs +89 -0
  52. package/dist/Exif-DjkCfEB-.mjs.map +1 -0
  53. package/dist/Expression-BIMMvduQ.mjs +230 -0
  54. package/dist/Expression-BIMMvduQ.mjs.map +1 -0
  55. package/dist/Expression-W8A9cyX7.d.mts +89 -0
  56. package/dist/Extract-Bop85jES.mjs +220 -0
  57. package/dist/Extract-Bop85jES.mjs.map +1 -0
  58. package/dist/Extract-C_pCvuTC.d.mts +88 -0
  59. package/dist/Federation-BcNrozc1.d.mts +52 -0
  60. package/dist/Federation-CHScBkaK.mjs +130 -0
  61. package/dist/Federation-CHScBkaK.mjs.map +1 -0
  62. package/dist/Functions-AvjNcId_.mjs +1346 -0
  63. package/dist/Functions-AvjNcId_.mjs.map +1 -0
  64. package/dist/Functions-OQJZP-F6.d.mts +111 -0
  65. package/dist/Generator-C52mmq01.d.mts +50 -0
  66. package/dist/Generator-D3utCJC7.mjs +205 -0
  67. package/dist/Generator-D3utCJC7.mjs.map +1 -0
  68. package/dist/Grammar-CPlSxGH6.mjs +200 -0
  69. package/dist/Grammar-CPlSxGH6.mjs.map +1 -0
  70. package/dist/Grammar-CRhnRoCu.d.mts +148 -0
  71. package/dist/Grammar-D6jZdJQ3.d.mts +169 -0
  72. package/dist/Grammar-mQ8CgE1M.mjs +258 -0
  73. package/dist/Grammar-mQ8CgE1M.mjs.map +1 -0
  74. package/dist/GraphStore-DhUa4nFO.d.mts +45 -0
  75. package/dist/GraphStore-DvbqwKy1.mjs +212 -0
  76. package/dist/GraphStore-DvbqwKy1.mjs.map +1 -0
  77. package/dist/Iri-BB8Ks-BF.d.mts +84 -0
  78. package/dist/Iri-Cr92gsQV.mjs +232 -0
  79. package/dist/Iri-Cr92gsQV.mjs.map +1 -0
  80. package/dist/Iri.d.mts +2 -0
  81. package/dist/Iri.mjs +1 -0
  82. package/dist/Isomorphism-B6qTY-xy.d.mts +28 -0
  83. package/dist/Isomorphism-BmqxhKyJ.mjs +232 -0
  84. package/dist/Isomorphism-BmqxhKyJ.mjs.map +1 -0
  85. package/dist/Isomorphism-DInKnWIy.mjs +390 -0
  86. package/dist/Isomorphism-DInKnWIy.mjs.map +1 -0
  87. package/dist/Isomorphism-DvSfZXLR.d.mts +37 -0
  88. package/dist/Isomorphism.d.mts +2 -0
  89. package/dist/Isomorphism.mjs +1 -0
  90. package/dist/JsonLd-DOwS2FHg.mjs +2836 -0
  91. package/dist/JsonLd-DOwS2FHg.mjs.map +1 -0
  92. package/dist/JsonLd-DobFrQNa.d.mts +242 -0
  93. package/dist/JsonLdError-C9J-BxfG.mjs +106 -0
  94. package/dist/JsonLdError-C9J-BxfG.mjs.map +1 -0
  95. package/dist/JsonLdError-DSOfHkOy.d.mts +43 -0
  96. package/dist/LanguageTag-BCu8rcmX.d.mts +38 -0
  97. package/dist/LanguageTag-BcOpMGZ4.mjs +89 -0
  98. package/dist/LanguageTag-BcOpMGZ4.mjs.map +1 -0
  99. package/dist/LanguageTag.d.mts +2 -0
  100. package/dist/LanguageTag.mjs +1 -0
  101. package/dist/Lexical-Cg0JHrf6.mjs +243 -0
  102. package/dist/Lexical-Cg0JHrf6.mjs.map +1 -0
  103. package/dist/Lexical-D3zySYVS.d.mts +163 -0
  104. package/dist/Manifest-B6xf6mUc.mjs +148 -0
  105. package/dist/Manifest-B6xf6mUc.mjs.map +1 -0
  106. package/dist/Manifest-DQUMRBFr.d.mts +98 -0
  107. package/dist/Mapping-BgG74x3U.d.mts +63 -0
  108. package/dist/Mapping-Dc1ZGirk.mjs +259 -0
  109. package/dist/Mapping-Dc1ZGirk.mjs.map +1 -0
  110. package/dist/Mcp-1DwTTKOK.mjs +48 -0
  111. package/dist/Mcp-1DwTTKOK.mjs.map +1 -0
  112. package/dist/Mcp-d-pX9erx.d.mts +25 -0
  113. package/dist/Message-CK_DGQuu.mjs +95 -0
  114. package/dist/Message-CK_DGQuu.mjs.map +1 -0
  115. package/dist/Message-fIvTJSXM.d.mts +49 -0
  116. package/dist/Metadata-BbffwGDZ.mjs +445 -0
  117. package/dist/Metadata-BbffwGDZ.mjs.map +1 -0
  118. package/dist/Metadata-CEt3yc1-.d.mts +901 -0
  119. package/dist/Metadata-D4HsQNXr.mjs +1273 -0
  120. package/dist/Metadata-D4HsQNXr.mjs.map +1 -0
  121. package/dist/Metadata-nzS7QKRj.d.mts +350 -0
  122. package/dist/Model-DaMmxurZ.d.mts +293 -0
  123. package/dist/Model-DlPzRYhF.mjs +528 -0
  124. package/dist/Model-DlPzRYhF.mjs.map +1 -0
  125. package/dist/N3-BzyV-KIH.mjs +974 -0
  126. package/dist/N3-BzyV-KIH.mjs.map +1 -0
  127. package/dist/N3-DSLnonDn.d.mts +100 -0
  128. package/dist/NQuads-C1VBOJ3-.mjs +117 -0
  129. package/dist/NQuads-C1VBOJ3-.mjs.map +1 -0
  130. package/dist/NQuads-FjFZikFg.d.mts +76 -0
  131. package/dist/NTriples-D-kLSEAf.mjs +120 -0
  132. package/dist/NTriples-D-kLSEAf.mjs.map +1 -0
  133. package/dist/NTriples-D34OspfW.d.mts +76 -0
  134. package/dist/Namespace-ClTUO_ya.d.mts +42 -0
  135. package/dist/Namespace-DHFIsORd.mjs +75 -0
  136. package/dist/Namespace-DHFIsORd.mjs.map +1 -0
  137. package/dist/Namespace.d.mts +2 -0
  138. package/dist/Namespace.mjs +1 -0
  139. package/dist/Namespaces-Bz85vpjW.mjs +235 -0
  140. package/dist/Namespaces-Bz85vpjW.mjs.map +1 -0
  141. package/dist/Namespaces-C1jW6EDo.d.mts +178 -0
  142. package/dist/Optimizer-BWWQRQPY.mjs +168 -0
  143. package/dist/Optimizer-BWWQRQPY.mjs.map +1 -0
  144. package/dist/Optimizer-DUpUow6k.d.mts +26 -0
  145. package/dist/Options-BLBGL4HE.mjs +72 -0
  146. package/dist/Options-BLBGL4HE.mjs.map +1 -0
  147. package/dist/Options-BommQwP9.d.mts +127 -0
  148. package/dist/Packet-CA76wVX3.mjs +197 -0
  149. package/dist/Packet-CA76wVX3.mjs.map +1 -0
  150. package/dist/Packet-Cy5g6XuW.d.mts +130 -0
  151. package/dist/Parser-p1Gyr0QN.d.mts +85 -0
  152. package/dist/Parser-xARsOWXk.mjs +1317 -0
  153. package/dist/Parser-xARsOWXk.mjs.map +1 -0
  154. package/dist/Path-B20Yp8KE.mjs +284 -0
  155. package/dist/Path-B20Yp8KE.mjs.map +1 -0
  156. package/dist/Path-DRB8e-Zn.d.mts +181 -0
  157. package/dist/Pdf-B9RZn--8.d.mts +77 -0
  158. package/dist/Pdf-CKK6dkZn.mjs +89 -0
  159. package/dist/Pdf-CKK6dkZn.mjs.map +1 -0
  160. package/dist/PdfA-CUjSuntT.d.mts +109 -0
  161. package/dist/PdfA-CleOhuL6.mjs +124 -0
  162. package/dist/PdfA-CleOhuL6.mjs.map +1 -0
  163. package/dist/Photoshop-CiHo80qV.mjs +233 -0
  164. package/dist/Photoshop-CiHo80qV.mjs.map +1 -0
  165. package/dist/Photoshop-udKZ0I3N.d.mts +204 -0
  166. package/dist/PrefixMap-BHFPDLO-.mjs +103 -0
  167. package/dist/PrefixMap-BHFPDLO-.mjs.map +1 -0
  168. package/dist/PrefixMap-BMlXrWNd.d.mts +64 -0
  169. package/dist/PrefixMap.d.mts +2 -0
  170. package/dist/PrefixMap.mjs +1 -0
  171. package/dist/Processor-CMmecFsb.mjs +198 -0
  172. package/dist/Processor-CMmecFsb.mjs.map +1 -0
  173. package/dist/Processor-FJPvO0CB.d.mts +435 -0
  174. package/dist/Protocol-BA7OkNgp.mjs +202 -0
  175. package/dist/Protocol-BA7OkNgp.mjs.map +1 -0
  176. package/dist/Protocol-DlSoiIKB.d.mts +108 -0
  177. package/dist/ProtocolErrors-Ckfejnl6.d.mts +84 -0
  178. package/dist/ProtocolErrors-czDPVcX5.mjs +129 -0
  179. package/dist/ProtocolErrors-czDPVcX5.mjs.map +1 -0
  180. package/dist/Query-D9A6LOpP.mjs +364 -0
  181. package/dist/Query-D9A6LOpP.mjs.map +1 -0
  182. package/dist/Query-KqSkTYyG.d.mts +96 -0
  183. package/dist/QueryBuilder-BLK9Vfbz.mjs +674 -0
  184. package/dist/QueryBuilder-BLK9Vfbz.mjs.map +1 -0
  185. package/dist/QueryBuilder-DUqh4ECe.d.mts +529 -0
  186. package/dist/RdfJs-D6-49XB5.mjs +86 -0
  187. package/dist/RdfJs-D6-49XB5.mjs.map +1 -0
  188. package/dist/RdfJs-DXFqdWrd.d.mts +76 -0
  189. package/dist/RdfJs.d.mts +2 -0
  190. package/dist/RdfJs.mjs +1 -0
  191. package/dist/RdfJson-5aKPDlPS.d.mts +297 -0
  192. package/dist/RdfJson-BNocgW4f.mjs +548 -0
  193. package/dist/RdfJson-BNocgW4f.mjs.map +1 -0
  194. package/dist/RdfXml-DJ9G4gOq.mjs +1014 -0
  195. package/dist/RdfXml-DJ9G4gOq.mjs.map +1 -0
  196. package/dist/RdfXml-_N7yxWEp.d.mts +149 -0
  197. package/dist/Rdfs-BRVPsAjc.d.mts +84 -0
  198. package/dist/Rdfs-CyY2wVHI.mjs +167 -0
  199. package/dist/Rdfs-CyY2wVHI.mjs.map +1 -0
  200. package/dist/Rdfs.d.mts +2 -0
  201. package/dist/Rdfs.mjs +1 -0
  202. package/dist/Reasoner-BxYhx9s7.d.mts +94 -0
  203. package/dist/Reasoner-Cw90zrjv.mjs +798 -0
  204. package/dist/Reasoner-Cw90zrjv.mjs.map +1 -0
  205. package/dist/Reification-BmN4EfnM.d.mts +40 -0
  206. package/dist/Reification-dpqQvjDE.mjs +82 -0
  207. package/dist/Reification-dpqQvjDE.mjs.map +1 -0
  208. package/dist/Reification.d.mts +2 -0
  209. package/dist/Reification.mjs +1 -0
  210. package/dist/Report-XHs8htzK.mjs +121 -0
  211. package/dist/Report-XHs8htzK.mjs.map +1 -0
  212. package/dist/Report-hcXsc_19.d.mts +115 -0
  213. package/dist/Resource-B1cI8FyJ.d.mts +218 -0
  214. package/dist/Resource-sIEeNh15.mjs +374 -0
  215. package/dist/Resource-sIEeNh15.mjs.map +1 -0
  216. package/dist/Resource.d.mts +2 -0
  217. package/dist/Resource.mjs +1 -0
  218. package/dist/Results-BVNEC-Wt.d.mts +277 -0
  219. package/dist/Results-peJjGA2V.mjs +621 -0
  220. package/dist/Results-peJjGA2V.mjs.map +1 -0
  221. package/dist/ResultsStream-BhF0OcNn.mjs +639 -0
  222. package/dist/ResultsStream-BhF0OcNn.mjs.map +1 -0
  223. package/dist/ResultsStream-toYMXrOe.d.mts +100 -0
  224. package/dist/SemAct-CDchtk49.d.mts +96 -0
  225. package/dist/SemAct-CmyT4yI8.mjs +118 -0
  226. package/dist/SemAct-CmyT4yI8.mjs.map +1 -0
  227. package/dist/Serialization-DP9H5bYQ.mjs +514 -0
  228. package/dist/Serialization-DP9H5bYQ.mjs.map +1 -0
  229. package/dist/Serialization-Df8iVauT.d.mts +392 -0
  230. package/dist/Serialization.d.mts +2 -0
  231. package/dist/Serialization.mjs +1 -0
  232. package/dist/ServerFormats-CrRnjjf6.mjs +64 -0
  233. package/dist/ServerFormats-CrRnjjf6.mjs.map +1 -0
  234. package/dist/ServerFormats-DjC9NsO_.d.mts +36 -0
  235. package/dist/ServiceDescription-BERsvg-k.d.mts +54 -0
  236. package/dist/ServiceDescription-Dq5hxeGy.mjs +97 -0
  237. package/dist/ServiceDescription-Dq5hxeGy.mjs.map +1 -0
  238. package/dist/ShExC-Ctf-06CL.d.mts +67 -0
  239. package/dist/ShExC-DJbB19i3.mjs +1181 -0
  240. package/dist/ShExC-DJbB19i3.mjs.map +1 -0
  241. package/dist/ShExError-BeYFD9rv.d.mts +61 -0
  242. package/dist/ShExError-CVtq2NnM.mjs +64 -0
  243. package/dist/ShExError-CVtq2NnM.mjs.map +1 -0
  244. package/dist/ShExJ-C1u_wgyD.d.mts +531 -0
  245. package/dist/ShExJ-COiPd9Xw.mjs +532 -0
  246. package/dist/ShExJ-COiPd9Xw.mjs.map +1 -0
  247. package/dist/ShExR-ByR4mCh-.mjs +480 -0
  248. package/dist/ShExR-ByR4mCh-.mjs.map +1 -0
  249. package/dist/ShExR-CqONNNBz.d.mts +40 -0
  250. package/dist/ShapeMap-C422pxKl.d.mts +140 -0
  251. package/dist/ShapeMap-CsgKxB2G.mjs +181 -0
  252. package/dist/ShapeMap-CsgKxB2G.mjs.map +1 -0
  253. package/dist/Shapes-18GjfyBV.mjs +597 -0
  254. package/dist/Shapes-18GjfyBV.mjs.map +1 -0
  255. package/dist/Shapes-BQFDFc4Q.d.mts +306 -0
  256. package/dist/Sparql-BiYFMSpl.mjs +29 -0
  257. package/dist/Sparql-BiYFMSpl.mjs.map +1 -0
  258. package/dist/Sparql-DecpWTPh.d.mts +97 -0
  259. package/dist/SparqlClient-C_CjXbwj.mjs +333 -0
  260. package/dist/SparqlClient-C_CjXbwj.mjs.map +1 -0
  261. package/dist/SparqlClient-UPc88SHy.d.mts +290 -0
  262. package/dist/SparqlServer-CbUW-pVj.d.mts +71 -0
  263. package/dist/SparqlServer-Db7w7Cll.mjs +308 -0
  264. package/dist/SparqlServer-Db7w7Cll.mjs.map +1 -0
  265. package/dist/SqlStore-BBqFx-Wl.mjs +684 -0
  266. package/dist/SqlStore-BBqFx-Wl.mjs.map +1 -0
  267. package/dist/SqlStore-CCJo5I-e.d.mts +117 -0
  268. package/dist/Store-D0jmVfb3.d.mts +166 -0
  269. package/dist/Store-DH3Ow1GO.mjs +162 -0
  270. package/dist/Store-DH3Ow1GO.mjs.map +1 -0
  271. package/dist/Structure-BjMo4Bkc.mjs +334 -0
  272. package/dist/Structure-BjMo4Bkc.mjs.map +1 -0
  273. package/dist/Structure-n4CmDiab.d.mts +63 -0
  274. package/dist/Table-BGgm9nbM.mjs +538 -0
  275. package/dist/Table-BGgm9nbM.mjs.map +1 -0
  276. package/dist/Table-C3reiVrb.d.mts +261 -0
  277. package/dist/Term-B_4ezyXq.d.mts +619 -0
  278. package/dist/Term-CFLG1qu4.mjs +991 -0
  279. package/dist/Term-CFLG1qu4.mjs.map +1 -0
  280. package/dist/Term.d.mts +2 -0
  281. package/dist/Term.mjs +1 -0
  282. package/dist/TermCodec-CDZiEztW.mjs +397 -0
  283. package/dist/TermCodec-CDZiEztW.mjs.map +1 -0
  284. package/dist/TermCodec-_03bDXr0.d.mts +209 -0
  285. package/dist/TermCodec.d.mts +2 -0
  286. package/dist/TermCodec.mjs +1 -0
  287. package/dist/TermJson-BOPe0yve.d.mts +232 -0
  288. package/dist/TermJson-FAg3lvjl.mjs +142 -0
  289. package/dist/TermJson-FAg3lvjl.mjs.map +1 -0
  290. package/dist/TermJson.d.mts +2 -0
  291. package/dist/TermJson.mjs +1 -0
  292. package/dist/TermSchema-Bn9CoaYA.mjs +30 -0
  293. package/dist/TermSchema-Bn9CoaYA.mjs.map +1 -0
  294. package/dist/TermSchema-DBO6MroX.d.mts +6 -0
  295. package/dist/Testing-B-aPCpmu.mjs +63 -0
  296. package/dist/Testing-B-aPCpmu.mjs.map +1 -0
  297. package/dist/Testing-CF6s8P3O.d.mts +53 -0
  298. package/dist/Tiff-CR-2QeSI.d.mts +148 -0
  299. package/dist/Tiff-DlsOlZPM.mjs +169 -0
  300. package/dist/Tiff-DlsOlZPM.mjs.map +1 -0
  301. package/dist/Tools-7MdRKccr.d.mts +583 -0
  302. package/dist/Tools-ryxphZbI.mjs +329 -0
  303. package/dist/Tools-ryxphZbI.mjs.map +1 -0
  304. package/dist/Translate-B0YKKANS.d.mts +37 -0
  305. package/dist/Translate-gzWPq0Ia.mjs +308 -0
  306. package/dist/Translate-gzWPq0Ia.mjs.map +1 -0
  307. package/dist/Translation-DC9rLm2y.mjs +1535 -0
  308. package/dist/Translation-DC9rLm2y.mjs.map +1 -0
  309. package/dist/Translation-K4L9XBqX.d.mts +103 -0
  310. package/dist/TriG-BkqtqZ6Y.mjs +125 -0
  311. package/dist/TriG-BkqtqZ6Y.mjs.map +1 -0
  312. package/dist/TriG-xDjdDatp.d.mts +86 -0
  313. package/dist/Turtle-Bv1_bisW.d.mts +85 -0
  314. package/dist/Turtle-CZVUOtwl.mjs +133 -0
  315. package/dist/Turtle-CZVUOtwl.mjs.map +1 -0
  316. package/dist/ValidationReport-DBdJshW5.mjs +285 -0
  317. package/dist/ValidationReport-DBdJshW5.mjs.map +1 -0
  318. package/dist/ValidationReport-Dx3WxY0h.d.mts +192 -0
  319. package/dist/Validator-227ff9Rn.d.mts +179 -0
  320. package/dist/Validator-BzXMKDeJ.mjs +1162 -0
  321. package/dist/Validator-BzXMKDeJ.mjs.map +1 -0
  322. package/dist/Validator-Dl8cih5V.d.mts +207 -0
  323. package/dist/Validator-DmUfMbpL.mjs +568 -0
  324. package/dist/Validator-DmUfMbpL.mjs.map +1 -0
  325. package/dist/Vocab-DceKywpq.mjs +168 -0
  326. package/dist/Vocab-DceKywpq.mjs.map +1 -0
  327. package/dist/Vocab-Df-L-IwZ.d.mts +46 -0
  328. package/dist/Vocab-Do56UgBX.d.mts +81 -0
  329. package/dist/Vocab-TfpWG1Ne.mjs +118 -0
  330. package/dist/Vocab-TfpWG1Ne.mjs.map +1 -0
  331. package/dist/Vocab.d.mts +2 -0
  332. package/dist/Vocab.mjs +1 -0
  333. package/dist/Vocabulary-C6-GPOy4.d.mts +22 -0
  334. package/dist/Vocabulary-CnQl-_Z4.mjs +179 -0
  335. package/dist/Vocabulary-CnQl-_Z4.mjs.map +1 -0
  336. package/dist/Xml-B7iihYCS.mjs +976 -0
  337. package/dist/Xml-B7iihYCS.mjs.map +1 -0
  338. package/dist/Xml-CmfHS7SW.d.mts +267 -0
  339. package/dist/Xmp-D7CKA7MZ.d.mts +111 -0
  340. package/dist/Xmp-DCGN9pOD.mjs +307 -0
  341. package/dist/Xmp-DCGN9pOD.mjs.map +1 -0
  342. package/dist/XmpBasic-CP38jpR_.mjs +73 -0
  343. package/dist/XmpBasic-CP38jpR_.mjs.map +1 -0
  344. package/dist/XmpBasic-Cmbe53rQ.d.mts +64 -0
  345. package/dist/XmpMM-BfL_TgJF.mjs +73 -0
  346. package/dist/XmpMM-BfL_TgJF.mjs.map +1 -0
  347. package/dist/XmpMM-Dqm3IX8p.d.mts +63 -0
  348. package/dist/XmpRights-BKPtoI5L.mjs +73 -0
  349. package/dist/XmpRights-BKPtoI5L.mjs.map +1 -0
  350. package/dist/XmpRights-CaALZQz2.d.mts +63 -0
  351. package/dist/Xsd-Cdgx5zRB.mjs +405 -0
  352. package/dist/Xsd-Cdgx5zRB.mjs.map +1 -0
  353. package/dist/Xsd-D2elNhSm.d.mts +187 -0
  354. package/dist/Xsd.d.mts +2 -0
  355. package/dist/Xsd.mjs +1 -0
  356. package/dist/accessors-CEjaojuQ.mjs +28 -0
  357. package/dist/accessors-CEjaojuQ.mjs.map +1 -0
  358. package/dist/codec-Lb2T96rv.d.mts +20 -0
  359. package/dist/codec-QNo7IdJF.mjs +389 -0
  360. package/dist/codec-QNo7IdJF.mjs.map +1 -0
  361. package/dist/csvw/Csv2Json.d.mts +2 -0
  362. package/dist/csvw/Csv2Json.mjs +1 -0
  363. package/dist/csvw/Csv2Rdf.d.mts +2 -0
  364. package/dist/csvw/Csv2Rdf.mjs +1 -0
  365. package/dist/csvw/Datatype.d.mts +2 -0
  366. package/dist/csvw/Datatype.mjs +1 -0
  367. package/dist/csvw/Metadata.d.mts +2 -0
  368. package/dist/csvw/Metadata.mjs +1 -0
  369. package/dist/csvw/Processor.d.mts +2 -0
  370. package/dist/csvw/Processor.mjs +1 -0
  371. package/dist/csvw/Report.d.mts +2 -0
  372. package/dist/csvw/Report.mjs +1 -0
  373. package/dist/csvw/Table.d.mts +2 -0
  374. package/dist/csvw/Table.mjs +1 -0
  375. package/dist/csvw/index.d.mts +8 -0
  376. package/dist/csvw/index.mjs +8 -0
  377. package/dist/index-Cms2TYfC.d.mts +16 -0
  378. package/dist/index-Ct8xFmRs.d.mts +7 -0
  379. package/dist/index-D4QFwOjm.d.mts +28 -0
  380. package/dist/index.d.mts +18 -0
  381. package/dist/index.mjs +17 -0
  382. package/dist/jsonld/DocumentLoader.d.mts +2 -0
  383. package/dist/jsonld/DocumentLoader.mjs +1 -0
  384. package/dist/jsonld/JsonLd.d.mts +2 -0
  385. package/dist/jsonld/JsonLd.mjs +1 -0
  386. package/dist/jsonld/JsonLdError.d.mts +2 -0
  387. package/dist/jsonld/JsonLdError.mjs +1 -0
  388. package/dist/jsonld/index.d.mts +4 -0
  389. package/dist/jsonld/index.mjs +4 -0
  390. package/dist/lists-D-OpQ0Ir.mjs +77 -0
  391. package/dist/lists-D-OpQ0Ir.mjs.map +1 -0
  392. package/dist/loop-D5-gNx9K.mjs +21 -0
  393. package/dist/loop-D5-gNx9K.mjs.map +1 -0
  394. package/dist/loop-DZ2hXlr_.mjs +21 -0
  395. package/dist/loop-DZ2hXlr_.mjs.map +1 -0
  396. package/dist/n3/Isomorphism.d.mts +2 -0
  397. package/dist/n3/Isomorphism.mjs +1 -0
  398. package/dist/n3/Mapping.d.mts +2 -0
  399. package/dist/n3/Mapping.mjs +1 -0
  400. package/dist/n3/Model.d.mts +2 -0
  401. package/dist/n3/Model.mjs +1 -0
  402. package/dist/n3/N3.d.mts +2 -0
  403. package/dist/n3/N3.mjs +1 -0
  404. package/dist/n3/Reasoner.d.mts +2 -0
  405. package/dist/n3/Reasoner.mjs +2 -0
  406. package/dist/n3/Vocab.d.mts +2 -0
  407. package/dist/n3/Vocab.mjs +1 -0
  408. package/dist/n3/index.d.mts +7 -0
  409. package/dist/n3/index.mjs +7 -0
  410. package/dist/ntriples/Grammar.d.mts +2 -0
  411. package/dist/ntriples/Grammar.mjs +1 -0
  412. package/dist/ntriples/Lexical.d.mts +2 -0
  413. package/dist/ntriples/Lexical.mjs +1 -0
  414. package/dist/ntriples/NQuads.d.mts +2 -0
  415. package/dist/ntriples/NQuads.mjs +1 -0
  416. package/dist/ntriples/NTriples.d.mts +2 -0
  417. package/dist/ntriples/NTriples.mjs +1 -0
  418. package/dist/ntriples/index.d.mts +5 -0
  419. package/dist/ntriples/index.mjs +5 -0
  420. package/dist/rdfjson/RdfJson.d.mts +2 -0
  421. package/dist/rdfjson/RdfJson.mjs +1 -0
  422. package/dist/rdfjson/index.d.mts +2 -0
  423. package/dist/rdfjson/index.mjs +1 -0
  424. package/dist/rdfxml/RdfXml.d.mts +2 -0
  425. package/dist/rdfxml/RdfXml.mjs +1 -0
  426. package/dist/rdfxml/Xml.d.mts +2 -0
  427. package/dist/rdfxml/Xml.mjs +1 -0
  428. package/dist/rdfxml/index.d.mts +3 -0
  429. package/dist/rdfxml/index.mjs +3 -0
  430. package/dist/rolldown-runtime-D8jQpDG7.mjs +12 -0
  431. package/dist/serialize-96KBvKaf.mjs +1463 -0
  432. package/dist/serialize-96KBvKaf.mjs.map +1 -0
  433. package/dist/serialize-DsoXdM6n.d.mts +37 -0
  434. package/dist/shacl/Message.d.mts +2 -0
  435. package/dist/shacl/Message.mjs +1 -0
  436. package/dist/shacl/Path.d.mts +2 -0
  437. package/dist/shacl/Path.mjs +1 -0
  438. package/dist/shacl/Shapes.d.mts +2 -0
  439. package/dist/shacl/Shapes.mjs +1 -0
  440. package/dist/shacl/Sparql.d.mts +2 -0
  441. package/dist/shacl/Sparql.mjs +1 -0
  442. package/dist/shacl/ValidationReport.d.mts +2 -0
  443. package/dist/shacl/ValidationReport.mjs +1 -0
  444. package/dist/shacl/Validator.d.mts +2 -0
  445. package/dist/shacl/Validator.mjs +1 -0
  446. package/dist/shacl/Vocabulary.d.mts +2 -0
  447. package/dist/shacl/Vocabulary.mjs +1 -0
  448. package/dist/shacl/index.d.mts +9 -0
  449. package/dist/shacl/index.mjs +8 -0
  450. package/dist/shex/SemAct.d.mts +2 -0
  451. package/dist/shex/SemAct.mjs +1 -0
  452. package/dist/shex/ShExC.d.mts +2 -0
  453. package/dist/shex/ShExC.mjs +1 -0
  454. package/dist/shex/ShExError.d.mts +2 -0
  455. package/dist/shex/ShExError.mjs +1 -0
  456. package/dist/shex/ShExJ.d.mts +2 -0
  457. package/dist/shex/ShExJ.mjs +2 -0
  458. package/dist/shex/ShExR.d.mts +2 -0
  459. package/dist/shex/ShExR.mjs +1 -0
  460. package/dist/shex/ShapeMap.d.mts +2 -0
  461. package/dist/shex/ShapeMap.mjs +1 -0
  462. package/dist/shex/Structure.d.mts +2 -0
  463. package/dist/shex/Structure.mjs +2 -0
  464. package/dist/shex/Validator.d.mts +2 -0
  465. package/dist/shex/Validator.mjs +4 -0
  466. package/dist/shex/index.d.mts +9 -0
  467. package/dist/shex/index.mjs +9 -0
  468. package/dist/sparql/Algebra.d.mts +2 -0
  469. package/dist/sparql/Algebra.mjs +1 -0
  470. package/dist/sparql/Ast.d.mts +2 -0
  471. package/dist/sparql/Ast.mjs +1 -0
  472. package/dist/sparql/Bindings.d.mts +2 -0
  473. package/dist/sparql/Bindings.mjs +1 -0
  474. package/dist/sparql/ClientErrors.d.mts +2 -0
  475. package/dist/sparql/ClientErrors.mjs +1 -0
  476. package/dist/sparql/ClientFormats.d.mts +2 -0
  477. package/dist/sparql/ClientFormats.mjs +1 -0
  478. package/dist/sparql/Engine.d.mts +2 -0
  479. package/dist/sparql/Engine.mjs +1 -0
  480. package/dist/sparql/Errors.d.mts +2 -0
  481. package/dist/sparql/Errors.mjs +1 -0
  482. package/dist/sparql/Expression.d.mts +2 -0
  483. package/dist/sparql/Expression.mjs +1 -0
  484. package/dist/sparql/Federation.d.mts +2 -0
  485. package/dist/sparql/Federation.mjs +1 -0
  486. package/dist/sparql/Functions.d.mts +2 -0
  487. package/dist/sparql/Functions.mjs +1 -0
  488. package/dist/sparql/Generator.d.mts +2 -0
  489. package/dist/sparql/Generator.mjs +1 -0
  490. package/dist/sparql/GraphStore.d.mts +2 -0
  491. package/dist/sparql/GraphStore.mjs +1 -0
  492. package/dist/sparql/Optimizer.d.mts +2 -0
  493. package/dist/sparql/Optimizer.mjs +1 -0
  494. package/dist/sparql/Options.d.mts +2 -0
  495. package/dist/sparql/Options.mjs +1 -0
  496. package/dist/sparql/Parser.d.mts +2 -0
  497. package/dist/sparql/Parser.mjs +1 -0
  498. package/dist/sparql/Protocol.d.mts +2 -0
  499. package/dist/sparql/Protocol.mjs +1 -0
  500. package/dist/sparql/ProtocolErrors.d.mts +2 -0
  501. package/dist/sparql/ProtocolErrors.mjs +1 -0
  502. package/dist/sparql/QueryBuilder.d.mts +2 -0
  503. package/dist/sparql/QueryBuilder.mjs +1 -0
  504. package/dist/sparql/Results.d.mts +2 -0
  505. package/dist/sparql/Results.mjs +1 -0
  506. package/dist/sparql/ResultsStream.d.mts +2 -0
  507. package/dist/sparql/ResultsStream.mjs +1 -0
  508. package/dist/sparql/ServerFormats.d.mts +2 -0
  509. package/dist/sparql/ServerFormats.mjs +1 -0
  510. package/dist/sparql/ServiceDescription.d.mts +2 -0
  511. package/dist/sparql/ServiceDescription.mjs +1 -0
  512. package/dist/sparql/SparqlClient.d.mts +2 -0
  513. package/dist/sparql/SparqlClient.mjs +1 -0
  514. package/dist/sparql/SparqlServer.d.mts +2 -0
  515. package/dist/sparql/SparqlServer.mjs +1 -0
  516. package/dist/sparql/Store.d.mts +2 -0
  517. package/dist/sparql/Store.mjs +1 -0
  518. package/dist/sparql/TermSchema.d.mts +3 -0
  519. package/dist/sparql/TermSchema.mjs +2 -0
  520. package/dist/sparql/Testing.d.mts +2 -0
  521. package/dist/sparql/Testing.mjs +1 -0
  522. package/dist/sparql/Translate.d.mts +2 -0
  523. package/dist/sparql/Translate.mjs +1 -0
  524. package/dist/sparql/ai/Mcp.d.mts +2 -0
  525. package/dist/sparql/ai/Mcp.mjs +1 -0
  526. package/dist/sparql/ai/Tools.d.mts +2 -0
  527. package/dist/sparql/ai/Tools.mjs +1 -0
  528. package/dist/sparql/ai/index.d.mts +3 -0
  529. package/dist/sparql/ai/index.mjs +3 -0
  530. package/dist/sparql/index.d.mts +30 -0
  531. package/dist/sparql/index.mjs +29 -0
  532. package/dist/sparql/shacl/Evaluator.d.mts +2 -0
  533. package/dist/sparql/shacl/Evaluator.mjs +1 -0
  534. package/dist/sparql/shacl/Query.d.mts +2 -0
  535. package/dist/sparql/shacl/Query.mjs +1 -0
  536. package/dist/sparql/shacl/index.d.mts +3 -0
  537. package/dist/sparql/shacl/index.mjs +3 -0
  538. package/dist/sparql/sql/Dialect.d.mts +2 -0
  539. package/dist/sparql/sql/Dialect.mjs +1 -0
  540. package/dist/sparql/sql/SqlStore.d.mts +2 -0
  541. package/dist/sparql/sql/SqlStore.mjs +1 -0
  542. package/dist/sparql/sql/Translation.d.mts +2 -0
  543. package/dist/sparql/sql/Translation.mjs +1 -0
  544. package/dist/sparql/sql/index.d.mts +4 -0
  545. package/dist/sparql/sql/index.mjs +4 -0
  546. package/dist/stringMap-D5YIpYtR.mjs +38 -0
  547. package/dist/stringMap-D5YIpYtR.mjs.map +1 -0
  548. package/dist/tokens-C6BzeodQ.mjs +24 -0
  549. package/dist/tokens-C6BzeodQ.mjs.map +1 -0
  550. package/dist/turtle/Grammar.d.mts +3 -0
  551. package/dist/turtle/Grammar.mjs +3 -0
  552. package/dist/turtle/Manifest.d.mts +2 -0
  553. package/dist/turtle/Manifest.mjs +1 -0
  554. package/dist/turtle/TriG.d.mts +2 -0
  555. package/dist/turtle/TriG.mjs +1 -0
  556. package/dist/turtle/Turtle.d.mts +2 -0
  557. package/dist/turtle/Turtle.mjs +1 -0
  558. package/dist/turtle/index.d.mts +5 -0
  559. package/dist/turtle/index.mjs +5 -0
  560. package/dist/xmp/DublinCore.d.mts +2 -0
  561. package/dist/xmp/DublinCore.mjs +1 -0
  562. package/dist/xmp/Exif.d.mts +2 -0
  563. package/dist/xmp/Exif.mjs +1 -0
  564. package/dist/xmp/Extract.d.mts +2 -0
  565. package/dist/xmp/Extract.mjs +1 -0
  566. package/dist/xmp/Metadata.d.mts +2 -0
  567. package/dist/xmp/Metadata.mjs +1 -0
  568. package/dist/xmp/Namespaces.d.mts +2 -0
  569. package/dist/xmp/Namespaces.mjs +1 -0
  570. package/dist/xmp/Packet.d.mts +2 -0
  571. package/dist/xmp/Packet.mjs +1 -0
  572. package/dist/xmp/Pdf.d.mts +2 -0
  573. package/dist/xmp/Pdf.mjs +1 -0
  574. package/dist/xmp/PdfA.d.mts +2 -0
  575. package/dist/xmp/PdfA.mjs +1 -0
  576. package/dist/xmp/Photoshop.d.mts +2 -0
  577. package/dist/xmp/Photoshop.mjs +1 -0
  578. package/dist/xmp/Tiff.d.mts +2 -0
  579. package/dist/xmp/Tiff.mjs +1 -0
  580. package/dist/xmp/Xmp.d.mts +2 -0
  581. package/dist/xmp/Xmp.mjs +3 -0
  582. package/dist/xmp/XmpBasic.d.mts +2 -0
  583. package/dist/xmp/XmpBasic.mjs +1 -0
  584. package/dist/xmp/XmpMM.d.mts +2 -0
  585. package/dist/xmp/XmpMM.mjs +1 -0
  586. package/dist/xmp/XmpRights.d.mts +2 -0
  587. package/dist/xmp/XmpRights.mjs +1 -0
  588. package/dist/xmp/index.d.mts +15 -0
  589. package/dist/xmp/index.mjs +15 -0
  590. package/package.json +187 -3
  591. package/src/Dataset.ts +1085 -0
  592. package/src/Iri.ts +322 -0
  593. package/src/Isomorphism.ts +319 -0
  594. package/src/LanguageTag.ts +98 -0
  595. package/src/Namespace.ts +100 -0
  596. package/src/PrefixMap.ts +117 -0
  597. package/src/RdfJs.ts +146 -0
  598. package/src/Rdfs.ts +241 -0
  599. package/src/Reification.ts +103 -0
  600. package/src/Resource.ts +873 -0
  601. package/src/Serialization.ts +775 -0
  602. package/src/Term.ts +1300 -0
  603. package/src/TermCodec.ts +505 -0
  604. package/src/TermJson.ts +313 -0
  605. package/src/Vocab.ts +161 -0
  606. package/src/Xsd.ts +573 -0
  607. package/src/csvw/Csv2Json.ts +265 -0
  608. package/src/csvw/Csv2Rdf.ts +268 -0
  609. package/src/csvw/Datatype.ts +589 -0
  610. package/src/csvw/Metadata.ts +1523 -0
  611. package/src/csvw/Processor.ts +276 -0
  612. package/src/csvw/Report.ts +135 -0
  613. package/src/csvw/Table.ts +759 -0
  614. package/src/csvw/index.ts +22 -0
  615. package/src/csvw/internal/dateFormat.ts +202 -0
  616. package/src/csvw/internal/json.ts +104 -0
  617. package/src/csvw/internal/numberFormat.ts +369 -0
  618. package/src/csvw/internal/object.ts +23 -0
  619. package/src/csvw/internal/uriTemplate.ts +130 -0
  620. package/src/csvw/internal/url.ts +93 -0
  621. package/src/csvw/internal/vocab.ts +282 -0
  622. package/src/index.ts +40 -0
  623. package/src/internal/arbitrary.ts +148 -0
  624. package/src/internal/loop.ts +24 -0
  625. package/src/internal/pending.ts +20 -0
  626. package/src/internal/textDecoder.ts +183 -0
  627. package/src/jsonld/DocumentLoader.ts +512 -0
  628. package/src/jsonld/JsonLd.ts +847 -0
  629. package/src/jsonld/JsonLdError.ts +105 -0
  630. package/src/jsonld/index.ts +13 -0
  631. package/src/jsonld/internal/compact.ts +852 -0
  632. package/src/jsonld/internal/context.ts +781 -0
  633. package/src/jsonld/internal/expand.ts +614 -0
  634. package/src/jsonld/internal/flatten.ts +243 -0
  635. package/src/jsonld/internal/frame.ts +559 -0
  636. package/src/jsonld/internal/iri.ts +52 -0
  637. package/src/jsonld/internal/json.ts +19 -0
  638. package/src/jsonld/internal/linkHeader.ts +60 -0
  639. package/src/jsonld/internal/rdf.ts +481 -0
  640. package/src/jsonld/internal/util.ts +367 -0
  641. package/src/n3/Isomorphism.ts +476 -0
  642. package/src/n3/Mapping.ts +332 -0
  643. package/src/n3/Model.ts +696 -0
  644. package/src/n3/N3.ts +237 -0
  645. package/src/n3/Reasoner.ts +568 -0
  646. package/src/n3/Vocab.ts +111 -0
  647. package/src/n3/index.ts +21 -0
  648. package/src/n3/internal/builtins.ts +668 -0
  649. package/src/n3/internal/guards.ts +23 -0
  650. package/src/n3/internal/lists.ts +106 -0
  651. package/src/n3/internal/loop.ts +28 -0
  652. package/src/n3/internal/parser.ts +1032 -0
  653. package/src/n3/internal/writer.ts +344 -0
  654. package/src/ntriples/Grammar.ts +317 -0
  655. package/src/ntriples/Lexical.ts +321 -0
  656. package/src/ntriples/NQuads.ts +140 -0
  657. package/src/ntriples/NTriples.ts +143 -0
  658. package/src/ntriples/index.ts +14 -0
  659. package/src/ntriples/internal/codec.ts +229 -0
  660. package/src/ntriples/internal/lineParser.ts +326 -0
  661. package/src/ntriples/internal/loop.ts +14 -0
  662. package/src/rdfjson/RdfJson.ts +806 -0
  663. package/src/rdfjson/index.ts +9 -0
  664. package/src/rdfjson/internal/json.ts +19 -0
  665. package/src/rdfxml/RdfXml.ts +1408 -0
  666. package/src/rdfxml/Xml.ts +419 -0
  667. package/src/rdfxml/index.ts +11 -0
  668. package/src/rdfxml/internal/chars.ts +73 -0
  669. package/src/rdfxml/internal/loop.ts +24 -0
  670. package/src/rdfxml/internal/parser.ts +1265 -0
  671. package/src/shacl/Message.ts +102 -0
  672. package/src/shacl/Path.ts +483 -0
  673. package/src/shacl/Shapes.ts +913 -0
  674. package/src/shacl/Sparql.ts +128 -0
  675. package/src/shacl/ValidationReport.ts +438 -0
  676. package/src/shacl/Validator.ts +1156 -0
  677. package/src/shacl/Vocabulary.ts +180 -0
  678. package/src/shacl/index.ts +22 -0
  679. package/src/shacl/internal/compare.ts +128 -0
  680. package/src/shacl/internal/regex.ts +56 -0
  681. package/src/shex/SemAct.ts +197 -0
  682. package/src/shex/ShExC.ts +415 -0
  683. package/src/shex/ShExError.ts +71 -0
  684. package/src/shex/ShExJ.ts +893 -0
  685. package/src/shex/ShExR.ts +640 -0
  686. package/src/shex/ShapeMap.ts +385 -0
  687. package/src/shex/Structure.ts +467 -0
  688. package/src/shex/Validator.ts +395 -0
  689. package/src/shex/index.ts +24 -0
  690. package/src/shex/internal/engine.ts +682 -0
  691. package/src/shex/internal/iterate.ts +14 -0
  692. package/src/shex/internal/json.ts +12 -0
  693. package/src/shex/internal/lexer.ts +56 -0
  694. package/src/shex/internal/nodeConstraint.ts +368 -0
  695. package/src/shex/internal/shexcLexer.ts +387 -0
  696. package/src/shex/internal/shexcParser.ts +1312 -0
  697. package/src/shex/internal/tokens.ts +41 -0
  698. package/src/shex/internal/xpathRegex.ts +290 -0
  699. package/src/sparql/Algebra.ts +914 -0
  700. package/src/sparql/Ast.ts +1344 -0
  701. package/src/sparql/Bindings.ts +272 -0
  702. package/src/sparql/ClientErrors.ts +156 -0
  703. package/src/sparql/ClientFormats.ts +70 -0
  704. package/src/sparql/Engine.ts +699 -0
  705. package/src/sparql/Errors.ts +30 -0
  706. package/src/sparql/Expression.ts +360 -0
  707. package/src/sparql/Federation.ts +187 -0
  708. package/src/sparql/Functions.ts +689 -0
  709. package/src/sparql/Generator.ts +426 -0
  710. package/src/sparql/GraphStore.ts +341 -0
  711. package/src/sparql/Optimizer.ts +230 -0
  712. package/src/sparql/Options.ts +191 -0
  713. package/src/sparql/Parser.ts +173 -0
  714. package/src/sparql/Protocol.ts +342 -0
  715. package/src/sparql/ProtocolErrors.ts +113 -0
  716. package/src/sparql/QueryBuilder.ts +953 -0
  717. package/src/sparql/Results.ts +844 -0
  718. package/src/sparql/ResultsStream.ts +771 -0
  719. package/src/sparql/ServerFormats.ts +75 -0
  720. package/src/sparql/ServiceDescription.ts +130 -0
  721. package/src/sparql/SparqlClient.ts +947 -0
  722. package/src/sparql/SparqlServer.ts +528 -0
  723. package/src/sparql/Store.ts +311 -0
  724. package/src/sparql/TermSchema.ts +20 -0
  725. package/src/sparql/Testing.ts +114 -0
  726. package/src/sparql/Translate.ts +407 -0
  727. package/src/sparql/ai/Mcp.ts +43 -0
  728. package/src/sparql/ai/Tools.ts +481 -0
  729. package/src/sparql/ai/index.ts +11 -0
  730. package/src/sparql/index.ts +64 -0
  731. package/src/sparql/internal/evaluator.ts +947 -0
  732. package/src/sparql/internal/hash.ts +418 -0
  733. package/src/sparql/internal/json.ts +12 -0
  734. package/src/sparql/internal/lexer.ts +488 -0
  735. package/src/sparql/internal/loop.ts +24 -0
  736. package/src/sparql/internal/parser.ts +2215 -0
  737. package/src/sparql/internal/prefetch.ts +46 -0
  738. package/src/sparql/internal/stringMap.ts +39 -0
  739. package/src/sparql/internal/textResults.ts +226 -0
  740. package/src/sparql/internal/values.ts +550 -0
  741. package/src/sparql/shacl/Evaluator.ts +478 -0
  742. package/src/sparql/shacl/Query.ts +574 -0
  743. package/src/sparql/shacl/index.ts +12 -0
  744. package/src/sparql/sql/Dialect.ts +246 -0
  745. package/src/sparql/sql/SqlStore.ts +1080 -0
  746. package/src/sparql/sql/Translation.ts +1898 -0
  747. package/src/sparql/sql/index.ts +17 -0
  748. package/src/sparql/sql/internal/encoding.ts +313 -0
  749. package/src/turtle/Grammar.ts +286 -0
  750. package/src/turtle/Manifest.ts +215 -0
  751. package/src/turtle/TriG.ts +158 -0
  752. package/src/turtle/Turtle.ts +166 -0
  753. package/src/turtle/index.ts +14 -0
  754. package/src/turtle/internal/loop.ts +23 -0
  755. package/src/turtle/internal/parse.ts +112 -0
  756. package/src/turtle/internal/parser.ts +1303 -0
  757. package/src/turtle/internal/serialize.ts +79 -0
  758. package/src/turtle/internal/streamWriter.ts +128 -0
  759. package/src/turtle/internal/writer.ts +898 -0
  760. package/src/xmp/DublinCore.ts +147 -0
  761. package/src/xmp/Exif.ts +109 -0
  762. package/src/xmp/Extract.ts +351 -0
  763. package/src/xmp/Metadata.ts +703 -0
  764. package/src/xmp/Namespaces.ts +228 -0
  765. package/src/xmp/Packet.ts +297 -0
  766. package/src/xmp/Pdf.ts +99 -0
  767. package/src/xmp/PdfA.ts +280 -0
  768. package/src/xmp/Photoshop.ts +275 -0
  769. package/src/xmp/Tiff.ts +196 -0
  770. package/src/xmp/Xmp.ts +430 -0
  771. package/src/xmp/XmpBasic.ts +90 -0
  772. package/src/xmp/XmpMM.ts +82 -0
  773. package/src/xmp/XmpRights.ts +83 -0
  774. package/src/xmp/index.ts +36 -0
  775. package/src/xmp/internal/accessors.ts +72 -0
  776. package/src/xmp/internal/xml.ts +63 -0
@@ -0,0 +1,218 @@
1
+ import { O as Triple, _ as Quad, d as NamedNode, o as Graph, t as BlankNode, w as Subject } from "./Term-B_4ezyXq.mjs";
2
+ import { n as Dataset } from "./Dataset-DS3ESOcO.mjs";
3
+ import * as Schema from "effect/Schema";
4
+ import * as Effect from "effect/Effect";
5
+ import * as SchemaAST from "effect/SchemaAST";
6
+ declare namespace Resource_d_exports {
7
+ export { DecodeOptions, Decoded, Description, DescriptionKey, EncodeOptions, InputSchema, ListKey, Property, PropertyKey, PropertyOptions, SubjectSchema, decode, decodeAll, describe, encode, list, property, schema };
8
+ }
9
+ /**
10
+ * The annotation key `property` stores a field's `Property` under.
11
+ *
12
+ * @since 0.1.0
13
+ * @category annotations
14
+ */
15
+ declare const PropertyKey = "@thomasfosterau/effect-rdf/Resource/property";
16
+ /**
17
+ * The annotation key `describe` stores a struct's `Description` under.
18
+ *
19
+ * @since 0.1.0
20
+ * @category annotations
21
+ */
22
+ declare const DescriptionKey = "@thomasfosterau/effect-rdf/Resource/description";
23
+ /**
24
+ * The annotation key `list` marks an array schema as an RDF collection with.
25
+ *
26
+ * @since 0.1.0
27
+ * @category annotations
28
+ */
29
+ declare const ListKey = "@thomasfosterau/effect-rdf/Resource/list";
30
+ /**
31
+ * How a field reads its values: the direction of its predicate and, for
32
+ * literals, the language tags it prefers.
33
+ *
34
+ * @since 0.1.0
35
+ * @category models
36
+ */
37
+ interface PropertyOptions {
38
+ /**
39
+ * Read the subjects of `?x predicate resource` instead of the objects of
40
+ * `resource predicate ?x` (and write such quads).
41
+ */
42
+ readonly inverse?: boolean | undefined;
43
+ /**
44
+ * Language tags in order of preference, `''` for an untagged value. A
45
+ * single-valued field takes the first value whose tag matches, trying the
46
+ * tags in order; a multi-valued field keeps the values whose tag is listed.
47
+ * Tags compare case-insensitively. Overrides `DecodeOptions.languages`.
48
+ */
49
+ readonly languages?: ReadonlyArray<string> | undefined;
50
+ }
51
+ /**
52
+ * The predicate a field maps to, with its `PropertyOptions`: the value of the
53
+ * `PropertyKey` annotation.
54
+ *
55
+ * @since 0.1.0
56
+ * @category models
57
+ */
58
+ interface Property extends PropertyOptions {
59
+ readonly predicate: NamedNode;
60
+ }
61
+ /**
62
+ * What `describe` records about a struct: the `rdf:type` its resources carry
63
+ * and the field holding the resource itself.
64
+ *
65
+ * @since 0.1.0
66
+ * @category models
67
+ */
68
+ interface Description {
69
+ /**
70
+ * The class every resource of this shape is an instance of: decoding
71
+ * requires `resource rdf:type type`, encoding writes it, and `decodeAll`
72
+ * finds the resources by it.
73
+ */
74
+ readonly type?: NamedNode | undefined;
75
+ /**
76
+ * The name of a field that holds the resource term itself (decoded through
77
+ * that field's codec, e.g. `TermCodec.namedNode` or `TermCodec.iri`). A
78
+ * nested value with an id encodes under it; one without becomes a fresh
79
+ * blank node.
80
+ */
81
+ readonly id?: string | undefined;
82
+ }
83
+ /**
84
+ * Maps a struct field to a predicate: annotates `codec` with the predicate
85
+ * (and `options`) without changing its type, so it composes with
86
+ * `Schema.optional`, `Schema.Array` and `list` on either side.
87
+ *
88
+ * @since 0.1.0
89
+ * @category constructors
90
+ */
91
+ declare const property: <S extends Schema.Top>(predicate: NamedNode, codec: S, options?: PropertyOptions) => S["Rebuild"];
92
+ /**
93
+ * Describes a struct as an RDF resource: the `rdf:type` it requires and
94
+ * writes, and the field (if any) holding the resource term.
95
+ *
96
+ * @since 0.1.0
97
+ * @category constructors
98
+ */
99
+ declare const describe: (description: Description) => <S extends Schema.Top>(self: S) => S["Rebuild"];
100
+ /**
101
+ * An array read from and written to an RDF collection (an `rdf:first` /
102
+ * `rdf:rest` list ending in `rdf:nil`) instead of repeated objects.
103
+ *
104
+ * @since 0.1.0
105
+ * @category constructors
106
+ */
107
+ declare const list: <S extends Schema.Top>(item: S) => Schema.$Array<S>;
108
+ /**
109
+ * Options for `decode`, `decodeAll` and `schema`.
110
+ *
111
+ * @since 0.1.0
112
+ * @category models
113
+ */
114
+ interface DecodeOptions {
115
+ /** The graph to read (every graph when omitted). */
116
+ readonly graph?: Graph | undefined;
117
+ /** The default `PropertyOptions.languages` of every field. */
118
+ readonly languages?: ReadonlyArray<string> | undefined;
119
+ /** Passed to the struct's decoder (e.g. `{ errors: 'all' }`). */
120
+ readonly parseOptions?: SchemaAST.ParseOptions | undefined;
121
+ }
122
+ /**
123
+ * Options for `encode` and `schema`.
124
+ *
125
+ * @since 0.1.0
126
+ * @category models
127
+ */
128
+ interface EncodeOptions {
129
+ /** The graph to write the quads into (the default graph when omitted). */
130
+ readonly graph?: Graph | undefined;
131
+ /** Passed to the struct's encoder. */
132
+ readonly parseOptions?: SchemaAST.ParseOptions | undefined;
133
+ }
134
+ /**
135
+ * One resource `decodeAll` found and decoded.
136
+ *
137
+ * @since 0.1.0
138
+ * @category models
139
+ */
140
+ interface Decoded<A> {
141
+ readonly subject: Subject;
142
+ readonly value: A;
143
+ }
144
+ /**
145
+ * Decodes the resource `subject` of `dataset` with a struct of `property`
146
+ * fields: reads each field's values, checks their number against the field's
147
+ * cardinality, decodes nested resources recursively and runs the struct's
148
+ * decoder over the result.
149
+ *
150
+ * @since 0.1.0
151
+ * @category decoding
152
+ */
153
+ declare const decode: <S extends Schema.Constraint>(schema: S) => (dataset: Dataset, subject: Subject, options?: DecodeOptions) => Effect.Effect<S["Type"], Schema.SchemaError, S["DecodingServices"]>;
154
+ /**
155
+ * Decodes every resource whose `rdf:type` is the struct's described `type`
156
+ * (in `Term.Order` of the subjects). Fails on the first resource that does
157
+ * not decode, with the subject at the head of the issue's path; fails when
158
+ * the struct has no described `type`.
159
+ *
160
+ * @since 0.1.0
161
+ * @category decoding
162
+ */
163
+ declare const decodeAll: <S extends Schema.Constraint>(schema: S) => (dataset: Dataset, options?: DecodeOptions) => Effect.Effect<ReadonlyArray<Decoded<S["Type"]>>, Schema.SchemaError, S["DecodingServices"]>;
164
+ /**
165
+ * Encodes `value` as the resource `subject`: the struct's encoder turns each
166
+ * field into terms, written as `subject predicate term` quads (or
167
+ * `term predicate subject` for an `inverse` field), with an `rdf:type` quad
168
+ * for a described type, RDF collections for `list` fields and the quads of
169
+ * nested resources.
170
+ *
171
+ * @since 0.1.0
172
+ * @category encoding
173
+ */
174
+ declare const encode: <S extends Schema.Constraint>(schema: S) => (subject: Subject, value: S["Type"], options?: EncodeOptions) => Effect.Effect<ReadonlyArray<Quad>, Schema.SchemaError, S["EncodingServices"]>;
175
+ /**
176
+ * A subject term: an IRI, blank node or triple term.
177
+ *
178
+ * @since 0.1.0
179
+ * @category schemas
180
+ */
181
+ declare const SubjectSchema: Schema.Union<readonly [Schema.declare<NamedNode>, Schema.declare<BlankNode>, Schema.declare<Triple>]>;
182
+ /**
183
+ * The type `SubjectSchema` decodes to: `Term.Subject`.
184
+ *
185
+ * @since 0.1.0
186
+ * @category schemas
187
+ */
188
+ type SubjectSchema = typeof SubjectSchema.Type;
189
+ /**
190
+ * The encoded side of `schema`: a dataset and the resource in it.
191
+ *
192
+ * @since 0.1.0
193
+ * @category schemas
194
+ */
195
+ declare const InputSchema: Schema.Struct<{
196
+ readonly dataset: Schema.declare<Dataset>;
197
+ readonly subject: typeof SubjectSchema;
198
+ }>;
199
+ /**
200
+ * The type `InputSchema` decodes to: `{ dataset, subject }`.
201
+ *
202
+ * @since 0.1.0
203
+ * @category schemas
204
+ */
205
+ type InputSchema = typeof InputSchema.Type;
206
+ /**
207
+ * The `Schema` form of `decode` / `encode`: decodes `{ dataset, subject }`
208
+ * to the struct's type, and encodes a value to the dataset of its quads with
209
+ * the resource as `subject` (its `describe`d id, or a fresh blank node). It
210
+ * composes with `Schema.decodeTo`, `Schema.decodeUnknownEffect` and the rest
211
+ * of the `Schema` API.
212
+ *
213
+ * @since 0.1.0
214
+ * @category schemas
215
+ */
216
+ declare const schema: <S extends Schema.Top>(self: S, options?: DecodeOptions & EncodeOptions) => Schema.decodeTo<Schema.toType<S>, typeof InputSchema, S["DecodingServices"], S["EncodingServices"]>;
217
+ export { list as _, EncodeOptions as a, Property as c, Resource_d_exports as d, SubjectSchema as f, encode as g, describe as h, DescriptionKey as i, PropertyKey as l, decodeAll as m, Decoded as n, InputSchema as o, decode as p, Description as r, ListKey as s, DecodeOptions as t, PropertyOptions as u, property as v, schema as y };
218
+ //# sourceMappingURL=Resource-B1cI8FyJ.d.mts.map
@@ -0,0 +1,374 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
2
+ import { G as isTerm, O as defaultGraph, T as blankNode, V as isObject, W as isSubject, b as TripleSchema, d as Quad, l as NamedNodeSchema, n as BlankNodeSchema, u as Order, z as isLiteral } from "./Term-CFLG1qu4.mjs";
3
+ import { A as objectsOf, C as list$1, E as match, L as subjectsOf, m as fromIterable, t as DatasetSchema } from "./Dataset-BlmlcI7J.mjs";
4
+ import { i as rdf } from "./Vocab-DceKywpq.mjs";
5
+ import { i as normalize } from "./LanguageTag-BcOpMGZ4.mjs";
6
+ import * as Arr from "effect/Array";
7
+ import * as Equal from "effect/Equal";
8
+ import * as Option from "effect/Option";
9
+ import * as Predicate from "effect/Predicate";
10
+ import * as Schema from "effect/Schema";
11
+ import * as SchemaTransformation from "effect/SchemaTransformation";
12
+ import * as Effect from "effect/Effect";
13
+ import * as SchemaIssue from "effect/SchemaIssue";
14
+ import * as Record from "effect/Record";
15
+ import * as SchemaAST from "effect/SchemaAST";
16
+ import * as SchemaParser from "effect/SchemaParser";
17
+ // src/Resource.ts
18
+ /**
19
+ * Typed records over the resources of a `Dataset`: annotate a `Schema.Struct`
20
+ * with the predicate behind each field, then decode a subject's properties
21
+ * into the struct's type and encode a value back to quads.
22
+ *
23
+ * ```ts
24
+ * const Person = Schema.Struct({
25
+ * name: Resource.property(foaf('name'), TermCodec.string),
26
+ * nick: Schema.optional(Resource.property(foaf('nick'), TermCodec.string)),
27
+ * knows: Resource.property(foaf('knows'), Schema.Array(TermCodec.namedNode)),
28
+ * }).pipe(Resource.describe({ type: foaf('Person') }))
29
+ *
30
+ * Resource.decode(Person)(dataset, alice) // Effect<{ name: string; nick?: string; … }, SchemaError>
31
+ * Resource.encode(Person)(alice, value) // Effect<ReadonlyArray<Quad>, SchemaError>
32
+ * ```
33
+ *
34
+ * A field's cardinality comes from its schema: a plain codec reads exactly
35
+ * one object, `Schema.optional` / `Schema.optionalKey` at most one,
36
+ * `Schema.Array` any number (in `Term.Order`) and `list` an RDF collection.
37
+ * A field whose codec is a struct is a nested resource, decoded from the
38
+ * object's own properties. Each value decodes through its field's codec (see
39
+ * `TermCodec`), and failures are ordinary schema issues at the field's path.
40
+ *
41
+ * @since 0.1.0
42
+ */
43
+ var Resource_exports = /* @__PURE__ */ __exportAll({
44
+ DescriptionKey: () => DescriptionKey,
45
+ InputSchema: () => InputSchema,
46
+ ListKey: () => ListKey,
47
+ PropertyKey: () => PropertyKey,
48
+ SubjectSchema: () => SubjectSchema,
49
+ decode: () => decode,
50
+ decodeAll: () => decodeAll,
51
+ describe: () => describe,
52
+ encode: () => encode,
53
+ list: () => list,
54
+ property: () => property,
55
+ schema: () => schema
56
+ });
57
+ /**
58
+ * The annotation key `property` stores a field's `Property` under.
59
+ *
60
+ * @since 0.1.0
61
+ * @category annotations
62
+ */
63
+ const PropertyKey = "@thomasfosterau/effect-rdf/Resource/property";
64
+ /**
65
+ * The annotation key `describe` stores a struct's `Description` under.
66
+ *
67
+ * @since 0.1.0
68
+ * @category annotations
69
+ */
70
+ const DescriptionKey = "@thomasfosterau/effect-rdf/Resource/description";
71
+ /**
72
+ * The annotation key `list` marks an array schema as an RDF collection with.
73
+ *
74
+ * @since 0.1.0
75
+ * @category annotations
76
+ */
77
+ const ListKey = "@thomasfosterau/effect-rdf/Resource/list";
78
+ /**
79
+ * Maps a struct field to a predicate: annotates `codec` with the predicate
80
+ * (and `options`) without changing its type, so it composes with
81
+ * `Schema.optional`, `Schema.Array` and `list` on either side.
82
+ *
83
+ * @since 0.1.0
84
+ * @category constructors
85
+ */
86
+ const property = (predicate, codec, options) => {
87
+ const value = {
88
+ ...options,
89
+ predicate
90
+ };
91
+ return codec.annotate({ [PropertyKey]: value });
92
+ };
93
+ /**
94
+ * Describes a struct as an RDF resource: the `rdf:type` it requires and
95
+ * writes, and the field (if any) holding the resource term.
96
+ *
97
+ * @since 0.1.0
98
+ * @category constructors
99
+ */
100
+ const describe = (description) => (self) => self.annotate({ [DescriptionKey]: description });
101
+ /**
102
+ * An array read from and written to an RDF collection (an `rdf:first` /
103
+ * `rdf:rest` list ending in `rdf:nil`) instead of repeated objects.
104
+ *
105
+ * @since 0.1.0
106
+ * @category constructors
107
+ */
108
+ const list = (item) => Schema.Array(item).annotate({ [ListKey]: true });
109
+ const keyOf = (signature) => Predicate.isNumber(signature.name) ? Option.none() : Option.some(signature.name);
110
+ const propertyOf = SchemaAST.resolveAt(PropertyKey);
111
+ const descriptionOf = SchemaAST.resolveAt(DescriptionKey);
112
+ const isList = (ast) => SchemaAST.resolveAt(ListKey)(ast) === true;
113
+ const resolveSuspend = (ast) => SchemaAST.isSuspend(ast) ? resolveSuspend(ast.thunk()) : ast;
114
+ const withoutUndefined = (ast) => {
115
+ if (!SchemaAST.isUnion(ast)) return ast;
116
+ const defined = Arr.filter(ast.types, (t) => !SchemaAST.isUndefined(t));
117
+ return defined.length === 1 && defined.length < ast.types.length ? Option.getOrElse(Arr.head(defined), () => ast) : ast;
118
+ };
119
+ const arrayItem = (ast) => SchemaAST.isArrays(ast) && ast.encoding === void 0 && Arr.isReadonlyArrayEmpty(ast.elements) ? Arr.head(ast.rest) : Option.none();
120
+ const nestedStruct = (ast) => {
121
+ const resolved = resolveSuspend(ast);
122
+ return SchemaAST.isObjects(resolved) && resolved.encoding === void 0 ? Option.some(resolved) : Option.none();
123
+ };
124
+ const fieldOf = (signature) => Option.flatMap(keyOf(signature), (name) => fieldNamed(name, signature));
125
+ const fieldNamed = (name, signature) => {
126
+ const declared = signature.type;
127
+ const optional = SchemaAST.isOptional(declared);
128
+ const inner = withoutUndefined(declared);
129
+ const element = arrayItem(inner);
130
+ const annotated = Arr.getSomes([
131
+ Option.fromUndefinedOr(propertyOf(declared)),
132
+ Option.fromUndefinedOr(propertyOf(inner)),
133
+ Option.flatMap(element, (e) => Option.fromUndefinedOr(propertyOf(e)))
134
+ ]);
135
+ return Option.map(Arr.head(annotated), (found) => Option.match(element, {
136
+ onNone: () => ({
137
+ name,
138
+ property: found,
139
+ cardinality: "one",
140
+ optional,
141
+ item: inner
142
+ }),
143
+ onSome: (item) => ({
144
+ name,
145
+ property: found,
146
+ cardinality: isList(inner) ? "list" : "many",
147
+ optional,
148
+ item
149
+ })
150
+ }));
151
+ };
152
+ const expectStruct = (ast) => Effect.mapError(Effect.fromOption(nestedStruct(ast)), () => new SchemaIssue.InvalidValue({ message: "Expected a struct schema (Schema.Struct) to map a resource to" }));
153
+ const describedType = (ast) => Option.fromUndefinedOr(descriptionOf(ast)?.type);
154
+ const describedId = (ast) => Option.fromUndefinedOr(descriptionOf(ast)?.id);
155
+ const languageOf = (term) => isLiteral(term) ? normalize(term.language) : "";
156
+ const hasLanguage = (tag) => (term) => languageOf(term) === normalize(tag);
157
+ const valuesOf = (context, subject, field) => {
158
+ const { predicate, inverse } = field.property;
159
+ const terms = inverse === true ? subjectsOf(context.dataset, predicate, subject, context.options.graph) : objectsOf(context.dataset, subject, predicate, context.options.graph);
160
+ const sorted = Arr.sort(terms, Order);
161
+ const languages = field.property.languages ?? context.options.languages;
162
+ if (languages === void 0) return sorted;
163
+ if (field.cardinality === "one") return Arr.fromOption(Arr.findFirst(languages, (tag) => Arr.findFirst(sorted, hasLanguage(tag))));
164
+ return Arr.dedupe(Arr.flatMap(languages, (tag) => Arr.filter(sorted, hasLanguage(tag))));
165
+ };
166
+ const describePredicate = (field) => field.property.inverse === true ? `^${field.property.predicate.toString()}` : field.property.predicate.toString();
167
+ const atField = (field, ...path) => (issue) => new SchemaIssue.Pointer([field.name, ...path], issue);
168
+ const missing = (field) => atField(field)(new SchemaIssue.MissingKey({
169
+ messageMissingKey: `Missing value for ${describePredicate(field)}`,
170
+ predicate: field.property.predicate.value
171
+ }));
172
+ const tooMany = (field, values) => atField(field)(new SchemaIssue.InvalidValue({
173
+ message: `Expected ${field.optional ? "at most" : "exactly"} one value for ${describePredicate(field)}, got ${values.length}`,
174
+ predicate: field.property.predicate.value
175
+ }, values));
176
+ const isSubjectTerm = (term) => isSubject(term);
177
+ const encodedValue = (context, item, term, visits) => Option.match(nestedStruct(item), {
178
+ onNone: () => Effect.succeed(term),
179
+ onSome: () => isSubjectTerm(term) ? gather(context, item, term, visits) : Effect.fail(new SchemaIssue.InvalidValue({ message: `Expected an IRI or blank node, got ${term.toString()}` }, term))
180
+ });
181
+ const encodedValues = (context, field, terms, visits) => Effect.forEach(terms, (term, index) => Effect.mapError(encodedValue(context, field.item, term, visits), atField(field, index)), { concurrency: 1 });
182
+ const listItems = (context, field, head) => Effect.mapError(Effect.fromOption(list$1(context.dataset, head, context.options.graph)), () => atField(field)(new SchemaIssue.InvalidValue({
183
+ message: `Expected an RDF list for ${describePredicate(field)}, got ${head.toString()}`,
184
+ predicate: field.property.predicate.value
185
+ }, head)));
186
+ const encodedField = (context, subject, field, visits) => {
187
+ const values = valuesOf(context, subject, field);
188
+ if (field.cardinality === "many") return Arr.isReadonlyArrayEmpty(values) && field.optional ? Effect.succeedNone : Effect.asSome(encodedValues(context, field, values, visits));
189
+ return Arr.match(values, {
190
+ onEmpty: () => field.optional ? Effect.succeedNone : Effect.fail(missing(field)),
191
+ onNonEmpty: ([first, ...rest]) => {
192
+ if (Arr.isArrayNonEmpty(rest)) return Effect.fail(tooMany(field, values));
193
+ return field.cardinality === "list" ? Effect.asSome(Effect.flatMap(listItems(context, field, first), (items) => encodedValues(context, field, items, visits))) : Effect.asSome(Effect.mapError(encodedValue(context, field.item, first, visits), atField(field)));
194
+ }
195
+ });
196
+ };
197
+ const hasType = (context, subject, type) => Arr.isReadonlyArrayNonEmpty(match(context.dataset, {
198
+ subject,
199
+ predicate: rdf.type,
200
+ object: type,
201
+ graph: context.options.graph
202
+ })) ? Effect.void : Effect.fail(new SchemaIssue.InvalidValue({
203
+ message: `Expected ${subject.toString()} to have rdf:type ${type.toString()}`,
204
+ predicate: rdf.type.value
205
+ }, subject));
206
+ const gather = (context, ast, subject, visits) => Effect.gen(function* () {
207
+ const struct = yield* expectStruct(ast);
208
+ if (Arr.some(visits, ([seen, at]) => seen === struct && Equal.equals(at, subject))) return yield* Effect.fail(new SchemaIssue.InvalidValue({ message: `Cycle: ${subject.toString()} is already being decoded as this resource` }, subject));
209
+ yield* Option.match(describedType(struct), {
210
+ onNone: () => Effect.void,
211
+ onSome: (type) => hasType(context, subject, type)
212
+ });
213
+ const id = describedId(struct);
214
+ const inner = [...visits, [struct, subject]];
215
+ const entries = yield* Effect.forEach(struct.propertySignatures, (signature) => Option.match(keyOf(signature), {
216
+ onNone: () => Effect.succeedNone,
217
+ onSome: (name) => Option.contains(id, name) ? Effect.succeedSome([name, subject]) : Option.match(fieldNamed(name, signature), {
218
+ onNone: () => Effect.succeedNone,
219
+ onSome: (field) => Effect.map(encodedField(context, subject, field, inner), Option.map((value) => [name, value]))
220
+ })
221
+ }), { concurrency: 1 });
222
+ return Record.fromEntries(Arr.getSomes(entries));
223
+ });
224
+ const contextOf = (dataset, options) => ({
225
+ dataset,
226
+ options
227
+ });
228
+ const decodeIssue = (schema, dataset, subject, options, parseOptions) => Effect.flatMap(gather(contextOf(dataset, options), schema.ast, subject, []), (record) => SchemaParser.decodeEffect(schema)(record, parseOptions ?? options.parseOptions));
229
+ const toSchemaError = (issue) => new Schema.SchemaError(issue);
230
+ /**
231
+ * Decodes the resource `subject` of `dataset` with a struct of `property`
232
+ * fields: reads each field's values, checks their number against the field's
233
+ * cardinality, decodes nested resources recursively and runs the struct's
234
+ * decoder over the result.
235
+ *
236
+ * @since 0.1.0
237
+ * @category decoding
238
+ */
239
+ const decode = (schema) => (dataset, subject, options) => Effect.mapError(decodeIssue(schema, dataset, subject, options ?? {}), toSchemaError);
240
+ /**
241
+ * Decodes every resource whose `rdf:type` is the struct's described `type`
242
+ * (in `Term.Order` of the subjects). Fails on the first resource that does
243
+ * not decode, with the subject at the head of the issue's path; fails when
244
+ * the struct has no described `type`.
245
+ *
246
+ * @since 0.1.0
247
+ * @category decoding
248
+ */
249
+ const decodeAll = (schema) => (dataset, options) => Option.match(describedType(schema.ast), {
250
+ onNone: () => Effect.fail(toSchemaError(new SchemaIssue.InvalidValue({ message: "Resource.decodeAll needs a struct described with a type" }))),
251
+ onSome: (type) => Effect.forEach(Arr.sort(subjectsOf(dataset, rdf.type, type, options?.graph), Order), (subject) => Effect.mapBoth(decodeIssue(schema, dataset, subject, options ?? {}), {
252
+ onFailure: (issue) => toSchemaError(new SchemaIssue.Pointer([subject.key], issue)),
253
+ onSuccess: (value) => ({
254
+ subject,
255
+ value
256
+ })
257
+ }), { concurrency: 1 })
258
+ });
259
+ const isEncodedRecord = (u) => Predicate.isObject(u) && !isTerm(u);
260
+ const read = (record, key) => Option.filter(Record.get(record, key), Predicate.isNotUndefined);
261
+ const unexpected = (expected) => new SchemaIssue.InvalidValue({ message: `Expected the codec to encode to ${expected}` });
262
+ const statement = (field, subject, value, graph) => {
263
+ const predicate = field.property.predicate;
264
+ if (field.property.inverse !== true) return Effect.succeed(new Quad(subject, predicate, value, graph));
265
+ return isSubjectTerm(value) ? Effect.succeed(new Quad(value, predicate, subject, graph)) : Effect.fail(atField(field)(new SchemaIssue.InvalidValue({
266
+ message: `Expected an IRI or blank node for ${describePredicate(field)}, got ${value.toString()}`,
267
+ predicate: predicate.value
268
+ }, value)));
269
+ };
270
+ const collection = (items, graph) => {
271
+ const nodes = Arr.map(items, () => blankNode());
272
+ const rests = [...Arr.drop(nodes, 1), rdf.nil];
273
+ const quads = Arr.flatMap(Arr.zip(nodes, Arr.zip(items, rests)), ([node, [item, rest]]) => [new Quad(node, rdf.first, item, graph), new Quad(node, rdf.rest, rest, graph)]);
274
+ return [Option.getOrElse(Arr.head(nodes), () => rdf.nil), quads];
275
+ };
276
+ const emitField = (field, subject, record, graph) => Effect.gen(function* () {
277
+ const items = Option.match(read(record, field.name), {
278
+ onNone: () => [],
279
+ onSome: (v) => field.cardinality !== "one" && Arr.isArray(v) ? v : [v]
280
+ });
281
+ const nested = nestedStruct(field.item);
282
+ const emitted = yield* Effect.forEach(items, (item, index) => {
283
+ const at = field.cardinality === "one" ? atField(field) : atField(field, index);
284
+ return Option.match(nested, {
285
+ onNone: () => isObject(item) ? Effect.succeed([item, []]) : Effect.fail(at(unexpected("an RDF term"))),
286
+ onSome: (struct) => isEncodedRecord(item) ? Effect.mapBoth(emit(struct, Option.none(), item, graph), {
287
+ onFailure: at,
288
+ onSuccess: (out) => [out.subject, out.quads]
289
+ }) : Effect.fail(at(unexpected("a record")))
290
+ });
291
+ }, { concurrency: 1 });
292
+ const inner = Arr.flatMap(emitted, ([, quads]) => quads);
293
+ const terms = Arr.map(emitted, ([term]) => term);
294
+ if (field.cardinality === "list" && Option.isSome(read(record, field.name))) {
295
+ const [head, links] = collection(terms, graph);
296
+ return [
297
+ yield* statement(field, subject, head, graph),
298
+ ...links,
299
+ ...inner
300
+ ];
301
+ }
302
+ return [...yield* Effect.forEach(terms, (term) => statement(field, subject, term, graph), { concurrency: 1 }), ...inner];
303
+ });
304
+ const emit = (struct, given, record, graph) => Effect.gen(function* () {
305
+ const id = describedId(struct);
306
+ const subject = Option.getOrElse(Option.orElse(given, () => Option.filter(Option.flatMap(id, (key) => read(record, key)), (term) => isSubject(term))), () => blankNode());
307
+ const typed = Arr.map(Arr.fromOption(describedType(struct)), (type) => new Quad(subject, rdf.type, type, graph));
308
+ const fields = Arr.filter(Arr.getSomes(Arr.map(struct.propertySignatures, fieldOf)), (field) => !Option.contains(id, field.name));
309
+ const quads = yield* Effect.forEach(fields, (field) => emitField(field, subject, record, graph), { concurrency: 1 });
310
+ return {
311
+ subject,
312
+ quads: [...typed, ...Arr.flatten(quads)]
313
+ };
314
+ });
315
+ const encodeIssue = (schema, subject, value, options, parseOptions) => Effect.gen(function* () {
316
+ const struct = yield* expectStruct(schema.ast);
317
+ const record = yield* SchemaParser.encodeEffect(schema)(value, parseOptions ?? options.parseOptions);
318
+ return isEncodedRecord(record) ? yield* emit(struct, subject, record, options.graph ?? defaultGraph) : yield* Effect.fail(unexpected("a record"));
319
+ });
320
+ /**
321
+ * Encodes `value` as the resource `subject`: the struct's encoder turns each
322
+ * field into terms, written as `subject predicate term` quads (or
323
+ * `term predicate subject` for an `inverse` field), with an `rdf:type` quad
324
+ * for a described type, RDF collections for `list` fields and the quads of
325
+ * nested resources.
326
+ *
327
+ * @since 0.1.0
328
+ * @category encoding
329
+ */
330
+ const encode = (schema) => (subject, value, options) => Effect.mapBoth(encodeIssue(schema, Option.some(subject), value, options ?? {}), {
331
+ onFailure: toSchemaError,
332
+ onSuccess: (out) => out.quads
333
+ });
334
+ /**
335
+ * A subject term: an IRI, blank node or triple term.
336
+ *
337
+ * @since 0.1.0
338
+ * @category schemas
339
+ */
340
+ const SubjectSchema = Schema.Union([
341
+ NamedNodeSchema,
342
+ BlankNodeSchema,
343
+ TripleSchema
344
+ ]);
345
+ /**
346
+ * The encoded side of `schema`: a dataset and the resource in it.
347
+ *
348
+ * @since 0.1.0
349
+ * @category schemas
350
+ */
351
+ const InputSchema = Schema.Struct({
352
+ dataset: DatasetSchema,
353
+ subject: SubjectSchema
354
+ });
355
+ /**
356
+ * The `Schema` form of `decode` / `encode`: decodes `{ dataset, subject }`
357
+ * to the struct's type, and encodes a value to the dataset of its quads with
358
+ * the resource as `subject` (its `describe`d id, or a fresh blank node). It
359
+ * composes with `Schema.decodeTo`, `Schema.decodeUnknownEffect` and the rest
360
+ * of the `Schema` API.
361
+ *
362
+ * @since 0.1.0
363
+ * @category schemas
364
+ */
365
+ const schema = (self, options) => InputSchema.pipe(Schema.decodeTo(Schema.toType(self), SchemaTransformation.transformEffect({
366
+ decode: (input, parseOptions) => decodeIssue(self, input.dataset, input.subject, options ?? {}, parseOptions),
367
+ encode: (value, parseOptions) => Effect.map(encodeIssue(self, Option.none(), value, options ?? {}, parseOptions), (out) => ({
368
+ dataset: fromIterable(out.quads),
369
+ subject: out.subject
370
+ }))
371
+ })));
372
+ export { Resource_exports as a, decodeAll as c, list as d, property as f, PropertyKey as i, describe as l, InputSchema as n, SubjectSchema as o, schema as p, ListKey as r, decode as s, DescriptionKey as t, encode as u };
373
+
374
+ //# sourceMappingURL=Resource-sIEeNh15.mjs.map