@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,528 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
2
+ import { B as isNamedNode$1, C as VariableSchema, N as isBlankNode$1, S as Variable, Z as namedNode, c as NamedNode, l as NamedNodeSchema, n as BlankNodeSchema, o as Literal, q as isVariable$1, s as LiteralSchema, t as BlankNode, y as Triple, z as isLiteral$1 } from "./Term-CFLG1qu4.mjs";
3
+ import { i as empty } from "./PrefixMap-BHFPDLO-.mjs";
4
+ import * as Arr from "effect/Array";
5
+ import * as Equal from "effect/Equal";
6
+ import * as Hash from "effect/Hash";
7
+ import { NodeInspectSymbol } from "effect/Inspectable";
8
+ import * as Iterable from "effect/Iterable";
9
+ import * as MutableHashMap from "effect/MutableHashMap";
10
+ import { pipeArguments } from "effect/Pipeable";
11
+ import { hasProperty } from "effect/Predicate";
12
+ import * as Schema from "effect/Schema";
13
+ import * as SchemaTransformation from "effect/SchemaTransformation";
14
+ import * as Order from "effect/Order";
15
+ // src/n3/internal/guards.ts
16
+ /**
17
+ * Class refinements of the core terms, for the walks that test every term
18
+ * they visit (`Term.isVariable` and its siblings check the `TypeId` through
19
+ * a `dual` call first; a class check is one instruction).
20
+ *
21
+ * @internal
22
+ */
23
+ /** @internal */
24
+ const isNamedNode = (u) => u instanceof NamedNode;
25
+ /** @internal */
26
+ const isBlankNode = (u) => u instanceof BlankNode;
27
+ /** @internal */
28
+ const isLiteral = (u) => u instanceof Literal;
29
+ /** @internal */
30
+ const isVariable = (u) => u instanceof Variable;
31
+ /** @internal */
32
+ const isTriple = (u) => u instanceof Triple;
33
+ // src/n3/internal/loop.ts
34
+ /**
35
+ * A loop as a function, for the scans that step until a condition holds
36
+ * (probing a hash table, walking a list, backtracking a search).
37
+ *
38
+ * @internal
39
+ */
40
+ const BLOCK = 1024;
41
+ /** `0 … BLOCK - 1`: the steps of one block run as an array scan, which engines optimise well. */
42
+ const offsets = Array.from({ length: BLOCK }, (_, i) => i);
43
+ /** The first step of each block after the first: `BLOCK, 2 * BLOCK, …`. */
44
+ const blocks = Iterable.makeBy((b) => (b + 1) * BLOCK);
45
+ /**
46
+ * Calls `step` with 0, 1, 2, … until it returns `false`. It never recurses,
47
+ * so a loop of any length takes no stack.
48
+ *
49
+ * @internal
50
+ */
51
+ const loop = (step) => {
52
+ if (offsets.every(step)) Iterable.some(blocks, (base) => offsets.some((i) => !step(base + i)));
53
+ };
54
+ // src/n3/Model.ts
55
+ /**
56
+ * The Notation3 data model.
57
+ *
58
+ * N3 extends RDF with quoted graphs (formulas), first-class lists
59
+ * (collections), universally quantified variables and literals or other
60
+ * non-IRI terms in any position of a statement. Core RDF `Quad`s only allow
61
+ * ground terms, so this module defines an N3-specific model on top of the
62
+ * core term classes:
63
+ *
64
+ * - `N3Term` = core `NamedNode` | `BlankNode` | `Literal` | `Variable`, plus
65
+ * the N3-only `Collection` (an N3 list) and `Formula` (a graph term).
66
+ * - `Statement` — a triple of arbitrary `N3Term`s.
67
+ * - `Formula` — an unordered set of statements. Formulas are values: two
68
+ * formulas with the same statements are equal (`Equal.equals`), which
69
+ * matches the N3 semantics of graph terms.
70
+ * - `Document` — a parsed N3 document: its top-level formula together with
71
+ * the prefixes and base IRI it declared.
72
+ *
73
+ * Quick variables (`?x`) are represented by core `Term.Variable`s. Blank
74
+ * nodes keep their core representation; a blank node is implicitly
75
+ * existentially quantified in the innermost formula that contains all of its
76
+ * occurrences.
77
+ *
78
+ * Like core terms, `Collection`, `Formula` and `Statement` implement `Equal`
79
+ * and `Hash` through a canonical `key`.
80
+ *
81
+ * @since 0.1.0
82
+ */
83
+ var Model_exports = /* @__PURE__ */ __exportAll({
84
+ Collection: () => Collection,
85
+ CollectionSchema: () => CollectionSchema,
86
+ Formula: () => Formula,
87
+ FormulaSchema: () => FormulaSchema,
88
+ N3TermSchema: () => N3TermSchema,
89
+ Statement: () => Statement,
90
+ StatementSchema: () => StatementSchema,
91
+ TypeId: () => TypeId,
92
+ addStatements: () => addStatements,
93
+ blankNodes: () => blankNodes,
94
+ collection: () => collection,
95
+ document: () => document,
96
+ emptyFormula: () => emptyFormula,
97
+ formula: () => formula,
98
+ hasStatement: () => hasStatement,
99
+ isCollection: () => isCollection,
100
+ isFormula: () => isFormula,
101
+ isGround: () => isGround,
102
+ isN3Term: () => isN3Term,
103
+ isStatement: () => isStatement,
104
+ mapTerms: () => mapTerms,
105
+ statement: () => statement,
106
+ substitute: () => substitute,
107
+ variables: () => variables
108
+ });
109
+ /**
110
+ * @since 0.1.0
111
+ * @category symbols
112
+ */
113
+ const TypeId = Symbol.for("@thomasfosterau/effect-rdf/n3/Model");
114
+ var N3Base = class {
115
+ [TypeId] = TypeId;
116
+ /** The key once computed (no key is empty: the shortest are `()` and `{}`). */
117
+ #key = "";
118
+ /** The hash once computed (0 until then; a hash of 0 is merely computed again). */
119
+ #hash = 0;
120
+ /** A canonical, N3-like serialisation used for equality and hashing. */
121
+ get key() {
122
+ if (this.#key === "") this.#key = this.computeKey();
123
+ return this.#key;
124
+ }
125
+ /**
126
+ * Statements, collections and formulas override this to combine their
127
+ * parts' hashes, so that a formula deduplicating its statements builds no
128
+ * key; whatever the override, equal keys give equal hashes.
129
+ */
130
+ computeHash() {
131
+ return Hash.string(this.key);
132
+ }
133
+ /** RDF/JS-style alias of `_tag`. */
134
+ get termType() {
135
+ return this._tag;
136
+ }
137
+ equals(that) {
138
+ return isN3Base(that) && that.key === this.key;
139
+ }
140
+ [Equal.symbol](that) {
141
+ return this.equals(that);
142
+ }
143
+ [Hash.symbol]() {
144
+ if (this.#hash === 0) this.#hash = this.computeHash();
145
+ return this.#hash;
146
+ }
147
+ pipe() {
148
+ return pipeArguments(this, arguments);
149
+ }
150
+ toString() {
151
+ return this.key;
152
+ }
153
+ toJSON() {
154
+ return {
155
+ _tag: this._tag,
156
+ value: this.key
157
+ };
158
+ }
159
+ [NodeInspectSymbol]() {
160
+ return `${this._tag}(${this.key})`;
161
+ }
162
+ };
163
+ /** Whether a value is an N3 collection, statement or formula (it carries the `TypeId`). */
164
+ const isN3Base = (u) => hasProperty(u, TypeId);
165
+ /**
166
+ * An N3 list (collection): an ordered, first-class sequence of terms,
167
+ * written `( a b c )`. The empty collection corresponds to `rdf:nil`.
168
+ *
169
+ * @since 0.1.0
170
+ * @category models
171
+ */
172
+ var Collection = class extends N3Base {
173
+ _tag = "Collection";
174
+ items;
175
+ constructor(items) {
176
+ super();
177
+ this.items = items;
178
+ }
179
+ computeHash() {
180
+ return this.items.reduce((h, item) => Hash.combine(h, item[Hash.symbol]()), Hash.string("()"));
181
+ }
182
+ computeKey() {
183
+ return Arr.isReadonlyArrayEmpty(this.items) ? "()" : `( ${this.items.map((t) => t.key).join(" ")} )`;
184
+ }
185
+ };
186
+ /**
187
+ * An N3 statement: a triple whose subject, predicate and object may be any
188
+ * `N3Term`.
189
+ *
190
+ * @since 0.1.0
191
+ * @category models
192
+ */
193
+ var Statement = class extends N3Base {
194
+ _tag = "Statement";
195
+ subject;
196
+ predicate;
197
+ object;
198
+ constructor(subject, predicate, object) {
199
+ super();
200
+ this.subject = subject;
201
+ this.predicate = predicate;
202
+ this.object = object;
203
+ }
204
+ computeHash() {
205
+ return Hash.combine(Hash.combine(this.subject[Hash.symbol](), this.predicate[Hash.symbol]()), this.object[Hash.symbol]());
206
+ }
207
+ computeKey() {
208
+ return `${this.subject.key} ${this.predicate.key} ${this.object.key}`;
209
+ }
210
+ };
211
+ /**
212
+ * Whether two terms are equal (have the same key), compared by their parts
213
+ * where that avoids building keys: identical or differently hashed terms are
214
+ * decided at once, and statements, collections and formulas are compared
215
+ * part by part. Only leaf terms (IRIs, literals, blank nodes, variables) are
216
+ * compared by key.
217
+ */
218
+ const sameTerm = (a, b) => {
219
+ if (a === b) return true;
220
+ if (a[Hash.symbol]() !== b[Hash.symbol]()) return false;
221
+ if (a instanceof Formula) return b instanceof Formula && sameFormula(a, b);
222
+ if (a instanceof Collection) return b instanceof Collection && a.items.length === b.items.length && a.items.every((item, i) => sameTerm(item, b.items[i] ?? item));
223
+ if (b instanceof Formula || b instanceof Collection) return false;
224
+ return a.key === b.key;
225
+ };
226
+ /** Whether two statements are equal: their terms are (`sameTerm`). */
227
+ const sameStatement = (a, b) => sameTerm(a.subject, b.subject) && sameTerm(a.predicate, b.predicate) && sameTerm(a.object, b.object);
228
+ /** Whether two formulas have the same statements (searched for small ones, by key otherwise). */
229
+ const sameFormula = (a, b) => {
230
+ const as = a.statements;
231
+ const bs = b.statements;
232
+ if (as.length !== bs.length) return false;
233
+ if (as.length > 8) return a.key === b.key;
234
+ return as.every((s) => bs.some((t) => sameStatement(s, t)));
235
+ };
236
+ /** A placeholder for the probe's statement before the first is placed. */
237
+ const emptyStatement = new Statement(namedNode(""), namedNode(""), namedNode(""));
238
+ /**
239
+ * The statements without duplicates, keeping the first of each: by their
240
+ * structural hashes, comparing keys only when two hashes are equal, so that
241
+ * no key is built for statements that differ.
242
+ */
243
+ const deduplicate = (all) => {
244
+ const n = all.length;
245
+ if (n < 2) return all;
246
+ const mask = 2 ** Math.ceil(Math.log2(n * 2)) - 1;
247
+ const hashes = new Int32Array(mask + 1);
248
+ const slots = new Int32Array(mask + 1);
249
+ const unique = [];
250
+ let current = emptyStatement;
251
+ let hash = 0;
252
+ let i = 0;
253
+ let duplicate = false;
254
+ const probe = () => {
255
+ const slot = slots[i] ?? 0;
256
+ if (slot === 0) return false;
257
+ if (hashes[i] === hash && sameStatement(current, all[slot - 1] ?? current)) {
258
+ duplicate = true;
259
+ return false;
260
+ }
261
+ i = i + 1 & mask;
262
+ return true;
263
+ };
264
+ all.forEach((s, k) => {
265
+ current = s;
266
+ hash = s[Hash.symbol]() | 0;
267
+ i = hash & mask;
268
+ duplicate = false;
269
+ loop(probe);
270
+ if (duplicate) return;
271
+ hashes[i] = hash;
272
+ slots[i] = k + 1;
273
+ unique.push(s);
274
+ });
275
+ return unique.length === n ? all : unique;
276
+ };
277
+ /**
278
+ * An N3 formula (graph term): an unordered set of statements, written
279
+ * `{ ... }`. Duplicate statements are removed (when the statements are first
280
+ * read), and equality is set equality of the statements (blank node labels are compared
281
+ * literally; use `Isomorphism.isomorphic` for a blank-node-aware comparison).
282
+ *
283
+ * @since 0.1.0
284
+ * @category models
285
+ */
286
+ var Formula = class extends N3Base {
287
+ _tag = "Formula";
288
+ /** The statements as given (copied), then without duplicates once first read. */
289
+ #statements;
290
+ #deduplicated = false;
291
+ constructor(statements) {
292
+ super();
293
+ this.#statements = Array.from(statements);
294
+ }
295
+ /**
296
+ * The statements, without duplicates, in the order first given. They are
297
+ * deduplicated the first time they are read, not when the formula is
298
+ * made, so a formula that is never read (a parse whose result is only
299
+ * checked for errors, a formula a rule discards) costs nothing to dedupe.
300
+ */
301
+ get statements() {
302
+ if (!this.#deduplicated) {
303
+ this.#statements = deduplicate(this.#statements);
304
+ this.#deduplicated = true;
305
+ }
306
+ return this.#statements;
307
+ }
308
+ /** The sum of the statements' hashes: the same for the same set, whatever the order. */
309
+ computeHash() {
310
+ return Hash.optimize(this.statements.reduce((h, st) => h + st[Hash.symbol]() | 0, 31613));
311
+ }
312
+ /** The number of statements in the formula. */
313
+ get size() {
314
+ return this.#statements.length < 2 ? this.#statements.length : this.statements.length;
315
+ }
316
+ computeKey() {
317
+ if (Arr.isReadonlyArrayEmpty(this.statements)) return "{}";
318
+ return `{ ${Arr.sort(this.statements.map((s) => s.key), Order.String).join(" . ")} }`;
319
+ }
320
+ [Symbol.iterator]() {
321
+ return this.statements[Symbol.iterator]();
322
+ }
323
+ };
324
+ /**
325
+ * @since 0.1.0
326
+ * @category constructors
327
+ */
328
+ const statement = (subject, predicate, object) => new Statement(subject, predicate, object);
329
+ /**
330
+ * @since 0.1.0
331
+ * @category constructors
332
+ */
333
+ const formula = (statements = []) => new Formula(statements);
334
+ /**
335
+ * The empty formula `{}`.
336
+ *
337
+ * @since 0.1.0
338
+ * @category constructors
339
+ */
340
+ const emptyFormula = new Formula([]);
341
+ /**
342
+ * @since 0.1.0
343
+ * @category constructors
344
+ */
345
+ const collection = (items = []) => new Collection(Array.from(items));
346
+ /**
347
+ * Creates a document from a formula.
348
+ *
349
+ * @since 0.1.0
350
+ * @category constructors
351
+ */
352
+ const document = (formula, options) => ({
353
+ formula,
354
+ prefixes: options?.prefixes ?? empty,
355
+ baseIri: options?.baseIri
356
+ });
357
+ /**
358
+ * @since 0.1.0
359
+ * @category guards
360
+ */
361
+ const isFormula = (u) => u instanceof Formula;
362
+ /**
363
+ * @since 0.1.0
364
+ * @category guards
365
+ */
366
+ const isCollection = (u) => u instanceof Collection;
367
+ /**
368
+ * @since 0.1.0
369
+ * @category guards
370
+ */
371
+ const isStatement = (u) => u instanceof Statement;
372
+ /**
373
+ * Whether a value is an `N3Term` (a core IRI, blank node, literal or
374
+ * variable, or an N3 collection or formula).
375
+ *
376
+ * @since 0.1.0
377
+ * @category guards
378
+ */
379
+ const isN3Term = (u) => isFormula(u) || isCollection(u) || isNamedNode$1(u) || isBlankNode$1(u) || isLiteral$1(u) || isVariable$1(u);
380
+ /**
381
+ * Whether a term, statement or formula is free of variables (recursively).
382
+ *
383
+ * @since 0.1.0
384
+ * @category predicates
385
+ */
386
+ const isGround = (self) => groundness(self);
387
+ const groundness = (self) => self instanceof Statement ? groundness(self.subject) && groundness(self.predicate) && groundness(self.object) : self instanceof Formula ? self.statements.every(groundness) : self instanceof Collection ? self.items.every(groundness) : !isVariable(self);
388
+ /** Adds the atoms of `self` that pass `test` to `out`, by key, in order of first occurrence. */
389
+ const collect = (self, test, out) => {
390
+ if (self instanceof Statement) {
391
+ collect(self.subject, test, out);
392
+ collect(self.predicate, test, out);
393
+ collect(self.object, test, out);
394
+ } else if (self instanceof Formula) self.statements.forEach((s) => collect(s, test, out));
395
+ else if (self instanceof Collection) self.items.forEach((i) => collect(i, test, out));
396
+ else if (test(self)) MutableHashMap.set(out, self.key, self);
397
+ };
398
+ /**
399
+ * All distinct variables occurring in a term, statement or formula
400
+ * (including inside nested formulas and collections), in order of first
401
+ * occurrence.
402
+ *
403
+ * @since 0.1.0
404
+ * @category getters
405
+ */
406
+ const variables = (self) => {
407
+ const out = MutableHashMap.empty();
408
+ collect(self, isVariable, out);
409
+ return Arr.fromIterable(MutableHashMap.values(out));
410
+ };
411
+ /**
412
+ * All distinct blank nodes occurring in a term, statement or formula
413
+ * (including inside nested formulas and collections).
414
+ *
415
+ * @since 0.1.0
416
+ * @category getters
417
+ */
418
+ const blankNodes = (self) => {
419
+ const out = MutableHashMap.empty();
420
+ collect(self, isBlankNode, out);
421
+ return Arr.fromIterable(MutableHashMap.values(out));
422
+ };
423
+ function mapTerms(self, f) {
424
+ return self instanceof Statement ? mapStatement(self, f) : mapTerm(self, f);
425
+ }
426
+ const mapTerm = (t, f) => t instanceof Formula ? new Formula(t.statements.map((s) => mapStatement(s, f))) : t instanceof Collection ? new Collection(t.items.map((i) => mapTerm(i, f))) : f(t);
427
+ const mapStatement = (s, f) => new Statement(mapTerm(s.subject, f), mapTerm(s.predicate, f), mapTerm(s.object, f));
428
+ function substitute(self, bindings) {
429
+ return mapTerms(self, (t) => isVariable(t) ? bindings.get(t.value) ?? t : t);
430
+ }
431
+ /**
432
+ * Adds statements to a formula.
433
+ *
434
+ * @since 0.1.0
435
+ * @category combinators
436
+ */
437
+ const addStatements = (self, statements) => new Formula([...self.statements, ...statements]);
438
+ /**
439
+ * Whether a formula contains a statement.
440
+ *
441
+ * @since 0.1.0
442
+ * @category predicates
443
+ */
444
+ const hasStatement = (self, statement) => self.statements.some((s) => s.key === statement.key);
445
+ /**
446
+ * Schema of a formula; its JSON codec is
447
+ * `{ "type": "formula", "statements": [{ subject, predicate, object }, …] }`
448
+ * over JSON N3 terms.
449
+ *
450
+ * @since 0.1.0
451
+ * @category schemas
452
+ */
453
+ const FormulaSchema = Schema.declare(isFormula, {
454
+ identifier: "Formula",
455
+ toCodecJson: () => Schema.link()(Schema.Struct({
456
+ type: Schema.tag("formula"),
457
+ statements: Schema.Array(Schema.suspend(() => StatementSchema))
458
+ }), SchemaTransformation.transform({
459
+ decode: (j) => new Formula(j.statements),
460
+ encode: (f) => ({
461
+ type: "formula",
462
+ statements: f.statements
463
+ })
464
+ }))
465
+ });
466
+ /**
467
+ * Schema of a collection; its JSON codec is
468
+ * `{ "type": "collection", "items": [ … ] }` over JSON N3 terms.
469
+ *
470
+ * @since 0.1.0
471
+ * @category schemas
472
+ */
473
+ const CollectionSchema = Schema.declare(isCollection, {
474
+ identifier: "Collection",
475
+ toCodecJson: () => Schema.link()(Schema.Struct({
476
+ type: Schema.tag("collection"),
477
+ items: Schema.Array(Schema.suspend(() => N3TermSchema))
478
+ }), SchemaTransformation.transform({
479
+ decode: (j) => new Collection(j.items),
480
+ encode: (c) => ({
481
+ type: "collection",
482
+ items: c.items
483
+ })
484
+ }))
485
+ });
486
+ /**
487
+ * Schema of a statement; its JSON codec is `{ subject, predicate, object }`
488
+ * over JSON N3 terms.
489
+ *
490
+ * @since 0.1.0
491
+ * @category schemas
492
+ */
493
+ const StatementSchema = Schema.declare(isStatement, {
494
+ identifier: "Statement",
495
+ toCodecJson: () => Schema.link()(Schema.Struct({
496
+ subject: Schema.suspend(() => N3TermSchema),
497
+ predicate: Schema.suspend(() => N3TermSchema),
498
+ object: Schema.suspend(() => N3TermSchema)
499
+ }), SchemaTransformation.transform({
500
+ decode: (j) => new Statement(j.subject, j.predicate, j.object),
501
+ encode: (st) => ({
502
+ subject: st.subject,
503
+ predicate: st.predicate,
504
+ object: st.object
505
+ })
506
+ }))
507
+ });
508
+ /**
509
+ * Schema of any N3 term; its JSON codec is core's `TermJson` term (IRIs,
510
+ * blank nodes, literals, variables) or a JSON collection or formula.
511
+ *
512
+ * @since 0.1.0
513
+ * @category schemas
514
+ */
515
+ const N3TermSchema = Schema.declare(isN3Term, {
516
+ identifier: "N3Term",
517
+ toCodecJson: () => Schema.link()(Schema.Union([
518
+ NamedNodeSchema,
519
+ BlankNodeSchema,
520
+ LiteralSchema,
521
+ VariableSchema,
522
+ CollectionSchema,
523
+ FormulaSchema
524
+ ]), SchemaTransformation.passthrough())
525
+ });
526
+ export { isTriple as A, statement as C, isBlankNode as D, loop as E, isLiteral as O, mapTerms as S, variables as T, isCollection as _, Model_exports as a, isN3Term as b, StatementSchema as c, blankNodes as d, collection as f, hasStatement as g, formula as h, FormulaSchema as i, isVariable as j, isNamedNode as k, TypeId as l, emptyFormula as m, CollectionSchema as n, N3TermSchema as o, document as p, Formula as r, Statement as s, Collection as t, addStatements as u, isFormula as v, substitute as w, isStatement as x, isGround as y };
527
+
528
+ //# sourceMappingURL=Model-DlPzRYhF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Model-DlPzRYhF.mjs","names":["Term.NamedNode","Term.BlankNode","Term.Literal","Term.Variable","Term.Triple","Term.namedNode","PrefixMap.empty","Term.isNamedNode","Term.isBlankNode","Term.isLiteral","Term.isVariable","Guards.isVariable","Guards.isBlankNode","Term.NamedNodeSchema","Term.BlankNodeSchema","Term.LiteralSchema","Term.VariableSchema"],"sources":["../src/n3/internal/guards.ts","../src/n3/internal/loop.ts","../src/n3/Model.ts"],"sourcesContent":["/**\n * Class refinements of the core terms, for the walks that test every term\n * they visit (`Term.isVariable` and its siblings check the `TypeId` through\n * a `dual` call first; a class check is one instruction).\n *\n * @internal\n */\nimport * as Term from '../../Term.ts';\n\n/** @internal */\nexport const isNamedNode = (u: unknown): u is Term.NamedNode => u instanceof Term.NamedNode;\n\n/** @internal */\nexport const isBlankNode = (u: unknown): u is Term.BlankNode => u instanceof Term.BlankNode;\n\n/** @internal */\nexport const isLiteral = (u: unknown): u is Term.Literal => u instanceof Term.Literal;\n\n/** @internal */\nexport const isVariable = (u: unknown): u is Term.Variable => u instanceof Term.Variable;\n\n/** @internal */\nexport const isTriple = (u: unknown): u is Term.Triple => u instanceof Term.Triple;\n","/**\n * A loop as a function, for the scans that step until a condition holds\n * (probing a hash table, walking a list, backtracking a search).\n *\n * @internal\n */\nimport * as Iterable from 'effect/Iterable';\n\nconst BLOCK = 1024;\n\n/** `0 … BLOCK - 1`: the steps of one block run as an array scan, which engines optimise well. */\nconst offsets: ReadonlyArray<number> = Array.from({ length: BLOCK }, (_, i) => i);\n\n/** The first step of each block after the first: `BLOCK, 2 * BLOCK, …`. */\nconst blocks: Iterable<number> = Iterable.makeBy((b) => (b + 1) * BLOCK);\n\n/**\n * Calls `step` with 0, 1, 2, … until it returns `false`. It never recurses,\n * so a loop of any length takes no stack.\n *\n * @internal\n */\nexport const loop = (step: (i: number) => boolean): void => {\n // Most loops end within the first block, which needs no iterator\n if (offsets.every(step)) {\n Iterable.some(blocks, (base) => offsets.some((i) => !step(base + i)));\n }\n};\n","/**\n * The Notation3 data model.\n *\n * N3 extends RDF with quoted graphs (formulas), first-class lists\n * (collections), universally quantified variables and literals or other\n * non-IRI terms in any position of a statement. Core RDF `Quad`s only allow\n * ground terms, so this module defines an N3-specific model on top of the\n * core term classes:\n *\n * - `N3Term` = core `NamedNode` | `BlankNode` | `Literal` | `Variable`, plus\n * the N3-only `Collection` (an N3 list) and `Formula` (a graph term).\n * - `Statement` — a triple of arbitrary `N3Term`s.\n * - `Formula` — an unordered set of statements. Formulas are values: two\n * formulas with the same statements are equal (`Equal.equals`), which\n * matches the N3 semantics of graph terms.\n * - `Document` — a parsed N3 document: its top-level formula together with\n * the prefixes and base IRI it declared.\n *\n * Quick variables (`?x`) are represented by core `Term.Variable`s. Blank\n * nodes keep their core representation; a blank node is implicitly\n * existentially quantified in the innermost formula that contains all of its\n * occurrences.\n *\n * Like core terms, `Collection`, `Formula` and `Statement` implement `Equal`\n * and `Hash` through a canonical `key`.\n *\n * @since 0.1.0\n */\nimport * as Arr from 'effect/Array';\nimport * as Equal from 'effect/Equal';\nimport * as Hash from 'effect/Hash';\nimport { NodeInspectSymbol } from 'effect/Inspectable';\nimport * as MutableHashMap from 'effect/MutableHashMap';\nimport { pipeArguments, type Pipeable } from 'effect/Pipeable';\nimport * as Order from 'effect/Order';\nimport { hasProperty } from 'effect/Predicate';\nimport * as Schema from 'effect/Schema';\nimport * as SchemaTransformation from 'effect/SchemaTransformation';\nimport * as PrefixMap from '../PrefixMap.ts';\nimport * as Term from '../Term.ts';\nimport * as Guards from './internal/guards.ts';\nimport { loop } from './internal/loop.ts';\n\n/**\n * @since 0.1.0\n * @category symbols\n */\nexport const TypeId: unique symbol = Symbol.for('@thomasfosterau/effect-rdf/n3/Model');\n\n/**\n * @since 0.1.0\n * @category symbols\n */\nexport type TypeId = typeof TypeId;\n\nabstract class N3Base implements Equal.Equal, Pipeable {\n readonly [TypeId]: TypeId = TypeId;\n abstract readonly _tag: string;\n /** The key once computed (no key is empty: the shortest are `()` and `{}`). */\n #key = '';\n /** The hash once computed (0 until then; a hash of 0 is merely computed again). */\n #hash = 0;\n\n /** A canonical, N3-like serialisation used for equality and hashing. */\n get key(): string {\n if (this.#key === '') this.#key = this.computeKey();\n return this.#key;\n }\n\n protected abstract computeKey(): string;\n\n /**\n * Statements, collections and formulas override this to combine their\n * parts' hashes, so that a formula deduplicating its statements builds no\n * key; whatever the override, equal keys give equal hashes.\n */\n protected computeHash(): number {\n return Hash.string(this.key);\n }\n\n /** RDF/JS-style alias of `_tag`. */\n get termType(): this['_tag'] {\n return this._tag;\n }\n\n equals(that: unknown): boolean {\n return isN3Base(that) && that.key === this.key;\n }\n\n [Equal.symbol](that: Equal.Equal): boolean {\n return this.equals(that);\n }\n\n [Hash.symbol](): number {\n if (this.#hash === 0) this.#hash = this.computeHash();\n return this.#hash;\n }\n\n pipe() {\n return pipeArguments(this, arguments);\n }\n\n toString(): string {\n return this.key;\n }\n\n toJSON(): unknown {\n return { _tag: this._tag, value: this.key };\n }\n\n [NodeInspectSymbol](): string {\n return `${this._tag}(${this.key})`;\n }\n}\n\n/** Whether a value is an N3 collection, statement or formula (it carries the `TypeId`). */\nconst isN3Base = (u: unknown): u is N3Base => hasProperty(u, TypeId);\n\n/**\n * An N3 list (collection): an ordered, first-class sequence of terms,\n * written `( a b c )`. The empty collection corresponds to `rdf:nil`.\n *\n * @since 0.1.0\n * @category models\n */\nexport class Collection extends N3Base {\n readonly _tag = 'Collection' as const;\n readonly items: ReadonlyArray<N3Term>;\n constructor(items: ReadonlyArray<N3Term>) {\n super();\n this.items = items;\n }\n protected override computeHash(): number {\n return this.items.reduce((h, item) => Hash.combine(h, item[Hash.symbol]()), Hash.string('()'));\n }\n protected computeKey(): string {\n return Arr.isReadonlyArrayEmpty(this.items)\n ? '()'\n : `( ${this.items.map((t) => t.key).join(' ')} )`;\n }\n}\n\n/**\n * An N3 statement: a triple whose subject, predicate and object may be any\n * `N3Term`.\n *\n * @since 0.1.0\n * @category models\n */\nexport class Statement<\n out S extends N3Term = N3Term,\n out P extends N3Term = N3Term,\n out O extends N3Term = N3Term,\n> extends N3Base {\n readonly _tag = 'Statement' as const;\n readonly subject: S;\n readonly predicate: P;\n readonly object: O;\n constructor(subject: S, predicate: P, object: O) {\n super();\n this.subject = subject;\n this.predicate = predicate;\n this.object = object;\n }\n protected override computeHash(): number {\n return Hash.combine(\n Hash.combine(this.subject[Hash.symbol](), this.predicate[Hash.symbol]()),\n this.object[Hash.symbol](),\n );\n }\n protected computeKey(): string {\n return `${this.subject.key} ${this.predicate.key} ${this.object.key}`;\n }\n}\n\n/**\n * Whether two terms are equal (have the same key), compared by their parts\n * where that avoids building keys: identical or differently hashed terms are\n * decided at once, and statements, collections and formulas are compared\n * part by part. Only leaf terms (IRIs, literals, blank nodes, variables) are\n * compared by key.\n */\nconst sameTerm = (a: N3Term, b: N3Term): boolean => {\n if (a === b) return true;\n if (a[Hash.symbol]() !== b[Hash.symbol]()) return false;\n if (a instanceof Formula) return b instanceof Formula && sameFormula(a, b);\n if (a instanceof Collection) {\n return (\n b instanceof Collection &&\n a.items.length === b.items.length &&\n a.items.every((item, i) => sameTerm(item, b.items[i] ?? item))\n );\n }\n if (b instanceof Formula || b instanceof Collection) return false;\n return a.key === b.key;\n};\n\n/** Whether two statements are equal: their terms are (`sameTerm`). */\nconst sameStatement = (a: Statement, b: Statement): boolean =>\n sameTerm(a.subject, b.subject) &&\n sameTerm(a.predicate, b.predicate) &&\n sameTerm(a.object, b.object);\n\n/** Whether two formulas have the same statements (searched for small ones, by key otherwise). */\nconst sameFormula = (a: Formula, b: Formula): boolean => {\n const as = a.statements;\n const bs = b.statements;\n if (as.length !== bs.length) return false;\n if (as.length > 8) return a.key === b.key;\n return as.every((s) => bs.some((t) => sameStatement(s, t)));\n};\n\n/** A placeholder for the probe's statement before the first is placed. */\nconst emptyStatement: Statement = new Statement(\n Term.namedNode(''),\n Term.namedNode(''),\n Term.namedNode(''),\n);\n\n/**\n * The statements without duplicates, keeping the first of each: by their\n * structural hashes, comparing keys only when two hashes are equal, so that\n * no key is built for statements that differ.\n */\nconst deduplicate = (all: ReadonlyArray<Statement>): ReadonlyArray<Statement> => {\n const n = all.length;\n if (n < 2) return all;\n // Open addressing over a power-of-two table at most half full: each slot holds a statement's\n // hash and its position + 1 (0 when empty), probed linearly\n const mask = 2 ** Math.ceil(Math.log2(n * 2)) - 1;\n const hashes = new Int32Array(mask + 1);\n const slots = new Int32Array(mask + 1);\n const unique: Array<Statement> = [];\n // The probe of the statement being placed: one closure for the whole table\n let current: Statement = emptyStatement;\n let hash = 0;\n let i = 0;\n let duplicate = false;\n const probe = (): boolean => {\n const slot = slots[i] ?? 0;\n if (slot === 0) return false;\n if (hashes[i] === hash && sameStatement(current, all[slot - 1] ?? current)) {\n duplicate = true;\n return false;\n }\n i = (i + 1) & mask;\n return true;\n };\n all.forEach((s, k) => {\n current = s;\n hash = s[Hash.symbol]() | 0;\n i = hash & mask;\n duplicate = false;\n loop(probe);\n if (duplicate) return;\n hashes[i] = hash;\n slots[i] = k + 1;\n unique.push(s);\n });\n return unique.length === n ? all : unique;\n};\n\n/**\n * An N3 formula (graph term): an unordered set of statements, written\n * `{ ... }`. Duplicate statements are removed (when the statements are first\n * read), and equality is set equality of the statements (blank node labels are compared\n * literally; use `Isomorphism.isomorphic` for a blank-node-aware comparison).\n *\n * @since 0.1.0\n * @category models\n */\nexport class Formula extends N3Base {\n readonly _tag = 'Formula' as const;\n /** The statements as given (copied), then without duplicates once first read. */\n #statements: ReadonlyArray<Statement>;\n #deduplicated = false;\n constructor(statements: Iterable<Statement>) {\n super();\n this.#statements = Array.from(statements);\n }\n /**\n * The statements, without duplicates, in the order first given. They are\n * deduplicated the first time they are read, not when the formula is\n * made, so a formula that is never read (a parse whose result is only\n * checked for errors, a formula a rule discards) costs nothing to dedupe.\n */\n get statements(): ReadonlyArray<Statement> {\n if (!this.#deduplicated) {\n this.#statements = deduplicate(this.#statements);\n this.#deduplicated = true;\n }\n return this.#statements;\n }\n /** The sum of the statements' hashes: the same for the same set, whatever the order. */\n protected override computeHash(): number {\n return Hash.optimize(this.statements.reduce((h, st) => (h + st[Hash.symbol]()) | 0, 0x7b7d));\n }\n /** The number of statements in the formula. */\n get size(): number {\n // Fewer than two statements cannot hold a duplicate\n return this.#statements.length < 2 ? this.#statements.length : this.statements.length;\n }\n protected computeKey(): string {\n if (Arr.isReadonlyArrayEmpty(this.statements)) return '{}';\n const keys = Arr.sort(\n this.statements.map((s) => s.key),\n Order.String,\n );\n return `{ ${keys.join(' . ')} }`;\n }\n [Symbol.iterator](): Iterator<Statement> {\n return this.statements[Symbol.iterator]();\n }\n}\n\n/**\n * Any term that may appear in an N3 statement.\n *\n * @since 0.1.0\n * @category models\n */\nexport type N3Term =\n | Term.NamedNode\n | Term.BlankNode\n | Term.Literal\n | Term.Variable\n | Collection\n | Formula;\n\n/**\n * A parsed N3 document.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface Document {\n /** The top-level formula: every statement asserted by the document. */\n readonly formula: Formula;\n /** The prefixes declared by the document (in declaration order). */\n readonly prefixes: PrefixMap.PrefixMap;\n /** The final in-scope base IRI of the document, if any. */\n readonly baseIri: string | undefined;\n}\n\n// -----------------------------------------------------------------------------\n// Constructors\n// -----------------------------------------------------------------------------\n\n/**\n * @since 0.1.0\n * @category constructors\n */\nexport const statement = <S extends N3Term, P extends N3Term, O extends N3Term>(\n subject: S,\n predicate: P,\n object: O,\n): Statement<S, P, O> => new Statement(subject, predicate, object);\n\n/**\n * @since 0.1.0\n * @category constructors\n */\nexport const formula = (statements: Iterable<Statement> = []): Formula => new Formula(statements);\n\n/**\n * The empty formula `{}`.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const emptyFormula: Formula = new Formula([]);\n\n/**\n * @since 0.1.0\n * @category constructors\n */\nexport const collection = (items: Iterable<N3Term> = []): Collection =>\n new Collection(Array.from(items));\n\n/**\n * Creates a document from a formula.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const document = (\n formula: Formula,\n options?: { readonly prefixes?: PrefixMap.PrefixMap; readonly baseIri?: string | undefined },\n): Document => ({\n formula,\n prefixes: options?.prefixes ?? PrefixMap.empty,\n baseIri: options?.baseIri,\n});\n\n// -----------------------------------------------------------------------------\n// Guards\n// -----------------------------------------------------------------------------\n\n/**\n * @since 0.1.0\n * @category guards\n */\nexport const isFormula = (u: unknown): u is Formula => u instanceof Formula;\n\n/**\n * @since 0.1.0\n * @category guards\n */\nexport const isCollection = (u: unknown): u is Collection => u instanceof Collection;\n\n/**\n * @since 0.1.0\n * @category guards\n */\nexport const isStatement = (u: unknown): u is Statement => u instanceof Statement;\n\n/**\n * Whether a value is an `N3Term` (a core IRI, blank node, literal or\n * variable, or an N3 collection or formula).\n *\n * @since 0.1.0\n * @category guards\n */\nexport const isN3Term = (u: unknown): u is N3Term =>\n isFormula(u) ||\n isCollection(u) ||\n Term.isNamedNode(u) ||\n Term.isBlankNode(u) ||\n Term.isLiteral(u) ||\n Term.isVariable(u);\n\n// -----------------------------------------------------------------------------\n// Inspection\n// -----------------------------------------------------------------------------\n\n/**\n * Whether a term, statement or formula is free of variables (recursively).\n *\n * @since 0.1.0\n * @category predicates\n */\nexport const isGround = (self: N3Term | Statement): boolean => groundness(self);\n\n// Plain refinements rather than `Match`: `isGround` runs for every term it visits.\nconst groundness = (self: N3Term | Statement): boolean =>\n self instanceof Statement\n ? groundness(self.subject) && groundness(self.predicate) && groundness(self.object)\n : self instanceof Formula\n ? self.statements.every(groundness)\n : self instanceof Collection\n ? self.items.every(groundness)\n : !Guards.isVariable(self);\n\n/** Adds the atoms of `self` that pass `test` to `out`, by key, in order of first occurrence. */\nconst collect = <A extends N3Term>(\n self: N3Term | Statement,\n test: (t: N3Term) => t is A,\n out: MutableHashMap.MutableHashMap<string, A>,\n): void => {\n if (self instanceof Statement) {\n collect(self.subject, test, out);\n collect(self.predicate, test, out);\n collect(self.object, test, out);\n } else if (self instanceof Formula) {\n self.statements.forEach((s) => collect(s, test, out));\n } else if (self instanceof Collection) {\n self.items.forEach((i) => collect(i, test, out));\n } else if (test(self)) {\n MutableHashMap.set(out, self.key, self);\n }\n};\n\n/**\n * All distinct variables occurring in a term, statement or formula\n * (including inside nested formulas and collections), in order of first\n * occurrence.\n *\n * @since 0.1.0\n * @category getters\n */\nexport const variables = (self: N3Term | Statement): ReadonlyArray<Term.Variable> => {\n const out = MutableHashMap.empty<string, Term.Variable>();\n collect(self, Guards.isVariable, out);\n return Arr.fromIterable(MutableHashMap.values(out));\n};\n\n/**\n * All distinct blank nodes occurring in a term, statement or formula\n * (including inside nested formulas and collections).\n *\n * @since 0.1.0\n * @category getters\n */\nexport const blankNodes = (self: N3Term | Statement): ReadonlyArray<Term.BlankNode> => {\n const out = MutableHashMap.empty<string, Term.BlankNode>();\n collect(self, Guards.isBlankNode, out);\n return Arr.fromIterable(MutableHashMap.values(out));\n};\n\n// -----------------------------------------------------------------------------\n// Combinators\n// -----------------------------------------------------------------------------\n\n/**\n * Applies `f` to every atomic term (IRI, blank node, literal, variable),\n * recursing into collections, statements and nested formulas.\n *\n * @since 0.1.0\n * @category combinators\n */\nexport function mapTerms<T extends N3Term | Statement>(\n self: T,\n f: (term: Term.NamedNode | Term.BlankNode | Term.Literal | Term.Variable) => N3Term,\n): T extends Statement ? Statement : T extends Formula ? Formula : N3Term;\nexport function mapTerms(\n self: N3Term | Statement,\n f: (term: Term.NamedNode | Term.BlankNode | Term.Literal | Term.Variable) => N3Term,\n): N3Term | Statement {\n return self instanceof Statement ? mapStatement(self, f) : mapTerm(self, f);\n}\n\ntype Atom = Term.NamedNode | Term.BlankNode | Term.Literal | Term.Variable;\n\n// Plain refinements rather than `Match`: `mapTerms` runs for every term it visits.\nconst mapTerm = (t: N3Term, f: (term: Atom) => N3Term): N3Term =>\n t instanceof Formula\n ? new Formula(t.statements.map((s) => mapStatement(s, f)))\n : t instanceof Collection\n ? new Collection(t.items.map((i) => mapTerm(i, f)))\n : f(t);\n\nconst mapStatement = (s: Statement, f: (term: Atom) => N3Term): Statement =>\n new Statement(mapTerm(s.subject, f), mapTerm(s.predicate, f), mapTerm(s.object, f));\n\n/**\n * Replaces variables by the terms bound to them (by variable name); unbound\n * variables are kept.\n *\n * @since 0.1.0\n * @category combinators\n */\nexport function substitute<T extends N3Term | Statement>(\n self: T,\n bindings: ReadonlyMap<string, N3Term>,\n): T extends Statement ? Statement : T extends Formula ? Formula : N3Term;\nexport function substitute(\n self: N3Term | Statement,\n bindings: ReadonlyMap<string, N3Term>,\n): N3Term | Statement {\n return mapTerms(self, (t) => (Guards.isVariable(t) ? (bindings.get(t.value) ?? t) : t));\n}\n\n/**\n * Adds statements to a formula.\n *\n * @since 0.1.0\n * @category combinators\n */\nexport const addStatements = (self: Formula, statements: Iterable<Statement>): Formula =>\n new Formula([...self.statements, ...statements]);\n\n/**\n * Whether a formula contains a statement.\n *\n * @since 0.1.0\n * @category predicates\n */\nexport const hasStatement = (self: Formula, statement: Statement): boolean =>\n self.statements.some((s) => s.key === statement.key);\n\n// -----------------------------------------------------------------------------\n// Schemas\n// -----------------------------------------------------------------------------\n\n/**\n * Schema of a formula; its JSON codec is\n * `{ \"type\": \"formula\", \"statements\": [{ subject, predicate, object }, …] }`\n * over JSON N3 terms.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport const FormulaSchema: Schema.declare<Formula> = Schema.declare(isFormula, {\n identifier: 'Formula',\n toCodecJson: () =>\n Schema.link<Formula>()(\n Schema.Struct({\n type: Schema.tag('formula'),\n statements: Schema.Array(Schema.suspend(() => StatementSchema)),\n }),\n SchemaTransformation.transform({\n decode: (j) => new Formula(j.statements),\n encode: (f) => ({ type: 'formula' as const, statements: f.statements }),\n }),\n ),\n});\n\n/**\n * The value a `FormulaSchema` decodes to.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport type FormulaSchema = typeof FormulaSchema.Type;\n\n/**\n * Schema of a collection; its JSON codec is\n * `{ \"type\": \"collection\", \"items\": [ … ] }` over JSON N3 terms.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport const CollectionSchema: Schema.declare<Collection> = Schema.declare(isCollection, {\n identifier: 'Collection',\n toCodecJson: () =>\n Schema.link<Collection>()(\n Schema.Struct({\n type: Schema.tag('collection'),\n items: Schema.Array(Schema.suspend(() => N3TermSchema)),\n }),\n SchemaTransformation.transform({\n decode: (j) => new Collection(j.items),\n encode: (c) => ({ type: 'collection' as const, items: c.items }),\n }),\n ),\n});\n\n/**\n * The value a `CollectionSchema` decodes to.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport type CollectionSchema = typeof CollectionSchema.Type;\n\n/**\n * Schema of a statement; its JSON codec is `{ subject, predicate, object }`\n * over JSON N3 terms.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport const StatementSchema: Schema.declare<Statement> = Schema.declare(isStatement, {\n identifier: 'Statement',\n toCodecJson: () =>\n Schema.link<Statement>()(\n Schema.Struct({\n subject: Schema.suspend(() => N3TermSchema),\n predicate: Schema.suspend(() => N3TermSchema),\n object: Schema.suspend(() => N3TermSchema),\n }),\n SchemaTransformation.transform({\n decode: (j) => new Statement(j.subject, j.predicate, j.object),\n encode: (st) => ({ subject: st.subject, predicate: st.predicate, object: st.object }),\n }),\n ),\n});\n\n/**\n * The value a `StatementSchema` decodes to.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport type StatementSchema = typeof StatementSchema.Type;\n\n/**\n * Schema of any N3 term; its JSON codec is core's `TermJson` term (IRIs,\n * blank nodes, literals, variables) or a JSON collection or formula.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport const N3TermSchema: Schema.declare<N3Term> = Schema.declare(isN3Term, {\n identifier: 'N3Term',\n toCodecJson: () =>\n Schema.link<N3Term>()(\n Schema.Union([\n Term.NamedNodeSchema,\n Term.BlankNodeSchema,\n Term.LiteralSchema,\n Term.VariableSchema,\n CollectionSchema,\n FormulaSchema,\n ]),\n SchemaTransformation.passthrough(),\n ),\n});\n\n/**\n * The value a `N3TermSchema` decodes to.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport type N3TermSchema = typeof N3TermSchema.Type;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAa,eAAe,MAAoC,aAAaA;;AAG7E,MAAa,eAAe,MAAoC,aAAaC;;AAG7E,MAAa,aAAa,MAAkC,aAAaC;;AAGzE,MAAa,cAAc,MAAmC,aAAaC;;AAG3E,MAAa,YAAY,MAAiC,aAAaC;;;;;;;;ACdvE,MAAM,QAAQ;;AAGd,MAAM,UAAiC,MAAM,KAAK,EAAE,QAAQ,MAAM,IAAI,GAAG,MAAM,CAAC;;AAGhF,MAAM,SAA2B,SAAS,QAAQ,OAAO,IAAI,KAAK,KAAK;;;;;;;AAQvE,MAAa,QAAQ,SAAuC;CAE1D,IAAI,QAAQ,MAAM,IAAI,GACpB,SAAS,KAAK,SAAS,SAAS,QAAQ,MAAM,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACoBA,MAAa,SAAwB,OAAO,IAAI,qCAAqC;AAQrF,IAAe,SAAf,MAAuD;CACrD,CAAU,UAAkB;;CAG5B,OAAO;;CAEP,QAAQ;;CAGR,IAAI,MAAc;EAChB,IAAI,KAAK,SAAS,IAAI,KAAK,OAAO,KAAK,WAAW;EAClD,OAAO,KAAK;CACd;;;;;;CASA,cAAgC;EAC9B,OAAO,KAAK,OAAO,KAAK,GAAG;CAC7B;;CAGA,IAAI,WAAyB;EAC3B,OAAO,KAAK;CACd;CAEA,OAAO,MAAwB;EAC7B,OAAO,SAAS,IAAI,KAAK,KAAK,QAAQ,KAAK;CAC7C;CAEA,CAAC,MAAM,QAAQ,MAA4B;EACzC,OAAO,KAAK,OAAO,IAAI;CACzB;CAEA,CAAC,KAAK,UAAkB;EACtB,IAAI,KAAK,UAAU,GAAG,KAAK,QAAQ,KAAK,YAAY;EACpD,OAAO,KAAK;CACd;CAEA,OAAO;EACL,OAAO,cAAc,MAAM,SAAS;CACtC;CAEA,WAAmB;EACjB,OAAO,KAAK;CACd;CAEA,SAAkB;EAChB,OAAO;GAAE,MAAM,KAAK;GAAM,OAAO,KAAK;EAAI;CAC5C;CAEA,CAAC,qBAA6B;EAC5B,OAAO,GAAG,KAAK,KAAK,GAAG,KAAK,IAAI;CAClC;AACF;;AAGA,MAAM,YAAY,MAA4B,YAAY,GAAG,MAAM;;;;;;;;AASnE,IAAa,aAAb,cAAgC,OAAO;CACrC,OAAgB;CAChB;CACA,YAAY,OAA8B;EACxC,MAAM;EACN,KAAK,QAAQ;CACf;CACA,cAAyC;EACvC,OAAO,KAAK,MAAM,QAAQ,GAAG,SAAS,KAAK,QAAQ,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC;CAC/F;CACA,aAA+B;EAC7B,OAAO,IAAI,qBAAqB,KAAK,KAAK,IACtC,OACA,KAAK,KAAK,MAAM,KAAK,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;CAClD;AACF;;;;;;;;AASA,IAAa,YAAb,cAIU,OAAO;CACf,OAAgB;CAChB;CACA;CACA;CACA,YAAY,SAAY,WAAc,QAAW;EAC/C,MAAM;EACN,KAAK,UAAU;EACf,KAAK,YAAY;EACjB,KAAK,SAAS;CAChB;CACA,cAAyC;EACvC,OAAO,KAAK,QACV,KAAK,QAAQ,KAAK,QAAQ,KAAK,OAAO,CAAC,GAAG,KAAK,UAAU,KAAK,OAAO,CAAC,CAAC,GACvE,KAAK,OAAO,KAAK,OAAO,CAAC,CAC3B;CACF;CACA,aAA+B;EAC7B,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,OAAO;CAClE;AACF;;;;;;;;AASA,MAAM,YAAY,GAAW,MAAuB;CAClD,IAAI,MAAM,GAAG,OAAO;CACpB,IAAI,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,KAAK,OAAO,CAAC,GAAG,OAAO;CAClD,IAAI,aAAa,SAAS,OAAO,aAAa,WAAW,YAAY,GAAG,CAAC;CACzE,IAAI,aAAa,YACf,OACE,aAAa,cACb,EAAE,MAAM,WAAW,EAAE,MAAM,UAC3B,EAAE,MAAM,OAAO,MAAM,MAAM,SAAS,MAAM,EAAE,MAAM,MAAM,IAAI,CAAC;CAGjE,IAAI,aAAa,WAAW,aAAa,YAAY,OAAO;CAC5D,OAAO,EAAE,QAAQ,EAAE;AACrB;;AAGA,MAAM,iBAAiB,GAAc,MACnC,SAAS,EAAE,SAAS,EAAE,OAAO,KAC7B,SAAS,EAAE,WAAW,EAAE,SAAS,KACjC,SAAS,EAAE,QAAQ,EAAE,MAAM;;AAG7B,MAAM,eAAe,GAAY,MAAwB;CACvD,MAAM,KAAK,EAAE;CACb,MAAM,KAAK,EAAE;CACb,IAAI,GAAG,WAAW,GAAG,QAAQ,OAAO;CACpC,IAAI,GAAG,SAAS,GAAG,OAAO,EAAE,QAAQ,EAAE;CACtC,OAAO,GAAG,OAAO,MAAM,GAAG,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC;AAC5D;;AAGA,MAAM,iBAA4B,IAAI,UACpCC,UAAe,EAAE,GACjBA,UAAe,EAAE,GACjBA,UAAe,EAAE,CACnB;;;;;;AAOA,MAAM,eAAe,QAA4D;CAC/E,MAAM,IAAI,IAAI;CACd,IAAI,IAAI,GAAG,OAAO;CAGlB,MAAM,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI;CAChD,MAAM,SAAS,IAAI,WAAW,OAAO,CAAC;CACtC,MAAM,QAAQ,IAAI,WAAW,OAAO,CAAC;CACrC,MAAM,SAA2B,CAAC;CAElC,IAAI,UAAqB;CACzB,IAAI,OAAO;CACX,IAAI,IAAI;CACR,IAAI,YAAY;CAChB,MAAM,cAAuB;EAC3B,MAAM,OAAO,MAAM,MAAM;EACzB,IAAI,SAAS,GAAG,OAAO;EACvB,IAAI,OAAO,OAAO,QAAQ,cAAc,SAAS,IAAI,OAAO,MAAM,OAAO,GAAG;GAC1E,YAAY;GACZ,OAAO;EACT;EACA,IAAK,IAAI,IAAK;EACd,OAAO;CACT;CACA,IAAI,SAAS,GAAG,MAAM;EACpB,UAAU;EACV,OAAO,EAAE,KAAK,OAAO,CAAC,IAAI;EAC1B,IAAI,OAAO;EACX,YAAY;EACZ,KAAK,KAAK;EACV,IAAI,WAAW;EACf,OAAO,KAAK;EACZ,MAAM,KAAK,IAAI;EACf,OAAO,KAAK,CAAC;CACf,CAAC;CACD,OAAO,OAAO,WAAW,IAAI,MAAM;AACrC;;;;;;;;;;AAWA,IAAa,UAAb,cAA6B,OAAO;CAClC,OAAgB;;CAEhB;CACA,gBAAgB;CAChB,YAAY,YAAiC;EAC3C,MAAM;EACN,KAAK,cAAc,MAAM,KAAK,UAAU;CAC1C;;;;;;;CAOA,IAAI,aAAuC;EACzC,IAAI,CAAC,KAAK,eAAe;GACvB,KAAK,cAAc,YAAY,KAAK,WAAW;GAC/C,KAAK,gBAAgB;EACvB;EACA,OAAO,KAAK;CACd;;CAEA,cAAyC;EACvC,OAAO,KAAK,SAAS,KAAK,WAAW,QAAQ,GAAG,OAAQ,IAAI,GAAG,KAAK,OAAO,CAAC,IAAK,GAAG,KAAM,CAAC;CAC7F;;CAEA,IAAI,OAAe;EAEjB,OAAO,KAAK,YAAY,SAAS,IAAI,KAAK,YAAY,SAAS,KAAK,WAAW;CACjF;CACA,aAA+B;EAC7B,IAAI,IAAI,qBAAqB,KAAK,UAAU,GAAG,OAAO;EAKtD,OAAO,KAJM,IAAI,KACf,KAAK,WAAW,KAAK,MAAM,EAAE,GAAG,GAChC,MAAM,MAEO,CAAC,CAAC,KAAK,KAAK,EAAE;CAC/B;CACA,CAAC,OAAO,YAAiC;EACvC,OAAO,KAAK,WAAW,OAAO,SAAS,CAAC;CAC1C;AACF;;;;;AAuCA,MAAa,aACX,SACA,WACA,WACuB,IAAI,UAAU,SAAS,WAAW,MAAM;;;;;AAMjE,MAAa,WAAW,aAAkC,CAAC,MAAe,IAAI,QAAQ,UAAU;;;;;;;AAQhG,MAAa,eAAwB,IAAI,QAAQ,CAAC,CAAC;;;;;AAMnD,MAAa,cAAc,QAA0B,CAAC,MACpD,IAAI,WAAW,MAAM,KAAK,KAAK,CAAC;;;;;;;AAQlC,MAAa,YACX,SACA,aACc;CACd;CACA,UAAU,SAAS,YAAYC;CAC/B,SAAS,SAAS;AACpB;;;;;AAUA,MAAa,aAAa,MAA6B,aAAa;;;;;AAMpE,MAAa,gBAAgB,MAAgC,aAAa;;;;;AAM1E,MAAa,eAAe,MAA+B,aAAa;;;;;;;;AASxE,MAAa,YAAY,MACvB,UAAU,CAAC,KACX,aAAa,CAAC,KACdC,cAAiB,CAAC,KAClBC,cAAiB,CAAC,KAClBC,YAAe,CAAC,KAChBC,aAAgB,CAAC;;;;;;;AAYnB,MAAa,YAAY,SAAsC,WAAW,IAAI;AAG9E,MAAM,cAAc,SAClB,gBAAgB,YACZ,WAAW,KAAK,OAAO,KAAK,WAAW,KAAK,SAAS,KAAK,WAAW,KAAK,MAAM,IAChF,gBAAgB,UACd,KAAK,WAAW,MAAM,UAAU,IAChC,gBAAgB,aACd,KAAK,MAAM,MAAM,UAAU,IAC3B,CAACC,WAAkB,IAAI;;AAGjC,MAAM,WACJ,MACA,MACA,QACS;CACT,IAAI,gBAAgB,WAAW;EAC7B,QAAQ,KAAK,SAAS,MAAM,GAAG;EAC/B,QAAQ,KAAK,WAAW,MAAM,GAAG;EACjC,QAAQ,KAAK,QAAQ,MAAM,GAAG;CAChC,OAAO,IAAI,gBAAgB,SACzB,KAAK,WAAW,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC;MAC/C,IAAI,gBAAgB,YACzB,KAAK,MAAM,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC;MAC1C,IAAI,KAAK,IAAI,GAClB,eAAe,IAAI,KAAK,KAAK,KAAK,IAAI;AAE1C;;;;;;;;;AAUA,MAAa,aAAa,SAA2D;CACnF,MAAM,MAAM,eAAe,MAA6B;CACxD,QAAQ,MAAMA,YAAmB,GAAG;CACpC,OAAO,IAAI,aAAa,eAAe,OAAO,GAAG,CAAC;AACpD;;;;;;;;AASA,MAAa,cAAc,SAA4D;CACrF,MAAM,MAAM,eAAe,MAA8B;CACzD,QAAQ,MAAMC,aAAoB,GAAG;CACrC,OAAO,IAAI,aAAa,eAAe,OAAO,GAAG,CAAC;AACpD;AAiBA,SAAgB,SACd,MACA,GACoB;CACpB,OAAO,gBAAgB,YAAY,aAAa,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC;AAC5E;AAKA,MAAM,WAAW,GAAW,MAC1B,aAAa,UACT,IAAI,QAAQ,EAAE,WAAW,KAAK,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,IACvD,aAAa,aACX,IAAI,WAAW,EAAE,MAAM,KAAK,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,IAChD,EAAE,CAAC;AAEX,MAAM,gBAAgB,GAAc,MAClC,IAAI,UAAU,QAAQ,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAapF,SAAgB,WACd,MACA,UACoB;CACpB,OAAO,SAAS,OAAO,MAAOD,WAAkB,CAAC,IAAK,SAAS,IAAI,EAAE,KAAK,KAAK,IAAK,CAAE;AACxF;;;;;;;AAQA,MAAa,iBAAiB,MAAe,eAC3C,IAAI,QAAQ,CAAC,GAAG,KAAK,YAAY,GAAG,UAAU,CAAC;;;;;;;AAQjD,MAAa,gBAAgB,MAAe,cAC1C,KAAK,WAAW,MAAM,MAAM,EAAE,QAAQ,UAAU,GAAG;;;;;;;;;AAcrD,MAAa,gBAAyC,OAAO,QAAQ,WAAW;CAC9E,YAAY;CACZ,mBACE,OAAO,KAAc,CAAC,CACpB,OAAO,OAAO;EACZ,MAAM,OAAO,IAAI,SAAS;EAC1B,YAAY,OAAO,MAAM,OAAO,cAAc,eAAe,CAAC;CAChE,CAAC,GACD,qBAAqB,UAAU;EAC7B,SAAS,MAAM,IAAI,QAAQ,EAAE,UAAU;EACvC,SAAS,OAAO;GAAE,MAAM;GAAoB,YAAY,EAAE;EAAW;CACvE,CAAC,CACH;AACJ,CAAC;;;;;;;;AAiBD,MAAa,mBAA+C,OAAO,QAAQ,cAAc;CACvF,YAAY;CACZ,mBACE,OAAO,KAAiB,CAAC,CACvB,OAAO,OAAO;EACZ,MAAM,OAAO,IAAI,YAAY;EAC7B,OAAO,OAAO,MAAM,OAAO,cAAc,YAAY,CAAC;CACxD,CAAC,GACD,qBAAqB,UAAU;EAC7B,SAAS,MAAM,IAAI,WAAW,EAAE,KAAK;EACrC,SAAS,OAAO;GAAE,MAAM;GAAuB,OAAO,EAAE;EAAM;CAChE,CAAC,CACH;AACJ,CAAC;;;;;;;;AAiBD,MAAa,kBAA6C,OAAO,QAAQ,aAAa;CACpF,YAAY;CACZ,mBACE,OAAO,KAAgB,CAAC,CACtB,OAAO,OAAO;EACZ,SAAS,OAAO,cAAc,YAAY;EAC1C,WAAW,OAAO,cAAc,YAAY;EAC5C,QAAQ,OAAO,cAAc,YAAY;CAC3C,CAAC,GACD,qBAAqB,UAAU;EAC7B,SAAS,MAAM,IAAI,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM;EAC7D,SAAS,QAAQ;GAAE,SAAS,GAAG;GAAS,WAAW,GAAG;GAAW,QAAQ,GAAG;EAAO;CACrF,CAAC,CACH;AACJ,CAAC;;;;;;;;AAiBD,MAAa,eAAuC,OAAO,QAAQ,UAAU;CAC3E,YAAY;CACZ,mBACE,OAAO,KAAa,CAAC,CACnB,OAAO,MAAM;EACXE;EACAC;EACAC;EACAC;EACA;EACA;CACF,CAAC,GACD,qBAAqB,YAAY,CACnC;AACJ,CAAC"}