@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,480 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
2
+ import { B as isNamedNode, N as isBlankNode, Q as quad, T as blankNode, U as isResource, Y as literal, Z as namedNode, z as isLiteral } from "./Term-CFLG1qu4.mjs";
3
+ import { A as objectsOf, C as list, E as match, m as fromIterable } from "./Dataset-BlmlcI7J.mjs";
4
+ import { i as ShExRError } from "./ShExError-CVtq2NnM.mjs";
5
+ import { O as ValueSetValueSchema } from "./ShExJ-COiPd9Xw.mjs";
6
+ import * as Arr from "effect/Array";
7
+ import * as MutableHashMap from "effect/MutableHashMap";
8
+ import * as MutableHashSet from "effect/MutableHashSet";
9
+ import * as Option from "effect/Option";
10
+ import * as Predicate from "effect/Predicate";
11
+ import * as Schema from "effect/Schema";
12
+ import * as Effect from "effect/Effect";
13
+ import * as Match from "effect/Match";
14
+ import * as Order from "effect/Order";
15
+ // src/shex/ShExR.ts
16
+ /**
17
+ * ShExR: the RDF representation of ShEx schemas (vocabulary
18
+ * `http://www.w3.org/ns/shex#`). Reads a schema from a core `Dataset` and
19
+ * writes a schema as RDF quads.
20
+ *
21
+ * @since 0.1.0
22
+ */
23
+ var ShExR_exports = /* @__PURE__ */ __exportAll({
24
+ SX: () => SX,
25
+ fromDataset: () => fromDataset,
26
+ toDataset: () => toDataset,
27
+ toQuads: () => toQuads
28
+ });
29
+ /**
30
+ * The ShEx vocabulary namespace.
31
+ *
32
+ * @since 0.1.0
33
+ * @category constants
34
+ */
35
+ const SX = "http://www.w3.org/ns/shex#";
36
+ const RDF = "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
37
+ const XSD = "http://www.w3.org/2001/XMLSchema#";
38
+ const sx = (local) => namedNode(SX + local);
39
+ const rdfType = namedNode(`${RDF}type`);
40
+ const rdfFirst = namedNode(`${RDF}first`);
41
+ const rdfRest = namedNode(`${RDF}rest`);
42
+ const rdfNil = namedNode(`${RDF}nil`);
43
+ var Fail = class extends Error {};
44
+ const integerFacetNames = [
45
+ "length",
46
+ "minlength",
47
+ "maxlength",
48
+ "totaldigits",
49
+ "fractiondigits"
50
+ ];
51
+ const rangeFacetNames = [
52
+ "mininclusive",
53
+ "minexclusive",
54
+ "maxinclusive",
55
+ "maxexclusive"
56
+ ];
57
+ const numericFacetNames = [
58
+ "length",
59
+ "minlength",
60
+ "maxlength",
61
+ "mininclusive",
62
+ "minexclusive",
63
+ "maxinclusive",
64
+ "maxexclusive",
65
+ "totaldigits",
66
+ "fractiondigits"
67
+ ];
68
+ const valueSetTypes = MutableHashSet.make("IriStem", "IriStemRange", "LiteralStem", "LiteralStemRange", "Language", "LanguageStem", "LanguageStemRange");
69
+ const decodeValueSetValue = Schema.decodeUnknownOption(ValueSetValueSchema);
70
+ var Reader = class {
71
+ teDefined = MutableHashSet.empty();
72
+ teUses = MutableHashMap.empty();
73
+ expressionSites = MutableHashSet.empty();
74
+ dataset;
75
+ constructor(dataset) {
76
+ this.dataset = dataset;
77
+ match(dataset, { predicate: sx("expression") }).forEach((q) => {
78
+ this.countUse(q.object);
79
+ MutableHashSet.add(this.expressionSites, q.object.key);
80
+ });
81
+ match(dataset, { predicate: rdfFirst }).forEach((q) => this.countUse(q.object));
82
+ }
83
+ uses(t) {
84
+ return Option.getOrElse(MutableHashMap.get(this.teUses, t.key), () => 0);
85
+ }
86
+ countUse(t) {
87
+ MutableHashMap.set(this.teUses, t.key, this.uses(t) + 1);
88
+ }
89
+ fail(message) {
90
+ throw new Fail(message);
91
+ }
92
+ types(n) {
93
+ if (!isResource(n)) return [];
94
+ return objectsOf(this.dataset, n, rdfType).map((t) => isNamedNode(t) ? t.value : "");
95
+ }
96
+ hasType(n, local) {
97
+ return this.types(n).includes(SX + local);
98
+ }
99
+ one(n, p) {
100
+ if (!isResource(n)) return Option.none();
101
+ const os = objectsOf(this.dataset, n, sx(p));
102
+ if (os.length > 1) this.fail(`${n.key} has several sx:${p} values`);
103
+ return Arr.head(os);
104
+ }
105
+ /** The value of a required property. */
106
+ required(n, p, message) {
107
+ return Option.getOrElse(this.one(n, p), () => this.fail(message));
108
+ }
109
+ all(n, p) {
110
+ if (!isResource(n)) return [];
111
+ return objectsOf(this.dataset, n, sx(p));
112
+ }
113
+ list(n) {
114
+ return Option.match(n, {
115
+ onNone: () => [],
116
+ onSome: (head) => Option.getOrElse(list(this.dataset, head), () => this.fail(`${head.key} is not a well-formed RDF list`))
117
+ });
118
+ }
119
+ label(n) {
120
+ if (isNamedNode(n)) return n.value;
121
+ if (isBlankNode(n)) return `_:${n.value}`;
122
+ return this.fail(`${n.key} cannot be a label`);
123
+ }
124
+ iri(n, what) {
125
+ const t = Option.getOrUndefined(n);
126
+ if (!isNamedNode(t)) return this.fail(`expected an IRI for ${what}`);
127
+ return t.value;
128
+ }
129
+ str(n, what) {
130
+ const t = Option.getOrUndefined(n);
131
+ if (!isLiteral(t)) return this.fail(`expected a literal for ${what}`);
132
+ return t.value;
133
+ }
134
+ num(n, what) {
135
+ const v = Number(this.str(n, what));
136
+ if (Number.isNaN(v)) this.fail(`expected a number for ${what}`);
137
+ return v;
138
+ }
139
+ bool(n) {
140
+ return Option.exists(n, (t) => isLiteral(t) && (t.value === "true" || t.value === "1"));
141
+ }
142
+ objectValue(n) {
143
+ if (isNamedNode(n)) return n.value;
144
+ if (isLiteral(n)) {
145
+ if (n.language !== "") return {
146
+ value: n.value,
147
+ language: n.language
148
+ };
149
+ if (n.datatype.value === `${XSD}string`) return { value: n.value };
150
+ return {
151
+ value: n.value,
152
+ type: n.datatype.value
153
+ };
154
+ }
155
+ return this.fail(`${n.key} is not an IRI or literal`);
156
+ }
157
+ annotations(n) {
158
+ return Option.map(this.one(n, "annotation"), (l) => this.list(Option.some(l)).map((a) => ({
159
+ type: "Annotation",
160
+ predicate: this.iri(this.one(a, "predicate"), "sx:predicate"),
161
+ object: this.objectValue(this.required(a, "object", "annotation without sx:object"))
162
+ })));
163
+ }
164
+ meta(n, out) {
165
+ const acts = this.semActsOf(n, "semActs");
166
+ const annots = this.annotations(n);
167
+ if (Option.isSome(acts)) out.semActs = acts.value;
168
+ if (Option.isSome(annots)) out.annotations = annots.value;
169
+ }
170
+ /** A shape expression or a reference to a declaration. */
171
+ shapeDeclOrExpr(n) {
172
+ const types = this.types(n);
173
+ if (types.includes(`http://www.w3.org/ns/shex#ShapeDecl`) || Arr.isReadonlyArrayEmpty(types)) return this.label(n);
174
+ return this.shapeExpr(n);
175
+ }
176
+ shapeExpr(n) {
177
+ const types = this.types(n);
178
+ if (types.includes(`http://www.w3.org/ns/shex#ShapeOr`) || types.includes(`http://www.w3.org/ns/shex#ShapeAnd`)) return {
179
+ type: types.includes(`http://www.w3.org/ns/shex#ShapeOr`) ? "ShapeOr" : "ShapeAnd",
180
+ shapeExprs: this.list(this.one(n, "shapeExprs")).map((x) => this.shapeDeclOrExpr(x))
181
+ };
182
+ if (types.includes(`http://www.w3.org/ns/shex#ShapeNot`)) return {
183
+ type: "ShapeNot",
184
+ shapeExpr: this.shapeDeclOrExpr(this.required(n, "shapeExpr", "ShapeNot without sx:shapeExpr"))
185
+ };
186
+ if (types.includes(`http://www.w3.org/ns/shex#ShapeExternal`)) return { type: "ShapeExternal" };
187
+ if (types.includes(`http://www.w3.org/ns/shex#NodeConstraint`)) return this.nodeConstraint(n);
188
+ if (types.includes(`http://www.w3.org/ns/shex#Shape`)) return this.shape(n);
189
+ return this.fail(`${n.key} is not a shape expression`);
190
+ }
191
+ nodeConstraint(n) {
192
+ const nc = { type: "NodeConstraint" };
193
+ const kind = this.one(n, "nodeKind");
194
+ if (Option.isSome(kind)) {
195
+ const k = this.iri(kind, "sx:nodeKind").slice(26);
196
+ if (k !== "iri" && k !== "bnode" && k !== "literal" && k !== "nonliteral") this.fail(`unknown node kind ${kind.value.key}`);
197
+ nc.nodeKind = k;
198
+ }
199
+ const dt = this.one(n, "datatype");
200
+ if (Option.isSome(dt)) nc.datatype = this.iri(dt, "sx:datatype");
201
+ numericFacetNames.forEach((f) => {
202
+ const v = this.one(n, f);
203
+ if (Option.isSome(v)) nc[f] = this.num(v, `sx:${f}`);
204
+ });
205
+ const pattern = this.one(n, "pattern");
206
+ if (Option.isSome(pattern)) nc.pattern = this.str(pattern, "sx:pattern");
207
+ const flags = this.one(n, "flags");
208
+ if (Option.isSome(flags)) nc.flags = this.str(flags, "sx:flags");
209
+ const values = this.one(n, "values");
210
+ if (Option.isSome(values)) nc.values = this.list(values).map((v) => this.valueSetValue(v));
211
+ this.meta(n, nc);
212
+ return nc;
213
+ }
214
+ stem(n) {
215
+ if (this.hasType(n, "Wildcard")) return { type: "Wildcard" };
216
+ return isNamedNode(n) ? n.value : this.str(Option.some(n), "sx:stem");
217
+ }
218
+ valueSetValue(n) {
219
+ if (isLiteral(n)) return this.objectValue(n);
220
+ const found = Arr.findFirst(this.types(n).map((x) => x.slice(26)), (x) => MutableHashSet.has(valueSetTypes, x));
221
+ if (Option.isNone(found) || isNamedNode(n)) return this.objectValue(n);
222
+ const t = found.value;
223
+ const stem = () => this.stem(this.required(n, "stem", `${t} without sx:stem`));
224
+ const exclusions = () => this.list(this.one(n, "exclusion")).map((e) => isLiteral(e) || isNamedNode(e) ? e.value : {
225
+ type: (this.types(e)[0] ?? `http://www.w3.org/ns/shex#IriStem`).slice(26),
226
+ stem: this.str(this.one(e, "stem"), "sx:stem")
227
+ });
228
+ const decoded = (value) => Option.getOrElse(decodeValueSetValue(value), () => this.fail(`${n.key} is not a well-formed ${t}`));
229
+ return Match.value(t).pipe(Match.withReturnType(), Match.when(Match.is("IriStem", "LiteralStem", "LanguageStem"), (kind) => decoded({
230
+ type: kind,
231
+ stem: stem()
232
+ })), Match.when(Match.is("IriStemRange", "LiteralStemRange", "LanguageStemRange"), (kind) => decoded({
233
+ type: kind,
234
+ stem: stem(),
235
+ exclusions: exclusions()
236
+ })), Match.when("Language", () => ({
237
+ type: "Language",
238
+ languageTag: this.str(this.one(n, "languageTag"), "sx:languageTag")
239
+ })), Match.orElse((kind) => this.fail(`unknown value set value type ${kind}`)));
240
+ }
241
+ shape(n) {
242
+ const shape = { type: "Shape" };
243
+ const ext = this.one(n, "extends");
244
+ if (Option.isSome(ext)) shape.extends = this.list(ext).map((x) => this.shapeDeclOrExpr(x));
245
+ const closed = this.one(n, "closed");
246
+ if (Option.isSome(closed)) shape.closed = this.bool(closed);
247
+ const extra = this.all(n, "extra");
248
+ if (Arr.isReadonlyArrayNonEmpty(extra)) shape.extra = Arr.sort(extra.map((e) => this.iri(Option.some(e), "sx:extra")), Order.String);
249
+ const expr = this.one(n, "expression");
250
+ if (Option.isSome(expr)) shape.expression = this.tripleExpr(expr.value, true);
251
+ this.meta(n, shape);
252
+ return shape;
253
+ }
254
+ /**
255
+ * Reads a triple expression. A labelled expression used in several places
256
+ * is defined (with its `id`) at the first shape's `sx:expression` that
257
+ * uses it, or else at its first use, and referenced elsewhere.
258
+ */
259
+ tripleExpr(n, viaExpression = false) {
260
+ const types = this.types(n);
261
+ const labelled = isNamedNode(n) || this.uses(n) > 1;
262
+ if (labelled) {
263
+ const label = this.label(n);
264
+ if (MutableHashSet.has(this.teDefined, label) || Arr.isReadonlyArrayEmpty(types)) return label;
265
+ if (!viaExpression && MutableHashSet.has(this.expressionSites, n.key)) return label;
266
+ MutableHashSet.add(this.teDefined, label);
267
+ }
268
+ let te;
269
+ if (types.includes(`http://www.w3.org/ns/shex#TripleConstraint`)) {
270
+ const tc = {
271
+ type: "TripleConstraint",
272
+ predicate: this.iri(this.one(n, "predicate"), "sx:predicate")
273
+ };
274
+ const inverse = this.one(n, "inverse");
275
+ if (Option.isSome(inverse)) tc.inverse = this.bool(inverse);
276
+ const ve = this.one(n, "valueExpr");
277
+ if (Option.isSome(ve)) tc.valueExpr = this.shapeDeclOrExpr(ve.value);
278
+ te = tc;
279
+ } else if (types.includes(`http://www.w3.org/ns/shex#EachOf`) || types.includes(`http://www.w3.org/ns/shex#OneOf`)) te = {
280
+ type: types.includes(`http://www.w3.org/ns/shex#EachOf`) ? "EachOf" : "OneOf",
281
+ expressions: this.list(this.one(n, "expressions")).map((x) => this.tripleExpr(x))
282
+ };
283
+ else return this.fail(`${n.key} is not a triple expression`);
284
+ const min = this.one(n, "min");
285
+ if (Option.isSome(min)) te.min = this.num(min, "sx:min");
286
+ const max = this.one(n, "max");
287
+ if (Option.isSome(max)) te.max = this.num(max, "sx:max");
288
+ this.meta(n, te);
289
+ return labelled ? {
290
+ id: this.label(n),
291
+ ...te
292
+ } : te;
293
+ }
294
+ schema() {
295
+ const roots = match(this.dataset, {
296
+ predicate: rdfType,
297
+ object: sx("Schema")
298
+ });
299
+ const root = Option.getOrElse(Option.filter(Arr.head(roots), () => roots.length === 1), () => this.fail(`expected exactly one sx:Schema, found ${roots.length}`)).subject;
300
+ const schema = { type: "Schema" };
301
+ const imports = this.one(root, "imports");
302
+ if (Option.isSome(imports)) schema.imports = this.list(imports).map((i) => this.iri(Option.some(i), "sx:imports"));
303
+ const startActs = this.semActsOf(root, "startActs");
304
+ if (Option.isSome(startActs)) schema.startActs = startActs.value;
305
+ const start = this.one(root, "start");
306
+ if (Option.isSome(start)) schema.start = this.shapeDeclOrExpr(start.value);
307
+ const shapes = this.one(root, "shapes");
308
+ if (Option.isSome(shapes)) schema.shapes = this.list(shapes).map((d) => {
309
+ const decl = {
310
+ type: "ShapeDecl",
311
+ id: this.label(d),
312
+ shapeExpr: { type: "Shape" }
313
+ };
314
+ const abstract = this.one(d, "abstract");
315
+ if (Option.isSome(abstract) && this.bool(abstract)) decl.abstract = true;
316
+ const restricts = this.one(d, "restricts");
317
+ if (Option.isSome(restricts)) decl.restricts = this.list(restricts).map((x) => this.shapeDeclOrExpr(x));
318
+ decl.shapeExpr = this.shapeDeclOrExpr(this.required(d, "shapeExpr", `${d.key} has no sx:shapeExpr`));
319
+ return decl;
320
+ });
321
+ return schema;
322
+ }
323
+ semActsOf(n, p) {
324
+ return Option.map(this.one(n, p), (l) => this.list(Option.some(l)).map((a) => {
325
+ const act = {
326
+ type: "SemAct",
327
+ name: this.iri(this.one(a, "name"), "sx:name")
328
+ };
329
+ const code = this.one(a, "code");
330
+ if (Option.isSome(code)) act.code = this.str(code, "sx:code");
331
+ return act;
332
+ }));
333
+ }
334
+ };
335
+ /**
336
+ * Reads the ShExR schema contained in a dataset (which must have exactly one
337
+ * node of type `sx:Schema`).
338
+ *
339
+ * @since 0.1.0
340
+ * @category reading
341
+ */
342
+ const fromDataset = (dataset) => Effect.try({
343
+ try: () => new Reader(dataset).schema(),
344
+ catch: (e) => new ShExRError({ message: Predicate.hasProperty(e, "message") && Predicate.isString(e.message) ? e.message : String(e) })
345
+ });
346
+ const labelTerm = (label) => label.startsWith("_:") ? blankNode(label.slice(2)) : namedNode(label);
347
+ const integerLiteral = (v) => literal(String(v), namedNode(`${XSD}integer`));
348
+ const numericLiteral = (v) => Number.isInteger(v) ? integerLiteral(v) : literal(String(v), namedNode(`${XSD}decimal`));
349
+ const booleanLiteral = (v) => literal(String(v), namedNode(`${XSD}boolean`));
350
+ const objectValueTerm = (v) => Predicate.isString(v) ? namedNode(v) : v.language !== void 0 ? literal(v.value, v.language) : v.type !== void 0 ? literal(v.value, namedNode(v.type)) : literal(v.value);
351
+ /**
352
+ * Writes a schema as ShExR quads (in the default graph). Blank nodes are
353
+ * generated for anonymous expressions.
354
+ *
355
+ * @since 0.1.0
356
+ * @category writing
357
+ */
358
+ const toQuads = (schema) => {
359
+ const quads = [];
360
+ const add = (s, p, o) => quads.push(quad(s, p, o));
361
+ const list = (items) => {
362
+ const cells = items.map(() => blankNode());
363
+ Arr.zip(cells, items).forEach(([cell, item], i) => {
364
+ add(cell, rdfFirst, item);
365
+ add(cell, rdfRest, cells[i + 1] ?? rdfNil);
366
+ });
367
+ return Option.getOrElse(Arr.head(cells), () => rdfNil);
368
+ };
369
+ const meta = (s, x) => {
370
+ if (x.semActs !== void 0) add(s, sx("semActs"), semActs(x.semActs));
371
+ if (x.annotations !== void 0) add(s, sx("annotation"), list(x.annotations.map((a) => {
372
+ const b = blankNode();
373
+ add(b, rdfType, sx("Annotation"));
374
+ add(b, sx("predicate"), namedNode(a.predicate));
375
+ add(b, sx("object"), objectValueTerm(a.object));
376
+ return b;
377
+ })));
378
+ };
379
+ const semActs = (acts) => list(acts.map((a) => {
380
+ const b = blankNode();
381
+ add(b, rdfType, sx("SemAct"));
382
+ add(b, sx("name"), namedNode(a.name));
383
+ if (a.code !== void 0) add(b, sx("code"), literal(a.code));
384
+ return b;
385
+ }));
386
+ const stem = (s, iri) => {
387
+ if (!Predicate.isString(s)) {
388
+ const b = blankNode();
389
+ add(b, rdfType, sx("Wildcard"));
390
+ return b;
391
+ }
392
+ return iri ? literal(s, namedNode(`${XSD}anyURI`)) : literal(s);
393
+ };
394
+ const valueSetValue = (v) => {
395
+ if (Predicate.isString(v) || !("type" in v) || "value" in v) return objectValueTerm(v);
396
+ const b = blankNode();
397
+ add(b, rdfType, sx(v.type));
398
+ Match.value(v).pipe(Match.discriminator("type")("Language", (member) => add(b, sx("languageTag"), literal(member.languageTag))), Match.discriminator("type")("IriStem", "LiteralStem", "LanguageStem", (member) => add(b, sx("stem"), stem(member.stem, false))), Match.orElse((member) => {
399
+ add(b, sx("stem"), stem(member.stem, false));
400
+ const stemType = member.type.replace("Range", "");
401
+ add(b, sx("exclusion"), list(Arr.map(member.exclusions, (e) => {
402
+ if (Predicate.isString(e)) return member.type === "IriStemRange" ? namedNode(e) : literal(e);
403
+ const x = blankNode();
404
+ add(x, rdfType, sx(stemType));
405
+ add(x, sx("stem"), literal(e.stem));
406
+ return x;
407
+ })));
408
+ }));
409
+ return b;
410
+ };
411
+ const shapeExpr = (e, subject) => {
412
+ if (Predicate.isString(e)) return labelTerm(e);
413
+ const s = subject ?? blankNode();
414
+ add(s, rdfType, sx(e.type));
415
+ Match.value(e).pipe(Match.discriminator("type")("ShapeAnd", "ShapeOr", (expr) => add(s, sx("shapeExprs"), list(expr.shapeExprs.map((x) => shapeExpr(x))))), Match.discriminator("type")("ShapeNot", (expr) => add(s, sx("shapeExpr"), shapeExpr(expr.shapeExpr))), Match.discriminator("type")("ShapeExternal", () => void 0), Match.discriminator("type")("NodeConstraint", (expr) => {
416
+ if (expr.nodeKind !== void 0) add(s, sx("nodeKind"), sx(expr.nodeKind));
417
+ if (expr.datatype !== void 0) add(s, sx("datatype"), namedNode(expr.datatype));
418
+ integerFacetNames.forEach((f) => {
419
+ const v = expr[f];
420
+ if (v !== void 0) add(s, sx(f), integerLiteral(v));
421
+ });
422
+ rangeFacetNames.forEach((f) => {
423
+ const v = expr[f];
424
+ if (v !== void 0) add(s, sx(f), numericLiteral(v));
425
+ });
426
+ if (expr.pattern !== void 0) add(s, sx("pattern"), literal(expr.pattern));
427
+ if (expr.flags !== void 0) add(s, sx("flags"), literal(expr.flags));
428
+ if (expr.values !== void 0) add(s, sx("values"), list(expr.values.map(valueSetValue)));
429
+ meta(s, expr);
430
+ }), Match.discriminator("type")("Shape", (expr) => {
431
+ if (expr.extends !== void 0) add(s, sx("extends"), list(expr.extends.map((x) => shapeExpr(x))));
432
+ if (expr.closed !== void 0) add(s, sx("closed"), booleanLiteral(expr.closed));
433
+ expr.extra?.forEach((p) => add(s, sx("extra"), namedNode(p)));
434
+ if (expr.expression !== void 0) add(s, sx("expression"), tripleExpr(expr.expression));
435
+ meta(s, expr);
436
+ }), Match.exhaustive);
437
+ return s;
438
+ };
439
+ const tripleExpr = (t) => {
440
+ if (Predicate.isString(t)) return labelTerm(t);
441
+ const s = t.id !== void 0 ? labelTerm(t.id) : blankNode();
442
+ add(s, rdfType, sx(t.type));
443
+ if (t.type === "TripleConstraint") {
444
+ if (t.inverse !== void 0) add(s, sx("inverse"), booleanLiteral(t.inverse));
445
+ add(s, sx("predicate"), namedNode(t.predicate));
446
+ if (t.valueExpr !== void 0) add(s, sx("valueExpr"), shapeExpr(t.valueExpr));
447
+ } else add(s, sx("expressions"), list(t.expressions.map(tripleExpr)));
448
+ if (t.min !== void 0) add(s, sx("min"), integerLiteral(t.min));
449
+ if (t.max !== void 0) add(s, sx("max"), integerLiteral(t.max));
450
+ meta(s, t);
451
+ return s;
452
+ };
453
+ const root = blankNode();
454
+ add(root, rdfType, sx("Schema"));
455
+ if (schema.imports !== void 0) add(root, sx("imports"), list(schema.imports.map((i) => namedNode(i))));
456
+ if (schema.startActs !== void 0) add(root, sx("startActs"), semActs(schema.startActs));
457
+ if (schema.start !== void 0) add(root, sx("start"), shapeExpr(schema.start));
458
+ if (schema.shapes !== void 0) {
459
+ const decls = schema.shapes.map((d) => {
460
+ const s = labelTerm(d.id);
461
+ add(s, rdfType, sx("ShapeDecl"));
462
+ if (d.abstract !== void 0) add(s, sx("abstract"), booleanLiteral(d.abstract));
463
+ if (d.restricts !== void 0) add(s, sx("restricts"), list(d.restricts.map((x) => shapeExpr(x))));
464
+ add(s, sx("shapeExpr"), shapeExpr(d.shapeExpr));
465
+ return s;
466
+ });
467
+ add(root, sx("shapes"), list(decls));
468
+ }
469
+ return quads;
470
+ };
471
+ /**
472
+ * Writes a schema as a ShExR dataset.
473
+ *
474
+ * @since 0.1.0
475
+ * @category writing
476
+ */
477
+ const toDataset = (schema) => fromIterable(toQuads(schema));
478
+ export { toQuads as a, toDataset as i, ShExR_exports as n, fromDataset as r, SX as t };
479
+
480
+ //# sourceMappingURL=ShExR-ByR4mCh-.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShExR-ByR4mCh-.mjs","names":["Term.namedNode","ShExJ.ValueSetValueSchema","Term.isResource","Dataset.objectsOf","Term.isNamedNode","Dataset.list","Term.isBlankNode","Term.isLiteral","Dataset.match","Term.blankNode","Term.literal","Term.quad","Dataset.fromIterable"],"sources":["../src/shex/ShExR.ts"],"sourcesContent":["/**\n * ShExR: the RDF representation of ShEx schemas (vocabulary\n * `http://www.w3.org/ns/shex#`). Reads a schema from a core `Dataset` and\n * writes a schema as RDF quads.\n *\n * @since 0.1.0\n */\nimport * as Arr from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Match from 'effect/Match';\nimport * as MutableHashMap from 'effect/MutableHashMap';\nimport * as MutableHashSet from 'effect/MutableHashSet';\nimport * as Option from 'effect/Option';\nimport * as Order from 'effect/Order';\nimport * as Predicate from 'effect/Predicate';\nimport * as Schema from 'effect/Schema';\nimport * as Dataset from '../Dataset.ts';\nimport * as Term from '../Term.ts';\nimport { ShExRError } from './ShExError.ts';\nimport * as ShExJ from './ShExJ.ts';\n\n/**\n * The ShEx vocabulary namespace.\n *\n * @since 0.1.0\n * @category constants\n */\nexport const SX = 'http://www.w3.org/ns/shex#';\nconst RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';\nconst XSD = 'http://www.w3.org/2001/XMLSchema#';\n\nconst sx = (local: string) => Term.namedNode(SX + local);\nconst rdfType = Term.namedNode(`${RDF}type`);\nconst rdfFirst = Term.namedNode(`${RDF}first`);\nconst rdfRest = Term.namedNode(`${RDF}rest`);\nconst rdfNil = Term.namedNode(`${RDF}nil`);\n\ntype Mutable<T> = { -readonly [K in keyof T]: T[K] };\n\nclass Fail extends Error {}\n\nconst integerFacetNames = [\n 'length',\n 'minlength',\n 'maxlength',\n 'totaldigits',\n 'fractiondigits',\n] as const;\nconst rangeFacetNames = ['mininclusive', 'minexclusive', 'maxinclusive', 'maxexclusive'] as const;\n// In the order the reader has always read them.\nconst numericFacetNames = [\n 'length',\n 'minlength',\n 'maxlength',\n 'mininclusive',\n 'minexclusive',\n 'maxinclusive',\n 'maxexclusive',\n 'totaldigits',\n 'fractiondigits',\n] as const;\n\nconst valueSetTypes = MutableHashSet.make(\n 'IriStem',\n 'IriStemRange',\n 'LiteralStem',\n 'LiteralStemRange',\n 'Language',\n 'LanguageStem',\n 'LanguageStemRange',\n);\n\nconst decodeValueSetValue = Schema.decodeUnknownOption(ShExJ.ValueSetValueSchema);\n\n/** A stem or stem-range value as read, before it is checked against its kind. */\ninterface RawValueSetValue {\n readonly type: string;\n readonly stem: string | ShExJ.Wildcard;\n readonly exclusions?: ReadonlyArray<string | { readonly type: string; readonly stem: string }>;\n}\n\n/** The fields a ShExJ object may carry its semantic actions and annotations in. */\ninterface Meta {\n semActs?: ReadonlyArray<ShExJ.SemAct>;\n annotations?: ReadonlyArray<ShExJ.Annotation>;\n}\n\n// -----------------------------------------------------------------------------\n// Reading\n// -----------------------------------------------------------------------------\n\nclass Reader {\n readonly teDefined = MutableHashSet.empty<string>();\n readonly teUses = MutableHashMap.empty<string, number>();\n\n readonly expressionSites = MutableHashSet.empty<string>();\n\n readonly dataset: Dataset.Dataset;\n constructor(dataset: Dataset.Dataset) {\n this.dataset = dataset;\n Dataset.match(dataset, { predicate: sx('expression') }).forEach((q) => {\n this.countUse(q.object);\n MutableHashSet.add(this.expressionSites, q.object.key);\n });\n Dataset.match(dataset, { predicate: rdfFirst }).forEach((q) => this.countUse(q.object));\n }\n\n uses(t: Term.Term): number {\n return Option.getOrElse(MutableHashMap.get(this.teUses, t.key), () => 0);\n }\n\n countUse(t: Term.Term): void {\n MutableHashMap.set(this.teUses, t.key, this.uses(t) + 1);\n }\n\n fail(message: string): never {\n throw new Fail(message);\n }\n\n types(n: Term.Term): ReadonlyArray<string> {\n if (!Term.isResource(n)) return [];\n return Dataset.objectsOf(this.dataset, n, rdfType).map((t) =>\n Term.isNamedNode(t) ? t.value : '',\n );\n }\n\n hasType(n: Term.Term, local: string): boolean {\n return this.types(n).includes(SX + local);\n }\n\n one(n: Term.Term, p: string): Option.Option<Term.Object> {\n if (!Term.isResource(n)) return Option.none();\n const os = Dataset.objectsOf(this.dataset, n, sx(p));\n if (os.length > 1) this.fail(`${n.key} has several sx:${p} values`);\n return Arr.head(os);\n }\n\n /** The value of a required property. */\n required(n: Term.Term, p: string, message: string): Term.Object {\n return Option.getOrElse(this.one(n, p), () => this.fail(message));\n }\n\n all(n: Term.Term, p: string): ReadonlyArray<Term.Object> {\n if (!Term.isResource(n)) return [];\n return Dataset.objectsOf(this.dataset, n, sx(p));\n }\n\n list(n: Option.Option<Term.Object>): ReadonlyArray<Term.Object> {\n return Option.match(n, {\n onNone: () => [],\n onSome: (head) =>\n Option.getOrElse(Dataset.list(this.dataset, head), () =>\n this.fail(`${head.key} is not a well-formed RDF list`),\n ),\n });\n }\n\n label(n: Term.Term): string {\n if (Term.isNamedNode(n)) return n.value;\n if (Term.isBlankNode(n)) return `_:${n.value}`;\n return this.fail(`${n.key} cannot be a label`);\n }\n\n iri(n: Option.Option<Term.Term>, what: string): string {\n const t = Option.getOrUndefined(n);\n if (!Term.isNamedNode(t)) return this.fail(`expected an IRI for ${what}`);\n return t.value;\n }\n\n str(n: Option.Option<Term.Term>, what: string): string {\n const t = Option.getOrUndefined(n);\n if (!Term.isLiteral(t)) return this.fail(`expected a literal for ${what}`);\n return t.value;\n }\n\n num(n: Option.Option<Term.Term>, what: string): number {\n const v = Number(this.str(n, what));\n if (Number.isNaN(v)) this.fail(`expected a number for ${what}`);\n return v;\n }\n\n bool(n: Option.Option<Term.Term>): boolean {\n return Option.exists(n, (t) => Term.isLiteral(t) && (t.value === 'true' || t.value === '1'));\n }\n\n objectValue(n: Term.Term): ShExJ.ObjectValue {\n if (Term.isNamedNode(n)) return n.value;\n if (Term.isLiteral(n)) {\n if (n.language !== '') return { value: n.value, language: n.language };\n if (n.datatype.value === `${XSD}string`) return { value: n.value };\n return { value: n.value, type: n.datatype.value };\n }\n return this.fail(`${n.key} is not an IRI or literal`);\n }\n\n annotations(n: Term.Term): Option.Option<ReadonlyArray<ShExJ.Annotation>> {\n return Option.map(this.one(n, 'annotation'), (l) =>\n this.list(Option.some(l)).map((a) => ({\n type: 'Annotation',\n predicate: this.iri(this.one(a, 'predicate'), 'sx:predicate'),\n object: this.objectValue(this.required(a, 'object', 'annotation without sx:object')),\n })),\n );\n }\n\n meta(n: Term.Term, out: Meta): void {\n const acts = this.semActsOf(n, 'semActs');\n const annots = this.annotations(n);\n if (Option.isSome(acts)) out.semActs = acts.value;\n if (Option.isSome(annots)) out.annotations = annots.value;\n }\n\n /** A shape expression or a reference to a declaration. */\n shapeDeclOrExpr(n: Term.Term): ShExJ.ShapeExprOrRef {\n const types = this.types(n);\n if (types.includes(`${SX}ShapeDecl`) || Arr.isReadonlyArrayEmpty(types)) return this.label(n);\n return this.shapeExpr(n);\n }\n\n shapeExpr(n: Term.Term): ShExJ.ShapeExpr {\n const types = this.types(n);\n if (types.includes(`${SX}ShapeOr`) || types.includes(`${SX}ShapeAnd`)) {\n const type = types.includes(`${SX}ShapeOr`) ? 'ShapeOr' : 'ShapeAnd';\n return {\n type,\n shapeExprs: this.list(this.one(n, 'shapeExprs')).map((x) => this.shapeDeclOrExpr(x)),\n };\n }\n if (types.includes(`${SX}ShapeNot`))\n return {\n type: 'ShapeNot',\n shapeExpr: this.shapeDeclOrExpr(\n this.required(n, 'shapeExpr', 'ShapeNot without sx:shapeExpr'),\n ),\n };\n if (types.includes(`${SX}ShapeExternal`)) return { type: 'ShapeExternal' };\n if (types.includes(`${SX}NodeConstraint`)) return this.nodeConstraint(n);\n if (types.includes(`${SX}Shape`)) return this.shape(n);\n return this.fail(`${n.key} is not a shape expression`);\n }\n\n nodeConstraint(n: Term.Term): ShExJ.NodeConstraint {\n const nc: Mutable<ShExJ.NodeConstraint> = { type: 'NodeConstraint' };\n const kind = this.one(n, 'nodeKind');\n if (Option.isSome(kind)) {\n const k = this.iri(kind, 'sx:nodeKind').slice(SX.length);\n if (k !== 'iri' && k !== 'bnode' && k !== 'literal' && k !== 'nonliteral')\n this.fail(`unknown node kind ${kind.value.key}`);\n nc.nodeKind = k;\n }\n const dt = this.one(n, 'datatype');\n if (Option.isSome(dt)) nc.datatype = this.iri(dt, 'sx:datatype');\n numericFacetNames.forEach((f) => {\n const v = this.one(n, f);\n if (Option.isSome(v)) nc[f] = this.num(v, `sx:${f}`);\n });\n const pattern = this.one(n, 'pattern');\n if (Option.isSome(pattern)) nc.pattern = this.str(pattern, 'sx:pattern');\n const flags = this.one(n, 'flags');\n if (Option.isSome(flags)) nc.flags = this.str(flags, 'sx:flags');\n const values = this.one(n, 'values');\n if (Option.isSome(values)) nc.values = this.list(values).map((v) => this.valueSetValue(v));\n this.meta(n, nc);\n return nc;\n }\n\n stem(n: Term.Term): string | ShExJ.Wildcard {\n if (this.hasType(n, 'Wildcard')) return { type: 'Wildcard' };\n return Term.isNamedNode(n) ? n.value : this.str(Option.some(n), 'sx:stem');\n }\n\n valueSetValue(n: Term.Term): ShExJ.ValueSetValue {\n if (Term.isLiteral(n)) return this.objectValue(n);\n const found = Arr.findFirst(\n this.types(n).map((x) => x.slice(SX.length)),\n (x) => MutableHashSet.has(valueSetTypes, x),\n );\n if (Option.isNone(found) || Term.isNamedNode(n)) return this.objectValue(n);\n const t = found.value;\n const stem = () => this.stem(this.required(n, 'stem', `${t} without sx:stem`));\n const exclusions = () =>\n this.list(this.one(n, 'exclusion')).map((e) =>\n Term.isLiteral(e) || Term.isNamedNode(e)\n ? e.value\n : {\n type: (this.types(e)[0] ?? `${SX}IriStem`).slice(SX.length),\n stem: this.str(this.one(e, 'stem'), 'sx:stem'),\n },\n );\n // The stem kinds carry a string stem, the stem-range kinds a stem and their exclusions.\n const decoded = (value: RawValueSetValue): ShExJ.ValueSetValue =>\n Option.getOrElse(decodeValueSetValue(value), () =>\n this.fail(`${n.key} is not a well-formed ${t}`),\n );\n return Match.value(t).pipe(\n Match.withReturnType<ShExJ.ValueSetValue>(),\n Match.when(Match.is('IriStem', 'LiteralStem', 'LanguageStem'), (kind) =>\n decoded({ type: kind, stem: stem() }),\n ),\n Match.when(Match.is('IriStemRange', 'LiteralStemRange', 'LanguageStemRange'), (kind) =>\n decoded({ type: kind, stem: stem(), exclusions: exclusions() }),\n ),\n Match.when('Language', () => ({\n type: 'Language',\n languageTag: this.str(this.one(n, 'languageTag'), 'sx:languageTag'),\n })),\n Match.orElse((kind) => this.fail(`unknown value set value type ${kind}`)),\n );\n }\n\n shape(n: Term.Term): ShExJ.Shape {\n const shape: Mutable<ShExJ.Shape> = { type: 'Shape' };\n const ext = this.one(n, 'extends');\n if (Option.isSome(ext)) shape.extends = this.list(ext).map((x) => this.shapeDeclOrExpr(x));\n const closed = this.one(n, 'closed');\n if (Option.isSome(closed)) shape.closed = this.bool(closed);\n const extra = this.all(n, 'extra');\n if (Arr.isReadonlyArrayNonEmpty(extra))\n shape.extra = Arr.sort(\n extra.map((e) => this.iri(Option.some(e), 'sx:extra')),\n Order.String,\n );\n const expr = this.one(n, 'expression');\n if (Option.isSome(expr)) shape.expression = this.tripleExpr(expr.value, true);\n this.meta(n, shape);\n return shape;\n }\n\n /**\n * Reads a triple expression. A labelled expression used in several places\n * is defined (with its `id`) at the first shape's `sx:expression` that\n * uses it, or else at its first use, and referenced elsewhere.\n */\n tripleExpr(n: Term.Term, viaExpression = false): ShExJ.TripleExprOrRef {\n const types = this.types(n);\n const labelled = Term.isNamedNode(n) || this.uses(n) > 1;\n if (labelled) {\n const label = this.label(n);\n if (MutableHashSet.has(this.teDefined, label) || Arr.isReadonlyArrayEmpty(types))\n return label;\n if (!viaExpression && MutableHashSet.has(this.expressionSites, n.key)) return label;\n MutableHashSet.add(this.teDefined, label);\n }\n let te: Mutable<ShExJ.TripleExpr>;\n if (types.includes(`${SX}TripleConstraint`)) {\n const tc: Mutable<ShExJ.TripleConstraint> = {\n type: 'TripleConstraint',\n predicate: this.iri(this.one(n, 'predicate'), 'sx:predicate'),\n };\n const inverse = this.one(n, 'inverse');\n if (Option.isSome(inverse)) tc.inverse = this.bool(inverse);\n const ve = this.one(n, 'valueExpr');\n if (Option.isSome(ve)) tc.valueExpr = this.shapeDeclOrExpr(ve.value);\n te = tc;\n } else if (types.includes(`${SX}EachOf`) || types.includes(`${SX}OneOf`)) {\n te = {\n type: types.includes(`${SX}EachOf`) ? 'EachOf' : 'OneOf',\n expressions: this.list(this.one(n, 'expressions')).map((x) => this.tripleExpr(x)),\n };\n } else return this.fail(`${n.key} is not a triple expression`);\n const min = this.one(n, 'min');\n if (Option.isSome(min)) te.min = this.num(min, 'sx:min');\n const max = this.one(n, 'max');\n if (Option.isSome(max)) te.max = this.num(max, 'sx:max');\n this.meta(n, te);\n // A labelled triple expression is the expression with its `id`.\n return labelled ? { id: this.label(n), ...te } : te;\n }\n\n schema(): ShExJ.Schema {\n const roots = Dataset.match(this.dataset, { predicate: rdfType, object: sx('Schema') });\n const root = Option.getOrElse(\n Option.filter(Arr.head(roots), () => roots.length === 1),\n () => this.fail(`expected exactly one sx:Schema, found ${roots.length}`),\n ).subject;\n const schema: Mutable<ShExJ.Schema> = { type: 'Schema' };\n const imports = this.one(root, 'imports');\n if (Option.isSome(imports))\n schema.imports = this.list(imports).map((i) => this.iri(Option.some(i), 'sx:imports'));\n const startActs = this.semActsOf(root, 'startActs');\n if (Option.isSome(startActs)) schema.startActs = startActs.value;\n const start = this.one(root, 'start');\n if (Option.isSome(start)) schema.start = this.shapeDeclOrExpr(start.value);\n const shapes = this.one(root, 'shapes');\n if (Option.isSome(shapes)) {\n schema.shapes = this.list(shapes).map((d) => {\n const decl: Mutable<ShExJ.ShapeDecl> = {\n type: 'ShapeDecl',\n id: this.label(d),\n shapeExpr: { type: 'Shape' },\n };\n const abstract = this.one(d, 'abstract');\n if (Option.isSome(abstract) && this.bool(abstract)) decl.abstract = true;\n const restricts = this.one(d, 'restricts');\n if (Option.isSome(restricts))\n decl.restricts = this.list(restricts).map((x) => this.shapeDeclOrExpr(x));\n decl.shapeExpr = this.shapeDeclOrExpr(\n this.required(d, 'shapeExpr', `${d.key} has no sx:shapeExpr`),\n );\n return decl;\n });\n }\n return schema;\n }\n\n semActsOf(n: Term.Term, p: string): Option.Option<ReadonlyArray<ShExJ.SemAct>> {\n return Option.map(this.one(n, p), (l) =>\n this.list(Option.some(l)).map((a) => {\n const act: Mutable<ShExJ.SemAct> = {\n type: 'SemAct',\n name: this.iri(this.one(a, 'name'), 'sx:name'),\n };\n const code = this.one(a, 'code');\n if (Option.isSome(code)) act.code = this.str(code, 'sx:code');\n return act;\n }),\n );\n }\n}\n\n/**\n * Reads the ShExR schema contained in a dataset (which must have exactly one\n * node of type `sx:Schema`).\n *\n * @since 0.1.0\n * @category reading\n */\nexport const fromDataset = (dataset: Dataset.Dataset): Effect.Effect<ShExJ.Schema, ShExRError> =>\n Effect.try({\n try: () => new Reader(dataset).schema(),\n catch: (e) =>\n new ShExRError({\n message:\n Predicate.hasProperty(e, 'message') && Predicate.isString(e.message)\n ? e.message\n : String(e),\n }),\n });\n\n// -----------------------------------------------------------------------------\n// Writing\n// -----------------------------------------------------------------------------\n\nconst labelTerm = (label: string): Term.NamedNode | Term.BlankNode =>\n label.startsWith('_:') ? Term.blankNode(label.slice(2)) : Term.namedNode(label);\n\nconst integerLiteral = (v: number) => Term.literal(String(v), Term.namedNode(`${XSD}integer`));\n\nconst numericLiteral = (v: number) =>\n Number.isInteger(v)\n ? integerLiteral(v)\n : Term.literal(String(v), Term.namedNode(`${XSD}decimal`));\n\nconst booleanLiteral = (v: boolean) => Term.literal(String(v), Term.namedNode(`${XSD}boolean`));\n\nconst objectValueTerm = (v: ShExJ.ObjectValue): Term.Object =>\n Predicate.isString(v)\n ? Term.namedNode(v)\n : v.language !== undefined\n ? Term.literal(v.value, v.language)\n : v.type !== undefined\n ? Term.literal(v.value, Term.namedNode(v.type))\n : Term.literal(v.value);\n\n/**\n * Writes a schema as ShExR quads (in the default graph). Blank nodes are\n * generated for anonymous expressions.\n *\n * @since 0.1.0\n * @category writing\n */\nexport const toQuads = (schema: ShExJ.Schema): ReadonlyArray<Term.Quad> => {\n const quads: Array<Term.Quad> = [];\n const add = (s: Term.Subject, p: Term.NamedNode, o: Term.Object) =>\n quads.push(Term.quad(s, p, o));\n const list = (items: ReadonlyArray<Term.Object>): Term.Object => {\n const cells = items.map(() => Term.blankNode());\n Arr.zip(cells, items).forEach(([cell, item], i) => {\n add(cell, rdfFirst, item);\n add(cell, rdfRest, cells[i + 1] ?? rdfNil);\n });\n return Option.getOrElse(Arr.head(cells), (): Term.Object => rdfNil);\n };\n const meta = (\n s: Term.Subject,\n x: { semActs?: ReadonlyArray<ShExJ.SemAct>; annotations?: ReadonlyArray<ShExJ.Annotation> },\n ) => {\n if (x.semActs !== undefined) add(s, sx('semActs'), semActs(x.semActs));\n if (x.annotations !== undefined)\n add(\n s,\n sx('annotation'),\n list(\n x.annotations.map((a) => {\n const b = Term.blankNode();\n add(b, rdfType, sx('Annotation'));\n add(b, sx('predicate'), Term.namedNode(a.predicate));\n add(b, sx('object'), objectValueTerm(a.object));\n return b;\n }),\n ),\n );\n };\n const semActs = (acts: ReadonlyArray<ShExJ.SemAct>) =>\n list(\n acts.map((a) => {\n const b = Term.blankNode();\n add(b, rdfType, sx('SemAct'));\n add(b, sx('name'), Term.namedNode(a.name));\n if (a.code !== undefined) add(b, sx('code'), Term.literal(a.code));\n return b;\n }),\n );\n const stem = (s: string | ShExJ.Wildcard, iri: boolean): Term.Object => {\n if (!Predicate.isString(s)) {\n const b = Term.blankNode();\n add(b, rdfType, sx('Wildcard'));\n return b;\n }\n return iri ? Term.literal(s, Term.namedNode(`${XSD}anyURI`)) : Term.literal(s);\n };\n const valueSetValue = (v: ShExJ.ValueSetValue): Term.Object => {\n if (Predicate.isString(v) || !('type' in v) || 'value' in v)\n // SAFETY: a value without `type`, or with a `value`, is an object value in ShExJ.\n return objectValueTerm(v);\n const b = Term.blankNode();\n add(b, rdfType, sx(v.type));\n Match.value(v).pipe(\n Match.discriminator('type')('Language', (member) =>\n add(b, sx('languageTag'), Term.literal(member.languageTag)),\n ),\n Match.discriminator('type')('IriStem', 'LiteralStem', 'LanguageStem', (member) =>\n add(b, sx('stem'), stem(member.stem, false)),\n ),\n Match.orElse((member) => {\n add(b, sx('stem'), stem(member.stem, false));\n const stemType = member.type.replace('Range', '');\n add(\n b,\n sx('exclusion'),\n list(\n Arr.map(member.exclusions, (e) => {\n if (Predicate.isString(e))\n return member.type === 'IriStemRange' ? Term.namedNode(e) : Term.literal(e);\n const x = Term.blankNode();\n add(x, rdfType, sx(stemType));\n add(x, sx('stem'), Term.literal(e.stem));\n return x;\n }),\n ),\n );\n }),\n );\n return b;\n };\n const shapeExpr = (e: ShExJ.ShapeExprOrRef, subject?: Term.Subject): Term.Object => {\n if (Predicate.isString(e)) return labelTerm(e);\n const s = subject ?? Term.blankNode();\n add(s, rdfType, sx(e.type));\n Match.value(e).pipe(\n Match.discriminator('type')('ShapeAnd', 'ShapeOr', (expr) =>\n add(s, sx('shapeExprs'), list(expr.shapeExprs.map((x) => shapeExpr(x)))),\n ),\n Match.discriminator('type')('ShapeNot', (expr) =>\n add(s, sx('shapeExpr'), shapeExpr(expr.shapeExpr)),\n ),\n Match.discriminator('type')('ShapeExternal', () => undefined),\n Match.discriminator('type')('NodeConstraint', (expr) => {\n if (expr.nodeKind !== undefined) add(s, sx('nodeKind'), sx(expr.nodeKind));\n if (expr.datatype !== undefined) add(s, sx('datatype'), Term.namedNode(expr.datatype));\n integerFacetNames.forEach((f) => {\n const v = expr[f];\n if (v !== undefined) add(s, sx(f), integerLiteral(v));\n });\n rangeFacetNames.forEach((f) => {\n const v = expr[f];\n if (v !== undefined) add(s, sx(f), numericLiteral(v));\n });\n if (expr.pattern !== undefined) add(s, sx('pattern'), Term.literal(expr.pattern));\n if (expr.flags !== undefined) add(s, sx('flags'), Term.literal(expr.flags));\n if (expr.values !== undefined) add(s, sx('values'), list(expr.values.map(valueSetValue)));\n meta(s, expr);\n }),\n Match.discriminator('type')('Shape', (expr) => {\n if (expr.extends !== undefined)\n add(s, sx('extends'), list(expr.extends.map((x) => shapeExpr(x))));\n if (expr.closed !== undefined) add(s, sx('closed'), booleanLiteral(expr.closed));\n expr.extra?.forEach((p) => add(s, sx('extra'), Term.namedNode(p)));\n if (expr.expression !== undefined) add(s, sx('expression'), tripleExpr(expr.expression));\n meta(s, expr);\n }),\n Match.exhaustive,\n );\n return s;\n };\n const tripleExpr = (t: ShExJ.TripleExprOrRef): Term.Object => {\n if (Predicate.isString(t)) return labelTerm(t);\n const s = t.id !== undefined ? labelTerm(t.id) : Term.blankNode();\n add(s, rdfType, sx(t.type));\n if (t.type === 'TripleConstraint') {\n if (t.inverse !== undefined) add(s, sx('inverse'), booleanLiteral(t.inverse));\n add(s, sx('predicate'), Term.namedNode(t.predicate));\n if (t.valueExpr !== undefined) add(s, sx('valueExpr'), shapeExpr(t.valueExpr));\n } else {\n add(s, sx('expressions'), list(t.expressions.map(tripleExpr)));\n }\n if (t.min !== undefined) add(s, sx('min'), integerLiteral(t.min));\n if (t.max !== undefined) add(s, sx('max'), integerLiteral(t.max));\n meta(s, t);\n return s;\n };\n const root = Term.blankNode();\n add(root, rdfType, sx('Schema'));\n if (schema.imports !== undefined)\n add(root, sx('imports'), list(schema.imports.map((i) => Term.namedNode(i))));\n if (schema.startActs !== undefined) add(root, sx('startActs'), semActs(schema.startActs));\n if (schema.start !== undefined) add(root, sx('start'), shapeExpr(schema.start));\n if (schema.shapes !== undefined) {\n const decls = schema.shapes.map((d) => {\n const s = labelTerm(d.id);\n add(s, rdfType, sx('ShapeDecl'));\n if (d.abstract !== undefined) add(s, sx('abstract'), booleanLiteral(d.abstract));\n if (d.restricts !== undefined)\n add(s, sx('restricts'), list(d.restricts.map((x) => shapeExpr(x))));\n add(s, sx('shapeExpr'), shapeExpr(d.shapeExpr));\n return s;\n });\n add(root, sx('shapes'), list(decls));\n }\n return quads;\n};\n\n/**\n * Writes a schema as a ShExR dataset.\n *\n * @since 0.1.0\n * @category writing\n */\nexport const toDataset = (schema: ShExJ.Schema): Dataset.Dataset =>\n Dataset.fromIterable(toQuads(schema));\n"],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { _ as Quad } from "./Term-B_4ezyXq.mjs";
2
+ import { n as Dataset } from "./Dataset-DS3ESOcO.mjs";
3
+ import { i as ShExRError } from "./ShExError-BeYFD9rv.mjs";
4
+ import { M as Schema } from "./ShExJ-C1u_wgyD.mjs";
5
+ import * as Effect from "effect/Effect";
6
+ declare namespace ShExR_d_exports {
7
+ export { SX, fromDataset, toDataset, toQuads };
8
+ }
9
+ /**
10
+ * The ShEx vocabulary namespace.
11
+ *
12
+ * @since 0.1.0
13
+ * @category constants
14
+ */
15
+ declare const SX = "http://www.w3.org/ns/shex#";
16
+ /**
17
+ * Reads the ShExR schema contained in a dataset (which must have exactly one
18
+ * node of type `sx:Schema`).
19
+ *
20
+ * @since 0.1.0
21
+ * @category reading
22
+ */
23
+ declare const fromDataset: (dataset: Dataset) => Effect.Effect<Schema, ShExRError>;
24
+ /**
25
+ * Writes a schema as ShExR quads (in the default graph). Blank nodes are
26
+ * generated for anonymous expressions.
27
+ *
28
+ * @since 0.1.0
29
+ * @category writing
30
+ */
31
+ declare const toQuads: (schema: Schema) => ReadonlyArray<Quad>;
32
+ /**
33
+ * Writes a schema as a ShExR dataset.
34
+ *
35
+ * @since 0.1.0
36
+ * @category writing
37
+ */
38
+ declare const toDataset: (schema: Schema) => Dataset;
39
+ export { toQuads as a, toDataset as i, ShExR_d_exports as n, fromDataset as r, SX as t };
40
+ //# sourceMappingURL=ShExR-CqONNNBz.d.mts.map