@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 @@
1
+ {"version":3,"file":"Resource-sIEeNh15.mjs","names":["Term.isLiteral","LanguageTag.normalize","Dataset.subjectsOf","Dataset.objectsOf","Term.Order","Term.isSubject","Dataset.list","Dataset.match","Term.isTerm","Term.Quad","Term.blankNode","Term.isObject","Term.defaultGraph","Term.NamedNodeSchema","Term.BlankNodeSchema","Term.TripleSchema","Dataset.DatasetSchema","Dataset.fromIterable"],"sources":["../src/Resource.ts"],"sourcesContent":["/**\n * Typed records over the resources of a `Dataset`: annotate a `Schema.Struct`\n * with the predicate behind each field, then decode a subject's properties\n * into the struct's type and encode a value back to quads.\n *\n * ```ts\n * const Person = Schema.Struct({\n * name: Resource.property(foaf('name'), TermCodec.string),\n * nick: Schema.optional(Resource.property(foaf('nick'), TermCodec.string)),\n * knows: Resource.property(foaf('knows'), Schema.Array(TermCodec.namedNode)),\n * }).pipe(Resource.describe({ type: foaf('Person') }))\n *\n * Resource.decode(Person)(dataset, alice) // Effect<{ name: string; nick?: string; … }, SchemaError>\n * Resource.encode(Person)(alice, value) // Effect<ReadonlyArray<Quad>, SchemaError>\n * ```\n *\n * A field's cardinality comes from its schema: a plain codec reads exactly\n * one object, `Schema.optional` / `Schema.optionalKey` at most one,\n * `Schema.Array` any number (in `Term.Order`) and `list` an RDF collection.\n * A field whose codec is a struct is a nested resource, decoded from the\n * object's own properties. Each value decodes through its field's codec (see\n * `TermCodec`), and failures are ordinary schema issues at the field's path.\n *\n * @since 0.1.0\n */\nimport * as Arr from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Equal from 'effect/Equal';\nimport * as Option from 'effect/Option';\nimport * as Predicate from 'effect/Predicate';\nimport * as Record from 'effect/Record';\nimport * as Schema from 'effect/Schema';\nimport * as SchemaAST from 'effect/SchemaAST';\nimport * as SchemaIssue from 'effect/SchemaIssue';\nimport * as SchemaParser from 'effect/SchemaParser';\nimport * as SchemaTransformation from 'effect/SchemaTransformation';\nimport * as Dataset from './Dataset.ts';\nimport * as LanguageTag from './LanguageTag.ts';\nimport * as Term from './Term.ts';\nimport { rdf } from './Vocab.ts';\n\n// -----------------------------------------------------------------------------\n// Annotations\n// -----------------------------------------------------------------------------\n\n/**\n * The annotation key `property` stores a field's `Property` under.\n *\n * @since 0.1.0\n * @category annotations\n */\nexport const PropertyKey = '@thomasfosterau/effect-rdf/Resource/property';\n\n/**\n * The annotation key `describe` stores a struct's `Description` under.\n *\n * @since 0.1.0\n * @category annotations\n */\nexport const DescriptionKey = '@thomasfosterau/effect-rdf/Resource/description';\n\n/**\n * The annotation key `list` marks an array schema as an RDF collection with.\n *\n * @since 0.1.0\n * @category annotations\n */\nexport const ListKey = '@thomasfosterau/effect-rdf/Resource/list';\n\n/**\n * How a field reads its values: the direction of its predicate and, for\n * literals, the language tags it prefers.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface PropertyOptions {\n /**\n * Read the subjects of `?x predicate resource` instead of the objects of\n * `resource predicate ?x` (and write such quads).\n */\n readonly inverse?: boolean | undefined;\n /**\n * Language tags in order of preference, `''` for an untagged value. A\n * single-valued field takes the first value whose tag matches, trying the\n * tags in order; a multi-valued field keeps the values whose tag is listed.\n * Tags compare case-insensitively. Overrides `DecodeOptions.languages`.\n */\n readonly languages?: ReadonlyArray<string> | undefined;\n}\n\n/**\n * The predicate a field maps to, with its `PropertyOptions`: the value of the\n * `PropertyKey` annotation.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface Property extends PropertyOptions {\n readonly predicate: Term.NamedNode;\n}\n\n/**\n * What `describe` records about a struct: the `rdf:type` its resources carry\n * and the field holding the resource itself.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface Description {\n /**\n * The class every resource of this shape is an instance of: decoding\n * requires `resource rdf:type type`, encoding writes it, and `decodeAll`\n * finds the resources by it.\n */\n readonly type?: Term.NamedNode | undefined;\n /**\n * The name of a field that holds the resource term itself (decoded through\n * that field's codec, e.g. `TermCodec.namedNode` or `TermCodec.iri`). A\n * nested value with an id encodes under it; one without becomes a fresh\n * blank node.\n */\n readonly id?: string | undefined;\n}\n\n/**\n * Maps a struct field to a predicate: annotates `codec` with the predicate\n * (and `options`) without changing its type, so it composes with\n * `Schema.optional`, `Schema.Array` and `list` on either side.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const property = <S extends Schema.Top>(\n predicate: Term.NamedNode,\n codec: S,\n options?: PropertyOptions,\n): S['Rebuild'] => {\n const value: Property = { ...options, predicate };\n return codec.annotate({ [PropertyKey]: value });\n};\n\n/**\n * Describes a struct as an RDF resource: the `rdf:type` it requires and\n * writes, and the field (if any) holding the resource term.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const describe =\n (description: Description) =>\n <S extends Schema.Top>(self: S): S['Rebuild'] =>\n self.annotate({ [DescriptionKey]: description });\n\n/**\n * An array read from and written to an RDF collection (an `rdf:first` /\n * `rdf:rest` list ending in `rdf:nil`) instead of repeated objects.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const list = <S extends Schema.Top>(item: S): Schema.$Array<S> =>\n Schema.Array(item).annotate({ [ListKey]: true });\n\n// -----------------------------------------------------------------------------\n// Options\n// -----------------------------------------------------------------------------\n\n/**\n * Options for `decode`, `decodeAll` and `schema`.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface DecodeOptions {\n /** The graph to read (every graph when omitted). */\n readonly graph?: Term.Graph | undefined;\n /** The default `PropertyOptions.languages` of every field. */\n readonly languages?: ReadonlyArray<string> | undefined;\n /** Passed to the struct's decoder (e.g. `{ errors: 'all' }`). */\n readonly parseOptions?: SchemaAST.ParseOptions | undefined;\n}\n\n/**\n * Options for `encode` and `schema`.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface EncodeOptions {\n /** The graph to write the quads into (the default graph when omitted). */\n readonly graph?: Term.Graph | undefined;\n /** Passed to the struct's encoder. */\n readonly parseOptions?: SchemaAST.ParseOptions | undefined;\n}\n\n/**\n * One resource `decodeAll` found and decoded.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface Decoded<A> {\n readonly subject: Term.Subject;\n readonly value: A;\n}\n\n// -----------------------------------------------------------------------------\n// Field plans\n// -----------------------------------------------------------------------------\n\ntype Cardinality = 'one' | 'many' | 'list';\n\n// A struct field's name; numeric keys are not fields of a resource.\ntype Key = string | symbol;\n\nconst keyOf = (signature: SchemaAST.PropertySignature): Option.Option<Key> =>\n Predicate.isNumber(signature.name) ? Option.none() : Option.some(signature.name);\n\ninterface Field {\n readonly name: Key;\n readonly property: Property;\n readonly cardinality: Cardinality;\n /** The key may be absent: `Schema.optional` / `Schema.optionalKey`. */\n readonly optional: boolean;\n /** The schema of one value. */\n readonly item: SchemaAST.AST;\n}\n\nconst propertyOf = SchemaAST.resolveAt<Property>(PropertyKey);\nconst descriptionOf = SchemaAST.resolveAt<Description>(DescriptionKey);\nconst isList = (ast: SchemaAST.AST): boolean => SchemaAST.resolveAt<boolean>(ListKey)(ast) === true;\n\nconst resolveSuspend = (ast: SchemaAST.AST): SchemaAST.AST =>\n SchemaAST.isSuspend(ast) ? resolveSuspend(ast.thunk()) : ast;\n\n// `T | undefined` (what `Schema.optional` wraps a field in) without the `undefined`.\nconst withoutUndefined = (ast: SchemaAST.AST): SchemaAST.AST => {\n if (!SchemaAST.isUnion(ast)) return ast;\n const defined = Arr.filter(ast.types, (t) => !SchemaAST.isUndefined(t));\n return defined.length === 1 && defined.length < ast.types.length\n ? Option.getOrElse(Arr.head(defined), () => ast)\n : ast;\n};\n\n// An array of encoded values (`Schema.Array(codec)`), as opposed to a codec whose type is an array.\nconst arrayItem = (ast: SchemaAST.AST): Option.Option<SchemaAST.AST> =>\n SchemaAST.isArrays(ast) && ast.encoding === undefined && Arr.isReadonlyArrayEmpty(ast.elements)\n ? Arr.head(ast.rest)\n : Option.none();\n\n// A nested resource: a struct whose encoded side is itself a record of terms.\nconst nestedStruct = (ast: SchemaAST.AST): Option.Option<SchemaAST.Objects> => {\n const resolved = resolveSuspend(ast);\n return SchemaAST.isObjects(resolved) && resolved.encoding === undefined\n ? Option.some(resolved)\n : Option.none();\n};\n\nconst fieldOf = (signature: SchemaAST.PropertySignature): Option.Option<Field> =>\n Option.flatMap(keyOf(signature), (name) => fieldNamed(name, signature));\n\nconst fieldNamed = (name: Key, signature: SchemaAST.PropertySignature): Option.Option<Field> => {\n const declared = signature.type;\n const optional = SchemaAST.isOptional(declared);\n const inner = withoutUndefined(declared);\n const element = arrayItem(inner);\n const annotated = Arr.getSomes([\n Option.fromUndefinedOr(propertyOf(declared)),\n Option.fromUndefinedOr(propertyOf(inner)),\n Option.flatMap(element, (e) => Option.fromUndefinedOr(propertyOf(e))),\n ]);\n return Option.map(Arr.head(annotated), (found) =>\n Option.match(element, {\n onNone: () => ({\n name,\n property: found,\n cardinality: 'one' as const,\n optional,\n item: inner,\n }),\n onSome: (item) => ({\n name,\n property: found,\n cardinality: isList(inner) ? ('list' as const) : ('many' as const),\n optional,\n item,\n }),\n }),\n );\n};\n\nconst expectStruct = (ast: SchemaAST.AST): Effect.Effect<SchemaAST.Objects, SchemaIssue.Issue> =>\n Effect.mapError(\n Effect.fromOption(nestedStruct(ast)),\n () =>\n new SchemaIssue.InvalidValue({\n message: 'Expected a struct schema (Schema.Struct) to map a resource to',\n }),\n );\n\nconst describedType = (ast: SchemaAST.AST): Option.Option<Term.NamedNode> =>\n Option.fromUndefinedOr(descriptionOf(ast)?.type);\n\nconst describedId = (ast: SchemaAST.AST): Option.Option<string> =>\n Option.fromUndefinedOr(descriptionOf(ast)?.id);\n\n// -----------------------------------------------------------------------------\n// Decoding\n// -----------------------------------------------------------------------------\n\ninterface DecodeContext {\n readonly dataset: Dataset.Dataset;\n readonly options: DecodeOptions;\n}\n\ntype Visit = readonly [SchemaAST.AST, Term.Subject];\n\nconst languageOf = (term: Term.Term): string =>\n Term.isLiteral(term) ? LanguageTag.normalize(term.language) : '';\n\nconst hasLanguage =\n (tag: string) =>\n (term: Term.Term): boolean =>\n languageOf(term) === LanguageTag.normalize(tag);\n\n// The values of a field, before cardinality: sorted for determinism, then narrowed by language.\nconst valuesOf = (\n context: DecodeContext,\n subject: Term.Subject,\n field: Field,\n): ReadonlyArray<Term.Object> => {\n const { predicate, inverse } = field.property;\n const terms: ReadonlyArray<Term.Object> =\n inverse === true\n ? Dataset.subjectsOf(context.dataset, predicate, subject, context.options.graph)\n : Dataset.objectsOf(context.dataset, subject, predicate, context.options.graph);\n const sorted = Arr.sort(terms, Term.Order);\n const languages = field.property.languages ?? context.options.languages;\n if (languages === undefined) return sorted;\n if (field.cardinality === 'one') {\n return Arr.fromOption(\n Arr.findFirst(languages, (tag) => Arr.findFirst(sorted, hasLanguage(tag))),\n );\n }\n return Arr.dedupe(Arr.flatMap(languages, (tag) => Arr.filter(sorted, hasLanguage(tag))));\n};\n\nconst describePredicate = (field: Field): string =>\n field.property.inverse === true\n ? `^${field.property.predicate.toString()}`\n : field.property.predicate.toString();\n\nconst atField =\n (field: Field, ...path: ReadonlyArray<PropertyKey>) =>\n (issue: SchemaIssue.Issue): SchemaIssue.Issue =>\n new SchemaIssue.Pointer([field.name, ...path], issue);\n\nconst missing = (field: Field): SchemaIssue.Issue =>\n atField(field)(\n new SchemaIssue.MissingKey({\n messageMissingKey: `Missing value for ${describePredicate(field)}`,\n predicate: field.property.predicate.value,\n }),\n );\n\nconst tooMany = (field: Field, values: ReadonlyArray<Term.Object>): SchemaIssue.Issue =>\n atField(field)(\n new SchemaIssue.InvalidValue(\n {\n message: `Expected ${field.optional ? 'at most' : 'exactly'} one value for ${describePredicate(field)}, got ${values.length}`,\n predicate: field.property.predicate.value,\n },\n values,\n ),\n );\n\nconst isSubjectTerm = (term: Term.Term): term is Term.Subject => Term.isSubject(term);\n\n// The encoded value of one field value: the term, or a nested resource's record.\nconst encodedValue = (\n context: DecodeContext,\n item: SchemaAST.AST,\n term: Term.Object,\n visits: ReadonlyArray<Visit>,\n): Effect.Effect<unknown, SchemaIssue.Issue> =>\n Option.match(nestedStruct(item), {\n onNone: () => Effect.succeed(term),\n onSome: () =>\n isSubjectTerm(term)\n ? gather(context, item, term, visits)\n : Effect.fail(\n new SchemaIssue.InvalidValue(\n { message: `Expected an IRI or blank node, got ${term.toString()}` },\n term,\n ),\n ),\n });\n\nconst encodedValues = (\n context: DecodeContext,\n field: Field,\n terms: ReadonlyArray<Term.Object>,\n visits: ReadonlyArray<Visit>,\n): Effect.Effect<ReadonlyArray<unknown>, SchemaIssue.Issue> =>\n Effect.forEach(\n terms,\n (term, index) =>\n Effect.mapError(encodedValue(context, field.item, term, visits), atField(field, index)),\n { concurrency: 1 },\n );\n\nconst listItems = (\n context: DecodeContext,\n field: Field,\n head: Term.Object,\n): Effect.Effect<ReadonlyArray<Term.Object>, SchemaIssue.Issue> =>\n Effect.mapError(\n Effect.fromOption(Dataset.list(context.dataset, head, context.options.graph)),\n () =>\n atField(field)(\n new SchemaIssue.InvalidValue(\n {\n message: `Expected an RDF list for ${describePredicate(field)}, got ${head.toString()}`,\n predicate: field.property.predicate.value,\n },\n head,\n ),\n ),\n );\n\n// The encoded value of a field (`None` leaves the key out), checking its cardinality.\nconst encodedField = (\n context: DecodeContext,\n subject: Term.Subject,\n field: Field,\n visits: ReadonlyArray<Visit>,\n): Effect.Effect<Option.Option<unknown>, SchemaIssue.Issue> => {\n const values = valuesOf(context, subject, field);\n if (field.cardinality === 'many') {\n return Arr.isReadonlyArrayEmpty(values) && field.optional\n ? Effect.succeedNone\n : Effect.asSome(encodedValues(context, field, values, visits));\n }\n return Arr.match(values, {\n onEmpty: () => (field.optional ? Effect.succeedNone : Effect.fail(missing(field))),\n onNonEmpty: ([first, ...rest]) => {\n if (Arr.isArrayNonEmpty(rest)) return Effect.fail(tooMany(field, values));\n return field.cardinality === 'list'\n ? Effect.asSome(\n Effect.flatMap(listItems(context, field, first), (items) =>\n encodedValues(context, field, items, visits),\n ),\n )\n : Effect.asSome(\n Effect.mapError(encodedValue(context, field.item, first, visits), atField(field)),\n );\n },\n });\n};\n\nconst hasType = (\n context: DecodeContext,\n subject: Term.Subject,\n type: Term.NamedNode,\n): Effect.Effect<void, SchemaIssue.Issue> =>\n Arr.isReadonlyArrayNonEmpty(\n Dataset.match(context.dataset, {\n subject,\n predicate: rdf.type,\n object: type,\n graph: context.options.graph,\n }),\n )\n ? Effect.void\n : Effect.fail(\n new SchemaIssue.InvalidValue(\n {\n message: `Expected ${subject.toString()} to have rdf:type ${type.toString()}`,\n predicate: rdf.type.value,\n },\n subject,\n ),\n );\n\n// The encoded record of a resource: every mapped field's terms (or nested records), so the\n// struct's own decoder turns it into the struct's type.\nconst gather = (\n context: DecodeContext,\n ast: SchemaAST.AST,\n subject: Term.Subject,\n visits: ReadonlyArray<Visit>,\n): Effect.Effect<Record.ReadonlyRecord<Key, unknown>, SchemaIssue.Issue> =>\n Effect.gen(function* () {\n const struct = yield* expectStruct(ast);\n if (Arr.some(visits, ([seen, at]) => seen === struct && Equal.equals(at, subject))) {\n return yield* Effect.fail(\n new SchemaIssue.InvalidValue(\n { message: `Cycle: ${subject.toString()} is already being decoded as this resource` },\n subject,\n ),\n );\n }\n yield* Option.match(describedType(struct), {\n onNone: () => Effect.void,\n onSome: (type) => hasType(context, subject, type),\n });\n const id = describedId(struct);\n const inner: ReadonlyArray<Visit> = [...visits, [struct, subject]];\n const entries = yield* Effect.forEach(\n struct.propertySignatures,\n (signature): Effect.Effect<Option.Option<readonly [Key, unknown]>, SchemaIssue.Issue> =>\n Option.match(keyOf(signature), {\n onNone: () => Effect.succeedNone,\n onSome: (name) =>\n Option.contains(id, name)\n ? Effect.succeedSome([name, subject])\n : Option.match(fieldNamed(name, signature), {\n onNone: () => Effect.succeedNone,\n onSome: (field) =>\n Effect.map(\n encodedField(context, subject, field, inner),\n Option.map((value) => [name, value]),\n ),\n }),\n }),\n { concurrency: 1 },\n );\n return Record.fromEntries(Arr.getSomes(entries));\n });\n\nconst contextOf = (dataset: Dataset.Dataset, options: DecodeOptions): DecodeContext => ({\n dataset,\n options,\n});\n\nconst decodeIssue = <S extends Schema.Constraint>(\n schema: S,\n dataset: Dataset.Dataset,\n subject: Term.Subject,\n options: DecodeOptions,\n parseOptions?: SchemaAST.ParseOptions,\n): Effect.Effect<S['Type'], SchemaIssue.Issue, S['DecodingServices']> =>\n Effect.flatMap(gather(contextOf(dataset, options), schema.ast, subject, []), (record) =>\n SchemaParser.decodeEffect(schema)(record, parseOptions ?? options.parseOptions),\n );\n\nconst toSchemaError = (issue: SchemaIssue.Issue): Schema.SchemaError =>\n new Schema.SchemaError(issue);\n\n/**\n * Decodes the resource `subject` of `dataset` with a struct of `property`\n * fields: reads each field's values, checks their number against the field's\n * cardinality, decodes nested resources recursively and runs the struct's\n * decoder over the result.\n *\n * @since 0.1.0\n * @category decoding\n */\nexport const decode =\n <S extends Schema.Constraint>(schema: S) =>\n (\n dataset: Dataset.Dataset,\n subject: Term.Subject,\n options?: DecodeOptions,\n ): Effect.Effect<S['Type'], Schema.SchemaError, S['DecodingServices']> =>\n Effect.mapError(decodeIssue(schema, dataset, subject, options ?? {}), toSchemaError);\n\n/**\n * Decodes every resource whose `rdf:type` is the struct's described `type`\n * (in `Term.Order` of the subjects). Fails on the first resource that does\n * not decode, with the subject at the head of the issue's path; fails when\n * the struct has no described `type`.\n *\n * @since 0.1.0\n * @category decoding\n */\nexport const decodeAll =\n <S extends Schema.Constraint>(schema: S) =>\n (\n dataset: Dataset.Dataset,\n options?: DecodeOptions,\n ): Effect.Effect<ReadonlyArray<Decoded<S['Type']>>, Schema.SchemaError, S['DecodingServices']> =>\n Option.match(describedType(schema.ast), {\n onNone: () =>\n Effect.fail(\n toSchemaError(\n new SchemaIssue.InvalidValue({\n message: 'Resource.decodeAll needs a struct described with a type',\n }),\n ),\n ),\n onSome: (type) =>\n Effect.forEach(\n Arr.sort(Dataset.subjectsOf(dataset, rdf.type, type, options?.graph), Term.Order),\n (subject) =>\n Effect.mapBoth(decodeIssue(schema, dataset, subject, options ?? {}), {\n onFailure: (issue) => toSchemaError(new SchemaIssue.Pointer([subject.key], issue)),\n onSuccess: (value): Decoded<S['Type']> => ({ subject, value }),\n }),\n { concurrency: 1 },\n ),\n });\n\n// -----------------------------------------------------------------------------\n// Encoding\n// -----------------------------------------------------------------------------\n\ninterface Emitted {\n readonly subject: Term.Subject;\n readonly quads: ReadonlyArray<Term.Quad>;\n}\n\n// What a struct encodes to: one entry per field.\ntype EncodedRecord = Record.ReadonlyRecord<Key, unknown>;\n\nconst isEncodedRecord = (u: unknown): u is EncodedRecord =>\n Predicate.isObject(u) && !Term.isTerm(u);\n\nconst read = (record: EncodedRecord, key: Key): Option.Option<unknown> =>\n Option.filter(Record.get(record, key), Predicate.isNotUndefined);\n\nconst unexpected = (expected: string): SchemaIssue.Issue =>\n new SchemaIssue.InvalidValue({ message: `Expected the codec to encode to ${expected}` });\n\nconst statement = (\n field: Field,\n subject: Term.Subject,\n value: Term.Object,\n graph: Term.Graph,\n): Effect.Effect<Term.Quad, SchemaIssue.Issue> => {\n const predicate = field.property.predicate;\n if (field.property.inverse !== true) {\n return Effect.succeed(new Term.Quad(subject, predicate, value, graph));\n }\n return isSubjectTerm(value)\n ? Effect.succeed(new Term.Quad(value, predicate, subject, graph))\n : Effect.fail(\n atField(field)(\n new SchemaIssue.InvalidValue(\n {\n message: `Expected an IRI or blank node for ${describePredicate(field)}, got ${value.toString()}`,\n predicate: predicate.value,\n },\n value,\n ),\n ),\n );\n};\n\n// An RDF collection of `items`: its head and the `rdf:first` / `rdf:rest` quads.\nconst collection = (\n items: ReadonlyArray<Term.Object>,\n graph: Term.Graph,\n): readonly [Term.Object, ReadonlyArray<Term.Quad>] => {\n const nodes = Arr.map(items, () => Term.blankNode());\n const rests: ReadonlyArray<Term.Object> = [...Arr.drop(nodes, 1), rdf.nil];\n const quads = Arr.flatMap(Arr.zip(nodes, Arr.zip(items, rests)), ([node, [item, rest]]) => [\n new Term.Quad(node, rdf.first, item, graph),\n new Term.Quad(node, rdf.rest, rest, graph),\n ]);\n return [Option.getOrElse(Arr.head(nodes), (): Term.Object => rdf.nil), quads];\n};\n\n// The term for one encoded value of a field, with the quads of a nested resource.\ntype Emittable = readonly [Term.Object, ReadonlyArray<Term.Quad>];\n\n// The statements of one field of `record`, with the quads of its nested resources.\nconst emitField = (\n field: Field,\n subject: Term.Subject,\n record: EncodedRecord,\n graph: Term.Graph,\n): Effect.Effect<ReadonlyArray<Term.Quad>, SchemaIssue.Issue> =>\n Effect.gen(function* () {\n const items: ReadonlyArray<unknown> = Option.match(read(record, field.name), {\n onNone: () => [],\n onSome: (v) => (field.cardinality !== 'one' && Arr.isArray(v) ? v : [v]),\n });\n const nested = nestedStruct(field.item);\n const emitted = yield* Effect.forEach(\n items,\n (item, index): Effect.Effect<Emittable, SchemaIssue.Issue> => {\n const at = field.cardinality === 'one' ? atField(field) : atField(field, index);\n return Option.match(nested, {\n onNone: () =>\n Term.isObject(item)\n ? Effect.succeed([item, []])\n : Effect.fail(at(unexpected('an RDF term'))),\n onSome: (struct) =>\n isEncodedRecord(item)\n ? Effect.mapBoth(emit(struct, Option.none(), item, graph), {\n onFailure: at,\n onSuccess: (out): Emittable => [out.subject, out.quads],\n })\n : Effect.fail(at(unexpected('a record'))),\n });\n },\n { concurrency: 1 },\n );\n const inner = Arr.flatMap(emitted, ([, quads]) => quads);\n const terms = Arr.map(emitted, ([term]) => term);\n if (field.cardinality === 'list' && Option.isSome(read(record, field.name))) {\n const [head, links] = collection(terms, graph);\n const link = yield* statement(field, subject, head, graph);\n return [link, ...links, ...inner];\n }\n const links = yield* Effect.forEach(terms, (term) => statement(field, subject, term, graph), {\n concurrency: 1,\n });\n return [...links, ...inner];\n });\n\n// The quads of an encoded record: its type, each mapped field's statements and nested resources.\nconst emit = (\n struct: SchemaAST.Objects,\n given: Option.Option<Term.Subject>,\n record: EncodedRecord,\n graph: Term.Graph,\n): Effect.Effect<Emitted, SchemaIssue.Issue> =>\n Effect.gen(function* () {\n const id = describedId(struct);\n const subject = Option.getOrElse(\n Option.orElse(given, () =>\n Option.filter(\n Option.flatMap(id, (key) => read(record, key)),\n (term): term is Term.Subject => Term.isSubject(term),\n ),\n ),\n (): Term.Subject => Term.blankNode(),\n );\n const typed = Arr.map(\n Arr.fromOption(describedType(struct)),\n (type) => new Term.Quad(subject, rdf.type, type, graph),\n );\n const fields = Arr.filter(\n Arr.getSomes(Arr.map(struct.propertySignatures, fieldOf)),\n (field) => !Option.contains(id, field.name),\n );\n const quads = yield* Effect.forEach(\n fields,\n (field) => emitField(field, subject, record, graph),\n { concurrency: 1 },\n );\n return { subject, quads: [...typed, ...Arr.flatten(quads)] };\n });\n\nconst encodeIssue = <S extends Schema.Constraint>(\n schema: S,\n subject: Option.Option<Term.Subject>,\n value: S['Type'],\n options: EncodeOptions,\n parseOptions?: SchemaAST.ParseOptions,\n): Effect.Effect<Emitted, SchemaIssue.Issue, S['EncodingServices']> =>\n Effect.gen(function* () {\n const struct = yield* expectStruct(schema.ast);\n const record = yield* SchemaParser.encodeEffect(schema)(\n value,\n parseOptions ?? options.parseOptions,\n );\n return isEncodedRecord(record)\n ? yield* emit(struct, subject, record, options.graph ?? Term.defaultGraph)\n : yield* Effect.fail(unexpected('a record'));\n });\n\n/**\n * Encodes `value` as the resource `subject`: the struct's encoder turns each\n * field into terms, written as `subject predicate term` quads (or\n * `term predicate subject` for an `inverse` field), with an `rdf:type` quad\n * for a described type, RDF collections for `list` fields and the quads of\n * nested resources.\n *\n * @since 0.1.0\n * @category encoding\n */\nexport const encode =\n <S extends Schema.Constraint>(schema: S) =>\n (\n subject: Term.Subject,\n value: S['Type'],\n options?: EncodeOptions,\n ): Effect.Effect<ReadonlyArray<Term.Quad>, Schema.SchemaError, S['EncodingServices']> =>\n Effect.mapBoth(encodeIssue(schema, Option.some(subject), value, options ?? {}), {\n onFailure: toSchemaError,\n onSuccess: (out) => out.quads,\n });\n\n// -----------------------------------------------------------------------------\n// Schema form\n// -----------------------------------------------------------------------------\n\n/**\n * A subject term: an IRI, blank node or triple term.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport const SubjectSchema: Schema.Union<\n readonly [\n Schema.declare<Term.NamedNode>,\n Schema.declare<Term.BlankNode>,\n Schema.declare<Term.Triple>,\n ]\n> = Schema.Union([Term.NamedNodeSchema, Term.BlankNodeSchema, Term.TripleSchema]);\n\n/**\n * The type `SubjectSchema` decodes to: `Term.Subject`.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport type SubjectSchema = typeof SubjectSchema.Type;\n\n/**\n * The encoded side of `schema`: a dataset and the resource in it.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport const InputSchema: Schema.Struct<{\n readonly dataset: Schema.declare<Dataset.Dataset>;\n readonly subject: typeof SubjectSchema;\n}> = Schema.Struct({ dataset: Dataset.DatasetSchema, subject: SubjectSchema });\n\n/**\n * The type `InputSchema` decodes to: `{ dataset, subject }`.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport type InputSchema = typeof InputSchema.Type;\n\n/**\n * The `Schema` form of `decode` / `encode`: decodes `{ dataset, subject }`\n * to the struct's type, and encodes a value to the dataset of its quads with\n * the resource as `subject` (its `describe`d id, or a fresh blank node). It\n * composes with `Schema.decodeTo`, `Schema.decodeUnknownEffect` and the rest\n * of the `Schema` API.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport const schema = <S extends Schema.Top>(\n self: S,\n options?: DecodeOptions & EncodeOptions,\n): Schema.decodeTo<\n Schema.toType<S>,\n typeof InputSchema,\n S['DecodingServices'],\n S['EncodingServices']\n> =>\n InputSchema.pipe(\n Schema.decodeTo(\n Schema.toType(self),\n SchemaTransformation.transformEffect<\n S['Type'],\n InputSchema,\n S['DecodingServices'],\n S['EncodingServices']\n >({\n decode: (input, parseOptions) =>\n decodeIssue(self, input.dataset, input.subject, options ?? {}, parseOptions),\n encode: (value, parseOptions) =>\n Effect.map(\n encodeIssue(self, Option.none(), value, options ?? {}, parseOptions),\n (out): InputSchema => ({\n dataset: Dataset.fromIterable(out.quads),\n subject: out.subject,\n }),\n ),\n }),\n ),\n );\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { _ as list, a as EncodeOptions, c as Property, f as SubjectSchema, g as encode, h as describe, i as DescriptionKey, l as PropertyKey, m as decodeAll, n as Decoded, o as InputSchema, p as decode, r as Description, s as ListKey, t as DecodeOptions, u as PropertyOptions, v as property, y as schema } from "./Resource-B1cI8FyJ.mjs";
2
+ export { DecodeOptions, Decoded, Description, DescriptionKey, EncodeOptions, InputSchema, ListKey, Property, PropertyKey, PropertyOptions, SubjectSchema, decode, decodeAll, describe, encode, list, property, schema };
@@ -0,0 +1 @@
1
+ export { t as DescriptionKey, n as InputSchema, r as ListKey, i as PropertyKey, o as SubjectSchema, s as decode, c as decodeAll, l as describe, u as encode, d as list, f as property, p as schema } from "./Resource-sIEeNh15.mjs";
@@ -0,0 +1,277 @@
1
+ import { a as GroundTerm } from "./TermJson-BOPe0yve.mjs";
2
+ import { _ as Quad, j as Variable, s as GroundTerm$1 } from "./Term-B_4ezyXq.mjs";
3
+ import { t as Bindings$1 } from "./Bindings-DiKpBd7f.mjs";
4
+ import * as Option from "effect/Option";
5
+ import * as Schema from "effect/Schema";
6
+ import * as Effect from "effect/Effect";
7
+ import * as Stream from "effect/Stream";
8
+ declare namespace Results_d_exports {
9
+ export { AskResult, BooleanResult, Csv, GraphResult, Json, JsonResults, JsonResultsSchema, JsonTerm, JsonTermSchema, ParsedResult, QueryResult, ResultSet, ResultsCodec, ResultsFormat, ResultsParseError, SelectResult, Tsv, Xml, codecFor, codecForExtension, codecs, collect, fromResultSet, negotiate, parseTerm, termFromJson, termToJson, termToTsv };
10
+ }
11
+ type Bindings = Bindings$1;
12
+ /**
13
+ * The result of a `SELECT` query: the projected variables and a (lazy)
14
+ * stream of solutions.
15
+ *
16
+ * @since 0.1.0
17
+ * @category models
18
+ */
19
+ interface SelectResult<E = never> {
20
+ readonly _tag: 'Select';
21
+ readonly variables: ReadonlyArray<Variable>;
22
+ readonly bindings: Stream.Stream<Bindings, E>;
23
+ }
24
+ /**
25
+ * The result of an `ASK` query.
26
+ *
27
+ * @since 0.1.0
28
+ * @category models
29
+ */
30
+ interface AskResult {
31
+ readonly _tag: 'Ask';
32
+ readonly value: boolean;
33
+ }
34
+ /**
35
+ * The result of a `CONSTRUCT` or `DESCRIBE` query: a (lazy, duplicate-free)
36
+ * stream of triples (as quads in the default graph).
37
+ *
38
+ * @since 0.1.0
39
+ * @category models
40
+ */
41
+ interface GraphResult<E = never> {
42
+ readonly _tag: 'Graph';
43
+ readonly quads: Stream.Stream<Quad, E>;
44
+ }
45
+ /**
46
+ * Any query result.
47
+ *
48
+ * @since 0.1.0
49
+ * @category models
50
+ */
51
+ type QueryResult<E = never> = SelectResult<E> | AskResult | GraphResult<E>;
52
+ /**
53
+ * A fully materialised solution sequence (e.g. a parsed results document).
54
+ *
55
+ * @since 0.1.0
56
+ * @category models
57
+ */
58
+ interface ResultSet {
59
+ readonly _tag: 'ResultSet';
60
+ readonly variables: ReadonlyArray<string>;
61
+ readonly bindings: ReadonlyArray<Bindings>;
62
+ }
63
+ /**
64
+ * A boolean (`ASK`) result document.
65
+ *
66
+ * @since 0.1.0
67
+ * @category models
68
+ */
69
+ interface BooleanResult {
70
+ readonly _tag: 'Boolean';
71
+ readonly value: boolean;
72
+ }
73
+ /**
74
+ * A parsed results document.
75
+ *
76
+ * @since 0.1.0
77
+ * @category models
78
+ */
79
+ type ParsedResult = ResultSet | BooleanResult;
80
+ /**
81
+ * Materialises a `SELECT` result.
82
+ *
83
+ * @since 0.1.0
84
+ * @category conversions
85
+ */
86
+ declare const collect: <E>(result: SelectResult<E>) => Effect.Effect<ResultSet, E>;
87
+ /**
88
+ * Turns a materialised result set back into a streaming `SelectResult`.
89
+ *
90
+ * @since 0.1.0
91
+ * @category conversions
92
+ */
93
+ declare const fromResultSet: (set: ResultSet) => SelectResult;
94
+ declare const ResultsParseError_base: Schema.Class<ResultsParseError, Schema.TaggedStruct<"ResultsParseError", {
95
+ readonly format: Schema.String;
96
+ readonly message: Schema.String;
97
+ readonly line: Schema.optional<Schema.Number>;
98
+ readonly column: Schema.optional<Schema.Number>;
99
+ }>, import("effect/Cause").YieldableError>;
100
+ /**
101
+ * An error parsing a results document. The text formats (TSV and CSV)
102
+ * report the 1-based `line` and `column` of the error.
103
+ *
104
+ * @since 0.1.0
105
+ * @category errors
106
+ */
107
+ declare class ResultsParseError extends ResultsParseError_base {}
108
+ /**
109
+ * Metadata of a results format.
110
+ *
111
+ * @since 0.1.0
112
+ * @category models
113
+ */
114
+ interface ResultsFormat {
115
+ readonly name: string;
116
+ readonly mediaType: string;
117
+ readonly mediaTypes: ReadonlyArray<string>;
118
+ readonly extensions: ReadonlyArray<string>;
119
+ /** Whether the format can represent boolean (`ASK`) results. */
120
+ readonly booleans: boolean;
121
+ }
122
+ /**
123
+ * A results format: streaming serialiser and parser.
124
+ *
125
+ * @since 0.1.0
126
+ * @category models
127
+ */
128
+ interface ResultsCodec {
129
+ readonly format: ResultsFormat;
130
+ /** Serialises a (streaming) select or ask result to text chunks. */
131
+ readonly serialize: <E>(result: SelectResult<E> | AskResult) => Stream.Stream<string, E>;
132
+ /** Serialises a materialised result to a string. */
133
+ readonly serializeString: (result: ParsedResult | AskResult) => string;
134
+ /** Parses a complete document. */
135
+ readonly parse: (input: string) => Effect.Effect<ParsedResult, ResultsParseError>;
136
+ }
137
+ /**
138
+ * The JSON encoding of an RDF term in SPARQL results (re-exported from core's
139
+ * `TermJson.GroundTerm`).
140
+ *
141
+ * @since 0.1.0
142
+ * @category json
143
+ */
144
+ type JsonTerm = GroundTerm;
145
+ /**
146
+ * Schema of an RDF term in SPARQL JSON results (SPARQL 1.2, including
147
+ * triple terms; core's `TermJson.GroundTermSchema`).
148
+ *
149
+ * @since 0.1.0
150
+ * @category json
151
+ */
152
+ declare const JsonTermSchema: Schema.Codec<JsonTerm>;
153
+ /**
154
+ * The type `JsonTermSchema` decodes to (the same as `JsonTerm`).
155
+ *
156
+ * @since 0.1.0
157
+ * @category json
158
+ */
159
+ type JsonTermSchema = typeof JsonTermSchema.Type;
160
+ /**
161
+ * Schema of a SPARQL JSON results document.
162
+ *
163
+ * @since 0.1.0
164
+ * @category json
165
+ */
166
+ declare const JsonResultsSchema: Schema.Struct<{
167
+ readonly head: Schema.Struct<{
168
+ readonly vars: Schema.optional<Schema.$Array<Schema.String>>;
169
+ readonly link: Schema.optional<Schema.$Array<Schema.String>>;
170
+ }>;
171
+ readonly results: Schema.optional<Schema.Struct<{
172
+ readonly bindings: Schema.$Array<Schema.$Record<Schema.String, Schema.Codec<GroundTerm, GroundTerm, never, never>>>;
173
+ }>>;
174
+ readonly boolean: Schema.optional<Schema.Boolean>;
175
+ }>;
176
+ /**
177
+ * @since 0.1.0
178
+ * @category json
179
+ */
180
+ type JsonResults = typeof JsonResultsSchema.Type;
181
+ /**
182
+ * The type `JsonResultsSchema` decodes to (the same as `JsonResults`).
183
+ *
184
+ * @since 0.1.0
185
+ * @category json
186
+ */
187
+ type JsonResultsSchema = typeof JsonResultsSchema.Type;
188
+ /**
189
+ * Encodes a term as SPARQL JSON (core's `Term.toJson`).
190
+ *
191
+ * @since 0.1.0
192
+ * @category json
193
+ */
194
+ declare const termToJson: (t: GroundTerm$1) => JsonTerm;
195
+ /**
196
+ * Decodes a SPARQL JSON term (core's `Term.fromJson`); the positions of a
197
+ * triple term are trusted.
198
+ *
199
+ * @since 0.1.0
200
+ * @category json
201
+ */
202
+ declare const termFromJson: (j: JsonTerm) => GroundTerm$1;
203
+ /**
204
+ * SPARQL 1.1 Query Results JSON Format.
205
+ *
206
+ * @since 0.1.0
207
+ * @category formats
208
+ */
209
+ declare const Json: ResultsCodec;
210
+ /**
211
+ * SPARQL Query Results XML Format.
212
+ *
213
+ * @since 0.1.0
214
+ * @category formats
215
+ */
216
+ declare const Xml: ResultsCodec;
217
+ /**
218
+ * Formats a term in the Turtle / SPARQL syntax used by TSV results.
219
+ *
220
+ * @since 0.1.0
221
+ * @category tsv
222
+ */
223
+ declare const termToTsv: (t: GroundTerm$1) => string;
224
+ /**
225
+ * Parses a term written in the Turtle / SPARQL syntax used by TSV results
226
+ * (IRIs in `<>`, blank nodes, quoted literals, numbers, booleans, triple
227
+ * terms).
228
+ *
229
+ * @since 0.1.0
230
+ * @category tsv
231
+ */
232
+ declare const parseTerm: (text: string) => Option.Option<GroundTerm$1>;
233
+ /**
234
+ * SPARQL 1.1 Query Results TSV Format.
235
+ *
236
+ * @since 0.1.0
237
+ * @category formats
238
+ */
239
+ declare const Tsv: ResultsCodec;
240
+ /**
241
+ * SPARQL 1.1 Query Results CSV Format (lossy: parsing recovers IRIs, blank
242
+ * nodes, numbers and strings heuristically).
243
+ *
244
+ * @since 0.1.0
245
+ * @category formats
246
+ */
247
+ declare const Csv: ResultsCodec;
248
+ /**
249
+ * All results formats, in order of preference.
250
+ *
251
+ * @since 0.1.0
252
+ * @category formats
253
+ */
254
+ declare const codecs: ReadonlyArray<ResultsCodec>;
255
+ /**
256
+ * Finds a results codec for a media type (parameters are ignored).
257
+ *
258
+ * @since 0.1.0
259
+ * @category formats
260
+ */
261
+ declare const codecFor: (mediaType: string) => Option.Option<ResultsCodec>;
262
+ /**
263
+ * Finds a results codec for a file extension.
264
+ *
265
+ * @since 0.1.0
266
+ * @category formats
267
+ */
268
+ declare const codecForExtension: (extension: string) => Option.Option<ResultsCodec>;
269
+ /**
270
+ * Chooses the best results codec for an HTTP `Accept` header.
271
+ *
272
+ * @since 0.1.0
273
+ * @category formats
274
+ */
275
+ declare const negotiate: (accept: string | undefined) => Option.Option<ResultsCodec>;
276
+ export { collect as C, termFromJson as D, parseTerm as E, termToJson as O, codecs as S, negotiate as T, SelectResult as _, Json as a, codecFor as b, JsonTerm as c, QueryResult as d, ResultSet as f, Results_d_exports as g, ResultsParseError as h, GraphResult as i, termToTsv as k, JsonTermSchema as l, ResultsFormat as m, BooleanResult as n, JsonResults as o, ResultsCodec as p, Csv as r, JsonResultsSchema as s, AskResult as t, ParsedResult as u, Tsv as v, fromResultSet as w, codecForExtension as x, Xml as y };
277
+ //# sourceMappingURL=Results-BVNEC-Wt.d.mts.map