@thomasfosterau/effect-rdf 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (776) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2251 -2
  3. package/dist/Algebra-CGG4oae3.mjs +433 -0
  4. package/dist/Algebra-CGG4oae3.mjs.map +1 -0
  5. package/dist/Algebra-uGsIEOUA.d.mts +446 -0
  6. package/dist/Ast-CPRZmBvk.mjs +552 -0
  7. package/dist/Ast-CPRZmBvk.mjs.map +1 -0
  8. package/dist/Ast-vcw2W-lf.d.mts +827 -0
  9. package/dist/Bindings-Ck3m7JRC.mjs +249 -0
  10. package/dist/Bindings-Ck3m7JRC.mjs.map +1 -0
  11. package/dist/Bindings-DiKpBd7f.d.mts +153 -0
  12. package/dist/ClientErrors-CpXdFX5u.mjs +128 -0
  13. package/dist/ClientErrors-CpXdFX5u.mjs.map +1 -0
  14. package/dist/ClientErrors-D4IZHUM-.d.mts +101 -0
  15. package/dist/ClientFormats-CXomkXLV.mjs +73 -0
  16. package/dist/ClientFormats-CXomkXLV.mjs.map +1 -0
  17. package/dist/ClientFormats-Dm57ZPwR.d.mts +36 -0
  18. package/dist/Csv2Json-DynEcwCh.mjs +194 -0
  19. package/dist/Csv2Json-DynEcwCh.mjs.map +1 -0
  20. package/dist/Csv2Json-aXNVDoXQ.d.mts +40 -0
  21. package/dist/Csv2Rdf-8maXP6mt.d.mts +41 -0
  22. package/dist/Csv2Rdf-DuSEkaKE.mjs +161 -0
  23. package/dist/Csv2Rdf-DuSEkaKE.mjs.map +1 -0
  24. package/dist/Dataset-BlmlcI7J.mjs +782 -0
  25. package/dist/Dataset-BlmlcI7J.mjs.map +1 -0
  26. package/dist/Dataset-DS3ESOcO.d.mts +426 -0
  27. package/dist/Dataset.d.mts +2 -0
  28. package/dist/Dataset.mjs +1 -0
  29. package/dist/Datatype-CxMpamHC.d.mts +212 -0
  30. package/dist/Datatype-DQvkNkiH.mjs +1001 -0
  31. package/dist/Datatype-DQvkNkiH.mjs.map +1 -0
  32. package/dist/Dialect-8ChFj5EX.d.mts +113 -0
  33. package/dist/Dialect-CzVH38uo.mjs +165 -0
  34. package/dist/Dialect-CzVH38uo.mjs.map +1 -0
  35. package/dist/DocumentLoader-D3lZREnB.mjs +346 -0
  36. package/dist/DocumentLoader-D3lZREnB.mjs.map +1 -0
  37. package/dist/DocumentLoader-ZUCEVrW5.d.mts +178 -0
  38. package/dist/DublinCore-AnwqxRx6.mjs +137 -0
  39. package/dist/DublinCore-AnwqxRx6.mjs.map +1 -0
  40. package/dist/DublinCore-Dq-tVA5d.d.mts +119 -0
  41. package/dist/Engine-CYPB3g4h.d.mts +144 -0
  42. package/dist/Engine-DF8PN7g-.mjs +872 -0
  43. package/dist/Engine-DF8PN7g-.mjs.map +1 -0
  44. package/dist/Errors-CMdV1RhU.mjs +37 -0
  45. package/dist/Errors-CMdV1RhU.mjs.map +1 -0
  46. package/dist/Errors-u2bDjUeM.d.mts +30 -0
  47. package/dist/Evaluator-DEsU4d1o.d.mts +50 -0
  48. package/dist/Evaluator-DOY2-guC.mjs +281 -0
  49. package/dist/Evaluator-DOY2-guC.mjs.map +1 -0
  50. package/dist/Exif-CpqniYQd.d.mts +78 -0
  51. package/dist/Exif-DjkCfEB-.mjs +89 -0
  52. package/dist/Exif-DjkCfEB-.mjs.map +1 -0
  53. package/dist/Expression-BIMMvduQ.mjs +230 -0
  54. package/dist/Expression-BIMMvduQ.mjs.map +1 -0
  55. package/dist/Expression-W8A9cyX7.d.mts +89 -0
  56. package/dist/Extract-Bop85jES.mjs +220 -0
  57. package/dist/Extract-Bop85jES.mjs.map +1 -0
  58. package/dist/Extract-C_pCvuTC.d.mts +88 -0
  59. package/dist/Federation-BcNrozc1.d.mts +52 -0
  60. package/dist/Federation-CHScBkaK.mjs +130 -0
  61. package/dist/Federation-CHScBkaK.mjs.map +1 -0
  62. package/dist/Functions-AvjNcId_.mjs +1346 -0
  63. package/dist/Functions-AvjNcId_.mjs.map +1 -0
  64. package/dist/Functions-OQJZP-F6.d.mts +111 -0
  65. package/dist/Generator-C52mmq01.d.mts +50 -0
  66. package/dist/Generator-D3utCJC7.mjs +205 -0
  67. package/dist/Generator-D3utCJC7.mjs.map +1 -0
  68. package/dist/Grammar-CPlSxGH6.mjs +200 -0
  69. package/dist/Grammar-CPlSxGH6.mjs.map +1 -0
  70. package/dist/Grammar-CRhnRoCu.d.mts +148 -0
  71. package/dist/Grammar-D6jZdJQ3.d.mts +169 -0
  72. package/dist/Grammar-mQ8CgE1M.mjs +258 -0
  73. package/dist/Grammar-mQ8CgE1M.mjs.map +1 -0
  74. package/dist/GraphStore-DhUa4nFO.d.mts +45 -0
  75. package/dist/GraphStore-DvbqwKy1.mjs +212 -0
  76. package/dist/GraphStore-DvbqwKy1.mjs.map +1 -0
  77. package/dist/Iri-BB8Ks-BF.d.mts +84 -0
  78. package/dist/Iri-Cr92gsQV.mjs +232 -0
  79. package/dist/Iri-Cr92gsQV.mjs.map +1 -0
  80. package/dist/Iri.d.mts +2 -0
  81. package/dist/Iri.mjs +1 -0
  82. package/dist/Isomorphism-B6qTY-xy.d.mts +28 -0
  83. package/dist/Isomorphism-BmqxhKyJ.mjs +232 -0
  84. package/dist/Isomorphism-BmqxhKyJ.mjs.map +1 -0
  85. package/dist/Isomorphism-DInKnWIy.mjs +390 -0
  86. package/dist/Isomorphism-DInKnWIy.mjs.map +1 -0
  87. package/dist/Isomorphism-DvSfZXLR.d.mts +37 -0
  88. package/dist/Isomorphism.d.mts +2 -0
  89. package/dist/Isomorphism.mjs +1 -0
  90. package/dist/JsonLd-DOwS2FHg.mjs +2836 -0
  91. package/dist/JsonLd-DOwS2FHg.mjs.map +1 -0
  92. package/dist/JsonLd-DobFrQNa.d.mts +242 -0
  93. package/dist/JsonLdError-C9J-BxfG.mjs +106 -0
  94. package/dist/JsonLdError-C9J-BxfG.mjs.map +1 -0
  95. package/dist/JsonLdError-DSOfHkOy.d.mts +43 -0
  96. package/dist/LanguageTag-BCu8rcmX.d.mts +38 -0
  97. package/dist/LanguageTag-BcOpMGZ4.mjs +89 -0
  98. package/dist/LanguageTag-BcOpMGZ4.mjs.map +1 -0
  99. package/dist/LanguageTag.d.mts +2 -0
  100. package/dist/LanguageTag.mjs +1 -0
  101. package/dist/Lexical-Cg0JHrf6.mjs +243 -0
  102. package/dist/Lexical-Cg0JHrf6.mjs.map +1 -0
  103. package/dist/Lexical-D3zySYVS.d.mts +163 -0
  104. package/dist/Manifest-B6xf6mUc.mjs +148 -0
  105. package/dist/Manifest-B6xf6mUc.mjs.map +1 -0
  106. package/dist/Manifest-DQUMRBFr.d.mts +98 -0
  107. package/dist/Mapping-BgG74x3U.d.mts +63 -0
  108. package/dist/Mapping-Dc1ZGirk.mjs +259 -0
  109. package/dist/Mapping-Dc1ZGirk.mjs.map +1 -0
  110. package/dist/Mcp-1DwTTKOK.mjs +48 -0
  111. package/dist/Mcp-1DwTTKOK.mjs.map +1 -0
  112. package/dist/Mcp-d-pX9erx.d.mts +25 -0
  113. package/dist/Message-CK_DGQuu.mjs +95 -0
  114. package/dist/Message-CK_DGQuu.mjs.map +1 -0
  115. package/dist/Message-fIvTJSXM.d.mts +49 -0
  116. package/dist/Metadata-BbffwGDZ.mjs +445 -0
  117. package/dist/Metadata-BbffwGDZ.mjs.map +1 -0
  118. package/dist/Metadata-CEt3yc1-.d.mts +901 -0
  119. package/dist/Metadata-D4HsQNXr.mjs +1273 -0
  120. package/dist/Metadata-D4HsQNXr.mjs.map +1 -0
  121. package/dist/Metadata-nzS7QKRj.d.mts +350 -0
  122. package/dist/Model-DaMmxurZ.d.mts +293 -0
  123. package/dist/Model-DlPzRYhF.mjs +528 -0
  124. package/dist/Model-DlPzRYhF.mjs.map +1 -0
  125. package/dist/N3-BzyV-KIH.mjs +974 -0
  126. package/dist/N3-BzyV-KIH.mjs.map +1 -0
  127. package/dist/N3-DSLnonDn.d.mts +100 -0
  128. package/dist/NQuads-C1VBOJ3-.mjs +117 -0
  129. package/dist/NQuads-C1VBOJ3-.mjs.map +1 -0
  130. package/dist/NQuads-FjFZikFg.d.mts +76 -0
  131. package/dist/NTriples-D-kLSEAf.mjs +120 -0
  132. package/dist/NTriples-D-kLSEAf.mjs.map +1 -0
  133. package/dist/NTriples-D34OspfW.d.mts +76 -0
  134. package/dist/Namespace-ClTUO_ya.d.mts +42 -0
  135. package/dist/Namespace-DHFIsORd.mjs +75 -0
  136. package/dist/Namespace-DHFIsORd.mjs.map +1 -0
  137. package/dist/Namespace.d.mts +2 -0
  138. package/dist/Namespace.mjs +1 -0
  139. package/dist/Namespaces-Bz85vpjW.mjs +235 -0
  140. package/dist/Namespaces-Bz85vpjW.mjs.map +1 -0
  141. package/dist/Namespaces-C1jW6EDo.d.mts +178 -0
  142. package/dist/Optimizer-BWWQRQPY.mjs +168 -0
  143. package/dist/Optimizer-BWWQRQPY.mjs.map +1 -0
  144. package/dist/Optimizer-DUpUow6k.d.mts +26 -0
  145. package/dist/Options-BLBGL4HE.mjs +72 -0
  146. package/dist/Options-BLBGL4HE.mjs.map +1 -0
  147. package/dist/Options-BommQwP9.d.mts +127 -0
  148. package/dist/Packet-CA76wVX3.mjs +197 -0
  149. package/dist/Packet-CA76wVX3.mjs.map +1 -0
  150. package/dist/Packet-Cy5g6XuW.d.mts +130 -0
  151. package/dist/Parser-p1Gyr0QN.d.mts +85 -0
  152. package/dist/Parser-xARsOWXk.mjs +1317 -0
  153. package/dist/Parser-xARsOWXk.mjs.map +1 -0
  154. package/dist/Path-B20Yp8KE.mjs +284 -0
  155. package/dist/Path-B20Yp8KE.mjs.map +1 -0
  156. package/dist/Path-DRB8e-Zn.d.mts +181 -0
  157. package/dist/Pdf-B9RZn--8.d.mts +77 -0
  158. package/dist/Pdf-CKK6dkZn.mjs +89 -0
  159. package/dist/Pdf-CKK6dkZn.mjs.map +1 -0
  160. package/dist/PdfA-CUjSuntT.d.mts +109 -0
  161. package/dist/PdfA-CleOhuL6.mjs +124 -0
  162. package/dist/PdfA-CleOhuL6.mjs.map +1 -0
  163. package/dist/Photoshop-CiHo80qV.mjs +233 -0
  164. package/dist/Photoshop-CiHo80qV.mjs.map +1 -0
  165. package/dist/Photoshop-udKZ0I3N.d.mts +204 -0
  166. package/dist/PrefixMap-BHFPDLO-.mjs +103 -0
  167. package/dist/PrefixMap-BHFPDLO-.mjs.map +1 -0
  168. package/dist/PrefixMap-BMlXrWNd.d.mts +64 -0
  169. package/dist/PrefixMap.d.mts +2 -0
  170. package/dist/PrefixMap.mjs +1 -0
  171. package/dist/Processor-CMmecFsb.mjs +198 -0
  172. package/dist/Processor-CMmecFsb.mjs.map +1 -0
  173. package/dist/Processor-FJPvO0CB.d.mts +435 -0
  174. package/dist/Protocol-BA7OkNgp.mjs +202 -0
  175. package/dist/Protocol-BA7OkNgp.mjs.map +1 -0
  176. package/dist/Protocol-DlSoiIKB.d.mts +108 -0
  177. package/dist/ProtocolErrors-Ckfejnl6.d.mts +84 -0
  178. package/dist/ProtocolErrors-czDPVcX5.mjs +129 -0
  179. package/dist/ProtocolErrors-czDPVcX5.mjs.map +1 -0
  180. package/dist/Query-D9A6LOpP.mjs +364 -0
  181. package/dist/Query-D9A6LOpP.mjs.map +1 -0
  182. package/dist/Query-KqSkTYyG.d.mts +96 -0
  183. package/dist/QueryBuilder-BLK9Vfbz.mjs +674 -0
  184. package/dist/QueryBuilder-BLK9Vfbz.mjs.map +1 -0
  185. package/dist/QueryBuilder-DUqh4ECe.d.mts +529 -0
  186. package/dist/RdfJs-D6-49XB5.mjs +86 -0
  187. package/dist/RdfJs-D6-49XB5.mjs.map +1 -0
  188. package/dist/RdfJs-DXFqdWrd.d.mts +76 -0
  189. package/dist/RdfJs.d.mts +2 -0
  190. package/dist/RdfJs.mjs +1 -0
  191. package/dist/RdfJson-5aKPDlPS.d.mts +297 -0
  192. package/dist/RdfJson-BNocgW4f.mjs +548 -0
  193. package/dist/RdfJson-BNocgW4f.mjs.map +1 -0
  194. package/dist/RdfXml-DJ9G4gOq.mjs +1014 -0
  195. package/dist/RdfXml-DJ9G4gOq.mjs.map +1 -0
  196. package/dist/RdfXml-_N7yxWEp.d.mts +149 -0
  197. package/dist/Rdfs-BRVPsAjc.d.mts +84 -0
  198. package/dist/Rdfs-CyY2wVHI.mjs +167 -0
  199. package/dist/Rdfs-CyY2wVHI.mjs.map +1 -0
  200. package/dist/Rdfs.d.mts +2 -0
  201. package/dist/Rdfs.mjs +1 -0
  202. package/dist/Reasoner-BxYhx9s7.d.mts +94 -0
  203. package/dist/Reasoner-Cw90zrjv.mjs +798 -0
  204. package/dist/Reasoner-Cw90zrjv.mjs.map +1 -0
  205. package/dist/Reification-BmN4EfnM.d.mts +40 -0
  206. package/dist/Reification-dpqQvjDE.mjs +82 -0
  207. package/dist/Reification-dpqQvjDE.mjs.map +1 -0
  208. package/dist/Reification.d.mts +2 -0
  209. package/dist/Reification.mjs +1 -0
  210. package/dist/Report-XHs8htzK.mjs +121 -0
  211. package/dist/Report-XHs8htzK.mjs.map +1 -0
  212. package/dist/Report-hcXsc_19.d.mts +115 -0
  213. package/dist/Resource-B1cI8FyJ.d.mts +218 -0
  214. package/dist/Resource-sIEeNh15.mjs +374 -0
  215. package/dist/Resource-sIEeNh15.mjs.map +1 -0
  216. package/dist/Resource.d.mts +2 -0
  217. package/dist/Resource.mjs +1 -0
  218. package/dist/Results-BVNEC-Wt.d.mts +277 -0
  219. package/dist/Results-peJjGA2V.mjs +621 -0
  220. package/dist/Results-peJjGA2V.mjs.map +1 -0
  221. package/dist/ResultsStream-BhF0OcNn.mjs +639 -0
  222. package/dist/ResultsStream-BhF0OcNn.mjs.map +1 -0
  223. package/dist/ResultsStream-toYMXrOe.d.mts +100 -0
  224. package/dist/SemAct-CDchtk49.d.mts +96 -0
  225. package/dist/SemAct-CmyT4yI8.mjs +118 -0
  226. package/dist/SemAct-CmyT4yI8.mjs.map +1 -0
  227. package/dist/Serialization-DP9H5bYQ.mjs +514 -0
  228. package/dist/Serialization-DP9H5bYQ.mjs.map +1 -0
  229. package/dist/Serialization-Df8iVauT.d.mts +392 -0
  230. package/dist/Serialization.d.mts +2 -0
  231. package/dist/Serialization.mjs +1 -0
  232. package/dist/ServerFormats-CrRnjjf6.mjs +64 -0
  233. package/dist/ServerFormats-CrRnjjf6.mjs.map +1 -0
  234. package/dist/ServerFormats-DjC9NsO_.d.mts +36 -0
  235. package/dist/ServiceDescription-BERsvg-k.d.mts +54 -0
  236. package/dist/ServiceDescription-Dq5hxeGy.mjs +97 -0
  237. package/dist/ServiceDescription-Dq5hxeGy.mjs.map +1 -0
  238. package/dist/ShExC-Ctf-06CL.d.mts +67 -0
  239. package/dist/ShExC-DJbB19i3.mjs +1181 -0
  240. package/dist/ShExC-DJbB19i3.mjs.map +1 -0
  241. package/dist/ShExError-BeYFD9rv.d.mts +61 -0
  242. package/dist/ShExError-CVtq2NnM.mjs +64 -0
  243. package/dist/ShExError-CVtq2NnM.mjs.map +1 -0
  244. package/dist/ShExJ-C1u_wgyD.d.mts +531 -0
  245. package/dist/ShExJ-COiPd9Xw.mjs +532 -0
  246. package/dist/ShExJ-COiPd9Xw.mjs.map +1 -0
  247. package/dist/ShExR-ByR4mCh-.mjs +480 -0
  248. package/dist/ShExR-ByR4mCh-.mjs.map +1 -0
  249. package/dist/ShExR-CqONNNBz.d.mts +40 -0
  250. package/dist/ShapeMap-C422pxKl.d.mts +140 -0
  251. package/dist/ShapeMap-CsgKxB2G.mjs +181 -0
  252. package/dist/ShapeMap-CsgKxB2G.mjs.map +1 -0
  253. package/dist/Shapes-18GjfyBV.mjs +597 -0
  254. package/dist/Shapes-18GjfyBV.mjs.map +1 -0
  255. package/dist/Shapes-BQFDFc4Q.d.mts +306 -0
  256. package/dist/Sparql-BiYFMSpl.mjs +29 -0
  257. package/dist/Sparql-BiYFMSpl.mjs.map +1 -0
  258. package/dist/Sparql-DecpWTPh.d.mts +97 -0
  259. package/dist/SparqlClient-C_CjXbwj.mjs +333 -0
  260. package/dist/SparqlClient-C_CjXbwj.mjs.map +1 -0
  261. package/dist/SparqlClient-UPc88SHy.d.mts +290 -0
  262. package/dist/SparqlServer-CbUW-pVj.d.mts +71 -0
  263. package/dist/SparqlServer-Db7w7Cll.mjs +308 -0
  264. package/dist/SparqlServer-Db7w7Cll.mjs.map +1 -0
  265. package/dist/SqlStore-BBqFx-Wl.mjs +684 -0
  266. package/dist/SqlStore-BBqFx-Wl.mjs.map +1 -0
  267. package/dist/SqlStore-CCJo5I-e.d.mts +117 -0
  268. package/dist/Store-D0jmVfb3.d.mts +166 -0
  269. package/dist/Store-DH3Ow1GO.mjs +162 -0
  270. package/dist/Store-DH3Ow1GO.mjs.map +1 -0
  271. package/dist/Structure-BjMo4Bkc.mjs +334 -0
  272. package/dist/Structure-BjMo4Bkc.mjs.map +1 -0
  273. package/dist/Structure-n4CmDiab.d.mts +63 -0
  274. package/dist/Table-BGgm9nbM.mjs +538 -0
  275. package/dist/Table-BGgm9nbM.mjs.map +1 -0
  276. package/dist/Table-C3reiVrb.d.mts +261 -0
  277. package/dist/Term-B_4ezyXq.d.mts +619 -0
  278. package/dist/Term-CFLG1qu4.mjs +991 -0
  279. package/dist/Term-CFLG1qu4.mjs.map +1 -0
  280. package/dist/Term.d.mts +2 -0
  281. package/dist/Term.mjs +1 -0
  282. package/dist/TermCodec-CDZiEztW.mjs +397 -0
  283. package/dist/TermCodec-CDZiEztW.mjs.map +1 -0
  284. package/dist/TermCodec-_03bDXr0.d.mts +209 -0
  285. package/dist/TermCodec.d.mts +2 -0
  286. package/dist/TermCodec.mjs +1 -0
  287. package/dist/TermJson-BOPe0yve.d.mts +232 -0
  288. package/dist/TermJson-FAg3lvjl.mjs +142 -0
  289. package/dist/TermJson-FAg3lvjl.mjs.map +1 -0
  290. package/dist/TermJson.d.mts +2 -0
  291. package/dist/TermJson.mjs +1 -0
  292. package/dist/TermSchema-Bn9CoaYA.mjs +30 -0
  293. package/dist/TermSchema-Bn9CoaYA.mjs.map +1 -0
  294. package/dist/TermSchema-DBO6MroX.d.mts +6 -0
  295. package/dist/Testing-B-aPCpmu.mjs +63 -0
  296. package/dist/Testing-B-aPCpmu.mjs.map +1 -0
  297. package/dist/Testing-CF6s8P3O.d.mts +53 -0
  298. package/dist/Tiff-CR-2QeSI.d.mts +148 -0
  299. package/dist/Tiff-DlsOlZPM.mjs +169 -0
  300. package/dist/Tiff-DlsOlZPM.mjs.map +1 -0
  301. package/dist/Tools-7MdRKccr.d.mts +583 -0
  302. package/dist/Tools-ryxphZbI.mjs +329 -0
  303. package/dist/Tools-ryxphZbI.mjs.map +1 -0
  304. package/dist/Translate-B0YKKANS.d.mts +37 -0
  305. package/dist/Translate-gzWPq0Ia.mjs +308 -0
  306. package/dist/Translate-gzWPq0Ia.mjs.map +1 -0
  307. package/dist/Translation-DC9rLm2y.mjs +1535 -0
  308. package/dist/Translation-DC9rLm2y.mjs.map +1 -0
  309. package/dist/Translation-K4L9XBqX.d.mts +103 -0
  310. package/dist/TriG-BkqtqZ6Y.mjs +125 -0
  311. package/dist/TriG-BkqtqZ6Y.mjs.map +1 -0
  312. package/dist/TriG-xDjdDatp.d.mts +86 -0
  313. package/dist/Turtle-Bv1_bisW.d.mts +85 -0
  314. package/dist/Turtle-CZVUOtwl.mjs +133 -0
  315. package/dist/Turtle-CZVUOtwl.mjs.map +1 -0
  316. package/dist/ValidationReport-DBdJshW5.mjs +285 -0
  317. package/dist/ValidationReport-DBdJshW5.mjs.map +1 -0
  318. package/dist/ValidationReport-Dx3WxY0h.d.mts +192 -0
  319. package/dist/Validator-227ff9Rn.d.mts +179 -0
  320. package/dist/Validator-BzXMKDeJ.mjs +1162 -0
  321. package/dist/Validator-BzXMKDeJ.mjs.map +1 -0
  322. package/dist/Validator-Dl8cih5V.d.mts +207 -0
  323. package/dist/Validator-DmUfMbpL.mjs +568 -0
  324. package/dist/Validator-DmUfMbpL.mjs.map +1 -0
  325. package/dist/Vocab-DceKywpq.mjs +168 -0
  326. package/dist/Vocab-DceKywpq.mjs.map +1 -0
  327. package/dist/Vocab-Df-L-IwZ.d.mts +46 -0
  328. package/dist/Vocab-Do56UgBX.d.mts +81 -0
  329. package/dist/Vocab-TfpWG1Ne.mjs +118 -0
  330. package/dist/Vocab-TfpWG1Ne.mjs.map +1 -0
  331. package/dist/Vocab.d.mts +2 -0
  332. package/dist/Vocab.mjs +1 -0
  333. package/dist/Vocabulary-C6-GPOy4.d.mts +22 -0
  334. package/dist/Vocabulary-CnQl-_Z4.mjs +179 -0
  335. package/dist/Vocabulary-CnQl-_Z4.mjs.map +1 -0
  336. package/dist/Xml-B7iihYCS.mjs +976 -0
  337. package/dist/Xml-B7iihYCS.mjs.map +1 -0
  338. package/dist/Xml-CmfHS7SW.d.mts +267 -0
  339. package/dist/Xmp-D7CKA7MZ.d.mts +111 -0
  340. package/dist/Xmp-DCGN9pOD.mjs +307 -0
  341. package/dist/Xmp-DCGN9pOD.mjs.map +1 -0
  342. package/dist/XmpBasic-CP38jpR_.mjs +73 -0
  343. package/dist/XmpBasic-CP38jpR_.mjs.map +1 -0
  344. package/dist/XmpBasic-Cmbe53rQ.d.mts +64 -0
  345. package/dist/XmpMM-BfL_TgJF.mjs +73 -0
  346. package/dist/XmpMM-BfL_TgJF.mjs.map +1 -0
  347. package/dist/XmpMM-Dqm3IX8p.d.mts +63 -0
  348. package/dist/XmpRights-BKPtoI5L.mjs +73 -0
  349. package/dist/XmpRights-BKPtoI5L.mjs.map +1 -0
  350. package/dist/XmpRights-CaALZQz2.d.mts +63 -0
  351. package/dist/Xsd-Cdgx5zRB.mjs +405 -0
  352. package/dist/Xsd-Cdgx5zRB.mjs.map +1 -0
  353. package/dist/Xsd-D2elNhSm.d.mts +187 -0
  354. package/dist/Xsd.d.mts +2 -0
  355. package/dist/Xsd.mjs +1 -0
  356. package/dist/accessors-CEjaojuQ.mjs +28 -0
  357. package/dist/accessors-CEjaojuQ.mjs.map +1 -0
  358. package/dist/codec-Lb2T96rv.d.mts +20 -0
  359. package/dist/codec-QNo7IdJF.mjs +389 -0
  360. package/dist/codec-QNo7IdJF.mjs.map +1 -0
  361. package/dist/csvw/Csv2Json.d.mts +2 -0
  362. package/dist/csvw/Csv2Json.mjs +1 -0
  363. package/dist/csvw/Csv2Rdf.d.mts +2 -0
  364. package/dist/csvw/Csv2Rdf.mjs +1 -0
  365. package/dist/csvw/Datatype.d.mts +2 -0
  366. package/dist/csvw/Datatype.mjs +1 -0
  367. package/dist/csvw/Metadata.d.mts +2 -0
  368. package/dist/csvw/Metadata.mjs +1 -0
  369. package/dist/csvw/Processor.d.mts +2 -0
  370. package/dist/csvw/Processor.mjs +1 -0
  371. package/dist/csvw/Report.d.mts +2 -0
  372. package/dist/csvw/Report.mjs +1 -0
  373. package/dist/csvw/Table.d.mts +2 -0
  374. package/dist/csvw/Table.mjs +1 -0
  375. package/dist/csvw/index.d.mts +8 -0
  376. package/dist/csvw/index.mjs +8 -0
  377. package/dist/index-Cms2TYfC.d.mts +16 -0
  378. package/dist/index-Ct8xFmRs.d.mts +7 -0
  379. package/dist/index-D4QFwOjm.d.mts +28 -0
  380. package/dist/index.d.mts +18 -0
  381. package/dist/index.mjs +17 -0
  382. package/dist/jsonld/DocumentLoader.d.mts +2 -0
  383. package/dist/jsonld/DocumentLoader.mjs +1 -0
  384. package/dist/jsonld/JsonLd.d.mts +2 -0
  385. package/dist/jsonld/JsonLd.mjs +1 -0
  386. package/dist/jsonld/JsonLdError.d.mts +2 -0
  387. package/dist/jsonld/JsonLdError.mjs +1 -0
  388. package/dist/jsonld/index.d.mts +4 -0
  389. package/dist/jsonld/index.mjs +4 -0
  390. package/dist/lists-D-OpQ0Ir.mjs +77 -0
  391. package/dist/lists-D-OpQ0Ir.mjs.map +1 -0
  392. package/dist/loop-D5-gNx9K.mjs +21 -0
  393. package/dist/loop-D5-gNx9K.mjs.map +1 -0
  394. package/dist/loop-DZ2hXlr_.mjs +21 -0
  395. package/dist/loop-DZ2hXlr_.mjs.map +1 -0
  396. package/dist/n3/Isomorphism.d.mts +2 -0
  397. package/dist/n3/Isomorphism.mjs +1 -0
  398. package/dist/n3/Mapping.d.mts +2 -0
  399. package/dist/n3/Mapping.mjs +1 -0
  400. package/dist/n3/Model.d.mts +2 -0
  401. package/dist/n3/Model.mjs +1 -0
  402. package/dist/n3/N3.d.mts +2 -0
  403. package/dist/n3/N3.mjs +1 -0
  404. package/dist/n3/Reasoner.d.mts +2 -0
  405. package/dist/n3/Reasoner.mjs +2 -0
  406. package/dist/n3/Vocab.d.mts +2 -0
  407. package/dist/n3/Vocab.mjs +1 -0
  408. package/dist/n3/index.d.mts +7 -0
  409. package/dist/n3/index.mjs +7 -0
  410. package/dist/ntriples/Grammar.d.mts +2 -0
  411. package/dist/ntriples/Grammar.mjs +1 -0
  412. package/dist/ntriples/Lexical.d.mts +2 -0
  413. package/dist/ntriples/Lexical.mjs +1 -0
  414. package/dist/ntriples/NQuads.d.mts +2 -0
  415. package/dist/ntriples/NQuads.mjs +1 -0
  416. package/dist/ntriples/NTriples.d.mts +2 -0
  417. package/dist/ntriples/NTriples.mjs +1 -0
  418. package/dist/ntriples/index.d.mts +5 -0
  419. package/dist/ntriples/index.mjs +5 -0
  420. package/dist/rdfjson/RdfJson.d.mts +2 -0
  421. package/dist/rdfjson/RdfJson.mjs +1 -0
  422. package/dist/rdfjson/index.d.mts +2 -0
  423. package/dist/rdfjson/index.mjs +1 -0
  424. package/dist/rdfxml/RdfXml.d.mts +2 -0
  425. package/dist/rdfxml/RdfXml.mjs +1 -0
  426. package/dist/rdfxml/Xml.d.mts +2 -0
  427. package/dist/rdfxml/Xml.mjs +1 -0
  428. package/dist/rdfxml/index.d.mts +3 -0
  429. package/dist/rdfxml/index.mjs +3 -0
  430. package/dist/rolldown-runtime-D8jQpDG7.mjs +12 -0
  431. package/dist/serialize-96KBvKaf.mjs +1463 -0
  432. package/dist/serialize-96KBvKaf.mjs.map +1 -0
  433. package/dist/serialize-DsoXdM6n.d.mts +37 -0
  434. package/dist/shacl/Message.d.mts +2 -0
  435. package/dist/shacl/Message.mjs +1 -0
  436. package/dist/shacl/Path.d.mts +2 -0
  437. package/dist/shacl/Path.mjs +1 -0
  438. package/dist/shacl/Shapes.d.mts +2 -0
  439. package/dist/shacl/Shapes.mjs +1 -0
  440. package/dist/shacl/Sparql.d.mts +2 -0
  441. package/dist/shacl/Sparql.mjs +1 -0
  442. package/dist/shacl/ValidationReport.d.mts +2 -0
  443. package/dist/shacl/ValidationReport.mjs +1 -0
  444. package/dist/shacl/Validator.d.mts +2 -0
  445. package/dist/shacl/Validator.mjs +1 -0
  446. package/dist/shacl/Vocabulary.d.mts +2 -0
  447. package/dist/shacl/Vocabulary.mjs +1 -0
  448. package/dist/shacl/index.d.mts +9 -0
  449. package/dist/shacl/index.mjs +8 -0
  450. package/dist/shex/SemAct.d.mts +2 -0
  451. package/dist/shex/SemAct.mjs +1 -0
  452. package/dist/shex/ShExC.d.mts +2 -0
  453. package/dist/shex/ShExC.mjs +1 -0
  454. package/dist/shex/ShExError.d.mts +2 -0
  455. package/dist/shex/ShExError.mjs +1 -0
  456. package/dist/shex/ShExJ.d.mts +2 -0
  457. package/dist/shex/ShExJ.mjs +2 -0
  458. package/dist/shex/ShExR.d.mts +2 -0
  459. package/dist/shex/ShExR.mjs +1 -0
  460. package/dist/shex/ShapeMap.d.mts +2 -0
  461. package/dist/shex/ShapeMap.mjs +1 -0
  462. package/dist/shex/Structure.d.mts +2 -0
  463. package/dist/shex/Structure.mjs +2 -0
  464. package/dist/shex/Validator.d.mts +2 -0
  465. package/dist/shex/Validator.mjs +4 -0
  466. package/dist/shex/index.d.mts +9 -0
  467. package/dist/shex/index.mjs +9 -0
  468. package/dist/sparql/Algebra.d.mts +2 -0
  469. package/dist/sparql/Algebra.mjs +1 -0
  470. package/dist/sparql/Ast.d.mts +2 -0
  471. package/dist/sparql/Ast.mjs +1 -0
  472. package/dist/sparql/Bindings.d.mts +2 -0
  473. package/dist/sparql/Bindings.mjs +1 -0
  474. package/dist/sparql/ClientErrors.d.mts +2 -0
  475. package/dist/sparql/ClientErrors.mjs +1 -0
  476. package/dist/sparql/ClientFormats.d.mts +2 -0
  477. package/dist/sparql/ClientFormats.mjs +1 -0
  478. package/dist/sparql/Engine.d.mts +2 -0
  479. package/dist/sparql/Engine.mjs +1 -0
  480. package/dist/sparql/Errors.d.mts +2 -0
  481. package/dist/sparql/Errors.mjs +1 -0
  482. package/dist/sparql/Expression.d.mts +2 -0
  483. package/dist/sparql/Expression.mjs +1 -0
  484. package/dist/sparql/Federation.d.mts +2 -0
  485. package/dist/sparql/Federation.mjs +1 -0
  486. package/dist/sparql/Functions.d.mts +2 -0
  487. package/dist/sparql/Functions.mjs +1 -0
  488. package/dist/sparql/Generator.d.mts +2 -0
  489. package/dist/sparql/Generator.mjs +1 -0
  490. package/dist/sparql/GraphStore.d.mts +2 -0
  491. package/dist/sparql/GraphStore.mjs +1 -0
  492. package/dist/sparql/Optimizer.d.mts +2 -0
  493. package/dist/sparql/Optimizer.mjs +1 -0
  494. package/dist/sparql/Options.d.mts +2 -0
  495. package/dist/sparql/Options.mjs +1 -0
  496. package/dist/sparql/Parser.d.mts +2 -0
  497. package/dist/sparql/Parser.mjs +1 -0
  498. package/dist/sparql/Protocol.d.mts +2 -0
  499. package/dist/sparql/Protocol.mjs +1 -0
  500. package/dist/sparql/ProtocolErrors.d.mts +2 -0
  501. package/dist/sparql/ProtocolErrors.mjs +1 -0
  502. package/dist/sparql/QueryBuilder.d.mts +2 -0
  503. package/dist/sparql/QueryBuilder.mjs +1 -0
  504. package/dist/sparql/Results.d.mts +2 -0
  505. package/dist/sparql/Results.mjs +1 -0
  506. package/dist/sparql/ResultsStream.d.mts +2 -0
  507. package/dist/sparql/ResultsStream.mjs +1 -0
  508. package/dist/sparql/ServerFormats.d.mts +2 -0
  509. package/dist/sparql/ServerFormats.mjs +1 -0
  510. package/dist/sparql/ServiceDescription.d.mts +2 -0
  511. package/dist/sparql/ServiceDescription.mjs +1 -0
  512. package/dist/sparql/SparqlClient.d.mts +2 -0
  513. package/dist/sparql/SparqlClient.mjs +1 -0
  514. package/dist/sparql/SparqlServer.d.mts +2 -0
  515. package/dist/sparql/SparqlServer.mjs +1 -0
  516. package/dist/sparql/Store.d.mts +2 -0
  517. package/dist/sparql/Store.mjs +1 -0
  518. package/dist/sparql/TermSchema.d.mts +3 -0
  519. package/dist/sparql/TermSchema.mjs +2 -0
  520. package/dist/sparql/Testing.d.mts +2 -0
  521. package/dist/sparql/Testing.mjs +1 -0
  522. package/dist/sparql/Translate.d.mts +2 -0
  523. package/dist/sparql/Translate.mjs +1 -0
  524. package/dist/sparql/ai/Mcp.d.mts +2 -0
  525. package/dist/sparql/ai/Mcp.mjs +1 -0
  526. package/dist/sparql/ai/Tools.d.mts +2 -0
  527. package/dist/sparql/ai/Tools.mjs +1 -0
  528. package/dist/sparql/ai/index.d.mts +3 -0
  529. package/dist/sparql/ai/index.mjs +3 -0
  530. package/dist/sparql/index.d.mts +30 -0
  531. package/dist/sparql/index.mjs +29 -0
  532. package/dist/sparql/shacl/Evaluator.d.mts +2 -0
  533. package/dist/sparql/shacl/Evaluator.mjs +1 -0
  534. package/dist/sparql/shacl/Query.d.mts +2 -0
  535. package/dist/sparql/shacl/Query.mjs +1 -0
  536. package/dist/sparql/shacl/index.d.mts +3 -0
  537. package/dist/sparql/shacl/index.mjs +3 -0
  538. package/dist/sparql/sql/Dialect.d.mts +2 -0
  539. package/dist/sparql/sql/Dialect.mjs +1 -0
  540. package/dist/sparql/sql/SqlStore.d.mts +2 -0
  541. package/dist/sparql/sql/SqlStore.mjs +1 -0
  542. package/dist/sparql/sql/Translation.d.mts +2 -0
  543. package/dist/sparql/sql/Translation.mjs +1 -0
  544. package/dist/sparql/sql/index.d.mts +4 -0
  545. package/dist/sparql/sql/index.mjs +4 -0
  546. package/dist/stringMap-D5YIpYtR.mjs +38 -0
  547. package/dist/stringMap-D5YIpYtR.mjs.map +1 -0
  548. package/dist/tokens-C6BzeodQ.mjs +24 -0
  549. package/dist/tokens-C6BzeodQ.mjs.map +1 -0
  550. package/dist/turtle/Grammar.d.mts +3 -0
  551. package/dist/turtle/Grammar.mjs +3 -0
  552. package/dist/turtle/Manifest.d.mts +2 -0
  553. package/dist/turtle/Manifest.mjs +1 -0
  554. package/dist/turtle/TriG.d.mts +2 -0
  555. package/dist/turtle/TriG.mjs +1 -0
  556. package/dist/turtle/Turtle.d.mts +2 -0
  557. package/dist/turtle/Turtle.mjs +1 -0
  558. package/dist/turtle/index.d.mts +5 -0
  559. package/dist/turtle/index.mjs +5 -0
  560. package/dist/xmp/DublinCore.d.mts +2 -0
  561. package/dist/xmp/DublinCore.mjs +1 -0
  562. package/dist/xmp/Exif.d.mts +2 -0
  563. package/dist/xmp/Exif.mjs +1 -0
  564. package/dist/xmp/Extract.d.mts +2 -0
  565. package/dist/xmp/Extract.mjs +1 -0
  566. package/dist/xmp/Metadata.d.mts +2 -0
  567. package/dist/xmp/Metadata.mjs +1 -0
  568. package/dist/xmp/Namespaces.d.mts +2 -0
  569. package/dist/xmp/Namespaces.mjs +1 -0
  570. package/dist/xmp/Packet.d.mts +2 -0
  571. package/dist/xmp/Packet.mjs +1 -0
  572. package/dist/xmp/Pdf.d.mts +2 -0
  573. package/dist/xmp/Pdf.mjs +1 -0
  574. package/dist/xmp/PdfA.d.mts +2 -0
  575. package/dist/xmp/PdfA.mjs +1 -0
  576. package/dist/xmp/Photoshop.d.mts +2 -0
  577. package/dist/xmp/Photoshop.mjs +1 -0
  578. package/dist/xmp/Tiff.d.mts +2 -0
  579. package/dist/xmp/Tiff.mjs +1 -0
  580. package/dist/xmp/Xmp.d.mts +2 -0
  581. package/dist/xmp/Xmp.mjs +3 -0
  582. package/dist/xmp/XmpBasic.d.mts +2 -0
  583. package/dist/xmp/XmpBasic.mjs +1 -0
  584. package/dist/xmp/XmpMM.d.mts +2 -0
  585. package/dist/xmp/XmpMM.mjs +1 -0
  586. package/dist/xmp/XmpRights.d.mts +2 -0
  587. package/dist/xmp/XmpRights.mjs +1 -0
  588. package/dist/xmp/index.d.mts +15 -0
  589. package/dist/xmp/index.mjs +15 -0
  590. package/package.json +195 -3
  591. package/src/Dataset.ts +1085 -0
  592. package/src/Iri.ts +322 -0
  593. package/src/Isomorphism.ts +319 -0
  594. package/src/LanguageTag.ts +98 -0
  595. package/src/Namespace.ts +100 -0
  596. package/src/PrefixMap.ts +117 -0
  597. package/src/RdfJs.ts +146 -0
  598. package/src/Rdfs.ts +241 -0
  599. package/src/Reification.ts +103 -0
  600. package/src/Resource.ts +873 -0
  601. package/src/Serialization.ts +775 -0
  602. package/src/Term.ts +1300 -0
  603. package/src/TermCodec.ts +505 -0
  604. package/src/TermJson.ts +313 -0
  605. package/src/Vocab.ts +161 -0
  606. package/src/Xsd.ts +573 -0
  607. package/src/csvw/Csv2Json.ts +265 -0
  608. package/src/csvw/Csv2Rdf.ts +268 -0
  609. package/src/csvw/Datatype.ts +589 -0
  610. package/src/csvw/Metadata.ts +1523 -0
  611. package/src/csvw/Processor.ts +276 -0
  612. package/src/csvw/Report.ts +135 -0
  613. package/src/csvw/Table.ts +759 -0
  614. package/src/csvw/index.ts +22 -0
  615. package/src/csvw/internal/dateFormat.ts +202 -0
  616. package/src/csvw/internal/json.ts +104 -0
  617. package/src/csvw/internal/numberFormat.ts +369 -0
  618. package/src/csvw/internal/object.ts +23 -0
  619. package/src/csvw/internal/uriTemplate.ts +130 -0
  620. package/src/csvw/internal/url.ts +93 -0
  621. package/src/csvw/internal/vocab.ts +282 -0
  622. package/src/index.ts +40 -0
  623. package/src/internal/arbitrary.ts +148 -0
  624. package/src/internal/loop.ts +24 -0
  625. package/src/internal/pending.ts +20 -0
  626. package/src/internal/textDecoder.ts +183 -0
  627. package/src/jsonld/DocumentLoader.ts +512 -0
  628. package/src/jsonld/JsonLd.ts +847 -0
  629. package/src/jsonld/JsonLdError.ts +105 -0
  630. package/src/jsonld/index.ts +13 -0
  631. package/src/jsonld/internal/compact.ts +852 -0
  632. package/src/jsonld/internal/context.ts +781 -0
  633. package/src/jsonld/internal/expand.ts +614 -0
  634. package/src/jsonld/internal/flatten.ts +243 -0
  635. package/src/jsonld/internal/frame.ts +559 -0
  636. package/src/jsonld/internal/iri.ts +52 -0
  637. package/src/jsonld/internal/json.ts +19 -0
  638. package/src/jsonld/internal/linkHeader.ts +60 -0
  639. package/src/jsonld/internal/rdf.ts +481 -0
  640. package/src/jsonld/internal/util.ts +367 -0
  641. package/src/n3/Isomorphism.ts +476 -0
  642. package/src/n3/Mapping.ts +332 -0
  643. package/src/n3/Model.ts +696 -0
  644. package/src/n3/N3.ts +237 -0
  645. package/src/n3/Reasoner.ts +568 -0
  646. package/src/n3/Vocab.ts +111 -0
  647. package/src/n3/index.ts +21 -0
  648. package/src/n3/internal/builtins.ts +668 -0
  649. package/src/n3/internal/guards.ts +23 -0
  650. package/src/n3/internal/lists.ts +106 -0
  651. package/src/n3/internal/loop.ts +28 -0
  652. package/src/n3/internal/parser.ts +1032 -0
  653. package/src/n3/internal/writer.ts +344 -0
  654. package/src/ntriples/Grammar.ts +317 -0
  655. package/src/ntriples/Lexical.ts +321 -0
  656. package/src/ntriples/NQuads.ts +140 -0
  657. package/src/ntriples/NTriples.ts +143 -0
  658. package/src/ntriples/index.ts +14 -0
  659. package/src/ntriples/internal/codec.ts +229 -0
  660. package/src/ntriples/internal/lineParser.ts +326 -0
  661. package/src/ntriples/internal/loop.ts +14 -0
  662. package/src/rdfjson/RdfJson.ts +806 -0
  663. package/src/rdfjson/index.ts +9 -0
  664. package/src/rdfjson/internal/json.ts +19 -0
  665. package/src/rdfxml/RdfXml.ts +1408 -0
  666. package/src/rdfxml/Xml.ts +419 -0
  667. package/src/rdfxml/index.ts +11 -0
  668. package/src/rdfxml/internal/chars.ts +73 -0
  669. package/src/rdfxml/internal/loop.ts +24 -0
  670. package/src/rdfxml/internal/parser.ts +1265 -0
  671. package/src/shacl/Message.ts +102 -0
  672. package/src/shacl/Path.ts +483 -0
  673. package/src/shacl/Shapes.ts +913 -0
  674. package/src/shacl/Sparql.ts +128 -0
  675. package/src/shacl/ValidationReport.ts +438 -0
  676. package/src/shacl/Validator.ts +1156 -0
  677. package/src/shacl/Vocabulary.ts +180 -0
  678. package/src/shacl/index.ts +22 -0
  679. package/src/shacl/internal/compare.ts +128 -0
  680. package/src/shacl/internal/regex.ts +56 -0
  681. package/src/shex/SemAct.ts +197 -0
  682. package/src/shex/ShExC.ts +415 -0
  683. package/src/shex/ShExError.ts +71 -0
  684. package/src/shex/ShExJ.ts +893 -0
  685. package/src/shex/ShExR.ts +640 -0
  686. package/src/shex/ShapeMap.ts +385 -0
  687. package/src/shex/Structure.ts +467 -0
  688. package/src/shex/Validator.ts +395 -0
  689. package/src/shex/index.ts +24 -0
  690. package/src/shex/internal/engine.ts +682 -0
  691. package/src/shex/internal/iterate.ts +14 -0
  692. package/src/shex/internal/json.ts +12 -0
  693. package/src/shex/internal/lexer.ts +56 -0
  694. package/src/shex/internal/nodeConstraint.ts +368 -0
  695. package/src/shex/internal/shexcLexer.ts +387 -0
  696. package/src/shex/internal/shexcParser.ts +1312 -0
  697. package/src/shex/internal/tokens.ts +41 -0
  698. package/src/shex/internal/xpathRegex.ts +290 -0
  699. package/src/sparql/Algebra.ts +914 -0
  700. package/src/sparql/Ast.ts +1344 -0
  701. package/src/sparql/Bindings.ts +272 -0
  702. package/src/sparql/ClientErrors.ts +156 -0
  703. package/src/sparql/ClientFormats.ts +70 -0
  704. package/src/sparql/Engine.ts +699 -0
  705. package/src/sparql/Errors.ts +30 -0
  706. package/src/sparql/Expression.ts +360 -0
  707. package/src/sparql/Federation.ts +187 -0
  708. package/src/sparql/Functions.ts +689 -0
  709. package/src/sparql/Generator.ts +426 -0
  710. package/src/sparql/GraphStore.ts +341 -0
  711. package/src/sparql/Optimizer.ts +230 -0
  712. package/src/sparql/Options.ts +191 -0
  713. package/src/sparql/Parser.ts +173 -0
  714. package/src/sparql/Protocol.ts +342 -0
  715. package/src/sparql/ProtocolErrors.ts +113 -0
  716. package/src/sparql/QueryBuilder.ts +953 -0
  717. package/src/sparql/Results.ts +844 -0
  718. package/src/sparql/ResultsStream.ts +771 -0
  719. package/src/sparql/ServerFormats.ts +75 -0
  720. package/src/sparql/ServiceDescription.ts +130 -0
  721. package/src/sparql/SparqlClient.ts +947 -0
  722. package/src/sparql/SparqlServer.ts +528 -0
  723. package/src/sparql/Store.ts +311 -0
  724. package/src/sparql/TermSchema.ts +20 -0
  725. package/src/sparql/Testing.ts +114 -0
  726. package/src/sparql/Translate.ts +407 -0
  727. package/src/sparql/ai/Mcp.ts +43 -0
  728. package/src/sparql/ai/Tools.ts +481 -0
  729. package/src/sparql/ai/index.ts +11 -0
  730. package/src/sparql/index.ts +64 -0
  731. package/src/sparql/internal/evaluator.ts +947 -0
  732. package/src/sparql/internal/hash.ts +418 -0
  733. package/src/sparql/internal/json.ts +12 -0
  734. package/src/sparql/internal/lexer.ts +488 -0
  735. package/src/sparql/internal/loop.ts +24 -0
  736. package/src/sparql/internal/parser.ts +2215 -0
  737. package/src/sparql/internal/prefetch.ts +46 -0
  738. package/src/sparql/internal/stringMap.ts +39 -0
  739. package/src/sparql/internal/textResults.ts +226 -0
  740. package/src/sparql/internal/values.ts +550 -0
  741. package/src/sparql/shacl/Evaluator.ts +478 -0
  742. package/src/sparql/shacl/Query.ts +574 -0
  743. package/src/sparql/shacl/index.ts +12 -0
  744. package/src/sparql/sql/Dialect.ts +246 -0
  745. package/src/sparql/sql/SqlStore.ts +1080 -0
  746. package/src/sparql/sql/Translation.ts +1898 -0
  747. package/src/sparql/sql/index.ts +17 -0
  748. package/src/sparql/sql/internal/encoding.ts +313 -0
  749. package/src/turtle/Grammar.ts +286 -0
  750. package/src/turtle/Manifest.ts +215 -0
  751. package/src/turtle/TriG.ts +158 -0
  752. package/src/turtle/Turtle.ts +166 -0
  753. package/src/turtle/index.ts +14 -0
  754. package/src/turtle/internal/loop.ts +23 -0
  755. package/src/turtle/internal/parse.ts +112 -0
  756. package/src/turtle/internal/parser.ts +1303 -0
  757. package/src/turtle/internal/serialize.ts +79 -0
  758. package/src/turtle/internal/streamWriter.ts +128 -0
  759. package/src/turtle/internal/writer.ts +898 -0
  760. package/src/xmp/DublinCore.ts +147 -0
  761. package/src/xmp/Exif.ts +109 -0
  762. package/src/xmp/Extract.ts +351 -0
  763. package/src/xmp/Metadata.ts +703 -0
  764. package/src/xmp/Namespaces.ts +228 -0
  765. package/src/xmp/Packet.ts +297 -0
  766. package/src/xmp/Pdf.ts +99 -0
  767. package/src/xmp/PdfA.ts +280 -0
  768. package/src/xmp/Photoshop.ts +275 -0
  769. package/src/xmp/Tiff.ts +196 -0
  770. package/src/xmp/Xmp.ts +430 -0
  771. package/src/xmp/XmpBasic.ts +90 -0
  772. package/src/xmp/XmpMM.ts +82 -0
  773. package/src/xmp/XmpRights.ts +83 -0
  774. package/src/xmp/index.ts +36 -0
  775. package/src/xmp/internal/accessors.ts +72 -0
  776. package/src/xmp/internal/xml.ts +63 -0
@@ -0,0 +1,782 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
2
+ import { B as isNamedNode, D as compareQuads, O as defaultGraph, Q as quad, W as isSubject, d as Quad, m as QuadSchema, q as isVariable, y as Triple, z as isLiteral } from "./Term-CFLG1qu4.mjs";
3
+ import { t as loop } from "./loop-DZ2hXlr_.mjs";
4
+ import { i as rdf } from "./Vocab-DceKywpq.mjs";
5
+ import * as Arr from "effect/Array";
6
+ import { dual } from "effect/Function";
7
+ import * as Equal from "effect/Equal";
8
+ import * as Graph from "effect/Graph";
9
+ import * as Hash from "effect/Hash";
10
+ import * as HashMap from "effect/HashMap";
11
+ import * as HashSet from "effect/HashSet";
12
+ import { NodeInspectSymbol } from "effect/Inspectable";
13
+ import * as Iterable from "effect/Iterable";
14
+ import * as MutableHashMap from "effect/MutableHashMap";
15
+ import * as MutableHashSet from "effect/MutableHashSet";
16
+ import * as Option from "effect/Option";
17
+ import { pipeArguments } from "effect/Pipeable";
18
+ import { hasProperty } from "effect/Predicate";
19
+ import * as Schema from "effect/Schema";
20
+ import * as SchemaTransformation from "effect/SchemaTransformation";
21
+ // src/internal/pending.ts
22
+ /** @internal */
23
+ const pendingQuads = /* @__PURE__ */ new WeakMap();
24
+ /**
25
+ * How many statements a dataset was made from: its size, or for one not yet
26
+ * built, the number of quads given (counting any duplicates).
27
+ *
28
+ * @internal
29
+ */
30
+ const statementCount = (dataset) => pendingQuads.get(dataset)?.length ?? dataset.size;
31
+ // src/Dataset.ts
32
+ /**
33
+ * Immutable, indexed RDF datasets.
34
+ *
35
+ * A `Dataset` is a persistent set of quads backed by Effect `HashMap`s, with
36
+ * per-position indexes so that pattern matching only scans the most
37
+ * selective index. Datasets implement `Equal` (set equality — use
38
+ * `Isomorphism.isomorphic` for blank-node-aware comparison), `Hash`,
39
+ * `Iterable<Quad>` and `Pipeable`.
40
+ *
41
+ * @since 0.1.0
42
+ */
43
+ var Dataset_exports = /* @__PURE__ */ __exportAll({
44
+ DatasetSchema: () => DatasetSchema,
45
+ TypeId: () => TypeId,
46
+ add: () => add,
47
+ addAll: () => addAll,
48
+ count: () => count,
49
+ difference: () => difference,
50
+ empty: () => empty,
51
+ every: () => every,
52
+ filter: () => filter,
53
+ filterMatches: () => filterMatches,
54
+ flatMap: () => flatMap,
55
+ fromGraph: () => fromGraph,
56
+ fromIterable: () => fromIterable,
57
+ fromTriples: () => fromTriples,
58
+ graph: () => graph,
59
+ graphs: () => graphs,
60
+ has: () => has,
61
+ intersection: () => intersection,
62
+ isDataset: () => isDataset,
63
+ isEmpty: () => isEmpty,
64
+ isSubset: () => isSubset,
65
+ list: () => list,
66
+ make: () => make,
67
+ map: () => map,
68
+ match: () => match,
69
+ mutate: () => mutate,
70
+ objectOf: () => objectOf,
71
+ objects: () => objects,
72
+ objectsOf: () => objectsOf,
73
+ predicates: () => predicates,
74
+ reduce: () => reduce,
75
+ remove: () => remove,
76
+ removeMatches: () => removeMatches,
77
+ some: () => some,
78
+ subjects: () => subjects,
79
+ subjectsOf: () => subjectsOf,
80
+ toArray: () => toArray,
81
+ toGraph: () => toGraph,
82
+ toNQuads: () => toNQuads,
83
+ toSortedArray: () => toSortedArray,
84
+ triples: () => triples,
85
+ union: () => union,
86
+ withGraph: () => withGraph
87
+ });
88
+ /**
89
+ * @since 0.1.0
90
+ * @category symbols
91
+ */
92
+ const TypeId = Symbol.for("@thomasfosterau/effect-rdf/Dataset");
93
+ /** `isDataset` for a value already known to be an object. */
94
+ const hasDatasetTypeId = (u) => TypeId in u;
95
+ /**
96
+ * The indexes of the datasets that have been matched against, built on
97
+ * first use: parsing a document and serializing it never pays for them. A
98
+ * `WeakMap` rather than a field, so a dataset's own properties do not depend
99
+ * on whether it has been matched.
100
+ */
101
+ const indexes = /* @__PURE__ */ new WeakMap();
102
+ /**
103
+ * A parser's dataset is often only iterated or serialized once, or not at
104
+ * all, so `fromIterable` keeps its quads (`pendingQuads`) and the persistent
105
+ * map is built the first time it is needed (a lookup, a match or an update),
106
+ * with the same contents.
107
+ */
108
+ const pending = pendingQuads;
109
+ /**
110
+ * The distinct quads of the datasets made by `fromIterable`, in the order
111
+ * first given: what such a dataset iterates (before and after its quad set
112
+ * is built), so that iterating, counting or serializing it never builds the
113
+ * persistent map.
114
+ */
115
+ const ordered = /* @__PURE__ */ new WeakMap();
116
+ /** Combines two hashes (a multiply-rotate step); `distinct` finishes them with `avalanche`. */
117
+ const mix = (a, b) => Math.imul(a << 5 | a >>> 27, 2654435761) ^ b;
118
+ /** The final mixing of a hash (MurmurHash3's), so that its low bits pick table slots well. */
119
+ const avalanche = (h) => {
120
+ let x = Math.imul(h ^ h >>> 16, 2246822507);
121
+ x = Math.imul(x ^ x >>> 13, 3266489909);
122
+ return x ^ x >>> 16;
123
+ };
124
+ /**
125
+ * A hash of a subject or object (equal terms hash equally) that builds no
126
+ * key: a term's own hash, which IRIs, blank nodes and literals compute from
127
+ * their values and cache, and for a triple term, its parts'.
128
+ */
129
+ const termHash = (t) => t instanceof Triple ? mix(mix(termHash(t.subject), t.predicate[Hash.symbol]()), termHash(t.object)) : t[Hash.symbol]();
130
+ /**
131
+ * A quad's hash for `distinct`: its predicate and graph, usually shared
132
+ * nodes, by their own cached hashes; its subject and object by `termHash`.
133
+ * Each position is hashed the same way for every quad, so equal quads hash
134
+ * equally.
135
+ */
136
+ const quadHash = (q) => mix(mix(mix(termHash(q.subject), q.predicate[Hash.symbol]()), termHash(q.object)), q.graph[Hash.symbol]());
137
+ /**
138
+ * The distinct quads of `quads` (equal keys), keeping the first of each in
139
+ * order: open addressing over their structural hashes, comparing keys only
140
+ * when two hashes are equal, so that no key is built for quads that differ.
141
+ */
142
+ const distinct = (quads) => {
143
+ const n = quads.length;
144
+ if (n < 2) return quads;
145
+ const mask = 2 ** Math.ceil(Math.log2(n * 2)) - 1;
146
+ const hashes = new Int32Array(mask + 1);
147
+ const slots = new Int32Array(mask + 1);
148
+ const out = [];
149
+ quads.forEach((q, k) => {
150
+ const hash = avalanche(quadHash(q));
151
+ let i = hash & mask;
152
+ let duplicate = false;
153
+ loop(() => {
154
+ const slot = slots[i] ?? 0;
155
+ if (slot === 0) return false;
156
+ if (hashes[i] === hash && (quads[slot - 1] ?? q).key === q.key) {
157
+ duplicate = true;
158
+ return false;
159
+ }
160
+ i = i + 1 & mask;
161
+ return true;
162
+ });
163
+ if (duplicate) return;
164
+ hashes[i] = hash;
165
+ slots[i] = k + 1;
166
+ out.push(q);
167
+ });
168
+ return out.length === n ? quads : out;
169
+ };
170
+ /** The distinct quads, in order, of a dataset made by `fromIterable` (none for any other). */
171
+ const orderedOf = (self) => {
172
+ const known = ordered.get(self);
173
+ if (known !== void 0) return Option.some(known);
174
+ const given = pending.get(self);
175
+ if (given === void 0) return Option.none();
176
+ const quads = distinct(given);
177
+ ordered.set(self, quads);
178
+ return Option.some(quads);
179
+ };
180
+ /** Builds a pending dataset's quad set, making it like any other dataset. */
181
+ const materialize = (self) => {
182
+ const quads = buildQuads(Option.getOrElse(orderedOf(self), () => []));
183
+ pending.delete(self);
184
+ Object.defineProperty(self, "quads", {
185
+ value: quads,
186
+ enumerable: true
187
+ });
188
+ return quads;
189
+ };
190
+ const Proto = {
191
+ [TypeId]: TypeId,
192
+ get quads() {
193
+ return materialize(this);
194
+ },
195
+ get size() {
196
+ const size = Option.getOrElse(orderedOf(this), () => []).length;
197
+ Object.defineProperty(this, "size", {
198
+ value: size,
199
+ enumerable: true
200
+ });
201
+ return size;
202
+ },
203
+ [Symbol.iterator]() {
204
+ return Option.getOrElse(orderedOf(this), () => HashMap.values(this.quads))[Symbol.iterator]();
205
+ },
206
+ [Equal.symbol](that) {
207
+ if (!hasDatasetTypeId(that) || that.size !== this.size) return false;
208
+ const theirs = that.quads;
209
+ return HashMap.every(this.quads, (_quad, key) => HashMap.has(theirs, key));
210
+ },
211
+ [Hash.symbol]() {
212
+ return Hash.optimize(Iterable.reduce(this, 0, (h, q) => h + Hash.hash(q) | 0));
213
+ },
214
+ pipe() {
215
+ return pipeArguments(this, arguments);
216
+ },
217
+ toString() {
218
+ return toNQuads(this);
219
+ },
220
+ toJSON() {
221
+ return {
222
+ _id: "Dataset",
223
+ size: this.size,
224
+ quads: Array.from(this, (q) => q.toString())
225
+ };
226
+ },
227
+ [NodeInspectSymbol]() {
228
+ return this.toJSON();
229
+ }
230
+ };
231
+ const makeDataset = (quads) => {
232
+ return Object.create(Proto, {
233
+ quads: {
234
+ value: quads,
235
+ enumerable: true
236
+ },
237
+ size: {
238
+ value: HashMap.size(quads),
239
+ enumerable: true
240
+ }
241
+ });
242
+ };
243
+ const emptyIndex = HashMap.empty();
244
+ const emptySpog = [
245
+ emptyIndex,
246
+ emptyIndex,
247
+ emptyIndex,
248
+ emptyIndex
249
+ ];
250
+ /**
251
+ * @since 0.1.0
252
+ * @category guards
253
+ */
254
+ const isDataset = (u) => hasProperty(u, TypeId);
255
+ /**
256
+ * @since 0.1.0
257
+ * @category constructors
258
+ */
259
+ const empty = makeDataset(HashMap.empty());
260
+ const transients = () => MutableHashMap.empty();
261
+ const positions = (q) => [
262
+ q.subject.key,
263
+ q.predicate.key,
264
+ q.object.key,
265
+ q.graph.key
266
+ ];
267
+ const indexBatch = (spog) => {
268
+ const idx = [
269
+ HashMap.beginMutation(spog[0]),
270
+ HashMap.beginMutation(spog[1]),
271
+ HashMap.beginMutation(spog[2]),
272
+ HashMap.beginMutation(spog[3])
273
+ ];
274
+ const open = [
275
+ transients(),
276
+ transients(),
277
+ transients(),
278
+ transients()
279
+ ];
280
+ const inner = (i, termKey) => {
281
+ const opened = open[i];
282
+ const known = MutableHashMap.get(opened, termKey);
283
+ if (Option.isSome(known)) return known.value;
284
+ const map = HashMap.beginMutation(Option.getOrElse(HashMap.get(idx[i], termKey), () => HashMap.empty()));
285
+ MutableHashMap.set(opened, termKey, map);
286
+ return map;
287
+ };
288
+ const addAt = (i, termKey, key, quad) => {
289
+ HashMap.set(inner(i, termKey), key, quad);
290
+ };
291
+ const removeAt = (i, termKey, key) => {
292
+ if (MutableHashMap.has(open[i], termKey) || HashMap.has(idx[i], termKey)) HashMap.remove(inner(i, termKey), key);
293
+ };
294
+ const close = (i) => {
295
+ MutableHashMap.forEach(open[i], (map, termKey) => {
296
+ HashMap.endMutation(map);
297
+ idx[i] = HashMap.size(map) === 0 ? HashMap.remove(idx[i], termKey) : HashMap.set(idx[i], termKey, map);
298
+ });
299
+ };
300
+ return {
301
+ add(quad, key) {
302
+ addAt(0, quad.subject.key, key, quad);
303
+ addAt(1, quad.predicate.key, key, quad);
304
+ addAt(2, quad.object.key, key, quad);
305
+ addAt(3, quad.graph.key, key, quad);
306
+ },
307
+ remove(quad, key) {
308
+ removeAt(0, quad.subject.key, key);
309
+ removeAt(1, quad.predicate.key, key);
310
+ removeAt(2, quad.object.key, key);
311
+ removeAt(3, quad.graph.key, key);
312
+ },
313
+ finish() {
314
+ close(0);
315
+ close(1);
316
+ close(2);
317
+ close(3);
318
+ return [
319
+ HashMap.endMutation(idx[0]),
320
+ HashMap.endMutation(idx[1]),
321
+ HashMap.endMutation(idx[2]),
322
+ HashMap.endMutation(idx[3])
323
+ ];
324
+ }
325
+ };
326
+ };
327
+ /** The indexes of a dataset, built the first time they are needed. */
328
+ const indexesOf = (self) => {
329
+ const built = indexes.get(self);
330
+ if (built !== void 0) return built;
331
+ const batch = indexBatch(emptySpog);
332
+ HashMap.forEach(self.quads, (quad, key) => batch.add(quad, key));
333
+ const spog = batch.finish();
334
+ indexes.set(self, spog);
335
+ return spog;
336
+ };
337
+ /**
338
+ * Applies a batch of updates to a dataset using a transient builder.
339
+ *
340
+ * @since 0.1.0
341
+ * @category combinators
342
+ */
343
+ const mutate = dual(2, (self, f) => {
344
+ let quads = HashMap.beginMutation(self.quads);
345
+ const spog = indexes.get(self);
346
+ const batch = spog === void 0 ? void 0 : indexBatch(spog);
347
+ const builder = {
348
+ add(quad) {
349
+ const key = quad.key;
350
+ const before = HashMap.size(quads);
351
+ quads = HashMap.set(quads, key, quad);
352
+ if (HashMap.size(quads) !== before) batch?.add(quad, key);
353
+ return builder;
354
+ },
355
+ addAll(iterable) {
356
+ Iterable.forEach(iterable, (q) => {
357
+ builder.add(q);
358
+ });
359
+ return builder;
360
+ },
361
+ remove(quad) {
362
+ const key = quad.key;
363
+ if (!HashMap.has(quads, key)) return builder;
364
+ quads = HashMap.remove(quads, key);
365
+ batch?.remove(quad, key);
366
+ return builder;
367
+ },
368
+ has: (quad) => HashMap.has(quads, quad.key),
369
+ size: () => HashMap.size(quads)
370
+ };
371
+ f(builder);
372
+ const result = makeDataset(HashMap.endMutation(quads));
373
+ if (batch !== void 0) indexes.set(result, batch.finish());
374
+ return result;
375
+ });
376
+ /**
377
+ * @since 0.1.0
378
+ * @category constructors
379
+ */
380
+ const fromIterable = (quads) => {
381
+ if (hasDatasetTypeId(quads)) return quads;
382
+ const self = Object.create(Proto);
383
+ pending.set(self, Array.from(quads));
384
+ return self;
385
+ };
386
+ /** The quad set of `quads`, deduplicated by key (the first of equal quads is kept). */
387
+ const buildQuads = (quads) => mutate(empty, (b) => b.addAll(quads)).quads;
388
+ /**
389
+ * @since 0.1.0
390
+ * @category constructors
391
+ */
392
+ const make = (...quads) => fromIterable(quads);
393
+ /**
394
+ * Creates a dataset from triples, placing them in the given graph (the
395
+ * default graph when omitted).
396
+ *
397
+ * @since 0.1.0
398
+ * @category constructors
399
+ */
400
+ const fromTriples = (triples, graph = defaultGraph) => mutate(empty, (b) => {
401
+ Iterable.forEach(triples, (t) => {
402
+ b.add(new Quad(t.subject, t.predicate, t.object, graph));
403
+ });
404
+ });
405
+ /**
406
+ * @since 0.1.0
407
+ * @category combinators
408
+ */
409
+ const add = dual(2, (self, quad) => HashMap.has(self.quads, quad.key) ? self : mutate(self, (b) => b.add(quad)));
410
+ /**
411
+ * @since 0.1.0
412
+ * @category combinators
413
+ */
414
+ const addAll = dual(2, (self, quads) => mutate(self, (b) => b.addAll(quads)));
415
+ /**
416
+ * @since 0.1.0
417
+ * @category combinators
418
+ */
419
+ const remove = dual(2, (self, quad) => HashMap.has(self.quads, quad.key) ? mutate(self, (b) => b.remove(quad)) : self);
420
+ /**
421
+ * Removes every quad matching a pattern.
422
+ *
423
+ * @since 0.1.0
424
+ * @category combinators
425
+ */
426
+ const removeMatches = dual(2, (self, pattern) => {
427
+ const matches = match(self, pattern);
428
+ return Arr.isReadonlyArrayEmpty(matches) ? self : mutate(self, (b) => matches.forEach(b.remove));
429
+ });
430
+ /**
431
+ * @since 0.1.0
432
+ * @category predicates
433
+ */
434
+ const has = dual(2, (self, quad) => HashMap.has(self.quads, quad.key));
435
+ /**
436
+ * @since 0.1.0
437
+ * @category predicates
438
+ */
439
+ const isEmpty = (self) => self.size === 0;
440
+ /** The bound positions of a pattern (omitted positions and variables match any term). */
441
+ const checksOf = (pattern) => {
442
+ const checks = [];
443
+ const at = (position, t) => {
444
+ if (t !== void 0 && !isVariable(t)) checks.push({
445
+ position,
446
+ key: t.key
447
+ });
448
+ };
449
+ at(0, pattern.subject);
450
+ at(1, pattern.predicate);
451
+ at(2, pattern.object);
452
+ at(3, pattern.graph);
453
+ return checks;
454
+ };
455
+ /**
456
+ * Returns all quads matching a pattern, using the most selective index.
457
+ *
458
+ * @since 0.1.0
459
+ * @category queries
460
+ */
461
+ const match = dual(2, (self, pattern) => {
462
+ const checks = checksOf(pattern);
463
+ let candidates = Option.none();
464
+ let candidateSize = Infinity;
465
+ if (checks.some(({ position, key }) => {
466
+ const inner = HashMap.get(indexesOf(self)[position], key);
467
+ if (Option.isNone(inner)) return true;
468
+ const size = HashMap.size(inner.value);
469
+ if (size < candidateSize) {
470
+ candidates = inner;
471
+ candidateSize = size;
472
+ }
473
+ return false;
474
+ })) return [];
475
+ const source = Option.getOrElse(candidates, () => self.quads);
476
+ const out = [];
477
+ if (checks.length > 1) HashMap.forEach(source, (q) => {
478
+ const ks = positions(q);
479
+ if (checks.every(({ position, key }) => ks[position] === key)) out.push(q);
480
+ });
481
+ else HashMap.forEach(source, (q) => {
482
+ out.push(q);
483
+ });
484
+ return out;
485
+ });
486
+ /**
487
+ * Counts the quads matching a pattern.
488
+ *
489
+ * @since 0.1.0
490
+ * @category queries
491
+ */
492
+ const count = dual(2, (self, pattern) => match(self, pattern).length);
493
+ /**
494
+ * Returns a dataset containing only the quads matching a pattern.
495
+ *
496
+ * @since 0.1.0
497
+ * @category queries
498
+ */
499
+ const filterMatches = dual(2, (self, pattern) => fromIterable(match(self, pattern)));
500
+ /**
501
+ * The objects of all quads with the given subject and predicate (in any
502
+ * graph unless one is specified).
503
+ *
504
+ * @since 0.1.0
505
+ * @category queries
506
+ */
507
+ const objectsOf = (self, subject, predicate, graph) => uniqueTerms(match(self, {
508
+ subject,
509
+ predicate,
510
+ graph
511
+ }).map((q) => q.object));
512
+ /**
513
+ * The first object of a subject/predicate pair, if any.
514
+ *
515
+ * @since 0.1.0
516
+ * @category queries
517
+ */
518
+ const objectOf = (self, subject, predicate, graph) => Option.fromNullishOr(match(self, {
519
+ subject,
520
+ predicate,
521
+ graph
522
+ })[0]?.object);
523
+ /**
524
+ * The subjects of all quads with the given predicate and object.
525
+ *
526
+ * @since 0.1.0
527
+ * @category queries
528
+ */
529
+ const subjectsOf = (self, predicate, object, graph) => uniqueTerms(match(self, {
530
+ predicate,
531
+ object,
532
+ graph
533
+ }).map((q) => q.subject));
534
+ const uniqueTerms = (terms) => {
535
+ if (terms.length < 2) return terms;
536
+ return uniqueByKey(terms);
537
+ };
538
+ /** The first of each group of values with equal keys, in order. */
539
+ const uniqueByKey = (values) => {
540
+ const seen = MutableHashMap.empty();
541
+ Iterable.forEach(values, (t) => {
542
+ if (!MutableHashMap.has(seen, t.key)) MutableHashMap.set(seen, t.key, t);
543
+ });
544
+ return Arr.fromIterable(MutableHashMap.values(seen));
545
+ };
546
+ const termsAt = (self, position, pick) => Arr.flatMap(Arr.fromIterable(HashMap.values(indexesOf(self)[position])), (inner) => Arr.fromOption(Option.map(Iterable.head(HashMap.values(inner)), pick)));
547
+ /**
548
+ * All distinct subjects.
549
+ *
550
+ * @since 0.1.0
551
+ * @category queries
552
+ */
553
+ const subjects = (self) => termsAt(self, 0, (q) => q.subject);
554
+ /**
555
+ * All distinct predicates.
556
+ *
557
+ * @since 0.1.0
558
+ * @category queries
559
+ */
560
+ const predicates = (self) => termsAt(self, 1, (q) => q.predicate);
561
+ /**
562
+ * All distinct objects.
563
+ *
564
+ * @since 0.1.0
565
+ * @category queries
566
+ */
567
+ const objects = (self) => termsAt(self, 2, (q) => q.object);
568
+ /**
569
+ * All distinct graph names (including the default graph if it is non-empty).
570
+ *
571
+ * @since 0.1.0
572
+ * @category queries
573
+ */
574
+ const graphs = (self) => termsAt(self, 3, (q) => q.graph);
575
+ /**
576
+ * The quads of one graph.
577
+ *
578
+ * @since 0.1.0
579
+ * @category queries
580
+ */
581
+ const graph = dual(2, (self, graphName) => filterMatches(self, { graph: graphName }));
582
+ /**
583
+ * The triples of the dataset, ignoring graph names (duplicates across graphs
584
+ * are merged).
585
+ *
586
+ * @since 0.1.0
587
+ * @category conversions
588
+ */
589
+ const triples = (self) => {
590
+ return uniqueByKey(Iterable.map(self, (q) => q.triple));
591
+ };
592
+ /**
593
+ * Moves every quad into a single graph.
594
+ *
595
+ * @since 0.1.0
596
+ * @category combinators
597
+ */
598
+ const withGraph = dual(2, (self, graphName) => fromIterable(Array.from(self, (q) => new Quad(q.subject, q.predicate, q.object, graphName))));
599
+ /**
600
+ * Reads an RDF collection (`rdf:first`/`rdf:rest` list) starting at `head`.
601
+ * Returns `None` if the list is malformed (missing or multiple `first`/`rest`
602
+ * values, or cyclic).
603
+ *
604
+ * @since 0.1.0
605
+ * @category queries
606
+ */
607
+ const list = (self, head, graphName) => {
608
+ const items = [];
609
+ const seen = MutableHashSet.empty();
610
+ let node = head;
611
+ let wellFormed = true;
612
+ loop(() => {
613
+ const current = node;
614
+ if (isNamedNode(current) && current.value === rdf.nil.value) return false;
615
+ if (isLiteral(current) || MutableHashSet.has(seen, current.key)) {
616
+ wellFormed = false;
617
+ return false;
618
+ }
619
+ MutableHashSet.add(seen, current.key);
620
+ const first = objectsOf(self, current, rdf.first, graphName);
621
+ const rest = objectsOf(self, current, rdf.rest, graphName);
622
+ if (!Arr.isReadonlyArrayNonEmpty(first) || !Arr.isReadonlyArrayNonEmpty(rest) || first.length !== 1 || rest.length !== 1) {
623
+ wellFormed = false;
624
+ return false;
625
+ }
626
+ items.push(first[0]);
627
+ node = rest[0];
628
+ return true;
629
+ });
630
+ return wellFormed ? Option.some(items) : Option.none();
631
+ };
632
+ /**
633
+ * @since 0.1.0
634
+ * @category combinators
635
+ */
636
+ const union = dual(2, (self, that) => self.size >= that.size ? addAll(self, that) : addAll(that, self));
637
+ /**
638
+ * @since 0.1.0
639
+ * @category combinators
640
+ */
641
+ const intersection = dual(2, (self, that) => filter(self, (q) => has(that, q)));
642
+ /**
643
+ * @since 0.1.0
644
+ * @category combinators
645
+ */
646
+ const difference = dual(2, (self, that) => mutate(self, (b) => {
647
+ Iterable.forEach(that, (q) => {
648
+ b.remove(q);
649
+ });
650
+ }));
651
+ /**
652
+ * @since 0.1.0
653
+ * @category combinators
654
+ */
655
+ const filter = dual(2, (self, predicate) => mutate(empty, (b) => {
656
+ Iterable.forEach(self, (q) => {
657
+ if (predicate(q)) b.add(q);
658
+ });
659
+ }));
660
+ /**
661
+ * @since 0.1.0
662
+ * @category combinators
663
+ */
664
+ const map = dual(2, (self, f) => mutate(empty, (b) => {
665
+ Iterable.forEach(self, (q) => {
666
+ b.add(f(q));
667
+ });
668
+ }));
669
+ /**
670
+ * @since 0.1.0
671
+ * @category combinators
672
+ */
673
+ const flatMap = dual(2, (self, f) => mutate(empty, (b) => {
674
+ Iterable.forEach(self, (q) => {
675
+ b.addAll(f(q));
676
+ });
677
+ }));
678
+ /**
679
+ * @since 0.1.0
680
+ * @category folding
681
+ */
682
+ const reduce = dual(3, (self, initial, f) => Iterable.reduce(self, initial, (acc, q) => f(acc, q)));
683
+ /**
684
+ * @since 0.1.0
685
+ * @category predicates
686
+ */
687
+ const some = dual(2, (self, predicate) => Iterable.some(self, (q) => predicate(q)));
688
+ /**
689
+ * @since 0.1.0
690
+ * @category predicates
691
+ */
692
+ const every = dual(2, (self, predicate) => !Iterable.some(self, (q) => !predicate(q)));
693
+ /**
694
+ * Whether every quad of `self` is in `that`.
695
+ *
696
+ * @since 0.1.0
697
+ * @category predicates
698
+ */
699
+ const isSubset = dual(2, (self, that) => every(self, (q) => has(that, q)));
700
+ /**
701
+ * @since 0.1.0
702
+ * @category conversions
703
+ */
704
+ const toArray = (self) => Array.from(self);
705
+ /**
706
+ * The quads in a deterministic order (graph, subject, predicate, object).
707
+ *
708
+ * @since 0.1.0
709
+ * @category conversions
710
+ */
711
+ const toSortedArray = (self) => Arr.sort(self, compareQuads);
712
+ /**
713
+ * Serialises to canonical, sorted N-Quads (one statement per line).
714
+ *
715
+ * @since 0.1.0
716
+ * @category conversions
717
+ */
718
+ const toNQuads = (self) => toSortedArray(self).map((q) => `${q.toString()}\n`).join("");
719
+ /**
720
+ * Schema of a dataset; its JSON codec is an array of `TermJson.Quad`s in
721
+ * `toSortedArray` order, so encoding is deterministic.
722
+ *
723
+ * @since 0.1.0
724
+ * @category schemas
725
+ */
726
+ const DatasetSchema = Schema.declare(isDataset, {
727
+ identifier: "Dataset",
728
+ toCodecJson: () => Schema.link()(Schema.Array(QuadSchema), SchemaTransformation.transform({
729
+ decode: fromIterable,
730
+ encode: toSortedArray
731
+ })),
732
+ toCodecArbitrary: () => Schema.link()(Schema.Array(QuadSchema).check(Schema.isMaxLength(12)), SchemaTransformation.transform({
733
+ decode: fromIterable,
734
+ encode: toSortedArray
735
+ }))
736
+ });
737
+ /**
738
+ * Converts a dataset to an `effect/Graph` directed graph for graph
739
+ * algorithms — topological order of a class hierarchy, cycle detection,
740
+ * shortest paths, reachability, connected components. Every subject and
741
+ * object becomes one node (equal terms share it) and every quad an edge
742
+ * from its subject to its object, labelled with its predicate; triple terms
743
+ * are nodes, not expanded.
744
+ *
745
+ * @since 0.1.0
746
+ * @category graphs
747
+ */
748
+ const toGraph = (self, options = {}) => {
749
+ const keep = options.predicates === void 0 ? void 0 : HashSet.fromIterable(options.predicates);
750
+ const edges = Arr.filter(options.graph === void 0 ? Arr.fromIterable(self) : match(self, { graph: options.graph }), (q) => (keep === void 0 || HashSet.has(keep, q.predicate)) && (options.literals === true || !isLiteral(q.object)));
751
+ let nodes = HashMap.empty();
752
+ return {
753
+ graph: Graph.directed((mutable) => {
754
+ const nodeOf = (term) => Option.getOrElse(HashMap.get(nodes, term), () => {
755
+ const added = Graph.addNode(mutable, term);
756
+ nodes = HashMap.set(nodes, term, added);
757
+ return added;
758
+ });
759
+ Arr.forEach(edges, (q) => {
760
+ Graph.addEdge(mutable, nodeOf(q.subject), nodeOf(q.object), q.predicate);
761
+ });
762
+ }),
763
+ nodes
764
+ };
765
+ };
766
+ /**
767
+ * Converts a directed graph whose nodes are terms and whose edges are
768
+ * predicates back to a dataset: each edge becomes a quad in `graphName` (the
769
+ * default graph when omitted). Edges from a node that cannot be a subject
770
+ * (a literal) are left out.
771
+ *
772
+ * @since 0.1.0
773
+ * @category graphs
774
+ */
775
+ const fromGraph = (source, graphName = defaultGraph) => fromIterable(Arr.flatMap(Arr.fromIterable(Graph.edges(source)), ([, edge]) => {
776
+ const subject = Graph.getNode(source, edge.source);
777
+ const object = Graph.getNode(source, edge.target);
778
+ return Option.isSome(subject) && Option.isSome(object) && isSubject(subject.value) ? [quad(subject.value, edge.data, object.value, graphName)] : [];
779
+ }));
780
+ export { objectsOf as A, toNQuads as B, list as C, mutate as D, match as E, some as F, statementCount as G, triples as H, subjects as I, subjectsOf as L, reduce as M, remove as N, objectOf as O, removeMatches as P, toArray as R, isSubset as S, map as T, union as U, toSortedArray as V, withGraph as W, graphs as _, addAll as a, isDataset as b, empty as c, filterMatches as d, flatMap as f, graph as g, fromTriples as h, add as i, predicates as j, objects as k, every as l, fromIterable as m, Dataset_exports as n, count as o, fromGraph as p, TypeId as r, difference as s, DatasetSchema as t, filter as u, has as v, make as w, isEmpty as x, intersection as y, toGraph as z };
781
+
782
+ //# sourceMappingURL=Dataset-BlmlcI7J.mjs.map