@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,893 @@
1
+ /**
2
+ * The ShExJ abstract syntax of ShEx schemas (ShEx 2.1, plus the ShEx 2.2
3
+ * `EXTENDS` / `ABSTRACT` / `RESTRICTS` additions), as plain immutable
4
+ * TypeScript values together with Effect `Schema`s that decode and encode
5
+ * ShExJ JSON documents.
6
+ *
7
+ * Shape and triple expression labels are IRI strings or blank node labels
8
+ * written `_:label`. A reference to a shape or triple expression is simply
9
+ * its label (a string).
10
+ *
11
+ * @since 0.1.0
12
+ */
13
+ import * as Iri from '../Iri.ts';
14
+ import * as Effect from 'effect/Effect';
15
+ import * as Match from 'effect/Match';
16
+ import * as Result from 'effect/Result';
17
+ import * as S from 'effect/Schema';
18
+ import { ShExJError } from './ShExError.ts';
19
+ import * as Json from './internal/json.ts';
20
+ import * as Predicate from 'effect/Predicate';
21
+
22
+ // -----------------------------------------------------------------------------
23
+ // Models
24
+ // -----------------------------------------------------------------------------
25
+
26
+ /**
27
+ * An IRI (absolute, after parsing) or a blank node label (`_:label`).
28
+ *
29
+ * @since 0.1.0
30
+ * @category models
31
+ */
32
+ export type Label = string;
33
+
34
+ /**
35
+ * A ShEx schema.
36
+ *
37
+ * @since 0.1.0
38
+ * @category models
39
+ */
40
+ export interface Schema {
41
+ readonly type: 'Schema';
42
+ readonly '@context'?: string;
43
+ readonly imports?: ReadonlyArray<string>;
44
+ readonly startActs?: ReadonlyArray<SemAct>;
45
+ readonly start?: ShapeExprOrRef;
46
+ readonly shapes?: ReadonlyArray<ShapeDecl>;
47
+ }
48
+
49
+ /**
50
+ * A labelled shape expression declaration.
51
+ *
52
+ * @since 0.1.0
53
+ * @category models
54
+ */
55
+ export interface ShapeDecl {
56
+ readonly type: 'ShapeDecl';
57
+ readonly id: Label;
58
+ readonly abstract?: boolean;
59
+ readonly restricts?: ReadonlyArray<ShapeExprOrRef>;
60
+ readonly shapeExpr: ShapeExprOrRef;
61
+ }
62
+
63
+ /**
64
+ * @since 0.1.0
65
+ * @category models
66
+ */
67
+ export type ShapeExpr = ShapeOr | ShapeAnd | ShapeNot | NodeConstraint | Shape | ShapeExternal;
68
+
69
+ /**
70
+ * A shape expression or a reference (label) to a declared shape expression.
71
+ *
72
+ * @since 0.1.0
73
+ * @category models
74
+ */
75
+ export type ShapeExprOrRef = ShapeExpr | Label;
76
+
77
+ /**
78
+ * @since 0.1.0
79
+ * @category models
80
+ */
81
+ export interface ShapeOr {
82
+ readonly type: 'ShapeOr';
83
+ readonly shapeExprs: ReadonlyArray<ShapeExprOrRef>;
84
+ }
85
+
86
+ /**
87
+ * @since 0.1.0
88
+ * @category models
89
+ */
90
+ export interface ShapeAnd {
91
+ readonly type: 'ShapeAnd';
92
+ readonly shapeExprs: ReadonlyArray<ShapeExprOrRef>;
93
+ }
94
+
95
+ /**
96
+ * @since 0.1.0
97
+ * @category models
98
+ */
99
+ export interface ShapeNot {
100
+ readonly type: 'ShapeNot';
101
+ readonly shapeExpr: ShapeExprOrRef;
102
+ }
103
+
104
+ /**
105
+ * A shape defined outside the schema (supplied by the validator).
106
+ *
107
+ * @since 0.1.0
108
+ * @category models
109
+ */
110
+ export interface ShapeExternal {
111
+ readonly type: 'ShapeExternal';
112
+ }
113
+
114
+ /**
115
+ * @since 0.1.0
116
+ * @category models
117
+ */
118
+ export type NodeKind = 'iri' | 'bnode' | 'nonliteral' | 'literal';
119
+
120
+ /**
121
+ * XML Schema string and numeric facets.
122
+ *
123
+ * @since 0.1.0
124
+ * @category models
125
+ */
126
+ export interface Facets {
127
+ readonly length?: number;
128
+ readonly minlength?: number;
129
+ readonly maxlength?: number;
130
+ readonly pattern?: string;
131
+ readonly flags?: string;
132
+ readonly mininclusive?: number;
133
+ readonly minexclusive?: number;
134
+ readonly maxinclusive?: number;
135
+ readonly maxexclusive?: number;
136
+ readonly totaldigits?: number;
137
+ readonly fractiondigits?: number;
138
+ }
139
+
140
+ /**
141
+ * @since 0.1.0
142
+ * @category models
143
+ */
144
+ export interface NodeConstraint extends Facets {
145
+ readonly type: 'NodeConstraint';
146
+ readonly nodeKind?: NodeKind;
147
+ readonly datatype?: string;
148
+ readonly values?: ReadonlyArray<ValueSetValue>;
149
+ readonly semActs?: ReadonlyArray<SemAct>;
150
+ readonly annotations?: ReadonlyArray<Annotation>;
151
+ }
152
+
153
+ /**
154
+ * A literal in a value set or annotation. `type` is the datatype IRI (absent
155
+ * for `xsd:string` and language-tagged strings).
156
+ *
157
+ * @since 0.1.0
158
+ * @category models
159
+ */
160
+ export interface ObjectLiteral {
161
+ readonly value: string;
162
+ readonly language?: string;
163
+ readonly type?: string;
164
+ }
165
+
166
+ /**
167
+ * An IRI (string) or a literal.
168
+ *
169
+ * @since 0.1.0
170
+ * @category models
171
+ */
172
+ export type ObjectValue = string | ObjectLiteral;
173
+
174
+ /**
175
+ * @since 0.1.0
176
+ * @category models
177
+ */
178
+ export interface Wildcard {
179
+ readonly type: 'Wildcard';
180
+ }
181
+
182
+ /**
183
+ * @since 0.1.0
184
+ * @category models
185
+ */
186
+ export interface IriStem {
187
+ readonly type: 'IriStem';
188
+ readonly stem: string;
189
+ }
190
+
191
+ /**
192
+ * @since 0.1.0
193
+ * @category models
194
+ */
195
+ export interface IriStemRange {
196
+ readonly type: 'IriStemRange';
197
+ readonly stem: string | Wildcard;
198
+ readonly exclusions: ReadonlyArray<string | IriStem>;
199
+ }
200
+
201
+ /**
202
+ * @since 0.1.0
203
+ * @category models
204
+ */
205
+ export interface LiteralStem {
206
+ readonly type: 'LiteralStem';
207
+ readonly stem: string;
208
+ }
209
+
210
+ /**
211
+ * @since 0.1.0
212
+ * @category models
213
+ */
214
+ export interface LiteralStemRange {
215
+ readonly type: 'LiteralStemRange';
216
+ readonly stem: string | Wildcard;
217
+ readonly exclusions: ReadonlyArray<string | LiteralStem>;
218
+ }
219
+
220
+ /**
221
+ * @since 0.1.0
222
+ * @category models
223
+ */
224
+ export interface Language {
225
+ readonly type: 'Language';
226
+ readonly languageTag: string;
227
+ }
228
+
229
+ /**
230
+ * @since 0.1.0
231
+ * @category models
232
+ */
233
+ export interface LanguageStem {
234
+ readonly type: 'LanguageStem';
235
+ readonly stem: string;
236
+ }
237
+
238
+ /**
239
+ * @since 0.1.0
240
+ * @category models
241
+ */
242
+ export interface LanguageStemRange {
243
+ readonly type: 'LanguageStemRange';
244
+ readonly stem: string | Wildcard;
245
+ readonly exclusions: ReadonlyArray<string | LanguageStem>;
246
+ }
247
+
248
+ /**
249
+ * @since 0.1.0
250
+ * @category models
251
+ */
252
+ export type ValueSetValue =
253
+ | ObjectValue
254
+ | IriStem
255
+ | IriStemRange
256
+ | LiteralStem
257
+ | LiteralStemRange
258
+ | Language
259
+ | LanguageStem
260
+ | LanguageStemRange;
261
+
262
+ /**
263
+ * @since 0.1.0
264
+ * @category models
265
+ */
266
+ export interface Shape {
267
+ readonly type: 'Shape';
268
+ readonly closed?: boolean;
269
+ readonly extends?: ReadonlyArray<ShapeExprOrRef>;
270
+ readonly extra?: ReadonlyArray<string>;
271
+ readonly expression?: TripleExprOrRef;
272
+ readonly semActs?: ReadonlyArray<SemAct>;
273
+ readonly annotations?: ReadonlyArray<Annotation>;
274
+ }
275
+
276
+ /**
277
+ * @since 0.1.0
278
+ * @category models
279
+ */
280
+ export type TripleExpr = EachOf | OneOf | TripleConstraint;
281
+
282
+ /**
283
+ * A triple expression or a reference (inclusion, `&label`) to a labelled
284
+ * triple expression.
285
+ *
286
+ * @since 0.1.0
287
+ * @category models
288
+ */
289
+ export type TripleExprOrRef = TripleExpr | Label;
290
+
291
+ /**
292
+ * Cardinality: `max` of `-1` means unbounded. Both default to 1.
293
+ *
294
+ * @since 0.1.0
295
+ * @category models
296
+ */
297
+ export interface Cardinality {
298
+ readonly min?: number;
299
+ readonly max?: number;
300
+ }
301
+
302
+ /**
303
+ * @since 0.1.0
304
+ * @category models
305
+ */
306
+ export interface EachOf extends Cardinality {
307
+ readonly type: 'EachOf';
308
+ readonly id?: Label;
309
+ readonly expressions: ReadonlyArray<TripleExprOrRef>;
310
+ readonly semActs?: ReadonlyArray<SemAct>;
311
+ readonly annotations?: ReadonlyArray<Annotation>;
312
+ }
313
+
314
+ /**
315
+ * @since 0.1.0
316
+ * @category models
317
+ */
318
+ export interface OneOf extends Cardinality {
319
+ readonly type: 'OneOf';
320
+ readonly id?: Label;
321
+ readonly expressions: ReadonlyArray<TripleExprOrRef>;
322
+ readonly semActs?: ReadonlyArray<SemAct>;
323
+ readonly annotations?: ReadonlyArray<Annotation>;
324
+ }
325
+
326
+ /**
327
+ * @since 0.1.0
328
+ * @category models
329
+ */
330
+ export interface TripleConstraint extends Cardinality {
331
+ readonly type: 'TripleConstraint';
332
+ readonly id?: Label;
333
+ readonly inverse?: boolean;
334
+ readonly predicate: string;
335
+ readonly valueExpr?: ShapeExprOrRef;
336
+ readonly semActs?: ReadonlyArray<SemAct>;
337
+ readonly annotations?: ReadonlyArray<Annotation>;
338
+ }
339
+
340
+ /**
341
+ * A semantic action.
342
+ *
343
+ * @since 0.1.0
344
+ * @category models
345
+ */
346
+ export interface SemAct {
347
+ readonly type: 'SemAct';
348
+ readonly name: string;
349
+ readonly code?: string;
350
+ }
351
+
352
+ /**
353
+ * @since 0.1.0
354
+ * @category models
355
+ */
356
+ export interface Annotation {
357
+ readonly type: 'Annotation';
358
+ readonly predicate: string;
359
+ readonly object: ObjectValue;
360
+ }
361
+
362
+ // -----------------------------------------------------------------------------
363
+ // Schemas
364
+ // -----------------------------------------------------------------------------
365
+
366
+ const opt = S.optionalKey;
367
+ const Int = S.Int;
368
+ const atLeast2 = <S extends S.Top>(s: S) => S.Array(s).check(S.isMinLength(2));
369
+ const atLeast1 = <S extends S.Top>(s: S) => S.Array(s).check(S.isMinLength(1));
370
+
371
+ /**
372
+ * @since 0.1.0
373
+ * @category schemas
374
+ */
375
+ export const SemActSchema: S.Codec<SemAct> = S.Struct({
376
+ type: S.Literal('SemAct'),
377
+ name: S.String,
378
+ code: opt(S.String),
379
+ });
380
+
381
+ /**
382
+ * @since 0.1.0
383
+ * @category schemas
384
+ */
385
+ export const ObjectLiteralSchema: S.Codec<ObjectLiteral> = S.Struct({
386
+ value: S.String,
387
+ language: opt(S.String),
388
+ type: opt(S.String),
389
+ });
390
+
391
+ /**
392
+ * @since 0.1.0
393
+ * @category schemas
394
+ */
395
+ export const ObjectValueSchema: S.Codec<ObjectValue> = S.Union([S.String, ObjectLiteralSchema]);
396
+
397
+ /**
398
+ * @since 0.1.0
399
+ * @category schemas
400
+ */
401
+ export const AnnotationSchema: S.Codec<Annotation> = S.Struct({
402
+ type: S.Literal('Annotation'),
403
+ predicate: S.String,
404
+ object: ObjectValueSchema,
405
+ });
406
+
407
+ /**
408
+ * @since 0.1.0
409
+ * @category schemas
410
+ */
411
+ export const WildcardSchema: S.Codec<Wildcard> = S.Struct({
412
+ type: S.Literal('Wildcard'),
413
+ });
414
+
415
+ const stem = <T extends string>(type: T) => S.Struct({ type: S.Literal(type), stem: S.String });
416
+
417
+ /**
418
+ * @since 0.1.0
419
+ * @category schemas
420
+ */
421
+ export const IriStemSchema: S.Codec<IriStem> = stem('IriStem');
422
+
423
+ /**
424
+ * @since 0.1.0
425
+ * @category schemas
426
+ */
427
+ export const LiteralStemSchema: S.Codec<LiteralStem> = stem('LiteralStem');
428
+
429
+ /**
430
+ * @since 0.1.0
431
+ * @category schemas
432
+ */
433
+ export const LanguageStemSchema: S.Codec<LanguageStem> = stem('LanguageStem');
434
+
435
+ /**
436
+ * @since 0.1.0
437
+ * @category schemas
438
+ */
439
+ export const IriStemRangeSchema: S.Codec<IriStemRange> = S.Struct({
440
+ type: S.Literal('IriStemRange'),
441
+ stem: S.Union([S.String, WildcardSchema]),
442
+ exclusions: S.Array(S.Union([S.String, IriStemSchema])),
443
+ });
444
+
445
+ /**
446
+ * @since 0.1.0
447
+ * @category schemas
448
+ */
449
+ export const LiteralStemRangeSchema: S.Codec<LiteralStemRange> = S.Struct({
450
+ type: S.Literal('LiteralStemRange'),
451
+ stem: S.Union([S.String, WildcardSchema]),
452
+ exclusions: S.Array(S.Union([S.String, LiteralStemSchema])),
453
+ });
454
+
455
+ /**
456
+ * @since 0.1.0
457
+ * @category schemas
458
+ */
459
+ export const LanguageSchema: S.Codec<Language> = S.Struct({
460
+ type: S.Literal('Language'),
461
+ languageTag: S.String,
462
+ });
463
+
464
+ /**
465
+ * @since 0.1.0
466
+ * @category schemas
467
+ */
468
+ export const LanguageStemRangeSchema: S.Codec<LanguageStemRange> = S.Struct({
469
+ type: S.Literal('LanguageStemRange'),
470
+ stem: S.Union([S.String, WildcardSchema]),
471
+ exclusions: S.Array(S.Union([S.String, LanguageStemSchema])),
472
+ });
473
+
474
+ /**
475
+ * @since 0.1.0
476
+ * @category schemas
477
+ */
478
+ export const ValueSetValueSchema: S.Codec<ValueSetValue> = S.Union([
479
+ S.String,
480
+ IriStemSchema,
481
+ IriStemRangeSchema,
482
+ LiteralStemSchema,
483
+ LiteralStemRangeSchema,
484
+ LanguageSchema,
485
+ LanguageStemSchema,
486
+ LanguageStemRangeSchema,
487
+ ObjectLiteralSchema,
488
+ ]);
489
+
490
+ const shapeExprOrRef: S.Codec<ShapeExprOrRef> = S.suspend(
491
+ (): S.Codec<ShapeExprOrRef> => ShapeExprOrRefSchema,
492
+ );
493
+ const tripleExprOrRef: S.Codec<TripleExprOrRef> = S.suspend(
494
+ (): S.Codec<TripleExprOrRef> => TripleExprOrRefSchema,
495
+ );
496
+
497
+ /**
498
+ * @since 0.1.0
499
+ * @category schemas
500
+ */
501
+ export const NodeConstraintSchema: S.Codec<NodeConstraint> = S.Struct({
502
+ type: S.Literal('NodeConstraint'),
503
+ nodeKind: opt(S.Literals(['iri', 'bnode', 'nonliteral', 'literal'])),
504
+ datatype: opt(S.String),
505
+ length: opt(Int),
506
+ minlength: opt(Int),
507
+ maxlength: opt(Int),
508
+ pattern: opt(S.String),
509
+ flags: opt(S.String),
510
+ mininclusive: opt(S.Number),
511
+ minexclusive: opt(S.Number),
512
+ maxinclusive: opt(S.Number),
513
+ maxexclusive: opt(S.Number),
514
+ totaldigits: opt(Int),
515
+ fractiondigits: opt(Int),
516
+ values: opt(S.Array(ValueSetValueSchema)),
517
+ semActs: opt(atLeast1(SemActSchema)),
518
+ annotations: opt(atLeast1(AnnotationSchema)),
519
+ });
520
+
521
+ /**
522
+ * @since 0.1.0
523
+ * @category schemas
524
+ */
525
+ export const ShapeExternalSchema: S.Codec<ShapeExternal> = S.Struct({
526
+ type: S.Literal('ShapeExternal'),
527
+ });
528
+
529
+ /**
530
+ * @since 0.1.0
531
+ * @category schemas
532
+ */
533
+ export const ShapeOrSchema: S.Codec<ShapeOr> = S.Struct({
534
+ type: S.Literal('ShapeOr'),
535
+ shapeExprs: atLeast2(shapeExprOrRef),
536
+ });
537
+
538
+ /**
539
+ * @since 0.1.0
540
+ * @category schemas
541
+ */
542
+ export const ShapeAndSchema: S.Codec<ShapeAnd> = S.Struct({
543
+ type: S.Literal('ShapeAnd'),
544
+ shapeExprs: atLeast2(shapeExprOrRef),
545
+ });
546
+
547
+ /**
548
+ * @since 0.1.0
549
+ * @category schemas
550
+ */
551
+ export const ShapeNotSchema: S.Codec<ShapeNot> = S.Struct({
552
+ type: S.Literal('ShapeNot'),
553
+ shapeExpr: shapeExprOrRef,
554
+ });
555
+
556
+ /**
557
+ * @since 0.1.0
558
+ * @category schemas
559
+ */
560
+ export const ShapeSchema: S.Codec<Shape> = S.Struct({
561
+ type: S.Literal('Shape'),
562
+ closed: opt(S.Boolean),
563
+ extends: opt(atLeast1(shapeExprOrRef)),
564
+ extra: opt(atLeast1(S.String)),
565
+ expression: opt(tripleExprOrRef),
566
+ semActs: opt(atLeast1(SemActSchema)),
567
+ annotations: opt(atLeast1(AnnotationSchema)),
568
+ });
569
+
570
+ /**
571
+ * @since 0.1.0
572
+ * @category schemas
573
+ */
574
+ export const ShapeExprSchema: S.Codec<ShapeExpr> = S.Union([
575
+ ShapeOrSchema,
576
+ ShapeAndSchema,
577
+ ShapeNotSchema,
578
+ NodeConstraintSchema,
579
+ ShapeSchema,
580
+ ShapeExternalSchema,
581
+ ]);
582
+
583
+ /**
584
+ * @since 0.1.0
585
+ * @category schemas
586
+ */
587
+ export const ShapeExprOrRefSchema: S.Codec<ShapeExprOrRef> = S.Union([S.String, ShapeExprSchema]);
588
+
589
+ const cardinalityFields = {
590
+ min: opt(Int),
591
+ max: opt(Int),
592
+ };
593
+
594
+ /**
595
+ * @since 0.1.0
596
+ * @category schemas
597
+ */
598
+ export const TripleConstraintSchema: S.Codec<TripleConstraint> = S.Struct({
599
+ type: S.Literal('TripleConstraint'),
600
+ id: opt(S.String),
601
+ inverse: opt(S.Boolean),
602
+ predicate: S.String,
603
+ valueExpr: opt(shapeExprOrRef),
604
+ ...cardinalityFields,
605
+ semActs: opt(atLeast1(SemActSchema)),
606
+ annotations: opt(atLeast1(AnnotationSchema)),
607
+ });
608
+
609
+ /**
610
+ * @since 0.1.0
611
+ * @category schemas
612
+ */
613
+ export const EachOfSchema: S.Codec<EachOf> = S.Struct({
614
+ type: S.Literal('EachOf'),
615
+ id: opt(S.String),
616
+ expressions: atLeast1(tripleExprOrRef),
617
+ ...cardinalityFields,
618
+ semActs: opt(atLeast1(SemActSchema)),
619
+ annotations: opt(atLeast1(AnnotationSchema)),
620
+ });
621
+
622
+ /**
623
+ * @since 0.1.0
624
+ * @category schemas
625
+ */
626
+ export const OneOfSchema: S.Codec<OneOf> = S.Struct({
627
+ type: S.Literal('OneOf'),
628
+ id: opt(S.String),
629
+ expressions: atLeast1(tripleExprOrRef),
630
+ ...cardinalityFields,
631
+ semActs: opt(atLeast1(SemActSchema)),
632
+ annotations: opt(atLeast1(AnnotationSchema)),
633
+ });
634
+
635
+ /**
636
+ * @since 0.1.0
637
+ * @category schemas
638
+ */
639
+ export const TripleExprSchema: S.Codec<TripleExpr> = S.Union([
640
+ EachOfSchema,
641
+ OneOfSchema,
642
+ TripleConstraintSchema,
643
+ ]);
644
+
645
+ /**
646
+ * @since 0.1.0
647
+ * @category schemas
648
+ */
649
+ export const TripleExprOrRefSchema: S.Codec<TripleExprOrRef> = S.Union([
650
+ S.String,
651
+ TripleExprSchema,
652
+ ]);
653
+
654
+ /**
655
+ * @since 0.1.0
656
+ * @category schemas
657
+ */
658
+ export const ShapeDeclSchema: S.Codec<ShapeDecl> = S.Struct({
659
+ type: S.Literal('ShapeDecl'),
660
+ id: S.String,
661
+ abstract: opt(S.Boolean),
662
+ restricts: opt(atLeast1(ShapeExprOrRefSchema)),
663
+ shapeExpr: ShapeExprOrRefSchema,
664
+ });
665
+
666
+ /**
667
+ * The schema of a complete ShExJ document.
668
+ *
669
+ * @since 0.1.0
670
+ * @category schemas
671
+ */
672
+ export const SchemaSchema: S.Codec<Schema> = S.Struct({
673
+ type: S.Literal('Schema'),
674
+ '@context': opt(S.String),
675
+ imports: opt(atLeast1(S.String)),
676
+ startActs: opt(atLeast1(SemActSchema)),
677
+ start: opt(ShapeExprOrRefSchema),
678
+ shapes: opt(atLeast1(ShapeDeclSchema)),
679
+ });
680
+
681
+ /**
682
+ * The ShEx JSON-LD context IRI.
683
+ *
684
+ * @since 0.1.0
685
+ * @category constants
686
+ */
687
+ export const context = 'http://www.w3.org/ns/shex.jsonld';
688
+
689
+ // -----------------------------------------------------------------------------
690
+ // Decoding / encoding
691
+ // -----------------------------------------------------------------------------
692
+
693
+ /**
694
+ * Decodes and validates an already-parsed JSON value as a ShExJ schema.
695
+ *
696
+ * @since 0.1.0
697
+ * @category decoding
698
+ */
699
+ export const decode = (input: unknown): Effect.Effect<Schema, ShExJError> =>
700
+ S.decodeUnknownEffect(SchemaSchema)(input).pipe(
701
+ Effect.mapError((e) => new ShExJError({ message: e.message })),
702
+ );
703
+
704
+ /**
705
+ * Parses and validates a ShExJ JSON document.
706
+ *
707
+ * @since 0.1.0
708
+ * @category decoding
709
+ */
710
+ export const parse = (input: string): Effect.Effect<Schema, ShExJError> =>
711
+ Result.match(Json.parse(input), {
712
+ onFailure: (e) => Effect.fail(new ShExJError({ message: `invalid JSON: ${e}` })),
713
+ onSuccess: decode,
714
+ });
715
+
716
+ /**
717
+ * Encodes a schema as a ShExJ JSON value (adding the JSON-LD `@context`).
718
+ *
719
+ * @since 0.1.0
720
+ * @category encoding
721
+ */
722
+ export const toJson = (schema: Schema): unknown => {
723
+ const { '@context': _, ...rest } = schema;
724
+ return { '@context': context, ...rest };
725
+ };
726
+
727
+ /**
728
+ * Serialises a schema as a ShExJ JSON document.
729
+ *
730
+ * @since 0.1.0
731
+ * @category encoding
732
+ */
733
+ export const stringify = (schema: Schema, space: number | string = 2): string =>
734
+ S.encodeSync(S.fromJsonString(S.Unknown, { space }))(toJson(schema));
735
+
736
+ // -----------------------------------------------------------------------------
737
+ // IRI mapping
738
+ // -----------------------------------------------------------------------------
739
+
740
+ /**
741
+ * Applies `f` to every IRI in a schema (labels, predicates, datatypes, value
742
+ * set IRIs and stems, imports, semantic action names and annotations). Blank
743
+ * node labels are left untouched.
744
+ *
745
+ * @since 0.1.0
746
+ * @category combinators
747
+ */
748
+ export const mapIris = (schema: Schema, f: (iri: string) => string): Schema => {
749
+ const label = (l: string) => (isBlankLabel(l) ? l : f(l));
750
+ const objectValue = (v: ObjectValue): ObjectValue =>
751
+ Predicate.isString(v) ? f(v) : v.type === undefined ? v : { ...v, type: f(v.type) };
752
+ const semActs = (acts: ReadonlyArray<SemAct>) => acts.map((a) => ({ ...a, name: f(a.name) }));
753
+ const annotations = (as: ReadonlyArray<Annotation>) =>
754
+ as.map((a) => ({ ...a, predicate: f(a.predicate), object: objectValue(a.object) }));
755
+ const withMeta = <
756
+ T extends {
757
+ readonly semActs?: ReadonlyArray<SemAct>;
758
+ readonly annotations?: ReadonlyArray<Annotation>;
759
+ },
760
+ >(
761
+ t: T,
762
+ ): T => {
763
+ let out: T = { ...t };
764
+ if (t.semActs !== undefined) out = { ...out, semActs: semActs(t.semActs) };
765
+ if (t.annotations !== undefined) out = { ...out, annotations: annotations(t.annotations) };
766
+ return out;
767
+ };
768
+ const value = (v: ValueSetValue): ValueSetValue => {
769
+ if (Predicate.isString(v)) return f(v);
770
+ if ('value' in v) return objectValue(v);
771
+ return Match.value(v).pipe(
772
+ Match.discriminator('type')('IriStem', (member): ValueSetValue => ({
773
+ ...member,
774
+ stem: f(member.stem),
775
+ })),
776
+ Match.discriminator('type')('IriStemRange', (member): ValueSetValue => ({
777
+ ...member,
778
+ stem: Predicate.isString(member.stem) ? f(member.stem) : member.stem,
779
+ exclusions: member.exclusions.map((e) =>
780
+ Predicate.isString(e) ? f(e) : { ...e, stem: f(e.stem) },
781
+ ),
782
+ })),
783
+ Match.orElse((member): ValueSetValue => member),
784
+ );
785
+ };
786
+ const shapeExpr = (e: ShapeExprOrRef): ShapeExprOrRef => {
787
+ if (Predicate.isString(e)) return label(e);
788
+ return Match.value(e).pipe(
789
+ Match.discriminator('type')('ShapeOr', 'ShapeAnd', (expr): ShapeExprOrRef => ({
790
+ ...expr,
791
+ shapeExprs: expr.shapeExprs.map(shapeExpr),
792
+ })),
793
+ Match.discriminator('type')('ShapeNot', (expr): ShapeExprOrRef => ({
794
+ ...expr,
795
+ shapeExpr: shapeExpr(expr.shapeExpr),
796
+ })),
797
+ Match.discriminator('type')('ShapeExternal', (expr): ShapeExprOrRef => expr),
798
+ Match.discriminator('type')('NodeConstraint', (expr): ShapeExprOrRef => {
799
+ const out: any = withMeta(expr);
800
+ if (expr.datatype !== undefined) out.datatype = f(expr.datatype);
801
+ if (expr.values !== undefined) out.values = expr.values.map(value);
802
+ return out;
803
+ }),
804
+ Match.discriminator('type')('Shape', (expr): ShapeExprOrRef => {
805
+ const out: any = withMeta(expr);
806
+ if (expr.extends !== undefined) out.extends = expr.extends.map(shapeExpr);
807
+ if (expr.extra !== undefined) out.extra = expr.extra.map(f);
808
+ if (expr.expression !== undefined) out.expression = tripleExpr(expr.expression);
809
+ return out;
810
+ }),
811
+ Match.exhaustive,
812
+ );
813
+ };
814
+ const tripleExpr = (t: TripleExprOrRef): TripleExprOrRef => {
815
+ if (Predicate.isString(t)) return label(t);
816
+ const out: any = withMeta(t);
817
+ if (t.id !== undefined) out.id = label(t.id);
818
+ if (t.type === 'TripleConstraint') {
819
+ out.predicate = f(t.predicate);
820
+ if (t.valueExpr !== undefined) out.valueExpr = shapeExpr(t.valueExpr);
821
+ } else {
822
+ out.expressions = t.expressions.map(tripleExpr);
823
+ }
824
+ return out;
825
+ };
826
+ const out: any = { ...schema };
827
+ if (schema.imports !== undefined) out.imports = schema.imports.map(f);
828
+ if (schema.startActs !== undefined) out.startActs = semActs(schema.startActs);
829
+ if (schema.start !== undefined) out.start = shapeExpr(schema.start);
830
+ if (schema.shapes !== undefined)
831
+ out.shapes = schema.shapes.map((d) => {
832
+ const decl: any = { ...d, id: label(d.id), shapeExpr: shapeExpr(d.shapeExpr) };
833
+ if (d.restricts !== undefined) decl.restricts = d.restricts.map(shapeExpr);
834
+ return decl;
835
+ });
836
+ return out;
837
+ };
838
+
839
+ /**
840
+ * Resolves every relative IRI of a schema (e.g. one read from a ShExJ file)
841
+ * against a base IRI.
842
+ *
843
+ * @since 0.1.0
844
+ * @category combinators
845
+ */
846
+ export const resolveIris = (schema: Schema, base: string): Schema =>
847
+ mapIris(schema, (iri) => (Iri.isAbsolute(iri) ? iri : Iri.resolve(iri, base)));
848
+
849
+ // -----------------------------------------------------------------------------
850
+ // Helpers
851
+ // -----------------------------------------------------------------------------
852
+
853
+ /**
854
+ * Whether a label is a blank node label (`_:x`).
855
+ *
856
+ * @since 0.1.0
857
+ * @category guards
858
+ */
859
+ export const isBlankLabel = (label: Label): boolean => label.startsWith('_:');
860
+
861
+ /**
862
+ * Whether a value set value is an `ObjectLiteral`.
863
+ *
864
+ * @since 0.1.0
865
+ * @category guards
866
+ */
867
+ export const isObjectLiteral = (v: unknown): v is ObjectLiteral =>
868
+ Predicate.hasProperty(v, 'value');
869
+
870
+ /**
871
+ * Inclusive repetition bounds of a triple expression; `max` may be
872
+ * `Infinity`.
873
+ *
874
+ * @since 0.1.0
875
+ * @category utils
876
+ */
877
+ export interface Bounds {
878
+ readonly min: number;
879
+ readonly max: number;
880
+ }
881
+
882
+ /**
883
+ * Normalised cardinality, with `max` of `-1` (unbounded) mapped to
884
+ * `Infinity`.
885
+ *
886
+ * @since 0.1.0
887
+ * @category utils
888
+ */
889
+ export const cardinality = (c: Cardinality): Bounds => {
890
+ const min = c.min ?? 1;
891
+ const max = c.max === undefined ? 1 : c.max === -1 ? Infinity : c.max;
892
+ return { min, max };
893
+ };