@thomasfosterau/effect-rdf 0.0.0-stage → 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 +2251 -2
  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 +195 -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,49 @@
1
+ import { T as Term, d as NamedNode, l as Literal } from "./Term-B_4ezyXq.mjs";
2
+ import "./index-Cms2TYfC.mjs";
3
+ declare namespace Message_d_exports {
4
+ export { display, format, localName, substitute, variables };
5
+ }
6
+ /**
7
+ * A human-readable string for a term inside a message: the lexical form of
8
+ * literals, the IRI of named nodes, `_:label` for blank nodes and the
9
+ * N-Triples-like form of triple terms.
10
+ *
11
+ * @since 0.1.0
12
+ * @category formatting
13
+ */
14
+ declare const display: (term: Term) => string;
15
+ /**
16
+ * The variable names referenced by a template, in order of appearance.
17
+ *
18
+ * @since 0.1.0
19
+ * @category queries
20
+ */
21
+ declare const variables: (template: string) => ReadonlyArray<string>;
22
+ /**
23
+ * Replaces the `{?name}` / `{$name}` placeholders of a template string.
24
+ * Placeholders whose variable `lookup` does not know are left unchanged.
25
+ *
26
+ * @since 0.1.0
27
+ * @category substitution
28
+ */
29
+ declare const format: (template: string, lookup: (name: string) => Term | undefined) => string;
30
+ /**
31
+ * Substitutes the placeholders of a message literal, keeping its language
32
+ * tag (or datatype).
33
+ *
34
+ * @since 0.1.0
35
+ * @category substitution
36
+ */
37
+ declare const substitute: (message: Literal, lookup: (name: string) => Term | undefined) => Literal;
38
+ /**
39
+ * The local name of an IRI: the longest NCName at its end (SHACL §6.2.1).
40
+ * SPARQL-based constraint components derive their parameter names (and
41
+ * thus the pre-bound variable names) this way. Returns an empty string when
42
+ * the IRI does not end with an NCName.
43
+ *
44
+ * @since 0.1.0
45
+ * @category utils
46
+ */
47
+ declare const localName: (iri: NamedNode | string) => string;
48
+ export { substitute as a, localName as i, display as n, variables as o, format as r, Message_d_exports as t };
49
+ //# sourceMappingURL=Message-fIvTJSXM.d.mts.map
@@ -0,0 +1,445 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
2
+ import { B as isNamedNode, K as isTriple, N as isBlankNode, O as defaultGraph, T as blankNode, Y as literal, c as NamedNode, d as Quad, z as isLiteral } from "./Term-CFLG1qu4.mjs";
3
+ import { D as mutate, E as match, I as subjects, c as empty$1, k as objects } from "./Dataset-BlmlcI7J.mjs";
4
+ import { m as RDF } from "./Namespaces-Bz85vpjW.mjs";
5
+ import * as Arr from "effect/Array";
6
+ import { dual } from "effect/Function";
7
+ import * as HashSet from "effect/HashSet";
8
+ import * as Option from "effect/Option";
9
+ import * as Predicate from "effect/Predicate";
10
+ import * as Schema from "effect/Schema";
11
+ import * as Effect from "effect/Effect";
12
+ import * as Order from "effect/Order";
13
+ import * as Result from "effect/Result";
14
+ // src/xmp/Metadata.ts
15
+ /**
16
+ * The XMP data model (ISO 16684-1 §6) on top of an RDF `Dataset`: one
17
+ * resource described by properties whose values are simple values,
18
+ * structures or arrays (`rdf:Bag`, `rdf:Seq`, `rdf:Alt`), each of which may
19
+ * carry qualifiers.
20
+ *
21
+ * `fromDataset` reads the RDF an XMP packet parses to into this model and
22
+ * `toDataset` writes it back. Values are immutable; `set` and `remove`
23
+ * return a new `Metadata`. Properties, fields and qualifiers are
24
+ * `[iri, value]` entries. Their order carries no meaning in XMP, so
25
+ * `fromDataset` sorts them by IRI and the serializer writes them in entry
26
+ * order, making output deterministic.
27
+ *
28
+ * @since 0.1.0
29
+ */
30
+ var Metadata_exports = /* @__PURE__ */ __exportAll({
31
+ X_DEFAULT: () => X_DEFAULT,
32
+ XmpModelError: () => XmpModelError,
33
+ array: () => array,
34
+ bag: () => bag,
35
+ empty: () => empty,
36
+ fromDataset: () => fromDataset,
37
+ fromDatasetResult: () => fromDatasetResult,
38
+ get: () => get,
39
+ getItems: () => getItems,
40
+ getLocalized: () => getLocalized,
41
+ getText: () => getText,
42
+ isArray: () => isArray,
43
+ isSimple: () => isSimple,
44
+ isStruct: () => isStruct,
45
+ itemsOf: () => itemsOf,
46
+ languageAlternative: () => languageAlternative,
47
+ localizedOf: () => localizedOf,
48
+ lookup: () => lookup,
49
+ make: () => make,
50
+ remove: () => remove,
51
+ seq: () => seq,
52
+ set: () => set,
53
+ setLocalized: () => setLocalized,
54
+ struct: () => struct,
55
+ text: () => text,
56
+ textOf: () => textOf,
57
+ toDataset: () => toDataset,
58
+ uri: () => uri,
59
+ withQualifiers: () => withQualifiers
60
+ });
61
+ const RDF_VALUE = `${RDF}value`;
62
+ const RDF_TYPE = `${RDF}type`;
63
+ const MEMBER_RE = /^http:\/\/www\.w3\.org\/1999\/02\/22-rdf-syntax-ns#_([1-9][0-9]*)$/;
64
+ /**
65
+ * The `xml:lang` value of the default item of a language alternative.
66
+ *
67
+ * @since 0.1.0
68
+ * @category constants
69
+ */
70
+ const X_DEFAULT = "x-default";
71
+ /**
72
+ * RDF that does not have the shape of the XMP data model: a cycle, a triple
73
+ * term, an array with non-member properties or a property given twice.
74
+ *
75
+ * @since 0.1.0
76
+ * @category errors
77
+ */
78
+ var XmpModelError = class extends Schema.TaggedError()("XmpModelError", { message: Schema.String }) {};
79
+ /**
80
+ * Whether a value is a simple value.
81
+ *
82
+ * @since 0.1.0
83
+ * @category guards
84
+ */
85
+ const isSimple = (value) => Predicate.isTagged(value, "Simple");
86
+ /**
87
+ * Whether a value is a structure.
88
+ *
89
+ * @since 0.1.0
90
+ * @category guards
91
+ */
92
+ const isStruct = (value) => Predicate.isTagged(value, "Struct");
93
+ /**
94
+ * Whether a value is an array.
95
+ *
96
+ * @since 0.1.0
97
+ * @category guards
98
+ */
99
+ const isArray = (value) => Predicate.isTagged(value, "Array");
100
+ /**
101
+ * The value of the entry with the given IRI.
102
+ *
103
+ * @since 0.1.0
104
+ * @category accessors
105
+ */
106
+ const lookup = (entries, iri) => Option.map(Arr.findFirst(entries, ([key]) => key === iri), ([, value]) => value);
107
+ /** Replaces the entry with the same IRI in place, or appends it. */
108
+ const upsert = (entries, entry) => Arr.some(entries, ([key]) => key === entry[0]) ? Arr.map(entries, (e) => e[0] === entry[0] ? entry : e) : [...entries, entry];
109
+ const entriesOf = (entries) => Arr.reduce(entries, noEntries, upsert);
110
+ const noEntries = [];
111
+ /**
112
+ * Metadata with no properties, about the containing file (`rdf:about=""`).
113
+ *
114
+ * @since 0.1.0
115
+ * @category constructors
116
+ */
117
+ const empty = {
118
+ about: "",
119
+ properties: noEntries
120
+ };
121
+ /**
122
+ * Builds metadata from `[iri, value]` entries (a later entry replaces an
123
+ * earlier one with the same IRI).
124
+ *
125
+ * @since 0.1.0
126
+ * @category constructors
127
+ */
128
+ const make = (properties, about = "") => ({
129
+ about,
130
+ properties: entriesOf(properties)
131
+ });
132
+ /**
133
+ * A text value, optionally with an `xml:lang` qualifier.
134
+ *
135
+ * @since 0.1.0
136
+ * @category constructors
137
+ */
138
+ const text = (value, language) => ({
139
+ _tag: "Simple",
140
+ value,
141
+ isUri: false,
142
+ language: Option.fromNullishOr(language),
143
+ qualifiers: noEntries
144
+ });
145
+ /**
146
+ * A URI value, written with `rdf:resource`.
147
+ *
148
+ * @since 0.1.0
149
+ * @category constructors
150
+ */
151
+ const uri = (value) => ({
152
+ _tag: "Simple",
153
+ value,
154
+ isUri: true,
155
+ language: Option.none(),
156
+ qualifiers: noEntries
157
+ });
158
+ /**
159
+ * A structure from `[iri, value]` field entries.
160
+ *
161
+ * @since 0.1.0
162
+ * @category constructors
163
+ */
164
+ const struct = (fields) => ({
165
+ _tag: "Struct",
166
+ fields: entriesOf(fields),
167
+ qualifiers: noEntries
168
+ });
169
+ /**
170
+ * An array of the given form.
171
+ *
172
+ * @since 0.1.0
173
+ * @category constructors
174
+ */
175
+ const array = (form, items) => ({
176
+ _tag: "Array",
177
+ form,
178
+ items: Arr.fromIterable(items),
179
+ qualifiers: noEntries
180
+ });
181
+ /**
182
+ * An unordered array (`rdf:Bag`) of text values.
183
+ *
184
+ * @since 0.1.0
185
+ * @category constructors
186
+ */
187
+ const bag = (items) => array("Bag", Arr.map(Arr.fromIterable(items), (item) => text(item)));
188
+ /**
189
+ * An ordered array (`rdf:Seq`) of text values.
190
+ *
191
+ * @since 0.1.0
192
+ * @category constructors
193
+ */
194
+ const seq = (items) => array("Seq", Arr.map(Arr.fromIterable(items), (item) => text(item)));
195
+ const isDefaultLanguage = ([language]) => language === X_DEFAULT;
196
+ /**
197
+ * A language alternative: an `rdf:Alt` of text values each qualified by
198
+ * `xml:lang`, from `[language, text]` pairs. An `x-default` entry is moved
199
+ * first, as ISO 16684-1 requires.
200
+ *
201
+ * @since 0.1.0
202
+ * @category constructors
203
+ */
204
+ const languageAlternative = (entries) => {
205
+ const all = Arr.fromIterable(entries);
206
+ return array("Alt", Arr.map([...Arr.filter(all, isDefaultLanguage), ...Arr.filter(all, (entry) => !isDefaultLanguage(entry))], ([language, value]) => text(value, language)));
207
+ };
208
+ /**
209
+ * Returns the value with the given qualifiers added (replacing qualifiers
210
+ * of the same IRI).
211
+ *
212
+ * @since 0.1.0
213
+ * @category combinators
214
+ */
215
+ const withQualifiers = dual(2, (self, qualifiers) => ({
216
+ ...self,
217
+ qualifiers: Arr.reduce(qualifiers, self.qualifiers, upsert)
218
+ }));
219
+ /**
220
+ * The value of a top-level property.
221
+ *
222
+ * @since 0.1.0
223
+ * @category accessors
224
+ */
225
+ const get = dual(2, (self, iri) => lookup(self.properties, iri));
226
+ /**
227
+ * Sets a top-level property, keeping its position if it was already set.
228
+ *
229
+ * @since 0.1.0
230
+ * @category combinators
231
+ */
232
+ const set = dual(3, (self, iri, value) => ({
233
+ about: self.about,
234
+ properties: upsert(self.properties, [iri, value])
235
+ }));
236
+ /**
237
+ * Removes a top-level property.
238
+ *
239
+ * @since 0.1.0
240
+ * @category combinators
241
+ */
242
+ const remove = dual(2, (self, iri) => ({
243
+ about: self.about,
244
+ properties: Arr.filter(self.properties, ([key]) => key !== iri)
245
+ }));
246
+ const asSimple = Option.liftPredicate(isSimple);
247
+ const asArray = Option.liftPredicate(isArray);
248
+ /**
249
+ * The string of a simple (text or URI) value.
250
+ *
251
+ * @since 0.1.0
252
+ * @category accessors
253
+ */
254
+ const textOf = (value) => Option.map(asSimple(value), (simple) => simple.value);
255
+ /**
256
+ * The strings of an array's simple items, in order; items that are not
257
+ * simple values are skipped.
258
+ *
259
+ * @since 0.1.0
260
+ * @category accessors
261
+ */
262
+ const itemsOf = (value) => Option.map(asArray(value), (arr) => Arr.getSomes(Arr.map(arr.items, textOf)));
263
+ const hasLanguage = (language) => (item) => Option.exists(item.language, (l) => l.toLowerCase() === language.toLowerCase());
264
+ /**
265
+ * Looks up a language alternative the way ISO 16684-1 §8.2.2.4 describes:
266
+ * the item whose `xml:lang` matches `language` (case-insensitively), else
267
+ * the `x-default` item, else the first item. A simple value is its own
268
+ * only alternative.
269
+ *
270
+ * @since 0.1.0
271
+ * @category accessors
272
+ */
273
+ const localizedOf = (value, language = X_DEFAULT) => {
274
+ if (isSimple(value)) return Option.some(value.value);
275
+ if (!isArray(value)) return Option.none();
276
+ const items = Arr.getSomes(Arr.map(value.items, asSimple));
277
+ return Option.map(Option.firstSomeOf([
278
+ Arr.findFirst(items, hasLanguage(language)),
279
+ Arr.findFirst(items, hasLanguage(X_DEFAULT)),
280
+ Arr.head(items)
281
+ ]), (item) => item.value);
282
+ };
283
+ /**
284
+ * The string of a simple top-level property.
285
+ *
286
+ * @since 0.1.0
287
+ * @category accessors
288
+ */
289
+ const getText = dual(2, (self, iri) => Option.flatMap(get(self, iri), textOf));
290
+ /**
291
+ * The strings of an array-valued top-level property.
292
+ *
293
+ * @since 0.1.0
294
+ * @category accessors
295
+ */
296
+ const getItems = dual(2, (self, iri) => Option.flatMap(get(self, iri), itemsOf));
297
+ /**
298
+ * A language-alternative top-level property in the given language (see
299
+ * `localizedOf`).
300
+ *
301
+ * @since 0.1.0
302
+ * @category accessors
303
+ */
304
+ const getLocalized = (self, iri, language = X_DEFAULT) => Option.flatMap(get(self, iri), (value) => localizedOf(value, language));
305
+ /**
306
+ * Sets one language of a language-alternative top-level property, keeping
307
+ * its other languages. Setting `x-default` puts that item first.
308
+ *
309
+ * @since 0.1.0
310
+ * @category combinators
311
+ */
312
+ const setLocalized = (self, iri, value, language = X_DEFAULT) => {
313
+ const existing = Option.match(Option.flatMap(get(self, iri), asArray), {
314
+ onNone: () => [],
315
+ onSome: (alt) => Arr.getSomes(Arr.map(alt.items, asSimple))
316
+ });
317
+ const kept = Arr.map(Arr.filter(existing, (item) => !hasLanguage(language)(item)), (item) => [Option.getOrElse(item.language, () => X_DEFAULT), item.value]);
318
+ return set(self, iri, languageAlternative([...kept, [language, value]]));
319
+ };
320
+ const memberIndex = (iri) => Option.map(Option.fromNullishOr(MEMBER_RE.exec(iri)), (m) => Number(m[1]));
321
+ const ARRAY_FORMS = [
322
+ "Bag",
323
+ "Seq",
324
+ "Alt"
325
+ ];
326
+ const arrayForm = (type) => isNamedNode(type) ? Arr.findFirst(ARRAY_FORMS, (form) => type.value === `${RDF}${form}`) : Option.none();
327
+ const byMember = Order.mapInput(Order.Number, (entry) => entry[0]);
328
+ const byPredicate = Order.mapInput(Order.String, (q) => q.predicate.value);
329
+ const isRdfValueQuad = (q) => q.predicate.value === RDF_VALUE;
330
+ var ModelReader = class {
331
+ dataset;
332
+ constructor(dataset) {
333
+ this.dataset = dataset;
334
+ }
335
+ fail(message) {
336
+ throw new XmpModelError({ message });
337
+ }
338
+ properties(subject) {
339
+ return match(this.dataset, { subject });
340
+ }
341
+ /** Reads entries from quads, rejecting a property given twice. */
342
+ entries(quads, visiting) {
343
+ const keys = Arr.map(quads, (q) => q.predicate.value);
344
+ Option.map(Arr.findFirst(keys, (key, i) => keys.indexOf(key) !== i), (key) => this.fail(`Property <${key}> is given more than once`));
345
+ return Arr.map(Arr.sort(quads, byPredicate), (q) => [q.predicate.value, this.value(q.object, visiting)]);
346
+ }
347
+ value(object, visiting) {
348
+ if (isLiteral(object)) return text(object.value, object.language === "" ? void 0 : object.language);
349
+ if (isNamedNode(object)) return uri(object.value);
350
+ if (isTriple(object)) return this.fail("XMP values cannot be triple terms");
351
+ if (HashSet.has(visiting, object.key)) return this.fail(`Blank node ${object.key} contains itself`);
352
+ return this.node(object, HashSet.add(visiting, object.key));
353
+ }
354
+ node(node, visiting) {
355
+ const quads = this.properties(node);
356
+ const value = Arr.findFirst(quads, isRdfValueQuad);
357
+ if (Option.isSome(value)) {
358
+ const others = Arr.filter(quads, (q) => !isRdfValueQuad(q));
359
+ return withQualifiers(this.value(value.value.object, visiting), this.entries(others, visiting));
360
+ }
361
+ const form = Option.flatMap(Arr.findFirst(quads, (q) => q.predicate.value === RDF_TYPE), (q) => arrayForm(q.object));
362
+ if (Option.isNone(form)) return struct(this.entries(quads, visiting));
363
+ const members = Arr.filterMap(quads, (q) => Option.match(memberIndex(q.predicate.value), {
364
+ onNone: () => q.predicate.value === RDF_TYPE ? Result.failVoid : this.fail(`Array ${node.key} has the non-member property <${q.predicate.value}>`),
365
+ onSome: (i) => Result.succeed([i, q])
366
+ }));
367
+ return array(form.value, Arr.map(Arr.sort(members, byMember), ([, q]) => this.value(q.object, visiting)));
368
+ }
369
+ /**
370
+ * Every top-level description: a subject that is an IRI or a blank node no
371
+ * other triple refers to. ISO 16684-1 §7.4 requires all of them to describe
372
+ * the same resource; readers accept differing or absent `rdf:about` values
373
+ * and merge them.
374
+ */
375
+ metadata() {
376
+ const referenced = HashSet.fromIterable(Arr.map(Arr.filter(objects(this.dataset), isBlankNode), (o) => o.key));
377
+ const roots = Arr.filter(subjects(this.dataset), (s) => {
378
+ if (isTriple(s)) return this.fail("XMP descriptions cannot be about triple terms");
379
+ return isNamedNode(s) || !HashSet.has(referenced, s.key);
380
+ });
381
+ const about = Option.getOrElse(Arr.findFirst(roots, (s) => isNamedNode(s) && s.value !== "" ? Option.some(s.value) : Option.none()), () => "");
382
+ return make(this.entries(Arr.flatMap(roots, (s) => this.properties(s)), HashSet.empty()), about);
383
+ }
384
+ };
385
+ /**
386
+ * Reads the XMP data model from the RDF of an XMP packet, returning a
387
+ * `Result`. Typed literals keep only their lexical form (XMP has no
388
+ * datatypes); named graphs are ignored.
389
+ *
390
+ * @since 0.1.0
391
+ * @category conversions
392
+ */
393
+ const fromDatasetResult = (dataset) => Result.try({
394
+ try: () => new ModelReader(dataset).metadata(),
395
+ catch: (e) => {
396
+ if (e instanceof XmpModelError) return e;
397
+ throw e;
398
+ }
399
+ });
400
+ /**
401
+ * Reads the XMP data model from the RDF of an XMP packet.
402
+ *
403
+ * @since 0.1.0
404
+ * @category conversions
405
+ */
406
+ const fromDataset = (dataset) => Effect.suspend(() => Effect.fromResult(fromDatasetResult(dataset)));
407
+ const rdf = (local) => new NamedNode(`${RDF}${local}`);
408
+ const simpleTerm = (value) => value.isUri ? new NamedNode(value.value) : literal(value.value, Option.getOrUndefined(value.language));
409
+ /**
410
+ * The RDF of the XMP data model: the properties of one `rdf:about` subject,
411
+ * structures and arrays as blank nodes, and qualified values in the
412
+ * `rdf:value` form.
413
+ *
414
+ * @since 0.1.0
415
+ * @category conversions
416
+ */
417
+ const toDataset = (self) => mutate(empty$1, (builder) => {
418
+ const emit = (s, p, o) => {
419
+ builder.add(new Quad(s, new NamedNode(p), o, defaultGraph));
420
+ };
421
+ const emitAll = (s, entries) => {
422
+ entries.forEach(([p, v]) => emit(s, p, term(v)));
423
+ };
424
+ const bare = (value) => {
425
+ if (isSimple(value)) return simpleTerm(value);
426
+ const node = blankNode();
427
+ if (isStruct(value)) emitAll(node, value.fields);
428
+ else {
429
+ emit(node, RDF_TYPE, rdf(value.form));
430
+ value.items.forEach((item, i) => emit(node, `${RDF}_${i + 1}`, term(item)));
431
+ }
432
+ return node;
433
+ };
434
+ const term = (value) => {
435
+ if (!Arr.isReadonlyArrayNonEmpty(value.qualifiers)) return bare(value);
436
+ const node = blankNode();
437
+ emit(node, RDF_VALUE, bare(value));
438
+ emitAll(node, value.qualifiers);
439
+ return node;
440
+ };
441
+ emitAll(new NamedNode(self.about), self.properties);
442
+ });
443
+ export { withQualifiers as A, set as C, textOf as D, text as E, toDataset as O, seq as S, struct as T, languageAlternative as _, bag as a, make as b, fromDatasetResult as c, getLocalized as d, getText as f, itemsOf as g, isStruct as h, array as i, uri as k, get as l, isSimple as m, X_DEFAULT as n, empty as o, isArray as p, XmpModelError as r, fromDataset as s, Metadata_exports as t, getItems as u, localizedOf as v, setLocalized as w, remove as x, lookup as y };
444
+
445
+ //# sourceMappingURL=Metadata-BbffwGDZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Metadata-BbffwGDZ.mjs","names":["Term.isNamedNode","Dataset.match","Term.isLiteral","Term.isTriple","Dataset.objects","Term.isBlankNode","Dataset.subjects","Term.NamedNode","Term.literal","Dataset.mutate","Dataset.empty","Term.Quad","Term.defaultGraph","Term.blankNode"],"sources":["../src/xmp/Metadata.ts"],"sourcesContent":["/**\n * The XMP data model (ISO 16684-1 §6) on top of an RDF `Dataset`: one\n * resource described by properties whose values are simple values,\n * structures or arrays (`rdf:Bag`, `rdf:Seq`, `rdf:Alt`), each of which may\n * carry qualifiers.\n *\n * `fromDataset` reads the RDF an XMP packet parses to into this model and\n * `toDataset` writes it back. Values are immutable; `set` and `remove`\n * return a new `Metadata`. Properties, fields and qualifiers are\n * `[iri, value]` entries. Their order carries no meaning in XMP, so\n * `fromDataset` sorts them by IRI and the serializer writes them in entry\n * order, making output deterministic.\n *\n * @since 0.1.0\n */\nimport * as Arr from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport { dual } from 'effect/Function';\nimport * as HashSet from 'effect/HashSet';\nimport * as Option from 'effect/Option';\nimport * as Order from 'effect/Order';\nimport * as Predicate from 'effect/Predicate';\nimport * as Result from 'effect/Result';\nimport * as Schema from 'effect/Schema';\nimport * as Dataset from '../Dataset.ts';\nimport * as Term from '../Term.ts';\nimport { RDF } from './Namespaces.ts';\n\nconst RDF_VALUE = `${RDF}value`;\nconst RDF_TYPE = `${RDF}type`;\nconst MEMBER_RE = /^http:\\/\\/www\\.w3\\.org\\/1999\\/02\\/22-rdf-syntax-ns#_([1-9][0-9]*)$/;\n\n/**\n * The `xml:lang` value of the default item of a language alternative.\n *\n * @since 0.1.0\n * @category constants\n */\nexport const X_DEFAULT = 'x-default';\n\n/**\n * A named value: a property, a structure field or a qualifier, keyed by its\n * full IRI.\n *\n * @since 0.1.0\n * @category models\n */\nexport type Entry = readonly [iri: string, value: Value];\n\n/**\n * Named values, each IRI at most once.\n *\n * @since 0.1.0\n * @category models\n */\nexport type Entries = ReadonlyArray<Entry>;\n\n/**\n * A simple value: a text string, or a URI (written with `rdf:resource`).\n *\n * @since 0.1.0\n * @category models\n */\nexport interface Simple {\n readonly _tag: 'Simple';\n readonly value: string;\n /** Whether the value is a URI rather than text. */\n readonly isUri: boolean;\n /** The `xml:lang` qualifier of a text value. */\n readonly language: Option.Option<string>;\n /** The other qualifiers (`xml:lang` is `language`). */\n readonly qualifiers: Entries;\n}\n\n/**\n * A structure: named fields, each keyed by its full IRI.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface Struct {\n readonly _tag: 'Struct';\n readonly fields: Entries;\n readonly qualifiers: Entries;\n}\n\n/**\n * The form of an array: unordered (`Bag`), ordered (`Seq`) or alternatives\n * (`Alt`, of which the first is the default).\n *\n * @since 0.1.0\n * @category models\n */\nexport type ArrayForm = 'Bag' | 'Seq' | 'Alt';\n\n/**\n * An array value (`rdf:Bag`, `rdf:Seq` or `rdf:Alt`).\n *\n * @since 0.1.0\n * @category models\n */\nexport interface ArrayValue {\n readonly _tag: 'Array';\n readonly form: ArrayForm;\n readonly items: ReadonlyArray<Value>;\n readonly qualifiers: Entries;\n}\n\n/**\n * An XMP property or field value.\n *\n * @since 0.1.0\n * @category models\n */\nexport type Value = Simple | Struct | ArrayValue;\n\n/**\n * The metadata of one resource: the `rdf:about` value of its descriptions\n * (usually `\"\"`, the containing file) and its top-level properties.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface Metadata {\n readonly about: string;\n readonly properties: Entries;\n}\n\n/**\n * RDF that does not have the shape of the XMP data model: a cycle, a triple\n * term, an array with non-member properties or a property given twice.\n *\n * @since 0.1.0\n * @category errors\n */\nexport class XmpModelError extends Schema.TaggedError<XmpModelError>()('XmpModelError', {\n message: Schema.String,\n}) {}\n\n// -----------------------------------------------------------------------------\n// Guards and entries\n// -----------------------------------------------------------------------------\n\n/**\n * Whether a value is a simple value.\n *\n * @since 0.1.0\n * @category guards\n */\nexport const isSimple = (value: Value): value is Simple => Predicate.isTagged(value, 'Simple');\n\n/**\n * Whether a value is a structure.\n *\n * @since 0.1.0\n * @category guards\n */\nexport const isStruct = (value: Value): value is Struct => Predicate.isTagged(value, 'Struct');\n\n/**\n * Whether a value is an array.\n *\n * @since 0.1.0\n * @category guards\n */\nexport const isArray = (value: Value): value is ArrayValue => Predicate.isTagged(value, 'Array');\n\n/**\n * The value of the entry with the given IRI.\n *\n * @since 0.1.0\n * @category accessors\n */\nexport const lookup = (entries: Entries, iri: string): Option.Option<Value> =>\n Option.map(\n Arr.findFirst(entries, ([key]) => key === iri),\n ([, value]) => value,\n );\n\n/** Replaces the entry with the same IRI in place, or appends it. */\nconst upsert = (entries: Entries, entry: Entry): Entries =>\n Arr.some(entries, ([key]) => key === entry[0])\n ? Arr.map(entries, (e) => (e[0] === entry[0] ? entry : e))\n : [...entries, entry];\n\nconst entriesOf = (entries: Iterable<Entry>): Entries => Arr.reduce(entries, noEntries, upsert);\n\nconst noEntries: Entries = [];\n\n// -----------------------------------------------------------------------------\n// Constructors\n// -----------------------------------------------------------------------------\n\n/**\n * Metadata with no properties, about the containing file (`rdf:about=\"\"`).\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const empty: Metadata = { about: '', properties: noEntries };\n\n/**\n * Builds metadata from `[iri, value]` entries (a later entry replaces an\n * earlier one with the same IRI).\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const make = (properties: Iterable<Entry>, about: string = ''): Metadata => ({\n about,\n properties: entriesOf(properties),\n});\n\n/**\n * A text value, optionally with an `xml:lang` qualifier.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const text = (value: string, language?: string): Simple => ({\n _tag: 'Simple',\n value,\n isUri: false,\n language: Option.fromNullishOr(language),\n qualifiers: noEntries,\n});\n\n/**\n * A URI value, written with `rdf:resource`.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const uri = (value: string): Simple => ({\n _tag: 'Simple',\n value,\n isUri: true,\n language: Option.none(),\n qualifiers: noEntries,\n});\n\n/**\n * A structure from `[iri, value]` field entries.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const struct = (fields: Iterable<Entry>): Struct => ({\n _tag: 'Struct',\n fields: entriesOf(fields),\n qualifiers: noEntries,\n});\n\n/**\n * An array of the given form.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const array = (form: ArrayForm, items: Iterable<Value>): ArrayValue => ({\n _tag: 'Array',\n form,\n items: Arr.fromIterable(items),\n qualifiers: noEntries,\n});\n\n/**\n * An unordered array (`rdf:Bag`) of text values.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const bag = (items: Iterable<string>): ArrayValue =>\n array(\n 'Bag',\n Arr.map(Arr.fromIterable(items), (item) => text(item)),\n );\n\n/**\n * An ordered array (`rdf:Seq`) of text values.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const seq = (items: Iterable<string>): ArrayValue =>\n array(\n 'Seq',\n Arr.map(Arr.fromIterable(items), (item) => text(item)),\n );\n\nconst isDefaultLanguage = ([language]: readonly [string, string]) => language === X_DEFAULT;\n\n/**\n * A language alternative: an `rdf:Alt` of text values each qualified by\n * `xml:lang`, from `[language, text]` pairs. An `x-default` entry is moved\n * first, as ISO 16684-1 requires.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const languageAlternative = (entries: Iterable<readonly [string, string]>): ArrayValue => {\n const all = Arr.fromIterable(entries);\n return array(\n 'Alt',\n Arr.map(\n [\n ...Arr.filter(all, isDefaultLanguage),\n ...Arr.filter(all, (entry) => !isDefaultLanguage(entry)),\n ],\n ([language, value]) => text(value, language),\n ),\n );\n};\n\n/**\n * Returns the value with the given qualifiers added (replacing qualifiers\n * of the same IRI).\n *\n * @since 0.1.0\n * @category combinators\n */\nexport const withQualifiers: {\n (qualifiers: Iterable<Entry>): <V extends Value>(self: V) => V;\n <V extends Value>(self: V, qualifiers: Iterable<Entry>): V;\n} = dual(2, <V extends Value>(self: V, qualifiers: Iterable<Entry>): V => ({\n ...self,\n qualifiers: Arr.reduce(qualifiers, self.qualifiers, upsert),\n}));\n\n// -----------------------------------------------------------------------------\n// Access\n// -----------------------------------------------------------------------------\n\n/**\n * The value of a top-level property.\n *\n * @since 0.1.0\n * @category accessors\n */\nexport const get: {\n (iri: string): (self: Metadata) => Option.Option<Value>;\n (self: Metadata, iri: string): Option.Option<Value>;\n} = dual(2, (self: Metadata, iri: string): Option.Option<Value> => lookup(self.properties, iri));\n\n/**\n * Sets a top-level property, keeping its position if it was already set.\n *\n * @since 0.1.0\n * @category combinators\n */\nexport const set: {\n (iri: string, value: Value): (self: Metadata) => Metadata;\n (self: Metadata, iri: string, value: Value): Metadata;\n} = dual(3, (self: Metadata, iri: string, value: Value): Metadata => ({\n about: self.about,\n properties: upsert(self.properties, [iri, value]),\n}));\n\n/**\n * Removes a top-level property.\n *\n * @since 0.1.0\n * @category combinators\n */\nexport const remove: {\n (iri: string): (self: Metadata) => Metadata;\n (self: Metadata, iri: string): Metadata;\n} = dual(2, (self: Metadata, iri: string): Metadata => ({\n about: self.about,\n properties: Arr.filter(self.properties, ([key]) => key !== iri),\n}));\n\nconst asSimple = Option.liftPredicate(isSimple);\n\nconst asArray = Option.liftPredicate(isArray);\n\n/**\n * The string of a simple (text or URI) value.\n *\n * @since 0.1.0\n * @category accessors\n */\nexport const textOf = (value: Value): Option.Option<string> =>\n Option.map(asSimple(value), (simple) => simple.value);\n\n/**\n * The strings of an array's simple items, in order; items that are not\n * simple values are skipped.\n *\n * @since 0.1.0\n * @category accessors\n */\nexport const itemsOf = (value: Value): Option.Option<ReadonlyArray<string>> =>\n Option.map(asArray(value), (arr) => Arr.getSomes(Arr.map(arr.items, textOf)));\n\nconst hasLanguage = (language: string) => (item: Simple) =>\n Option.exists(item.language, (l) => l.toLowerCase() === language.toLowerCase());\n\n/**\n * Looks up a language alternative the way ISO 16684-1 §8.2.2.4 describes:\n * the item whose `xml:lang` matches `language` (case-insensitively), else\n * the `x-default` item, else the first item. A simple value is its own\n * only alternative.\n *\n * @since 0.1.0\n * @category accessors\n */\nexport const localizedOf = (value: Value, language: string = X_DEFAULT): Option.Option<string> => {\n if (isSimple(value)) return Option.some(value.value);\n if (!isArray(value)) return Option.none();\n const items = Arr.getSomes(Arr.map(value.items, asSimple));\n return Option.map(\n Option.firstSomeOf([\n Arr.findFirst(items, hasLanguage(language)),\n Arr.findFirst(items, hasLanguage(X_DEFAULT)),\n Arr.head(items),\n ]),\n (item) => item.value,\n );\n};\n\n/**\n * The string of a simple top-level property.\n *\n * @since 0.1.0\n * @category accessors\n */\nexport const getText: {\n (iri: string): (self: Metadata) => Option.Option<string>;\n (self: Metadata, iri: string): Option.Option<string>;\n} = dual(2, (self: Metadata, iri: string): Option.Option<string> =>\n Option.flatMap(get(self, iri), textOf),\n);\n\n/**\n * The strings of an array-valued top-level property.\n *\n * @since 0.1.0\n * @category accessors\n */\nexport const getItems: {\n (iri: string): (self: Metadata) => Option.Option<ReadonlyArray<string>>;\n (self: Metadata, iri: string): Option.Option<ReadonlyArray<string>>;\n} = dual(2, (self: Metadata, iri: string): Option.Option<ReadonlyArray<string>> =>\n Option.flatMap(get(self, iri), itemsOf),\n);\n\n/**\n * A language-alternative top-level property in the given language (see\n * `localizedOf`).\n *\n * @since 0.1.0\n * @category accessors\n */\nexport const getLocalized = (\n self: Metadata,\n iri: string,\n language: string = X_DEFAULT,\n): Option.Option<string> => Option.flatMap(get(self, iri), (value) => localizedOf(value, language));\n\n/**\n * Sets one language of a language-alternative top-level property, keeping\n * its other languages. Setting `x-default` puts that item first.\n *\n * @since 0.1.0\n * @category combinators\n */\nexport const setLocalized = (\n self: Metadata,\n iri: string,\n value: string,\n language: string = X_DEFAULT,\n): Metadata => {\n const existing = Option.match(Option.flatMap(get(self, iri), asArray), {\n onNone: () => [],\n onSome: (alt) => Arr.getSomes(Arr.map(alt.items, asSimple)),\n });\n const kept = Arr.map(\n Arr.filter(existing, (item) => !hasLanguage(language)(item)),\n (item) => [Option.getOrElse(item.language, () => X_DEFAULT), item.value] as const,\n );\n return set(self, iri, languageAlternative([...kept, [language, value]]));\n};\n\n// -----------------------------------------------------------------------------\n// RDF ⇄ model\n// -----------------------------------------------------------------------------\n\nconst memberIndex = (iri: string): Option.Option<number> =>\n Option.map(Option.fromNullishOr(MEMBER_RE.exec(iri)), (m) => Number(m[1]));\n\nconst ARRAY_FORMS: ReadonlyArray<ArrayForm> = ['Bag', 'Seq', 'Alt'];\n\nconst arrayForm = (type: Term.Object): Option.Option<ArrayForm> =>\n Term.isNamedNode(type)\n ? Arr.findFirst(ARRAY_FORMS, (form) => type.value === `${RDF}${form}`)\n : Option.none();\n\nconst byMember = Order.mapInput(Order.Number, (entry: readonly [number, Term.Quad]) => entry[0]);\n\nconst byPredicate = Order.mapInput(Order.String, (q: Term.Quad) => q.predicate.value);\n\ntype Visiting = HashSet.HashSet<string>;\n\nconst isRdfValueQuad = (q: Term.Quad) => q.predicate.value === RDF_VALUE;\n\nclass ModelReader {\n readonly dataset: Dataset.Dataset;\n constructor(dataset: Dataset.Dataset) {\n this.dataset = dataset;\n }\n\n fail(message: string): never {\n throw new XmpModelError({ message });\n }\n\n properties(subject: Term.Subject): ReadonlyArray<Term.Quad> {\n return Dataset.match(this.dataset, { subject });\n }\n\n /** Reads entries from quads, rejecting a property given twice. */\n entries(quads: ReadonlyArray<Term.Quad>, visiting: Visiting): Entries {\n const keys = Arr.map(quads, (q) => q.predicate.value);\n Option.map(\n Arr.findFirst(keys, (key, i) => keys.indexOf(key) !== i),\n (key) => this.fail(`Property <${key}> is given more than once`),\n );\n return Arr.map(\n Arr.sort(quads, byPredicate),\n (q) => [q.predicate.value, this.value(q.object, visiting)] as const,\n );\n }\n\n value(object: Term.Object, visiting: Visiting): Value {\n if (Term.isLiteral(object)) {\n return text(object.value, object.language === '' ? undefined : object.language);\n }\n if (Term.isNamedNode(object)) return uri(object.value);\n if (Term.isTriple(object)) return this.fail('XMP values cannot be triple terms');\n if (HashSet.has(visiting, object.key)) {\n return this.fail(`Blank node ${object.key} contains itself`);\n }\n return this.node(object, HashSet.add(visiting, object.key));\n }\n\n node(node: Term.BlankNode, visiting: Visiting): Value {\n const quads = this.properties(node);\n const value = Arr.findFirst(quads, isRdfValueQuad);\n if (Option.isSome(value)) {\n const others = Arr.filter(quads, (q) => !isRdfValueQuad(q));\n return withQualifiers(\n this.value(value.value.object, visiting),\n this.entries(others, visiting),\n );\n }\n const form = Option.flatMap(\n Arr.findFirst(quads, (q) => q.predicate.value === RDF_TYPE),\n (q) => arrayForm(q.object),\n );\n if (Option.isNone(form)) return struct(this.entries(quads, visiting));\n const members = Arr.filterMap(quads, (q) =>\n Option.match(memberIndex(q.predicate.value), {\n onNone: () =>\n q.predicate.value === RDF_TYPE\n ? Result.failVoid\n : this.fail(`Array ${node.key} has the non-member property <${q.predicate.value}>`),\n onSome: (i) => Result.succeed([i, q] as const),\n }),\n );\n return array(\n form.value,\n Arr.map(Arr.sort(members, byMember), ([, q]) => this.value(q.object, visiting)),\n );\n }\n\n /**\n * Every top-level description: a subject that is an IRI or a blank node no\n * other triple refers to. ISO 16684-1 §7.4 requires all of them to describe\n * the same resource; readers accept differing or absent `rdf:about` values\n * and merge them.\n */\n metadata(): Metadata {\n const referenced = HashSet.fromIterable(\n Arr.map(Arr.filter(Dataset.objects(this.dataset), Term.isBlankNode), (o) => o.key),\n );\n const roots = Arr.filter(Dataset.subjects(this.dataset), (s) => {\n if (Term.isTriple(s)) return this.fail('XMP descriptions cannot be about triple terms');\n return Term.isNamedNode(s) || !HashSet.has(referenced, s.key);\n });\n const about = Option.getOrElse(\n Arr.findFirst(roots, (s) =>\n Term.isNamedNode(s) && s.value !== '' ? Option.some(s.value) : Option.none(),\n ),\n () => '',\n );\n return make(\n this.entries(\n Arr.flatMap(roots, (s) => this.properties(s)),\n HashSet.empty(),\n ),\n about,\n );\n }\n}\n\n/**\n * Reads the XMP data model from the RDF of an XMP packet, returning a\n * `Result`. Typed literals keep only their lexical form (XMP has no\n * datatypes); named graphs are ignored.\n *\n * @since 0.1.0\n * @category conversions\n */\nexport const fromDatasetResult = (\n dataset: Dataset.Dataset,\n): Result.Result<Metadata, XmpModelError> =>\n Result.try({\n try: () => new ModelReader(dataset).metadata(),\n catch: (e) => {\n if (e instanceof XmpModelError) return e;\n throw e;\n },\n });\n\n/**\n * Reads the XMP data model from the RDF of an XMP packet.\n *\n * @since 0.1.0\n * @category conversions\n */\nexport const fromDataset = (dataset: Dataset.Dataset): Effect.Effect<Metadata, XmpModelError> =>\n Effect.suspend(() => Effect.fromResult(fromDatasetResult(dataset)));\n\nconst rdf = (local: string) => new Term.NamedNode(`${RDF}${local}`);\n\nconst simpleTerm = (value: Simple): Term.Object =>\n value.isUri\n ? new Term.NamedNode(value.value)\n : Term.literal(value.value, Option.getOrUndefined(value.language));\n\n/**\n * The RDF of the XMP data model: the properties of one `rdf:about` subject,\n * structures and arrays as blank nodes, and qualified values in the\n * `rdf:value` form.\n *\n * @since 0.1.0\n * @category conversions\n */\nexport const toDataset = (self: Metadata): Dataset.Dataset =>\n Dataset.mutate(Dataset.empty, (builder) => {\n const emit = (s: Term.Subject, p: string, o: Term.Object) => {\n builder.add(new Term.Quad(s, new Term.NamedNode(p), o, Term.defaultGraph));\n };\n const emitAll = (s: Term.Subject, entries: Entries) => {\n entries.forEach(([p, v]) => emit(s, p, term(v)));\n };\n const bare = (value: Value): Term.Object => {\n if (isSimple(value)) return simpleTerm(value);\n const node = Term.blankNode();\n if (isStruct(value)) {\n emitAll(node, value.fields);\n } else {\n emit(node, RDF_TYPE, rdf(value.form));\n value.items.forEach((item, i) => emit(node, `${RDF}_${i + 1}`, term(item)));\n }\n return node;\n };\n const term = (value: Value): Term.Object => {\n if (!Arr.isReadonlyArrayNonEmpty(value.qualifiers)) return bare(value);\n const node = Term.blankNode();\n emit(node, RDF_VALUE, bare(value));\n emitAll(node, value.qualifiers);\n return node;\n };\n emitAll(new Term.NamedNode(self.about), self.properties);\n });\n\n// -----------------------------------------------------------------------------\n// Typed accessors\n// -----------------------------------------------------------------------------\n\n/**\n * A typed setter of one property, data-first or data-last.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface Setter<A> {\n (value: A): (self: Metadata) => Metadata;\n (self: Metadata, value: A): Metadata;\n}\n\n/**\n * A typed setter of one language of a language-alternative property\n * (`x-default` unless a language is given), data-first or data-last.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface LocalizedSetter {\n (value: string, language?: string): (self: Metadata) => Metadata;\n (self: Metadata, value: string, language?: string): Metadata;\n}\n"],"mappings":"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"}