@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":"Evaluator-DOY2-guC.mjs","names":["Vocabulary","Vocab","Term.isResource","Sparql.SparqlEvaluationError","Term.literal","Dataset.objectsOf","Term.isNamedNode","Message.localName","Term.isLiteral","Bindings.fromEntries","Path.predicate","Term.namedNode","Term.Quad","Term.defaultGraph","Store.makeMemory","Dataset.fromIterable","Engine.make","compile","Path.toSparql","Query.compile","Term.isBlankNode","Sparql.SparqlConstraintEvaluator"],"sources":["../src/sparql/shacl/Evaluator.ts"],"sourcesContent":["/**\n * The SHACL-SPARQL evaluator: an implementation of the\n * `Sparql.SparqlConstraintEvaluator` service of `@thomasfosterau/effect-rdf/shacl`\n * on the `@thomasfosterau/effect-rdf/sparql` engine. With it in the context,\n * `Validator.validate` supports\n *\n * - SPARQL-based constraints (`sh:sparql`, §5),\n * - SPARQL-based constraint components with `SELECT` validators\n * (`sh:nodeValidator`, `sh:propertyValidator`) and `ASK` validators\n * (`sh:validator`), with mandatory and optional parameters (§6),\n * - SPARQL-based targets (`sh:SPARQLTarget`) and target types\n * (`sh:SPARQLTargetType`) of SHACL Advanced Features,\n *\n * with the pre-bound variables `$this`, `$value`, `$currentShape`,\n * `$shapesGraph` and the parameters, `$PATH` substitution, prefix\n * declarations (`sh:prefixes` / `sh:declare`) and the `?path`, `?value`,\n * `?message` and `?failure` result variables.\n *\n * ```ts\n * import { Effect } from \"effect\"\n * import { Validator } from \"@thomasfosterau/effect-rdf/shacl\"\n * import { Evaluator } from \"@thomasfosterau/effect-rdf/sparql/shacl\"\n *\n * const report = Validator.validate(dataGraph, shapesGraph).pipe(\n * Effect.provide(Evaluator.layer()),\n * )\n * ```\n *\n * The data graph is queried as the default graph; the shapes graph is\n * available as the named graph `$shapesGraph` (`GRAPH $shapesGraph { … }`).\n *\n * @since 0.1.0\n */\nimport { Dataset, Term, Vocab } from '../../index.ts';\nimport { Message, Path, Shapes, Sparql, Vocabulary } from '../../shacl/index.ts';\nimport { type Ast, Bindings, Engine, Store } from '../index.ts';\nimport * as Arr from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport { pipe } from 'effect/Function';\nimport * as HashSet from 'effect/HashSet';\nimport * as Layer from 'effect/Layer';\nimport * as MutableHashMap from 'effect/MutableHashMap';\nimport * as Option from 'effect/Option';\nimport * as Predicate from 'effect/Predicate';\nimport * as Result from 'effect/Result';\nimport * as Stream from 'effect/Stream';\nimport * as Query from './Query.ts';\n\nconst { sh } = Vocabulary;\nconst { rdf, xsd } = Vocab;\n\n/**\n * Evaluator configuration.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface EvaluatorOptions {\n /**\n * The IRI under which the shapes graph is visible as a named graph\n * (`$shapesGraph`). Defaults to `urn:x-shacl:shapesGraph`.\n */\n readonly shapesGraphIri?: string | undefined;\n /** Options of the SPARQL engine (e.g. extension `functions`). */\n readonly engine?: Omit<Engine.EngineOptions, 'unionDefaultGraph'> | undefined;\n}\n\n/**\n * The default IRI of the shapes graph as seen from SPARQL queries.\n *\n * @since 0.1.0\n * @category constants\n */\nexport const defaultShapesGraphIri = 'urn:x-shacl:shapesGraph';\n\n/** The variables pre-bound for every constraint query. */\nconst constraintVariables = ['this', 'shapesGraph', 'currentShape'] as const;\n/** Parameter names that would clash with SHACL-SPARQL variables. */\nconst reservedNames = HashSet.make('this', 'shapesGraph', 'currentShape', 'path', 'PATH', 'value');\nconst varName = /^[\\p{L}\\p{N}_][\\p{L}\\p{N}_\\p{M}]*$/u;\n\ntype Node = Term.NamedNode | Term.BlankNode;\ntype Solution = ReadonlyMap<string, Term.GroundTerm>;\n\nconst isNode: (t: Term.Term) => t is Node = Term.isResource;\n\nconst evaluationError = (message: string, cause?: unknown) =>\n new Sparql.SparqlEvaluationError(cause === undefined ? { message } : { message, cause });\n\nconst TRUE = Term.literal('true', xsd.boolean).key;\n\ninterface Parameter {\n readonly path: Term.NamedNode;\n readonly name: string;\n readonly optional: boolean;\n}\n\n/** Reads one `sh:parameter` declaration, given the parameters read before it. */\nconst readParameter = (\n shapes: Dataset.Dataset,\n declaration: Node,\n parameter: Term.GroundTerm,\n out: ReadonlyArray<Parameter>,\n): Result.Result<ReadonlyArray<Parameter>, Sparql.SparqlEvaluationError> => {\n const paths = isNode(parameter) ? Dataset.objectsOf(shapes, parameter, sh.path) : [];\n const path =\n paths.length === 1 ? Option.filter(Arr.head(paths), Term.isNamedNode) : Option.none();\n if (Option.isNone(path)) {\n return Result.fail(\n evaluationError(`parameter ${parameter.key} of ${declaration.key} needs one IRI sh:path`),\n );\n }\n const name = Message.localName(path.value);\n if (!varName.test(name) || HashSet.has(reservedNames, name)) {\n return Result.fail(\n evaluationError(\n `parameter ${path.value.key} of ${declaration.key} has invalid name \"${name}\"`,\n ),\n );\n }\n if (out.some((p) => p.name === name)) {\n return Result.fail(\n evaluationError(`${declaration.key} declares two parameters named \"${name}\"`),\n );\n }\n const optional = isNode(parameter)\n ? Dataset.objectsOf(shapes, parameter, sh.optional).some((o) => o.key === TRUE)\n : false;\n return Result.succeed(Arr.append(out, { path: path.value, name, optional }));\n};\n\nconst noParameters: Result.Result<\n ReadonlyArray<Parameter>,\n Sparql.SparqlEvaluationError\n> = Result.succeed([]);\n\n/** The declared parameters of a constraint component or target type, with their names. */\nconst parametersOf = (\n shapes: Dataset.Dataset,\n declaration: Node,\n): Effect.Effect<ReadonlyArray<Parameter>, Sparql.SparqlEvaluationError> =>\n Effect.suspend(() =>\n Effect.fromResult(\n Arr.reduce(\n Dataset.objectsOf(shapes, declaration, sh.parameter),\n noParameters,\n (acc, parameter) =>\n Result.flatMap(acc, (out) => readParameter(shapes, declaration, parameter, out)),\n ),\n ),\n );\n\nconst literals = (shapes: Dataset.Dataset, node: Node, p: Term.NamedNode) =>\n Dataset.objectsOf(shapes, node, p).filter(Term.isLiteral);\n\ntype Bound = Iterable<readonly [string, Term.GroundTerm]>;\n\nconst prebinding = (record: Bound) => ({\n bindings: Bindings.fromEntries(record),\n});\n\n/** Maps a solution to a violation (§5.3.2 \"Mapping of Solution Bindings to Result Properties\"). */\nconst toViolation = (\n solution: Solution,\n shape: Shapes.Shape,\n messages: ReadonlyArray<Term.Literal>,\n parameters: ReadonlyArray<readonly [string, Term.GroundTerm]>,\n): Effect.Effect<Sparql.Violation, Sparql.SparqlEvaluationError> => {\n const failure = solution.get('failure');\n if (failure !== undefined && failure.key === TRUE) {\n return Effect.fail(\n evaluationError(`a SPARQL constraint of ${shape.id.key} reported a failure`),\n );\n }\n const path = solution.get('path');\n const value = solution.get('value');\n const message = solution.get('message');\n // Solution bindings take precedence over parameter values of the same name.\n const bindings = Bindings.fromEntries([...parameters, ...solution]).map;\n return Effect.succeed({\n focusNode: solution.get('this'),\n path: Term.isNamedNode(path) ? Path.predicate(path) : undefined,\n value: value ?? (Predicate.isTagged(shape, 'NodeShape') ? solution.get('this') : undefined),\n messages: Term.isLiteral(message) ? [message] : messages,\n bindings,\n });\n};\n\ninterface ValidatorQuery {\n readonly node: Node;\n readonly form: 'select' | 'ask';\n}\n\n/** Selects the validator of a constraint component for a shape (§6.2.3). */\nconst validatorOf = (\n shapes: Dataset.Dataset,\n component: Node,\n shape: Shapes.Shape,\n): Option.Option<ValidatorQuery> => {\n const withQuery = (p: Term.NamedNode, query: Term.NamedNode, form: ValidatorQuery['form']) =>\n Option.map(\n Arr.findFirst(Dataset.objectsOf(shapes, component, p).filter(isNode), (v) =>\n Arr.isReadonlyArrayNonEmpty(Dataset.objectsOf(shapes, v, query)),\n ),\n (node): ValidatorQuery => ({ node, form }),\n );\n return pipe(\n Predicate.isTagged(shape, 'NodeShape')\n ? withQuery(sh.nodeValidator, sh.select, 'select')\n : withQuery(sh.propertyValidator, sh.select, 'select'),\n Option.orElse(() => withQuery(sh.validator, sh.ask, 'ask')),\n );\n};\n\nconst focusNodes = (solutions: ReadonlyArray<Solution>) =>\n solutions.flatMap((s) => {\n const t = s.get('this');\n return t === undefined ? [] : [t];\n });\n\n/**\n * Creates the evaluator service.\n *\n * Per data graph (and shapes graph) the evaluator builds an in-memory\n * SPARQL store once and caches compiled queries, so validating many focus\n * nodes does not re-parse queries.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const make = (\n options: EvaluatorOptions = {},\n): Sparql.SparqlConstraintEvaluator['Service'] => {\n const shapesGraphNode = Term.namedNode(options.shapesGraphIri ?? defaultShapesGraphIri);\n\n interface Context {\n readonly engine: Engine.SparqlEngineShape;\n readonly queries: MutableHashMap.MutableHashMap<string, Ast.Query>;\n }\n const contexts = new WeakMap<Dataset.Dataset, WeakMap<Dataset.Dataset, Context>>();\n\n const contextFor = (data: Dataset.Dataset, shapes: Dataset.Dataset): Effect.Effect<Context> =>\n Effect.suspend(() => {\n let byShapes = contexts.get(data);\n if (byShapes === undefined) contexts.set(data, (byShapes = new WeakMap()));\n const cached = byShapes.get(shapes);\n if (cached !== undefined) return Effect.succeed(cached);\n const quads = [\n ...Arr.map(\n Arr.fromIterable(data),\n (q) => new Term.Quad(q.subject, q.predicate, q.object, Term.defaultGraph),\n ),\n ...Arr.map(\n Arr.fromIterable(shapes),\n (q) => new Term.Quad(q.subject, q.predicate, q.object, shapesGraphNode),\n ),\n ];\n return Effect.map(Store.makeMemory(Dataset.fromIterable(quads)), (store) => {\n const context: Context = {\n engine: Engine.make(store, { ...options.engine, unionDefaultGraph: false }),\n queries: MutableHashMap.empty(),\n };\n byShapes.set(shapes, context);\n return context;\n });\n });\n\n const compile = (\n context: Context,\n shapes: Dataset.Dataset,\n node: Node,\n compileOptions: Query.CompileOptions,\n ): Effect.Effect<Ast.Query, Sparql.SparqlEvaluationError> => {\n const key = [\n compileOptions.form,\n node.key,\n compileOptions.path === undefined ? '' : Path.toSparql(compileOptions.path),\n ...compileOptions.prebound,\n ].join(' ');\n return Option.match(MutableHashMap.get(context.queries, key), {\n onSome: Effect.succeed,\n onNone: () =>\n Effect.tap(Query.compile(shapes, node, compileOptions), (q) =>\n Effect.sync(() => MutableHashMap.set(context.queries, key, q)),\n ),\n });\n };\n\n const select = (\n context: Context,\n query: Ast.Query,\n bound: Bound,\n ): Effect.Effect<ReadonlyArray<Solution>, Sparql.SparqlEvaluationError> =>\n context.engine.select(query, prebinding(bound)).pipe(\n Effect.flatMap((result) => Stream.runCollect(result.bindings)),\n Effect.map((solutions) => solutions.map((s) => s.map)),\n Effect.mapError((e) => evaluationError(`SPARQL evaluation failed: ${e.message}`, e)),\n );\n\n const ask = (\n context: Context,\n query: Ast.Query,\n bound: Bound,\n ): Effect.Effect<boolean, Sparql.SparqlEvaluationError> =>\n context.engine\n .ask(query, prebinding(bound))\n .pipe(Effect.mapError((e) => evaluationError(`SPARQL evaluation failed: ${e.message}`, e)));\n\n const evaluateSparqlConstraint = Effect.fnUntraced(function* (\n input: Sparql.ConstraintInput,\n constraint: Shapes.SparqlConstraint,\n ) {\n const shapes = input.shapesGraph.dataset;\n const context = yield* contextFor(input.dataGraph, shapes);\n const query = yield* compile(context, shapes, constraint.node, {\n form: 'select',\n prebound: constraintVariables,\n project: ['this'],\n path: Predicate.isTagged(input.shape, 'PropertyShape') ? input.shape.path : undefined,\n });\n const solutions = yield* select(context, query, [\n ['this', input.focusNode],\n ['shapesGraph', shapesGraphNode],\n ['currentShape', input.shape.id],\n ]);\n const messages = literals(shapes, constraint.node, sh.message);\n return yield* Effect.forEach(solutions, (s) => toViolation(s, input.shape, messages, []), {\n concurrency: 1,\n });\n });\n\n const evaluateComponent = Effect.fnUntraced(function* (\n input: Sparql.ConstraintInput,\n constraint: Shapes.ComponentConstraint,\n ) {\n const shapes = input.shapesGraph.dataset;\n const found = validatorOf(shapes, constraint.component, input.shape);\n if (Option.isNone(found)) return [];\n const validator = found.value;\n const declared = yield* parametersOf(shapes, constraint.component);\n const parameters = constraint.parameters.map((p) => {\n const name =\n declared.find((d) => d.path.key === p.path.key)?.name ?? Message.localName(p.path);\n return [name, p.value] as const;\n });\n const context = yield* contextFor(input.dataGraph, shapes);\n const potentiallyBound = [\n ...constraintVariables,\n ...declared.map((d) => d.name),\n ...(validator.form === 'ask' ? ['value'] : []),\n ];\n const query = yield* compile(context, shapes, validator.node, {\n form: validator.form,\n prebound: potentiallyBound,\n project: validator.form === 'select' ? ['this'] : [],\n path:\n validator.form === 'select' && Predicate.isTagged(input.shape, 'PropertyShape')\n ? input.shape.path\n : undefined,\n });\n const validatorMessages = literals(shapes, validator.node, sh.message);\n const messages = Arr.isReadonlyArrayNonEmpty(validatorMessages)\n ? validatorMessages\n : literals(shapes, constraint.component, sh.message);\n const bound: Array<readonly [string, Term.GroundTerm]> = [\n ['this', input.focusNode],\n ['shapesGraph', shapesGraphNode],\n ['currentShape', input.shape.id],\n ...parameters,\n ];\n if (validator.form === 'select') {\n const solutions = yield* select(context, query, bound);\n return yield* Effect.forEach(\n solutions,\n (s) => toViolation(s, input.shape, messages, parameters),\n { concurrency: 1 },\n );\n }\n const failing = yield* Effect.filter(input.valueNodes, (value) =>\n Effect.map(ask(context, query, [...bound, ['value', value]]), (ok) => !ok),\n );\n return yield* Effect.forEach(\n failing,\n (value) =>\n toViolation(\n Bindings.fromEntries([\n ['this', input.focusNode],\n ['value', value],\n ]).map,\n input.shape,\n messages,\n parameters,\n ),\n { concurrency: 1 },\n );\n });\n\n const evaluateConstraint: Sparql.SparqlConstraintEvaluator['Service']['evaluateConstraint'] = (\n input,\n ) =>\n Predicate.isTagged(input.constraint, 'Sparql')\n ? evaluateSparqlConstraint(input, input.constraint)\n : evaluateComponent(input, input.constraint);\n\n const selectTargets: Sparql.SparqlConstraintEvaluator['Service']['selectTargets'] =\n Effect.fnUntraced(function* (input) {\n const shapes = input.shapesGraph.dataset;\n const target = input.target;\n if (!isNode(target)) {\n return yield* Effect.fail(\n evaluationError(`sh:target of ${input.shape.id.key} must be an IRI or blank node`),\n );\n }\n const context = yield* contextFor(input.dataGraph, shapes);\n\n // SPARQL-based target: the target node carries the query.\n if (Arr.isReadonlyArrayNonEmpty(Dataset.objectsOf(shapes, target, sh.select))) {\n const query = yield* compile(context, shapes, target, {\n form: 'select',\n prebound: [],\n project: ['this'],\n });\n return focusNodes(yield* select(context, query, []));\n }\n\n // SPARQL-based target type: a type of the target node carries the query.\n const type = Dataset.objectsOf(shapes, target, rdf.type)\n .filter(isNode)\n .find((t) => Arr.isReadonlyArrayNonEmpty(Dataset.objectsOf(shapes, t, sh.select)));\n if (type === undefined) {\n return yield* Effect.fail(\n evaluationError(\n `unsupported custom target ${target.key} of ${input.shape.id.key} (neither a sh:SPARQLTarget nor an instance of a sh:SPARQLTargetType)`,\n ),\n );\n }\n const declared = yield* parametersOf(shapes, type);\n const supplied = declared.map((parameter) => ({\n parameter,\n values: Dataset.objectsOf(shapes, target, parameter.path),\n }));\n const invalid = ({ values }: (typeof supplied)[number]) =>\n values.length > 1 || values.some(Term.isBlankNode);\n // The first parameter that is ill-valued or required but missing decides,\n // in declaration order.\n const problem = supplied.find(\n (s) => invalid(s) || (Arr.isReadonlyArrayEmpty(s.values) && !s.parameter.optional),\n );\n if (problem !== undefined) {\n if (!invalid(problem)) return [];\n return yield* Effect.fail(\n evaluationError(\n `target ${target.key} needs at most one non-blank value for ${problem.parameter.path.key}`,\n ),\n );\n }\n const bound = supplied.flatMap(({ parameter, values }) =>\n values.slice(0, 1).map((value) => [parameter.name, value] as const),\n );\n const query = yield* compile(context, shapes, type, {\n form: 'select',\n prebound: declared.map((d) => d.name),\n project: ['this'],\n });\n return focusNodes(yield* select(context, query, bound));\n });\n\n return Sparql.SparqlConstraintEvaluator.of({ evaluateConstraint, selectTargets });\n};\n\n/**\n * A layer providing the SHACL-SPARQL evaluator.\n *\n * @since 0.1.0\n * @category layers\n */\nexport const layer = (options?: EvaluatorOptions): Layer.Layer<Sparql.SparqlConstraintEvaluator> =>\n Layer.sync(Sparql.SparqlConstraintEvaluator, () => make(options));\n"],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import { a as LocalizedSetter, c as Setter, o as Metadata } from "./Metadata-nzS7QKRj.mjs";
2
+ import * as Option from "effect/Option";
3
+ import * as DateTime from "effect/DateTime";
4
+ declare namespace Exif_d_exports {
5
+ export { dateTimeDigitized, dateTimeOriginal, pixelXDimension, pixelYDimension, setDateTimeDigitized, setDateTimeOriginal, setPixelXDimension, setPixelYDimension, setUserComment, userComment };
6
+ }
7
+ /**
8
+ * When the original image was taken (`exif:DateTimeOriginal`). An ISO 8601 date, as XMP stores it; the setter takes a `DateTime` or a string.
9
+ *
10
+ * @since 0.1.0
11
+ * @category getters
12
+ */
13
+ declare const dateTimeOriginal: (self: Metadata) => Option.Option<string>;
14
+ /**
15
+ * Sets when the original image was taken (`exif:DateTimeOriginal`).
16
+ *
17
+ * @since 0.1.0
18
+ * @category setters
19
+ */
20
+ declare const setDateTimeOriginal: Setter<DateTime.DateTime | string>;
21
+ /**
22
+ * When the image was stored as digital data (`exif:DateTimeDigitized`). An ISO 8601 date, as XMP stores it; the setter takes a `DateTime` or a string.
23
+ *
24
+ * @since 0.1.0
25
+ * @category getters
26
+ */
27
+ declare const dateTimeDigitized: (self: Metadata) => Option.Option<string>;
28
+ /**
29
+ * Sets when the image was stored as digital data (`exif:DateTimeDigitized`).
30
+ *
31
+ * @since 0.1.0
32
+ * @category setters
33
+ */
34
+ declare const setDateTimeDigitized: Setter<DateTime.DateTime | string>;
35
+ /**
36
+ * A user comment (`exif:UserComment`). A language alternative; reads the item in `language` (default `x-default`).
37
+ *
38
+ * @since 0.1.0
39
+ * @category getters
40
+ */
41
+ declare const userComment: (self: Metadata, language?: string) => Option.Option<string>;
42
+ /**
43
+ * Sets a user comment (`exif:UserComment`).
44
+ *
45
+ * @since 0.1.0
46
+ * @category setters
47
+ */
48
+ declare const setUserComment: LocalizedSetter;
49
+ /**
50
+ * The valid image width, in pixels (`exif:PixelXDimension`). An integer.
51
+ *
52
+ * @since 0.1.0
53
+ * @category getters
54
+ */
55
+ declare const pixelXDimension: (self: Metadata) => Option.Option<number>;
56
+ /**
57
+ * Sets the valid image width, in pixels (`exif:PixelXDimension`).
58
+ *
59
+ * @since 0.1.0
60
+ * @category setters
61
+ */
62
+ declare const setPixelXDimension: Setter<number>;
63
+ /**
64
+ * The valid image height, in pixels (`exif:PixelYDimension`). An integer.
65
+ *
66
+ * @since 0.1.0
67
+ * @category getters
68
+ */
69
+ declare const pixelYDimension: (self: Metadata) => Option.Option<number>;
70
+ /**
71
+ * Sets the valid image height, in pixels (`exif:PixelYDimension`).
72
+ *
73
+ * @since 0.1.0
74
+ * @category setters
75
+ */
76
+ declare const setPixelYDimension: Setter<number>;
77
+ export { pixelYDimension as a, setPixelXDimension as c, userComment as d, pixelXDimension as i, setPixelYDimension as l, dateTimeDigitized as n, setDateTimeDigitized as o, dateTimeOriginal as r, setDateTimeOriginal as s, Exif_d_exports as t, setUserComment as u };
78
+ //# sourceMappingURL=Exif-CpqniYQd.d.mts.map
@@ -0,0 +1,89 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
2
+ import { n as EXIF } from "./Namespaces-Bz85vpjW.mjs";
3
+ import { a as localized, c as setDate, l as setInteger, p as text, r as integer, u as setLocalized } from "./accessors-CEjaojuQ.mjs";
4
+ // src/xmp/Exif.ts
5
+ var Exif_exports = /* @__PURE__ */ __exportAll({
6
+ dateTimeDigitized: () => dateTimeDigitized,
7
+ dateTimeOriginal: () => dateTimeOriginal,
8
+ pixelXDimension: () => pixelXDimension,
9
+ pixelYDimension: () => pixelYDimension,
10
+ setDateTimeDigitized: () => setDateTimeDigitized,
11
+ setDateTimeOriginal: () => setDateTimeOriginal,
12
+ setPixelXDimension: () => setPixelXDimension,
13
+ setPixelYDimension: () => setPixelYDimension,
14
+ setUserComment: () => setUserComment,
15
+ userComment: () => userComment
16
+ });
17
+ /**
18
+ * When the original image was taken (`exif:DateTimeOriginal`). An ISO 8601 date, as XMP stores it; the setter takes a `DateTime` or a string.
19
+ *
20
+ * @since 0.1.0
21
+ * @category getters
22
+ */
23
+ const dateTimeOriginal = text(`${EXIF}DateTimeOriginal`);
24
+ /**
25
+ * Sets when the original image was taken (`exif:DateTimeOriginal`).
26
+ *
27
+ * @since 0.1.0
28
+ * @category setters
29
+ */
30
+ const setDateTimeOriginal = setDate(`${EXIF}DateTimeOriginal`);
31
+ /**
32
+ * When the image was stored as digital data (`exif:DateTimeDigitized`). An ISO 8601 date, as XMP stores it; the setter takes a `DateTime` or a string.
33
+ *
34
+ * @since 0.1.0
35
+ * @category getters
36
+ */
37
+ const dateTimeDigitized = text(`${EXIF}DateTimeDigitized`);
38
+ /**
39
+ * Sets when the image was stored as digital data (`exif:DateTimeDigitized`).
40
+ *
41
+ * @since 0.1.0
42
+ * @category setters
43
+ */
44
+ const setDateTimeDigitized = setDate(`${EXIF}DateTimeDigitized`);
45
+ /**
46
+ * A user comment (`exif:UserComment`). A language alternative; reads the item in `language` (default `x-default`).
47
+ *
48
+ * @since 0.1.0
49
+ * @category getters
50
+ */
51
+ const userComment = localized(`${EXIF}UserComment`);
52
+ /**
53
+ * Sets a user comment (`exif:UserComment`).
54
+ *
55
+ * @since 0.1.0
56
+ * @category setters
57
+ */
58
+ const setUserComment = setLocalized(`${EXIF}UserComment`);
59
+ /**
60
+ * The valid image width, in pixels (`exif:PixelXDimension`). An integer.
61
+ *
62
+ * @since 0.1.0
63
+ * @category getters
64
+ */
65
+ const pixelXDimension = integer(`${EXIF}PixelXDimension`);
66
+ /**
67
+ * Sets the valid image width, in pixels (`exif:PixelXDimension`).
68
+ *
69
+ * @since 0.1.0
70
+ * @category setters
71
+ */
72
+ const setPixelXDimension = setInteger(`${EXIF}PixelXDimension`);
73
+ /**
74
+ * The valid image height, in pixels (`exif:PixelYDimension`). An integer.
75
+ *
76
+ * @since 0.1.0
77
+ * @category getters
78
+ */
79
+ const pixelYDimension = integer(`${EXIF}PixelYDimension`);
80
+ /**
81
+ * Sets the valid image height, in pixels (`exif:PixelYDimension`).
82
+ *
83
+ * @since 0.1.0
84
+ * @category setters
85
+ */
86
+ const setPixelYDimension = setInteger(`${EXIF}PixelYDimension`);
87
+ export { pixelYDimension as a, setPixelXDimension as c, userComment as d, pixelXDimension as i, setPixelYDimension as l, dateTimeDigitized as n, setDateTimeDigitized as o, dateTimeOriginal as r, setDateTimeOriginal as s, Exif_exports as t, setUserComment as u };
88
+
89
+ //# sourceMappingURL=Exif-DjkCfEB-.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Exif-DjkCfEB-.mjs","names":["Accessors.text","Accessors.setDate","Accessors.localized","Accessors.setLocalized","Accessors.integer","Accessors.setInteger"],"sources":["../src/xmp/Exif.ts"],"sourcesContent":["/**\n * Typed accessors for the most used properties of the EXIF schema (`exif:`,\n * XMP Specification Part 2 §3.3.6). Any other EXIF property is read with\n * `Metadata.get`.\n *\n * @since 0.1.0\n */\nimport type * as DateTime from 'effect/DateTime';\nimport type * as Option from 'effect/Option';\nimport * as Accessors from './internal/accessors.ts';\nimport type * as Metadata from './Metadata.ts';\nimport { EXIF } from './Namespaces.ts';\n\n/**\n * When the original image was taken (`exif:DateTimeOriginal`). An ISO 8601 date, as XMP stores it; the setter takes a `DateTime` or a string.\n *\n * @since 0.1.0\n * @category getters\n */\nexport const dateTimeOriginal: (self: Metadata.Metadata) => Option.Option<string> = Accessors.text(\n `${EXIF}DateTimeOriginal`,\n);\n\n/**\n * Sets when the original image was taken (`exif:DateTimeOriginal`).\n *\n * @since 0.1.0\n * @category setters\n */\nexport const setDateTimeOriginal: Metadata.Setter<DateTime.DateTime | string> = Accessors.setDate(\n `${EXIF}DateTimeOriginal`,\n);\n\n/**\n * When the image was stored as digital data (`exif:DateTimeDigitized`). An ISO 8601 date, as XMP stores it; the setter takes a `DateTime` or a string.\n *\n * @since 0.1.0\n * @category getters\n */\nexport const dateTimeDigitized: (self: Metadata.Metadata) => Option.Option<string> = Accessors.text(\n `${EXIF}DateTimeDigitized`,\n);\n\n/**\n * Sets when the image was stored as digital data (`exif:DateTimeDigitized`).\n *\n * @since 0.1.0\n * @category setters\n */\nexport const setDateTimeDigitized: Metadata.Setter<DateTime.DateTime | string> = Accessors.setDate(\n `${EXIF}DateTimeDigitized`,\n);\n\n/**\n * A user comment (`exif:UserComment`). A language alternative; reads the item in `language` (default `x-default`).\n *\n * @since 0.1.0\n * @category getters\n */\nexport const userComment: (self: Metadata.Metadata, language?: string) => Option.Option<string> =\n Accessors.localized(`${EXIF}UserComment`);\n\n/**\n * Sets a user comment (`exif:UserComment`).\n *\n * @since 0.1.0\n * @category setters\n */\nexport const setUserComment: Metadata.LocalizedSetter = Accessors.setLocalized(\n `${EXIF}UserComment`,\n);\n\n/**\n * The valid image width, in pixels (`exif:PixelXDimension`). An integer.\n *\n * @since 0.1.0\n * @category getters\n */\nexport const pixelXDimension: (self: Metadata.Metadata) => Option.Option<number> =\n Accessors.integer(`${EXIF}PixelXDimension`);\n\n/**\n * Sets the valid image width, in pixels (`exif:PixelXDimension`).\n *\n * @since 0.1.0\n * @category setters\n */\nexport const setPixelXDimension: Metadata.Setter<number> = Accessors.setInteger(\n `${EXIF}PixelXDimension`,\n);\n\n/**\n * The valid image height, in pixels (`exif:PixelYDimension`). An integer.\n *\n * @since 0.1.0\n * @category getters\n */\nexport const pixelYDimension: (self: Metadata.Metadata) => Option.Option<number> =\n Accessors.integer(`${EXIF}PixelYDimension`);\n\n/**\n * Sets the valid image height, in pixels (`exif:PixelYDimension`).\n *\n * @since 0.1.0\n * @category setters\n */\nexport const setPixelYDimension: Metadata.Setter<number> = Accessors.setInteger(\n `${EXIF}PixelYDimension`,\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAmBA,MAAa,mBAAuEA,KAClF,GAAG,KAAK,iBACV;;;;;;;AAQA,MAAa,sBAAmEC,QAC9E,GAAG,KAAK,iBACV;;;;;;;AAQA,MAAa,oBAAwED,KACnF,GAAG,KAAK,kBACV;;;;;;;AAQA,MAAa,uBAAoEC,QAC/E,GAAG,KAAK,kBACV;;;;;;;AAQA,MAAa,cACXC,UAAoB,GAAG,KAAK,YAAY;;;;;;;AAQ1C,MAAa,iBAA2CC,aACtD,GAAG,KAAK,YACV;;;;;;;AAQA,MAAa,kBACXC,QAAkB,GAAG,KAAK,gBAAgB;;;;;;;AAQ5C,MAAa,qBAA8CC,WACzD,GAAG,KAAK,gBACV;;;;;;;AAQA,MAAa,kBACXD,QAAkB,GAAG,KAAK,gBAAgB;;;;;;;AAQ5C,MAAa,qBAA8CC,WACzD,GAAG,KAAK,gBACV"}
@@ -0,0 +1,230 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
2
+ import { K as isTriple, P as isDefaultGraph, T as blankNode, q as isVariable, rt as triple, z as isLiteral } from "./Term-CFLG1qu4.mjs";
3
+ import { C as orderCompare, S as negate, b as fail, c as registry, d as TRUE, f as arithmetic, h as compareLiterals, i as cast, l as EvalFailure, m as catchEvalFailure, p as bool, r as builtIns, s as isCast, t as ExpressionError, u as FALSE, v as ebv, x as isNumeric, y as equals$1 } from "./Functions-AvjNcId_.mjs";
4
+ import * as Arr from "effect/Array";
5
+ import * as MutableHashMap from "effect/MutableHashMap";
6
+ import * as Option from "effect/Option";
7
+ import * as Predicate from "effect/Predicate";
8
+ import * as Result from "effect/Result";
9
+ import * as DateTime from "effect/DateTime";
10
+ import * as Random from "effect/Random";
11
+ // src/sparql/Expression.ts
12
+ /**
13
+ * Evaluation of SPARQL expressions over solution mappings: all operators and
14
+ * functional forms (`&&`, `||`, `!`, `IN`, `IF`, `COALESCE`, `BOUND`,
15
+ * `EXISTS`), the built-in functions of SPARQL 1.1 and 1.2, XSD casts and
16
+ * extension functions, with SPARQL's error semantics.
17
+ *
18
+ * Also exports the effective boolean value, value equality / ordering and
19
+ * the `ORDER BY` term ordering.
20
+ *
21
+ * @since 0.1.0
22
+ */
23
+ var Expression_exports = /* @__PURE__ */ __exportAll({
24
+ compare: () => compare,
25
+ effectiveBooleanValue: () => effectiveBooleanValue,
26
+ equals: () => equals,
27
+ evaluate: () => evaluate,
28
+ evaluateOrUndefined: () => evaluateOrUndefined,
29
+ evaluateUnsafe: () => evaluateUnsafe,
30
+ makeContext: () => makeContext,
31
+ test: () => test
32
+ });
33
+ /**
34
+ * Creates an evaluation context.
35
+ *
36
+ * @since 0.1.0
37
+ * @category constructors
38
+ */
39
+ const makeContext = (options) => {
40
+ const scopes = /* @__PURE__ */ new WeakMap();
41
+ let counter = 0;
42
+ const defaultRandom = Random.Random.defaultValue();
43
+ const prefix = `e${Math.floor(defaultRandom.nextDoubleUnsafe() * 16777215).toString(36)}_`;
44
+ return {
45
+ now: options?.now ?? DateTime.toDateUtc(DateTime.nowUnsafe()),
46
+ baseIri: options?.baseIri,
47
+ functions: options?.functions ?? registry({}),
48
+ random: options?.random ?? (() => defaultRandom.nextDoubleUnsafe()),
49
+ blankNode: (label, solution) => {
50
+ if (label === void 0) return blankNode(`${prefix}${counter++}`);
51
+ const row = solution.origin ?? solution;
52
+ let scope = scopes.get(row);
53
+ if (scope === void 0) scopes.set(row, scope = MutableHashMap.empty());
54
+ const existing = MutableHashMap.get(scope, label);
55
+ if (Option.isSome(existing)) return existing.value;
56
+ const node = blankNode(`${prefix}${counter++}`);
57
+ MutableHashMap.set(scope, label, node);
58
+ return node;
59
+ }
60
+ };
61
+ };
62
+ /**
63
+ * A term with its variables replaced by their bindings. Plain branches rather
64
+ * than `Match`: it runs for every variable of every evaluated expression.
65
+ */
66
+ const substitute = (t, solution) => {
67
+ if (isVariable(t)) return solution.map.get(t.value) ?? fail(`Unbound variable ?${t.value}`);
68
+ if (isTriple(t)) return triple(substitute(t.subject, solution), substitute(t.predicate, solution), substitute(t.object, solution));
69
+ if (isDefaultGraph(t)) return fail("Invalid term");
70
+ return t;
71
+ };
72
+ /**
73
+ * Evaluates an expression; throws `EvalFailure` on errors. Plain branches
74
+ * rather than `Match`: it runs once per expression node per solution.
75
+ *
76
+ * @internal
77
+ */
78
+ const evaluateUnsafe = (e, solution, ctx) => {
79
+ if (Predicate.isTagged(e, "Operation")) return operation(e, solution, ctx);
80
+ if (isVariable(e) || isTriple(e)) return substitute(e, solution);
81
+ if (Predicate.isTagged(e, "FunctionCall")) return functionCall(e, solution, ctx);
82
+ if (Predicate.isTagged(e, "Exists")) {
83
+ if (ctx.exists === void 0) return fail("EXISTS is not supported here");
84
+ const r = ctx.exists(e, solution);
85
+ return bool(e.negated ? !r : r);
86
+ }
87
+ return e;
88
+ };
89
+ const functionCall = (call, solution, ctx) => {
90
+ const iri = call.function.value;
91
+ const args = call.args.map((a) => evaluateUnsafe(a, solution, ctx));
92
+ const f = ctx.functions.get(iri);
93
+ if (f !== void 0) return f(args, ctx);
94
+ if (isCast(iri)) {
95
+ const [arg, ...rest] = args;
96
+ if (arg === void 0 || Arr.isReadonlyArrayNonEmpty(rest)) return fail("Casts take one argument");
97
+ return cast(iri, arg);
98
+ }
99
+ return fail(`Unknown function <${iri}>`);
100
+ };
101
+ const ebvOf = (e, solution, ctx) => ebv(evaluateUnsafe(e, solution, ctx));
102
+ const toError = (failure) => new ExpressionError({ message: failure.message });
103
+ const attempt = (f) => Result.merge(catchEvalFailure(f));
104
+ /** Argument `i` of an operation (the parser checked each operator's arity). */
105
+ const argAt = (e, i) => e.args[i] ?? fail(`${e.operator} is missing argument ${i + 1}`);
106
+ /** Evaluates argument `i` of an operation. */
107
+ const argOf = (e, i, solution, ctx) => evaluateUnsafe(argAt(e, i), solution, ctx);
108
+ const or = (e, solution, ctx) => {
109
+ const a = attempt(() => ebvOf(argAt(e, 0), solution, ctx));
110
+ if (a === true) return TRUE;
111
+ if (ebvOf(argAt(e, 1), solution, ctx)) return TRUE;
112
+ if (a instanceof EvalFailure) throw a;
113
+ return FALSE;
114
+ };
115
+ const and = (e, solution, ctx) => {
116
+ const a = attempt(() => ebvOf(argAt(e, 0), solution, ctx));
117
+ if (a === false) return FALSE;
118
+ if (!ebvOf(argAt(e, 1), solution, ctx)) return FALSE;
119
+ if (a instanceof EvalFailure) throw a;
120
+ return TRUE;
121
+ };
122
+ const order = (op, e, solution, ctx) => {
123
+ const a = argOf(e, 0, solution, ctx);
124
+ const b = argOf(e, 1, solution, ctx);
125
+ if (!isLiteral(a) || !isLiteral(b)) return fail("Cannot order non-literals");
126
+ const c = compareLiterals(a, b);
127
+ if (Number.isNaN(c)) return FALSE;
128
+ return bool(op === "<" ? c < 0 : op === ">" ? c > 0 : op === "<=" ? c <= 0 : c >= 0);
129
+ };
130
+ const isIn = (e, solution, ctx, negated) => {
131
+ const value = argOf(e, 0, solution, ctx);
132
+ let failure = Option.none();
133
+ if (e.args.some((x, i) => {
134
+ if (i === 0) return false;
135
+ const r = attempt(() => equals$1(value, evaluateUnsafe(x, solution, ctx)));
136
+ if (r instanceof EvalFailure) failure = Option.some(r);
137
+ return r === true;
138
+ })) return bool(!negated);
139
+ if (Option.isSome(failure)) throw failure.value;
140
+ return bool(negated);
141
+ };
142
+ const coalesce = (e, solution, ctx) => {
143
+ let value = Option.none();
144
+ e.args.some((x) => {
145
+ const r = attempt(() => evaluateUnsafe(x, solution, ctx));
146
+ if (r instanceof EvalFailure) return false;
147
+ value = Option.some(r);
148
+ return true;
149
+ });
150
+ return Option.isSome(value) ? value.value : fail("COALESCE: no argument could be evaluated");
151
+ };
152
+ const builtIn = (op, e, solution, ctx) => {
153
+ const f = builtIns[op];
154
+ if (f === void 0) return fail(`Unsupported operator ${op}`);
155
+ return f(e.args.map((a) => evaluateUnsafe(a, solution, ctx)), ctx, solution);
156
+ };
157
+ /**
158
+ * Evaluates an operation, by operator. Plain branches rather than `Match`:
159
+ * it runs once per operation per solution.
160
+ */
161
+ const operation = (e, solution, ctx) => {
162
+ const op = e.operator;
163
+ if (op === "||") return or(e, solution, ctx);
164
+ if (op === "&&") return and(e, solution, ctx);
165
+ if (op === "=") return bool(equals$1(argOf(e, 0, solution, ctx), argOf(e, 1, solution, ctx)));
166
+ if (op === "!=") return bool(!equals$1(argOf(e, 0, solution, ctx), argOf(e, 1, solution, ctx)));
167
+ if (op === "<" || op === ">" || op === "<=" || op === ">=") return order(op, e, solution, ctx);
168
+ if (op === "!") return bool(!ebvOf(argAt(e, 0), solution, ctx));
169
+ if (op === "+" || op === "-" || op === "*" || op === "/") return arithmetic(op, argOf(e, 0, solution, ctx), argOf(e, 1, solution, ctx));
170
+ if (op === "UPLUS") {
171
+ const a = argOf(e, 0, solution, ctx);
172
+ return isNumeric(a) ? a : fail("Unary plus of a non-numeric");
173
+ }
174
+ if (op === "UMINUS") return negate(argOf(e, 0, solution, ctx));
175
+ if (op === "IN" || op === "NOT IN") return isIn(e, solution, ctx, op === "NOT IN");
176
+ if (op === "BOUND") {
177
+ const v = e.args[0];
178
+ return bool(isVariable(v) && solution.map.has(v.value));
179
+ }
180
+ if (op === "IF") return ebvOf(argAt(e, 0), solution, ctx) ? argOf(e, 1, solution, ctx) : argOf(e, 2, solution, ctx);
181
+ if (op === "COALESCE") return coalesce(e, solution, ctx);
182
+ return builtIn(op, e, solution, ctx);
183
+ };
184
+ /**
185
+ * Evaluates an expression against a solution.
186
+ *
187
+ * @since 0.1.0
188
+ * @category evaluation
189
+ */
190
+ const evaluate = (expression, solution, context) => Result.mapError(catchEvalFailure(() => evaluateUnsafe(expression, solution, context)), toError);
191
+ /**
192
+ * Evaluates an expression, returning `undefined` on errors.
193
+ *
194
+ * @since 0.1.0
195
+ * @category evaluation
196
+ */
197
+ const evaluateOrUndefined = (expression, solution, context) => Result.getOrUndefined(catchEvalFailure(() => evaluateUnsafe(expression, solution, context)));
198
+ /**
199
+ * Evaluates a filter condition: the effective boolean value of the
200
+ * expression, with errors counting as `false`.
201
+ *
202
+ * @since 0.1.0
203
+ * @category evaluation
204
+ */
205
+ const test = (expression, solution, context) => Result.getOrElse(catchEvalFailure(() => ebv(evaluateUnsafe(expression, solution, context))), () => false);
206
+ /**
207
+ * The effective boolean value of a term (SPARQL 1.1 §17.2.2).
208
+ *
209
+ * @since 0.1.0
210
+ * @category evaluation
211
+ */
212
+ const effectiveBooleanValue = (term) => Result.mapError(catchEvalFailure(() => ebv(term)), toError);
213
+ /**
214
+ * Value equality (the `=` operator). Fails for incomparable literals.
215
+ *
216
+ * @since 0.1.0
217
+ * @category evaluation
218
+ */
219
+ const equals = (a, b) => Result.mapError(catchEvalFailure(() => equals$1(a, b)), toError);
220
+ /**
221
+ * The total order on (possibly unbound) terms used by `ORDER BY`: unbound <
222
+ * blank nodes < IRIs < literals < triple terms.
223
+ *
224
+ * @since 0.1.0
225
+ * @category ordering
226
+ */
227
+ const compare = (a, b) => orderCompare(Option.fromUndefinedOr(a), Option.fromUndefinedOr(b));
228
+ export { evaluate as a, makeContext as c, equals as i, test as l, compare as n, evaluateOrUndefined as o, effectiveBooleanValue as r, evaluateUnsafe as s, Expression_exports as t };
229
+
230
+ //# sourceMappingURL=Expression-BIMMvduQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Expression-BIMMvduQ.mjs","names":["Functions.registry","Term.blankNode","Term.isVariable","V.fail","Term.isTriple","Term.triple","Term.isDefaultGraph","V.bool","Functions.isCast","Functions.cast","V.ebv","Functions.ExpressionError","V.catchEvalFailure","V.TRUE","V.EvalFailure","V.FALSE","Term.isLiteral","V.compareLiterals","V.equals","Functions.builtIns","V.arithmetic","V.isNumeric","V.negate","V.orderCompare"],"sources":["../src/sparql/Expression.ts"],"sourcesContent":["/**\n * Evaluation of SPARQL expressions over solution mappings: all operators and\n * functional forms (`&&`, `||`, `!`, `IN`, `IF`, `COALESCE`, `BOUND`,\n * `EXISTS`), the built-in functions of SPARQL 1.1 and 1.2, XSD casts and\n * extension functions, with SPARQL's error semantics.\n *\n * Also exports the effective boolean value, value equality / ordering and\n * the `ORDER BY` term ordering.\n *\n * @since 0.1.0\n */\nimport * as Arr from 'effect/Array';\nimport * as DateTime from 'effect/DateTime';\nimport * as MutableHashMap from 'effect/MutableHashMap';\nimport * as Option from 'effect/Option';\nimport * as Predicate from 'effect/Predicate';\nimport * as Random from 'effect/Random';\nimport * as Result from 'effect/Result';\nimport * as Term from '../Term.ts';\nimport type * as Algebra from './Algebra.ts';\nimport type * as Ast from './Ast.ts';\nimport type { Bindings } from './Bindings.ts';\nimport * as Functions from './Functions.ts';\nimport * as V from './internal/values.ts';\n\n/**\n * The context of expression evaluation.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface Context extends Functions.FunctionContext {\n /** Extension functions by IRI. */\n readonly functions: Functions.Registry;\n /**\n * Evaluates an `EXISTS` pattern for a solution. The engine precomputes\n * these (pattern evaluation is effectful) before evaluating the\n * expression; without it `EXISTS` is an error.\n */\n readonly exists?: ((e: Algebra.ExistsExpression, solution: Bindings) => boolean) | undefined;\n}\n\n/**\n * Creates an evaluation context.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const makeContext = (options?: {\n readonly now?: Date | undefined;\n readonly baseIri?: string | undefined;\n readonly functions?: Functions.Registry | undefined;\n readonly random?: (() => number) | undefined;\n}): Context => {\n const scopes = new WeakMap<Bindings, MutableHashMap.MutableHashMap<string, Term.BlankNode>>();\n let counter = 0;\n // A plain constructor, outside any Effect: the defaults are the default\n // `Random` service (`Math.random`) and the current time.\n const defaultRandom = Random.Random.defaultValue();\n const prefix = `e${Math.floor(defaultRandom.nextDoubleUnsafe() * 0xffffff).toString(36)}_`;\n return {\n now: options?.now ?? DateTime.toDateUtc(DateTime.nowUnsafe()),\n baseIri: options?.baseIri,\n functions: options?.functions ?? Functions.registry({}),\n random: options?.random ?? (() => defaultRandom.nextDoubleUnsafe()),\n blankNode: (label, solution) => {\n if (label === undefined) return Term.blankNode(`${prefix}${counter++}`);\n const row = solution.origin ?? solution;\n let scope = scopes.get(row);\n if (scope === undefined) scopes.set(row, (scope = MutableHashMap.empty()));\n const existing = MutableHashMap.get(scope, label);\n if (Option.isSome(existing)) return existing.value;\n const node = Term.blankNode(`${prefix}${counter++}`);\n MutableHashMap.set(scope, label, node);\n return node;\n },\n };\n};\n\n/**\n * A term with its variables replaced by their bindings. Plain branches rather\n * than `Match`: it runs for every variable of every evaluated expression.\n */\nconst substitute = (t: Term.Term, solution: Bindings): Term.GroundTerm => {\n if (Term.isVariable(t))\n return solution.map.get(t.value) ?? V.fail(`Unbound variable ?${t.value}`);\n if (Term.isTriple(t)) {\n // Substitution keeps each position's kind for the ground terms a pattern can be bound to;\n // like the triple patterns it comes from, the result is not checked again.\n return Term.triple<any, any, any>(\n substitute(t.subject, solution),\n substitute(t.predicate, solution),\n substitute(t.object, solution),\n );\n }\n if (Term.isDefaultGraph(t)) return V.fail('Invalid term');\n return t;\n};\n\n/**\n * Evaluates an expression; throws `EvalFailure` on errors. Plain branches\n * rather than `Match`: it runs once per expression node per solution.\n *\n * @internal\n */\nexport const evaluateUnsafe = (\n e: Algebra.Expression,\n solution: Bindings,\n ctx: Context,\n): Term.GroundTerm => {\n if (Predicate.isTagged(e, 'Operation')) return operation(e, solution, ctx);\n if (Term.isVariable(e) || Term.isTriple(e)) return substitute(e, solution);\n if (Predicate.isTagged(e, 'FunctionCall')) return functionCall(e, solution, ctx);\n if (Predicate.isTagged(e, 'Exists')) {\n if (ctx.exists === undefined) return V.fail('EXISTS is not supported here');\n const r = ctx.exists(e, solution);\n return V.bool(e.negated ? !r : r);\n }\n return e;\n};\n\nconst functionCall = (\n call: Algebra.FunctionCallExpression,\n solution: Bindings,\n ctx: Context,\n): Term.GroundTerm => {\n const iri = call.function.value;\n const args = call.args.map((a) => evaluateUnsafe(a, solution, ctx));\n const f = ctx.functions.get(iri);\n if (f !== undefined) return f(args, ctx);\n if (Functions.isCast(iri)) {\n const [arg, ...rest] = args;\n if (arg === undefined || Arr.isReadonlyArrayNonEmpty(rest)) {\n return V.fail('Casts take one argument');\n }\n return Functions.cast(iri, arg);\n }\n return V.fail(`Unknown function <${iri}>`);\n};\n\nconst ebvOf = (e: Algebra.Expression, solution: Bindings, ctx: Context): boolean =>\n V.ebv(evaluateUnsafe(e, solution, ctx));\n\nconst toError = (failure: V.EvalFailure): Functions.ExpressionError =>\n new Functions.ExpressionError({ message: failure.message });\n\nconst attempt = <A>(f: () => A): A | V.EvalFailure => Result.merge(V.catchEvalFailure(f));\n\n/** Argument `i` of an operation (the parser checked each operator's arity). */\nconst argAt = (e: Algebra.OperationExpression, i: number): Algebra.Expression =>\n e.args[i] ?? V.fail(`${e.operator} is missing argument ${i + 1}`);\n\n/** Evaluates argument `i` of an operation. */\nconst argOf = (e: Algebra.OperationExpression, i: number, solution: Bindings, ctx: Context) =>\n evaluateUnsafe(argAt(e, i), solution, ctx);\n\nconst or = (e: Algebra.OperationExpression, solution: Bindings, ctx: Context): Term.GroundTerm => {\n const a = attempt(() => ebvOf(argAt(e, 0), solution, ctx));\n if (a === true) return V.TRUE;\n const b = ebvOf(argAt(e, 1), solution, ctx);\n if (b) return V.TRUE;\n if (a instanceof V.EvalFailure) throw a;\n return V.FALSE;\n};\n\nconst and = (e: Algebra.OperationExpression, solution: Bindings, ctx: Context): Term.GroundTerm => {\n const a = attempt(() => ebvOf(argAt(e, 0), solution, ctx));\n if (a === false) return V.FALSE;\n const b = ebvOf(argAt(e, 1), solution, ctx);\n if (!b) return V.FALSE;\n if (a instanceof V.EvalFailure) throw a;\n return V.TRUE;\n};\n\nconst order = (\n op: '<' | '>' | '<=' | '>=',\n e: Algebra.OperationExpression,\n solution: Bindings,\n ctx: Context,\n): Term.GroundTerm => {\n const a = argOf(e, 0, solution, ctx);\n const b = argOf(e, 1, solution, ctx);\n if (!Term.isLiteral(a) || !Term.isLiteral(b)) return V.fail('Cannot order non-literals');\n const c = V.compareLiterals(a, b);\n if (Number.isNaN(c)) return V.FALSE;\n return V.bool(op === '<' ? c < 0 : op === '>' ? c > 0 : op === '<=' ? c <= 0 : c >= 0);\n};\n\nconst isIn = (\n e: Algebra.OperationExpression,\n solution: Bindings,\n ctx: Context,\n negated: boolean,\n): Term.GroundTerm => {\n const value = argOf(e, 0, solution, ctx);\n let failure = Option.none<V.EvalFailure>();\n const found = e.args.some((x, i) => {\n if (i === 0) return false;\n const r = attempt(() => V.equals(value, evaluateUnsafe(x, solution, ctx)));\n if (r instanceof V.EvalFailure) failure = Option.some(r);\n return r === true;\n });\n if (found) return V.bool(!negated);\n if (Option.isSome(failure)) throw failure.value;\n return V.bool(negated);\n};\n\nconst coalesce = (\n e: Algebra.OperationExpression,\n solution: Bindings,\n ctx: Context,\n): Term.GroundTerm => {\n let value = Option.none<Term.GroundTerm>();\n e.args.some((x) => {\n const r = attempt(() => evaluateUnsafe(x, solution, ctx));\n if (r instanceof V.EvalFailure) return false;\n value = Option.some(r);\n return true;\n });\n return Option.isSome(value) ? value.value : V.fail('COALESCE: no argument could be evaluated');\n};\n\nconst builtIn = (\n op: Ast.BuiltInName,\n e: Algebra.OperationExpression,\n solution: Bindings,\n ctx: Context,\n): Term.GroundTerm => {\n const f = Functions.builtIns[op];\n if (f === undefined) return V.fail(`Unsupported operator ${op}`);\n const values = e.args.map((a) => evaluateUnsafe(a, solution, ctx));\n // SAFETY: `BuiltInArgs` types the first three slots as present; each built-in checks its own\n // arity before reading them.\n return f(values as unknown as Functions.BuiltInArgs, ctx, solution);\n};\n\n/**\n * Evaluates an operation, by operator. Plain branches rather than `Match`:\n * it runs once per operation per solution.\n */\nconst operation = (\n e: Algebra.OperationExpression,\n solution: Bindings,\n ctx: Context,\n): Term.GroundTerm => {\n const op = e.operator;\n if (op === '||') return or(e, solution, ctx);\n if (op === '&&') return and(e, solution, ctx);\n if (op === '=') return V.bool(V.equals(argOf(e, 0, solution, ctx), argOf(e, 1, solution, ctx)));\n if (op === '!=') {\n return V.bool(!V.equals(argOf(e, 0, solution, ctx), argOf(e, 1, solution, ctx)));\n }\n if (op === '<' || op === '>' || op === '<=' || op === '>=') return order(op, e, solution, ctx);\n if (op === '!') return V.bool(!ebvOf(argAt(e, 0), solution, ctx));\n if (op === '+' || op === '-' || op === '*' || op === '/') {\n return V.arithmetic(op, argOf(e, 0, solution, ctx), argOf(e, 1, solution, ctx));\n }\n if (op === 'UPLUS') {\n const a = argOf(e, 0, solution, ctx);\n return V.isNumeric(a) ? a : V.fail('Unary plus of a non-numeric');\n }\n if (op === 'UMINUS') return V.negate(argOf(e, 0, solution, ctx));\n if (op === 'IN' || op === 'NOT IN') return isIn(e, solution, ctx, op === 'NOT IN');\n if (op === 'BOUND') {\n const v = e.args[0];\n return V.bool(Term.isVariable(v) && solution.map.has(v.value));\n }\n if (op === 'IF') {\n return ebvOf(argAt(e, 0), solution, ctx)\n ? argOf(e, 1, solution, ctx)\n : argOf(e, 2, solution, ctx);\n }\n if (op === 'COALESCE') return coalesce(e, solution, ctx);\n return builtIn(op, e, solution, ctx);\n};\n\n/**\n * Evaluates an expression against a solution.\n *\n * @since 0.1.0\n * @category evaluation\n */\nexport const evaluate = (\n expression: Algebra.Expression,\n solution: Bindings,\n context: Context,\n): Result.Result<Term.GroundTerm, Functions.ExpressionError> =>\n Result.mapError(\n V.catchEvalFailure(() => evaluateUnsafe(expression, solution, context)),\n toError,\n );\n\n/**\n * Evaluates an expression, returning `undefined` on errors.\n *\n * @since 0.1.0\n * @category evaluation\n */\nexport const evaluateOrUndefined = (\n expression: Algebra.Expression,\n solution: Bindings,\n context: Context,\n): Term.GroundTerm | undefined =>\n Result.getOrUndefined(V.catchEvalFailure(() => evaluateUnsafe(expression, solution, context)));\n\n/**\n * Evaluates a filter condition: the effective boolean value of the\n * expression, with errors counting as `false`.\n *\n * @since 0.1.0\n * @category evaluation\n */\nexport const test = (\n expression: Algebra.Expression,\n solution: Bindings,\n context: Context,\n): boolean =>\n Result.getOrElse(\n V.catchEvalFailure(() => V.ebv(evaluateUnsafe(expression, solution, context))),\n () => false,\n );\n\n/**\n * The effective boolean value of a term (SPARQL 1.1 §17.2.2).\n *\n * @since 0.1.0\n * @category evaluation\n */\nexport const effectiveBooleanValue = (\n term: Term.GroundTerm,\n): Result.Result<boolean, Functions.ExpressionError> =>\n Result.mapError(\n V.catchEvalFailure(() => V.ebv(term)),\n toError,\n );\n\n/**\n * Value equality (the `=` operator). Fails for incomparable literals.\n *\n * @since 0.1.0\n * @category evaluation\n */\nexport const equals = (\n a: Term.GroundTerm,\n b: Term.GroundTerm,\n): Result.Result<boolean, Functions.ExpressionError> =>\n Result.mapError(\n V.catchEvalFailure(() => V.equals(a, b)),\n toError,\n );\n\n/**\n * The total order on (possibly unbound) terms used by `ORDER BY`: unbound <\n * blank nodes < IRIs < literals < triple terms.\n *\n * @since 0.1.0\n * @category ordering\n */\nexport const compare = (a: Term.GroundTerm | undefined, b: Term.GroundTerm | undefined): number =>\n V.orderCompare(Option.fromUndefinedOr(a), Option.fromUndefinedOr(b));\n"],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import { s as GroundTerm } from "./Term-B_4ezyXq.mjs";
2
+ import { t as Bindings } from "./Bindings-DiKpBd7f.mjs";
3
+ import { a as ExistsExpression, o as Expression } from "./Algebra-uGsIEOUA.mjs";
4
+ import { a as FunctionContext, r as ExpressionError, s as Registry } from "./Functions-OQJZP-F6.mjs";
5
+ import * as Result from "effect/Result";
6
+ declare namespace Expression_d_exports {
7
+ export { Context, compare, effectiveBooleanValue, equals, evaluate, evaluateOrUndefined, evaluateUnsafe, makeContext, test };
8
+ }
9
+ /**
10
+ * The context of expression evaluation.
11
+ *
12
+ * @since 0.1.0
13
+ * @category models
14
+ */
15
+ interface Context extends FunctionContext {
16
+ /** Extension functions by IRI. */
17
+ readonly functions: Registry;
18
+ /**
19
+ * Evaluates an `EXISTS` pattern for a solution. The engine precomputes
20
+ * these (pattern evaluation is effectful) before evaluating the
21
+ * expression; without it `EXISTS` is an error.
22
+ */
23
+ readonly exists?: ((e: ExistsExpression, solution: Bindings) => boolean) | undefined;
24
+ }
25
+ /**
26
+ * Creates an evaluation context.
27
+ *
28
+ * @since 0.1.0
29
+ * @category constructors
30
+ */
31
+ declare const makeContext: (options?: {
32
+ readonly now?: Date | undefined;
33
+ readonly baseIri?: string | undefined;
34
+ readonly functions?: Registry | undefined;
35
+ readonly random?: (() => number) | undefined;
36
+ }) => Context;
37
+ /**
38
+ * Evaluates an expression; throws `EvalFailure` on errors. Plain branches
39
+ * rather than `Match`: it runs once per expression node per solution.
40
+ *
41
+ * @internal
42
+ */
43
+ declare const evaluateUnsafe: (e: Expression, solution: Bindings, ctx: Context) => GroundTerm;
44
+ /**
45
+ * Evaluates an expression against a solution.
46
+ *
47
+ * @since 0.1.0
48
+ * @category evaluation
49
+ */
50
+ declare const evaluate: (expression: Expression, solution: Bindings, context: Context) => Result.Result<GroundTerm, ExpressionError>;
51
+ /**
52
+ * Evaluates an expression, returning `undefined` on errors.
53
+ *
54
+ * @since 0.1.0
55
+ * @category evaluation
56
+ */
57
+ declare const evaluateOrUndefined: (expression: Expression, solution: Bindings, context: Context) => GroundTerm | undefined;
58
+ /**
59
+ * Evaluates a filter condition: the effective boolean value of the
60
+ * expression, with errors counting as `false`.
61
+ *
62
+ * @since 0.1.0
63
+ * @category evaluation
64
+ */
65
+ declare const test: (expression: Expression, solution: Bindings, context: Context) => boolean;
66
+ /**
67
+ * The effective boolean value of a term (SPARQL 1.1 §17.2.2).
68
+ *
69
+ * @since 0.1.0
70
+ * @category evaluation
71
+ */
72
+ declare const effectiveBooleanValue: (term: GroundTerm) => Result.Result<boolean, ExpressionError>;
73
+ /**
74
+ * Value equality (the `=` operator). Fails for incomparable literals.
75
+ *
76
+ * @since 0.1.0
77
+ * @category evaluation
78
+ */
79
+ declare const equals: (a: GroundTerm, b: GroundTerm) => Result.Result<boolean, ExpressionError>;
80
+ /**
81
+ * The total order on (possibly unbound) terms used by `ORDER BY`: unbound <
82
+ * blank nodes < IRIs < literals < triple terms.
83
+ *
84
+ * @since 0.1.0
85
+ * @category ordering
86
+ */
87
+ declare const compare: (a: GroundTerm | undefined, b: GroundTerm | undefined) => number;
88
+ export { equals as a, evaluateUnsafe as c, effectiveBooleanValue as i, makeContext as l, Expression_d_exports as n, evaluate as o, compare as r, evaluateOrUndefined as s, Context as t, test as u };
89
+ //# sourceMappingURL=Expression-W8A9cyX7.d.mts.map