@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,86 @@
1
+ import { _ as Quad } from "./Term-B_4ezyXq.mjs";
2
+ import { c as Parser, i as Format, l as RdfParseError, m as Serializer, o as ParseOptions, r as Codec, s as ParseResult, u as RdfSerializeError } from "./Serialization-Df8iVauT.mjs";
3
+ import { n as QuadsResult$1, t as SerializeOptions$1 } from "./serialize-DsoXdM6n.mjs";
4
+ import * as Effect from "effect/Effect";
5
+ import * as Stream from "effect/Stream";
6
+ declare namespace TriG_d_exports {
7
+ export { QuadsResult, SerializeOptions, codec, format, parse, parseQuads, parseStream, parser, serialize, serializeStream, serializer };
8
+ }
9
+ /**
10
+ * The result of `parseQuads`: statements in document order with the
11
+ * document's prefixes and final base IRI.
12
+ *
13
+ * @since 0.1.0
14
+ * @category models
15
+ */
16
+ type QuadsResult = QuadsResult$1;
17
+ /**
18
+ * Options for the TriG serializer.
19
+ *
20
+ * @since 0.1.0
21
+ * @category models
22
+ */
23
+ type SerializeOptions = SerializeOptions$1;
24
+ /**
25
+ * @since 0.1.0
26
+ * @category formats
27
+ */
28
+ declare const format: Format;
29
+ /**
30
+ * Parses a TriG document, returning the dataset together with the declared
31
+ * prefixes and the final base IRI.
32
+ *
33
+ * @since 0.1.0
34
+ * @category parsing
35
+ */
36
+ declare const parse: (input: string, options?: ParseOptions) => Effect.Effect<ParseResult, RdfParseError>;
37
+ /**
38
+ * Parses a TriG document into statements in document order.
39
+ *
40
+ * @since 0.1.0
41
+ * @category parsing
42
+ */
43
+ declare const parseQuads: (input: string, options?: ParseOptions) => Effect.Effect<QuadsResult, RdfParseError>;
44
+ /**
45
+ * Parses a stream of text chunks incrementally. Statements are emitted as
46
+ * soon as they are complete (statements inside graph blocks individually);
47
+ * chunk boundaries may fall anywhere.
48
+ *
49
+ * @since 0.1.0
50
+ * @category parsing
51
+ */
52
+ declare const parseStream: <E, R>(input: Stream.Stream<string, E, R>, options?: ParseOptions) => Stream.Stream<Quad, RdfParseError | E, R>;
53
+ /**
54
+ * Serialises quads as pretty TriG. Fails for triple terms in the subject
55
+ * position (not expressible in TriG 1.2).
56
+ *
57
+ * @since 0.1.0
58
+ * @category serializing
59
+ */
60
+ declare const serialize: (quads: Iterable<Quad>, options?: SerializeOptions) => Effect.Effect<string, RdfSerializeError>;
61
+ /**
62
+ * Serialises a stream of quads incrementally in constant memory. Only
63
+ * consecutive statements are grouped (a graph block is opened whenever the
64
+ * graph changes), and blank nodes keep their labels.
65
+ *
66
+ * @since 0.1.0
67
+ * @category serializing
68
+ */
69
+ declare const serializeStream: <E, R>(quads: Stream.Stream<Quad, E, R>, options?: SerializeOptions) => Stream.Stream<string, RdfSerializeError | E, R>;
70
+ /**
71
+ * @since 0.1.0
72
+ * @category parsing
73
+ */
74
+ declare const parser: Parser;
75
+ /**
76
+ * @since 0.1.0
77
+ * @category serializing
78
+ */
79
+ declare const serializer: Serializer<SerializeOptions>;
80
+ /**
81
+ * @since 0.1.0
82
+ * @category codecs
83
+ */
84
+ declare const codec: Codec<ParseOptions, SerializeOptions>;
85
+ export { format as a, parseStream as c, serializeStream as d, serializer as f, codec as i, parser as l, SerializeOptions as n, parse as o, TriG_d_exports as r, parseQuads as s, QuadsResult as t, serialize as u };
86
+ //# sourceMappingURL=TriG-xDjdDatp.d.mts.map
@@ -0,0 +1,85 @@
1
+ import { _ as Quad } from "./Term-B_4ezyXq.mjs";
2
+ import { c as Parser, i as Format, l as RdfParseError, m as Serializer, o as ParseOptions, r as Codec, s as ParseResult, u as RdfSerializeError } from "./Serialization-Df8iVauT.mjs";
3
+ import { n as QuadsResult$1, t as SerializeOptions$1 } from "./serialize-DsoXdM6n.mjs";
4
+ import * as Effect from "effect/Effect";
5
+ import * as Stream from "effect/Stream";
6
+ declare namespace Turtle_d_exports {
7
+ export { QuadsResult, SerializeOptions, codec, format, parse, parseQuads, parseStream, parser, serialize, serializeStream, serializer };
8
+ }
9
+ /**
10
+ * The result of `parseQuads`: statements in document order with the
11
+ * document's prefixes and final base IRI.
12
+ *
13
+ * @since 0.1.0
14
+ * @category models
15
+ */
16
+ type QuadsResult = QuadsResult$1;
17
+ /**
18
+ * Options for the Turtle serializer.
19
+ *
20
+ * @since 0.1.0
21
+ * @category models
22
+ */
23
+ type SerializeOptions = SerializeOptions$1;
24
+ /**
25
+ * @since 0.1.0
26
+ * @category formats
27
+ */
28
+ declare const format: Format;
29
+ /**
30
+ * Parses a Turtle document, returning the dataset together with the
31
+ * declared prefixes and the final base IRI. Triples are placed in
32
+ * `options.graph` (the default graph when omitted).
33
+ *
34
+ * @since 0.1.0
35
+ * @category parsing
36
+ */
37
+ declare const parse: (input: string, options?: ParseOptions) => Effect.Effect<ParseResult, RdfParseError>;
38
+ /**
39
+ * Parses a Turtle document into statements in document order.
40
+ *
41
+ * @since 0.1.0
42
+ * @category parsing
43
+ */
44
+ declare const parseQuads: (input: string, options?: ParseOptions) => Effect.Effect<QuadsResult, RdfParseError>;
45
+ /**
46
+ * Parses a stream of text chunks incrementally. Statements are emitted as
47
+ * soon as they are complete; chunk boundaries may fall anywhere.
48
+ *
49
+ * @since 0.1.0
50
+ * @category parsing
51
+ */
52
+ declare const parseStream: <E, R>(input: Stream.Stream<string, E, R>, options?: ParseOptions) => Stream.Stream<Quad, RdfParseError | E, R>;
53
+ /**
54
+ * Serialises triples as pretty Turtle. Fails for quads in named graphs and
55
+ * for triple terms in the subject position (not expressible in Turtle 1.2).
56
+ *
57
+ * @since 0.1.0
58
+ * @category serializing
59
+ */
60
+ declare const serialize: (quads: Iterable<Quad>, options?: SerializeOptions) => Effect.Effect<string, RdfSerializeError>;
61
+ /**
62
+ * Serialises a stream of triples incrementally in constant memory. Only
63
+ * consecutive statements are grouped, and blank nodes keep their labels.
64
+ *
65
+ * @since 0.1.0
66
+ * @category serializing
67
+ */
68
+ declare const serializeStream: <E, R>(quads: Stream.Stream<Quad, E, R>, options?: SerializeOptions) => Stream.Stream<string, RdfSerializeError | E, R>;
69
+ /**
70
+ * @since 0.1.0
71
+ * @category parsing
72
+ */
73
+ declare const parser: Parser;
74
+ /**
75
+ * @since 0.1.0
76
+ * @category serializing
77
+ */
78
+ declare const serializer: Serializer<SerializeOptions>;
79
+ /**
80
+ * @since 0.1.0
81
+ * @category codecs
82
+ */
83
+ declare const codec: Codec<ParseOptions, SerializeOptions>;
84
+ export { format as a, parseStream as c, serializeStream as d, serializer as f, codec as i, parser as l, SerializeOptions as n, parse as o, Turtle_d_exports as r, parseQuads as s, QuadsResult as t, serialize as u };
85
+ //# sourceMappingURL=Turtle-Bv1_bisW.d.mts.map
@@ -0,0 +1,133 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
2
+ import { c as makeCodec, d as makeSerializer, l as makeFormat, u as makeParser } from "./Serialization-DP9H5bYQ.mjs";
3
+ import { a as parseStream$1, i as parseQuads$1, n as serializeStream$1, r as parse$1, t as serialize$1 } from "./serialize-96KBvKaf.mjs";
4
+ import * as Option from "effect/Option";
5
+ // src/turtle/Turtle.ts
6
+ /**
7
+ * RDF 1.2 Turtle: the terse RDF triple language.
8
+ *
9
+ * The parser supports the full RDF 1.2 grammar (triple terms `<<( s p o )>>`,
10
+ * reified triples `<< s p o ~ r >>`, annotations `{| ... |}`, `VERSION`,
11
+ * directional language tags) as well as RDF 1.1 documents, and reports the
12
+ * declared prefixes and final base IRI. `parseStream` parses incrementally,
13
+ * emitting statements as soon as they are complete.
14
+ *
15
+ * The serializer produces idiomatic output: prefixed names, `@base`
16
+ * relativisation, subject grouping with `;` and `,`, `a` for `rdf:type`,
17
+ * inline `[ ... ]` blank nodes, `( ... )` collections, numeric and boolean
18
+ * shorthand, annotation syntax for reified asserted triples, and a
19
+ * deterministic statement order.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * import { Effect } from 'effect'
24
+ * import { PrefixMap } from '@thomasfosterau/effect-rdf'
25
+ * import { Turtle } from '@thomasfosterau/effect-rdf/turtle'
26
+ *
27
+ * const program = Effect.gen(function* () {
28
+ * const { dataset, prefixes } = yield* Turtle.parse(`
29
+ * PREFIX ex: <http://example.org/>
30
+ * ex:alice a ex:Person ; ex:knows [ ex:name "Bob" ] .
31
+ * `)
32
+ * return yield* Turtle.serialize(dataset, { prefixes })
33
+ * })
34
+ * ```
35
+ *
36
+ * @since 0.1.0
37
+ */
38
+ var Turtle_exports = /* @__PURE__ */ __exportAll({
39
+ codec: () => codec,
40
+ format: () => format,
41
+ parse: () => parse,
42
+ parseQuads: () => parseQuads,
43
+ parseStream: () => parseStream,
44
+ parser: () => parser,
45
+ serialize: () => serialize,
46
+ serializeStream: () => serializeStream,
47
+ serializer: () => serializer
48
+ });
49
+ /**
50
+ * @since 0.1.0
51
+ * @category formats
52
+ */
53
+ const format = makeFormat({
54
+ name: "Turtle",
55
+ mediaType: "text/turtle",
56
+ mediaTypes: ["text/turtle", "application/x-turtle"],
57
+ extensions: ["ttl"],
58
+ datasets: false
59
+ });
60
+ const syntax = {
61
+ name: "Turtle",
62
+ trig: false,
63
+ trace: Option.some({
64
+ module: "Turtle",
65
+ format
66
+ })
67
+ };
68
+ /**
69
+ * Parses a Turtle document, returning the dataset together with the
70
+ * declared prefixes and the final base IRI. Triples are placed in
71
+ * `options.graph` (the default graph when omitted).
72
+ *
73
+ * @since 0.1.0
74
+ * @category parsing
75
+ */
76
+ const parse = (input, options) => parse$1(syntax, input, options);
77
+ /**
78
+ * Parses a Turtle document into statements in document order.
79
+ *
80
+ * @since 0.1.0
81
+ * @category parsing
82
+ */
83
+ const parseQuads = (input, options) => parseQuads$1(syntax, input, options);
84
+ /**
85
+ * Parses a stream of text chunks incrementally. Statements are emitted as
86
+ * soon as they are complete; chunk boundaries may fall anywhere.
87
+ *
88
+ * @since 0.1.0
89
+ * @category parsing
90
+ */
91
+ const parseStream = parseStream$1(syntax);
92
+ /**
93
+ * Serialises triples as pretty Turtle. Fails for quads in named graphs and
94
+ * for triple terms in the subject position (not expressible in Turtle 1.2).
95
+ *
96
+ * @since 0.1.0
97
+ * @category serializing
98
+ */
99
+ const serialize = (quads, options) => serialize$1(syntax, quads, options);
100
+ /**
101
+ * Serialises a stream of triples incrementally in constant memory. Only
102
+ * consecutive statements are grouped, and blank nodes keep their labels.
103
+ *
104
+ * @since 0.1.0
105
+ * @category serializing
106
+ */
107
+ const serializeStream = serializeStream$1(syntax);
108
+ /**
109
+ * @since 0.1.0
110
+ * @category parsing
111
+ */
112
+ const parser = makeParser({
113
+ format,
114
+ parse,
115
+ parseStream
116
+ });
117
+ /**
118
+ * @since 0.1.0
119
+ * @category serializing
120
+ */
121
+ const serializer = makeSerializer({
122
+ format,
123
+ serialize,
124
+ serializeStream
125
+ });
126
+ /**
127
+ * @since 0.1.0
128
+ * @category codecs
129
+ */
130
+ const codec = makeCodec(parser, serializer);
131
+ export { parseQuads as a, serialize as c, parse as i, serializeStream as l, codec as n, parseStream as o, format as r, parser as s, Turtle_exports as t, serializer as u };
132
+
133
+ //# sourceMappingURL=Turtle-CZVUOtwl.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Turtle-CZVUOtwl.mjs","names":["Serialization.makeFormat","internal.parse","internal.parseQuads","internal.parseStream","internalSerialize.serialize","internalSerialize.serializeStream","Serialization.makeParser","Serialization.makeSerializer","Serialization.makeCodec"],"sources":["../src/turtle/Turtle.ts"],"sourcesContent":["/**\n * RDF 1.2 Turtle: the terse RDF triple language.\n *\n * The parser supports the full RDF 1.2 grammar (triple terms `<<( s p o )>>`,\n * reified triples `<< s p o ~ r >>`, annotations `{| ... |}`, `VERSION`,\n * directional language tags) as well as RDF 1.1 documents, and reports the\n * declared prefixes and final base IRI. `parseStream` parses incrementally,\n * emitting statements as soon as they are complete.\n *\n * The serializer produces idiomatic output: prefixed names, `@base`\n * relativisation, subject grouping with `;` and `,`, `a` for `rdf:type`,\n * inline `[ ... ]` blank nodes, `( ... )` collections, numeric and boolean\n * shorthand, annotation syntax for reified asserted triples, and a\n * deterministic statement order.\n *\n * @example\n * ```ts\n * import { Effect } from 'effect'\n * import { PrefixMap } from '@thomasfosterau/effect-rdf'\n * import { Turtle } from '@thomasfosterau/effect-rdf/turtle'\n *\n * const program = Effect.gen(function* () {\n * const { dataset, prefixes } = yield* Turtle.parse(`\n * PREFIX ex: <http://example.org/>\n * ex:alice a ex:Person ; ex:knows [ ex:name \"Bob\" ] .\n * `)\n * return yield* Turtle.serialize(dataset, { prefixes })\n * })\n * ```\n *\n * @since 0.1.0\n */\nimport * as Serialization from '../Serialization.ts';\nimport type * as Term from '../Term.ts';\nimport type * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\nimport type * as Stream from 'effect/Stream';\nimport * as internal from './internal/parse.ts';\nimport * as internalSerialize from './internal/serialize.ts';\n\n/**\n * The result of `parseQuads`: statements in document order with the\n * document's prefixes and final base IRI.\n *\n * @since 0.1.0\n * @category models\n */\nexport type QuadsResult = internal.QuadsResult;\n\n/**\n * Options for the Turtle serializer.\n *\n * @since 0.1.0\n * @category models\n */\nexport type SerializeOptions = internalSerialize.SerializeOptions;\n\n/**\n * @since 0.1.0\n * @category formats\n */\nexport const format: Serialization.Format = Serialization.makeFormat({\n name: 'Turtle',\n mediaType: 'text/turtle',\n mediaTypes: ['text/turtle', 'application/x-turtle'],\n extensions: ['ttl'],\n datasets: false,\n});\n\n// The span names are `Turtle.parse`, `Turtle.serialize`, …\nconst syntax: internal.Syntax = {\n name: 'Turtle',\n trig: false,\n trace: Option.some({ module: 'Turtle', format }),\n};\n\n/**\n * Parses a Turtle document, returning the dataset together with the\n * declared prefixes and the final base IRI. Triples are placed in\n * `options.graph` (the default graph when omitted).\n *\n * @since 0.1.0\n * @category parsing\n */\nexport const parse = (\n input: string,\n options?: Serialization.ParseOptions,\n): Effect.Effect<Serialization.ParseResult, Serialization.RdfParseError> =>\n internal.parse(syntax, input, options);\n\n/**\n * Parses a Turtle document into statements in document order.\n *\n * @since 0.1.0\n * @category parsing\n */\nexport const parseQuads = (\n input: string,\n options?: Serialization.ParseOptions,\n): Effect.Effect<QuadsResult, Serialization.RdfParseError> =>\n internal.parseQuads(syntax, input, options);\n\n/**\n * Parses a stream of text chunks incrementally. Statements are emitted as\n * soon as they are complete; chunk boundaries may fall anywhere.\n *\n * @since 0.1.0\n * @category parsing\n */\nexport const parseStream: <E, R>(\n input: Stream.Stream<string, E, R>,\n options?: Serialization.ParseOptions,\n) => Stream.Stream<Term.Quad, Serialization.RdfParseError | E, R> = internal.parseStream(syntax);\n\n/**\n * Serialises triples as pretty Turtle. Fails for quads in named graphs and\n * for triple terms in the subject position (not expressible in Turtle 1.2).\n *\n * @since 0.1.0\n * @category serializing\n */\nexport const serialize = (\n quads: Iterable<Term.Quad>,\n options?: SerializeOptions,\n): Effect.Effect<string, Serialization.RdfSerializeError> =>\n internalSerialize.serialize(syntax, quads, options);\n\n/**\n * Serialises a stream of triples incrementally in constant memory. Only\n * consecutive statements are grouped, and blank nodes keep their labels.\n *\n * @since 0.1.0\n * @category serializing\n */\nexport const serializeStream: <E, R>(\n quads: Stream.Stream<Term.Quad, E, R>,\n options?: SerializeOptions,\n) => Stream.Stream<string, Serialization.RdfSerializeError | E, R> =\n internalSerialize.serializeStream(syntax);\n\n/**\n * @since 0.1.0\n * @category parsing\n */\nexport const parser: Serialization.Parser = Serialization.makeParser({\n format,\n parse,\n parseStream,\n});\n\n/**\n * @since 0.1.0\n * @category serializing\n */\nexport const serializer: Serialization.Serializer<SerializeOptions> = Serialization.makeSerializer({\n format,\n serialize,\n serializeStream,\n});\n\n/**\n * @since 0.1.0\n * @category codecs\n */\nexport const codec: Serialization.Codec<Serialization.ParseOptions, SerializeOptions> =\n Serialization.makeCodec(parser, serializer);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA,MAAa,SAA+BA,WAAyB;CACnE,MAAM;CACN,WAAW;CACX,YAAY,CAAC,eAAe,sBAAsB;CAClD,YAAY,CAAC,KAAK;CAClB,UAAU;AACZ,CAAC;AAGD,MAAM,SAA0B;CAC9B,MAAM;CACN,MAAM;CACN,OAAO,OAAO,KAAK;EAAE,QAAQ;EAAU;CAAO,CAAC;AACjD;;;;;;;;;AAUA,MAAa,SACX,OACA,YAEAC,QAAe,QAAQ,OAAO,OAAO;;;;;;;AAQvC,MAAa,cACX,OACA,YAEAC,aAAoB,QAAQ,OAAO,OAAO;;;;;;;;AAS5C,MAAa,cAGuDC,cAAqB,MAAM;;;;;;;;AAS/F,MAAa,aACX,OACA,YAEAC,YAA4B,QAAQ,OAAO,OAAO;;;;;;;;AASpD,MAAa,kBAIXC,kBAAkC,MAAM;;;;;AAM1C,MAAa,SAA+BC,WAAyB;CACnE;CACA;CACA;AACF,CAAC;;;;;AAMD,MAAa,aAAyDC,eAA6B;CACjG;CACA;CACA;AACF,CAAC;;;;;AAMD,MAAa,QACXC,UAAwB,QAAQ,UAAU"}
@@ -0,0 +1,285 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
2
+ import { B as isNamedNode, L as isGroundTerm, O as defaultGraph, Q as quad, T as blankNode, U as isResource, Y as literal, a as GroundTermSchema, l as NamedNodeSchema, n as BlankNodeSchema, s as LiteralSchema, z as isLiteral } from "./Term-CFLG1qu4.mjs";
3
+ import { A as objectsOf, L as subjectsOf, m as fromIterable } from "./Dataset-BlmlcI7J.mjs";
4
+ import { t as Vocab_exports } from "./Vocab-DceKywpq.mjs";
5
+ import { r as sh } from "./Vocabulary-CnQl-_Z4.mjs";
6
+ import { d as toRdf$1, f as toSparql, o as fromRdf } from "./Path-B20Yp8KE.mjs";
7
+ import * as Arr from "effect/Array";
8
+ import * as Option from "effect/Option";
9
+ import * as Predicate from "effect/Predicate";
10
+ import * as Schema from "effect/Schema";
11
+ import * as SchemaTransformation from "effect/SchemaTransformation";
12
+ import * as Result from "effect/Result";
13
+ // src/shacl/ValidationReport.ts
14
+ /**
15
+ * Validation reports (§3.6): a typed model of the outcome of SHACL
16
+ * validation, convertible to and from the standard RDF validation report
17
+ * vocabulary.
18
+ *
19
+ * @since 0.1.0
20
+ */
21
+ var ValidationReport_exports = /* @__PURE__ */ __exportAll({
22
+ ReportSyntaxError: () => ReportSyntaxError,
23
+ ValidationReportSchema: () => ValidationReportSchema,
24
+ format: () => format,
25
+ formatResult: () => formatResult,
26
+ fromDataset: () => fromDataset,
27
+ hasNoViolations: () => hasNoViolations,
28
+ isValidationReport: () => isValidationReport,
29
+ make: () => make,
30
+ makeResult: () => makeResult,
31
+ toDataset: () => toDataset,
32
+ toRdf: () => toRdf,
33
+ violations: () => violations,
34
+ withSeverity: () => withSeverity
35
+ });
36
+ const { rdf, xsd } = Vocab_exports;
37
+ /**
38
+ * @since 0.1.0
39
+ * @category constructors
40
+ */
41
+ const makeResult = (fields) => ({
42
+ _tag: "ValidationResult",
43
+ focusNode: fields.focusNode,
44
+ resultPath: fields.resultPath ?? Option.none(),
45
+ value: fields.value ?? Option.none(),
46
+ sourceShape: fields.sourceShape,
47
+ sourceConstraintComponent: fields.sourceConstraintComponent,
48
+ sourceConstraint: fields.sourceConstraint ?? Option.none(),
49
+ severity: fields.severity ?? sh.Violation,
50
+ messages: fields.messages ?? [],
51
+ details: fields.details ?? []
52
+ });
53
+ /**
54
+ * Builds a report from results; `conforms` is true iff there are none.
55
+ *
56
+ * @since 0.1.0
57
+ * @category constructors
58
+ */
59
+ const make = (results) => ({
60
+ _tag: "ValidationReport",
61
+ conforms: Arr.isReadonlyArrayEmpty(results),
62
+ results
63
+ });
64
+ /**
65
+ * @since 0.1.0
66
+ * @category guards
67
+ */
68
+ const isValidationReport = (u) => Predicate.isTagged(u, "ValidationReport");
69
+ const PathStruct = Schema.Union([
70
+ Schema.Struct({
71
+ _tag: Schema.tag("PredicatePath"),
72
+ predicate: NamedNodeSchema
73
+ }),
74
+ Schema.Struct({
75
+ _tag: Schema.tag("SequencePath"),
76
+ paths: Schema.Array(Schema.suspend(() => PathStruct))
77
+ }),
78
+ Schema.Struct({
79
+ _tag: Schema.tag("AlternativePath"),
80
+ paths: Schema.Array(Schema.suspend(() => PathStruct))
81
+ }),
82
+ ...[
83
+ "InversePath",
84
+ "ZeroOrMorePath",
85
+ "OneOrMorePath",
86
+ "ZeroOrOnePath"
87
+ ].map((tag) => Schema.Struct({
88
+ _tag: Schema.tag(tag),
89
+ path: Schema.suspend(() => PathStruct)
90
+ }))
91
+ ]).annotate({ identifier: "Path" });
92
+ const ResourceSchema = Schema.Union([NamedNodeSchema, BlankNodeSchema]);
93
+ const ValidationResultStruct = Schema.Struct({
94
+ _tag: Schema.tag("ValidationResult"),
95
+ focusNode: GroundTermSchema,
96
+ resultPath: Schema.Option(PathStruct),
97
+ value: Schema.Option(GroundTermSchema),
98
+ sourceShape: ResourceSchema,
99
+ sourceConstraintComponent: ResourceSchema,
100
+ sourceConstraint: Schema.Option(ResourceSchema),
101
+ severity: NamedNodeSchema,
102
+ messages: Schema.Array(LiteralSchema),
103
+ details: Schema.Array(Schema.suspend(() => ValidationResultStruct))
104
+ }).annotate({ identifier: "ValidationResult" });
105
+ const ValidationReportJson = Schema.Struct({ results: Schema.Array(ValidationResultStruct) });
106
+ /**
107
+ * Schema of a validation report; its JSON codec is `{ results }`, mirroring
108
+ * the result model with terms as `TermJson` terms and `Option`s in Effect's
109
+ * JSON form (`conforms` is recomputed from the results on decode).
110
+ *
111
+ * @since 0.1.0
112
+ * @category schemas
113
+ */
114
+ const ValidationReportSchema = Schema.declare(isValidationReport, {
115
+ identifier: "ValidationReport",
116
+ toCodecJson: () => Schema.link()(ValidationReportJson, SchemaTransformation.transform({
117
+ decode: ({ results }) => make(results),
118
+ encode: ({ results }) => ({ results })
119
+ }))
120
+ });
121
+ /**
122
+ * The results with a given severity.
123
+ *
124
+ * @since 0.1.0
125
+ * @category queries
126
+ */
127
+ const withSeverity = (self, severity) => self.results.filter((r) => r.severity.value === severity.value);
128
+ /**
129
+ * The `sh:Violation` results.
130
+ *
131
+ * @since 0.1.0
132
+ * @category queries
133
+ */
134
+ const violations = (self) => withSeverity(self, sh.Violation);
135
+ /**
136
+ * Whether the report has no results of severity `sh:Violation` (it may still
137
+ * contain warnings and informational results).
138
+ *
139
+ * @since 0.1.0
140
+ * @category queries
141
+ */
142
+ const hasNoViolations = (self) => Arr.isReadonlyArrayEmpty(violations(self));
143
+ /**
144
+ * A human-readable, multi-line summary of a report.
145
+ *
146
+ * @since 0.1.0
147
+ * @category formatting
148
+ */
149
+ const format = (self) => {
150
+ if (self.conforms) return "Conforms";
151
+ const lines = [`Does not conform (${self.results.length} result(s))`];
152
+ const go = (indent) => (r) => {
153
+ lines.push(`${indent}- ${formatResult(r)}`);
154
+ Arr.forEach(r.details, go(`${indent} `));
155
+ };
156
+ Arr.forEach(self.results, go(""));
157
+ return lines.join("\n");
158
+ };
159
+ /**
160
+ * Formats one validation result on one line (without its details):
161
+ * severity, constraint component, focus node, path, value, shape and the
162
+ * first message.
163
+ *
164
+ * @since 0.1.0
165
+ * @category formatting
166
+ */
167
+ const formatResult = (r) => {
168
+ const parts = [`[${sh.localName(r.severity) ?? r.severity.key}] ${isNamedNode(r.sourceConstraintComponent) ? sh.localName(r.sourceConstraintComponent) ?? r.sourceConstraintComponent.key : r.sourceConstraintComponent.key} on ${r.focusNode.key}`];
169
+ if (Option.isSome(r.resultPath)) parts.push(`path ${toSparql(r.resultPath.value)}`);
170
+ if (Option.isSome(r.value)) parts.push(`value ${r.value.value.key}`);
171
+ parts.push(`(shape ${r.sourceShape.key})`);
172
+ const message = r.messages[0];
173
+ return parts.join(" ") + (message === void 0 ? "" : `: ${message.value}`);
174
+ };
175
+ /**
176
+ * Converts a report to the standard RDF validation report graph, using fresh
177
+ * blank nodes for the report, its results and any non-IRI result paths.
178
+ * Returns the report node together with the dataset.
179
+ *
180
+ * @since 0.1.0
181
+ * @category conversions
182
+ */
183
+ const toRdf = (self, options = {}) => {
184
+ const graph = options.graph ?? defaultGraph;
185
+ const includeDetails = options.details !== false;
186
+ const includeMessages = options.messages !== false;
187
+ const quads = [];
188
+ const add = (s, p, o) => quads.push(quad(s, p, o, graph));
189
+ const writeResult = (r) => {
190
+ const node = blankNode();
191
+ add(node, rdf.type, sh.ValidationResult);
192
+ add(node, sh.focusNode, r.focusNode);
193
+ if (Option.isSome(r.resultPath)) {
194
+ const encoded = toRdf$1(r.resultPath.value, graph);
195
+ quads.push(...encoded.quads);
196
+ add(node, sh.resultPath, encoded.node);
197
+ }
198
+ if (Option.isSome(r.value)) add(node, sh.value, r.value.value);
199
+ add(node, sh.sourceShape, r.sourceShape);
200
+ add(node, sh.sourceConstraintComponent, r.sourceConstraintComponent);
201
+ if (Option.isSome(r.sourceConstraint)) add(node, sh.sourceConstraint, r.sourceConstraint.value);
202
+ add(node, sh.resultSeverity, r.severity);
203
+ if (includeMessages) Arr.forEach(r.messages, (m) => add(node, sh.resultMessage, m));
204
+ if (includeDetails) Arr.forEach(r.details, (d) => add(node, sh.detail, writeResult(d)));
205
+ return node;
206
+ };
207
+ const report = blankNode();
208
+ add(report, rdf.type, sh.ValidationReport);
209
+ add(report, sh.conforms, literal(String(self.conforms), xsd.boolean));
210
+ Arr.forEach(self.results, (r) => add(report, sh.result, writeResult(r)));
211
+ return {
212
+ node: report,
213
+ dataset: fromIterable(quads)
214
+ };
215
+ };
216
+ /**
217
+ * Converts a report to the standard RDF validation report graph.
218
+ *
219
+ * @since 0.1.0
220
+ * @category conversions
221
+ */
222
+ const toDataset = (self, options = {}) => toRdf(self, options).dataset;
223
+ /**
224
+ * Why an RDF validation report could not be read.
225
+ *
226
+ * @since 0.1.0
227
+ * @category errors
228
+ */
229
+ var ReportSyntaxError = class extends Schema.TaggedError()("ReportSyntaxError", { message: Schema.String }) {};
230
+ /**
231
+ * Reads a validation report from RDF. The report node defaults to the (only)
232
+ * instance of `sh:ValidationReport` in the dataset.
233
+ *
234
+ * @since 0.1.0
235
+ * @category conversions
236
+ */
237
+ const fromDataset = (dataset, reportNode) => {
238
+ const err = (message) => Result.fail(new ReportSyntaxError({ message }));
239
+ const node = Option.match(Option.fromUndefinedOr(reportNode), {
240
+ onSome: (n) => Result.succeed(n),
241
+ onNone: () => {
242
+ const reports = subjectsOf(dataset, rdf.type, sh.ValidationReport);
243
+ return Result.fromOption(Option.filter(Arr.head(reports), () => reports.length === 1), () => `expected exactly one sh:ValidationReport, found ${reports.length}`).pipe(Result.flatMap((n) => isResource(n) ? Result.succeed(n) : Result.fail("invalid report node")));
244
+ }
245
+ });
246
+ if (Result.isFailure(node)) return err(node.failure);
247
+ const one = (s, p) => Arr.head(objectsOf(dataset, s, p));
248
+ const conformsNode = Option.filter(one(node.success, sh.conforms), isLiteral);
249
+ if (Option.isNone(conformsNode)) return err("the report has no sh:conforms literal");
250
+ const readResults = (nodes, depth) => Result.all(Arr.map(nodes, (r) => readResult(r, depth)));
251
+ const readResult = (r, depth) => {
252
+ if (isLiteral(r) || depth > 64) return Result.fail(`invalid result node ${r.key}`);
253
+ const required = (p, refinement, message) => Result.fromOption(Option.filter(one(r, p), refinement), () => `result ${r.key} ${message}`);
254
+ const pathNode = one(r, sh.resultPath);
255
+ return Result.gen(function* () {
256
+ const focusNode = yield* required(sh.focusNode, isGroundTerm, "has no sh:focusNode");
257
+ const sourceShape = yield* required(sh.sourceShape, isResource, "has no valid sh:sourceShape");
258
+ const component = yield* required(sh.sourceConstraintComponent, isResource, "has no valid sh:sourceConstraintComponent");
259
+ const severity = yield* required(sh.resultSeverity, isNamedNode, "has no valid sh:resultSeverity");
260
+ const resultPath = Option.isNone(pathNode) ? Option.none() : Option.some(yield* Result.mapError(fromRdf(dataset, pathNode.value), () => `result ${r.key} has an invalid sh:resultPath`));
261
+ const details = yield* readResults(objectsOf(dataset, r, sh.detail), depth + 1);
262
+ return makeResult({
263
+ focusNode,
264
+ sourceShape,
265
+ sourceConstraintComponent: component,
266
+ severity,
267
+ resultPath,
268
+ value: one(r, sh.value),
269
+ sourceConstraint: Option.filter(one(r, sh.sourceConstraint), isResource),
270
+ messages: objectsOf(dataset, r, sh.resultMessage).filter(isLiteral),
271
+ details
272
+ });
273
+ });
274
+ };
275
+ const results = readResults(objectsOf(dataset, node.success, sh.result), 0);
276
+ if (Result.isFailure(results)) return err(results.failure);
277
+ return Result.succeed({
278
+ _tag: "ValidationReport",
279
+ conforms: conformsNode.value.value === "true" || conformsNode.value.value === "1",
280
+ results: results.success
281
+ });
282
+ };
283
+ export { formatResult as a, isValidationReport as c, toDataset as d, toRdf as f, format as i, make as l, withSeverity as m, ValidationReportSchema as n, fromDataset as o, violations as p, ValidationReport_exports as r, hasNoViolations as s, ReportSyntaxError as t, makeResult as u };
284
+
285
+ //# sourceMappingURL=ValidationReport-DBdJshW5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationReport-DBdJshW5.mjs","names":["Vocab","Term.NamedNodeSchema","Term.BlankNodeSchema","Term.GroundTermSchema","Term.LiteralSchema","Term.isNamedNode","Path.toSparql","Term.defaultGraph","Term.quad","Term.blankNode","Path.toRdf","Term.literal","Dataset.fromIterable","Dataset.subjectsOf","Term.isResource","Dataset.objectsOf","Term.isLiteral","Term.isGroundTerm","Path.fromRdf"],"sources":["../src/shacl/ValidationReport.ts"],"sourcesContent":["/**\n * Validation reports (§3.6): a typed model of the outcome of SHACL\n * validation, convertible to and from the standard RDF validation report\n * vocabulary.\n *\n * @since 0.1.0\n */\nimport { Dataset, Term, Vocab } from '../index.ts';\nimport * as Arr from 'effect/Array';\nimport * as Option from 'effect/Option';\nimport * as Result from 'effect/Result';\nimport * as Schema from 'effect/Schema';\nimport * as SchemaTransformation from 'effect/SchemaTransformation';\nimport * as Path from './Path.ts';\nimport { sh } from './Vocabulary.ts';\nimport * as Predicate from 'effect/Predicate';\n\nconst { rdf, xsd } = Vocab;\n\n/**\n * A single validation result (`sh:ValidationResult`).\n *\n * @since 0.1.0\n * @category models\n */\nexport interface ValidationResult {\n readonly _tag: 'ValidationResult';\n /** `sh:focusNode`: the focus node that was validated. */\n readonly focusNode: Term.GroundTerm;\n /** `sh:resultPath`: the path of the property shape, when relevant. */\n readonly resultPath: Option.Option<Path.Path>;\n /** `sh:value`: the value node that caused the result, when relevant. */\n readonly value: Option.Option<Term.GroundTerm>;\n /** `sh:sourceShape`: the shape the constraint belongs to. */\n readonly sourceShape: Term.NamedNode | Term.BlankNode;\n /** `sh:sourceConstraintComponent`. */\n readonly sourceConstraintComponent: Term.NamedNode | Term.BlankNode;\n /** `sh:sourceConstraint` (for SPARQL-based constraints). */\n readonly sourceConstraint: Option.Option<Term.NamedNode | Term.BlankNode>;\n /** `sh:resultSeverity`. */\n readonly severity: Term.NamedNode;\n /** `sh:resultMessage` values. */\n readonly messages: ReadonlyArray<Term.Literal>;\n /** `sh:detail`: nested results explaining this result. */\n readonly details: ReadonlyArray<ValidationResult>;\n}\n\n/**\n * A validation report (`sh:ValidationReport`).\n *\n * @since 0.1.0\n * @category models\n */\nexport interface ValidationReport {\n readonly _tag: 'ValidationReport';\n /** `sh:conforms`: true when there are no validation results. */\n readonly conforms: boolean;\n /** `sh:result` values. */\n readonly results: ReadonlyArray<ValidationResult>;\n}\n\n/**\n * @since 0.1.0\n * @category constructors\n */\nexport const makeResult = (fields: {\n readonly focusNode: Term.GroundTerm;\n readonly sourceShape: Term.NamedNode | Term.BlankNode;\n readonly sourceConstraintComponent: Term.NamedNode | Term.BlankNode;\n readonly severity?: Term.NamedNode | undefined;\n readonly resultPath?: Option.Option<Path.Path> | undefined;\n readonly value?: Option.Option<Term.GroundTerm> | undefined;\n readonly sourceConstraint?: Option.Option<Term.NamedNode | Term.BlankNode> | undefined;\n readonly messages?: ReadonlyArray<Term.Literal> | undefined;\n readonly details?: ReadonlyArray<ValidationResult> | undefined;\n}): ValidationResult => ({\n _tag: 'ValidationResult',\n focusNode: fields.focusNode,\n resultPath: fields.resultPath ?? Option.none(),\n value: fields.value ?? Option.none(),\n sourceShape: fields.sourceShape,\n sourceConstraintComponent: fields.sourceConstraintComponent,\n sourceConstraint: fields.sourceConstraint ?? Option.none(),\n severity: fields.severity ?? sh.Violation,\n messages: fields.messages ?? [],\n details: fields.details ?? [],\n});\n\n/**\n * Builds a report from results; `conforms` is true iff there are none.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const make = (results: ReadonlyArray<ValidationResult>): ValidationReport => ({\n _tag: 'ValidationReport',\n conforms: Arr.isReadonlyArrayEmpty(results),\n results,\n});\n\n/**\n * @since 0.1.0\n * @category guards\n */\nexport const isValidationReport = (u: unknown): u is ValidationReport =>\n Predicate.isTagged(u, 'ValidationReport');\n\n// The structural shape of the report model, which `ValidationReportSchema` links to as its JSON\n// codec: `Schema.toCodecJson` derives the terms' JSON through their own declarations.\nconst PathStruct: Schema.Codec<Path.Path> = Schema.Union([\n Schema.Struct({ _tag: Schema.tag('PredicatePath'), predicate: Term.NamedNodeSchema }),\n Schema.Struct({\n _tag: Schema.tag('SequencePath'),\n paths: Schema.Array(Schema.suspend((): Schema.Codec<Path.Path> => PathStruct)),\n }),\n Schema.Struct({\n _tag: Schema.tag('AlternativePath'),\n paths: Schema.Array(Schema.suspend((): Schema.Codec<Path.Path> => PathStruct)),\n }),\n ...(['InversePath', 'ZeroOrMorePath', 'OneOrMorePath', 'ZeroOrOnePath'] as const).map((tag) =>\n Schema.Struct({\n _tag: Schema.tag(tag),\n path: Schema.suspend((): Schema.Codec<Path.Path> => PathStruct),\n }),\n ),\n]).annotate({ identifier: 'Path' });\n\nconst ResourceSchema = Schema.Union([Term.NamedNodeSchema, Term.BlankNodeSchema]);\n\nconst ValidationResultStruct: Schema.Codec<ValidationResult> = Schema.Struct({\n _tag: Schema.tag('ValidationResult'),\n focusNode: Term.GroundTermSchema,\n resultPath: Schema.Option(PathStruct),\n value: Schema.Option(Term.GroundTermSchema),\n sourceShape: ResourceSchema,\n sourceConstraintComponent: ResourceSchema,\n sourceConstraint: Schema.Option(ResourceSchema),\n severity: Term.NamedNodeSchema,\n messages: Schema.Array(Term.LiteralSchema),\n details: Schema.Array(\n Schema.suspend((): Schema.Codec<ValidationResult> => ValidationResultStruct),\n ),\n}).annotate({ identifier: 'ValidationResult' });\n\n// `conforms` is derived from the results (`make`), so the JSON carries only the results.\nconst ValidationReportJson = Schema.Struct({ results: Schema.Array(ValidationResultStruct) });\n\n/**\n * Schema of a validation report; its JSON codec is `{ results }`, mirroring\n * the result model with terms as `TermJson` terms and `Option`s in Effect's\n * JSON form (`conforms` is recomputed from the results on decode).\n *\n * @since 0.1.0\n * @category schemas\n */\nexport const ValidationReportSchema: Schema.declare<ValidationReport> = Schema.declare(\n isValidationReport,\n {\n identifier: 'ValidationReport',\n toCodecJson: () =>\n Schema.link<ValidationReport>()(\n ValidationReportJson,\n SchemaTransformation.transform({\n decode: ({ results }) => make(results),\n encode: ({ results }) => ({ results }),\n }),\n ),\n },\n);\n\n/**\n * The type `ValidationReportSchema` decodes to: a `ValidationReport`.\n *\n * @since 0.1.0\n * @category schemas\n */\nexport type ValidationReportSchema = typeof ValidationReportSchema.Type;\n\n// -----------------------------------------------------------------------------\n// Queries\n// -----------------------------------------------------------------------------\n\n/**\n * The results with a given severity.\n *\n * @since 0.1.0\n * @category queries\n */\nexport const withSeverity = (\n self: ValidationReport,\n severity: Term.NamedNode,\n): ReadonlyArray<ValidationResult> =>\n self.results.filter((r) => r.severity.value === severity.value);\n\n/**\n * The `sh:Violation` results.\n *\n * @since 0.1.0\n * @category queries\n */\nexport const violations = (self: ValidationReport): ReadonlyArray<ValidationResult> =>\n withSeverity(self, sh.Violation);\n\n/**\n * Whether the report has no results of severity `sh:Violation` (it may still\n * contain warnings and informational results).\n *\n * @since 0.1.0\n * @category queries\n */\nexport const hasNoViolations = (self: ValidationReport): boolean =>\n Arr.isReadonlyArrayEmpty(violations(self));\n\n/**\n * A human-readable, multi-line summary of a report.\n *\n * @since 0.1.0\n * @category formatting\n */\nexport const format = (self: ValidationReport): string => {\n if (self.conforms) return 'Conforms';\n const lines = [`Does not conform (${self.results.length} result(s))`];\n const go = (indent: string) => (r: ValidationResult) => {\n lines.push(`${indent}- ${formatResult(r)}`);\n Arr.forEach(r.details, go(`${indent} `));\n };\n Arr.forEach(self.results, go(''));\n return lines.join('\\n');\n};\n\n/**\n * Formats one validation result on one line (without its details):\n * severity, constraint component, focus node, path, value, shape and the\n * first message.\n *\n * @since 0.1.0\n * @category formatting\n */\nexport const formatResult = (r: ValidationResult): string => {\n const severity = sh.localName(r.severity) ?? r.severity.key;\n const component = Term.isNamedNode(r.sourceConstraintComponent)\n ? (sh.localName(r.sourceConstraintComponent) ?? r.sourceConstraintComponent.key)\n : r.sourceConstraintComponent.key;\n const parts = [`[${severity}] ${component} on ${r.focusNode.key}`];\n if (Option.isSome(r.resultPath)) parts.push(`path ${Path.toSparql(r.resultPath.value)}`);\n if (Option.isSome(r.value)) parts.push(`value ${r.value.value.key}`);\n parts.push(`(shape ${r.sourceShape.key})`);\n const message = r.messages[0];\n return parts.join(' ') + (message === undefined ? '' : `: ${message.value}`);\n};\n\n// -----------------------------------------------------------------------------\n// RDF conversion\n// -----------------------------------------------------------------------------\n\n/**\n * Options for `toDataset`.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface ToDatasetOptions {\n /** The graph to write the report into (default graph by default). */\n readonly graph?: Term.Graph | undefined;\n /** Include `sh:detail` results (default `true`). */\n readonly details?: boolean | undefined;\n /** Include `sh:resultMessage` values (default `true`). */\n readonly messages?: boolean | undefined;\n}\n\n/**\n * A validation report encoded as RDF: the report's node and the graph\n * describing it.\n *\n * @since 0.1.0\n * @category conversions\n */\nexport interface ReportRdf {\n readonly node: Term.BlankNode;\n readonly dataset: Dataset.Dataset;\n}\n\n/**\n * Converts a report to the standard RDF validation report graph, using fresh\n * blank nodes for the report, its results and any non-IRI result paths.\n * Returns the report node together with the dataset.\n *\n * @since 0.1.0\n * @category conversions\n */\nexport const toRdf = (self: ValidationReport, options: ToDatasetOptions = {}): ReportRdf => {\n const graph = options.graph ?? Term.defaultGraph;\n const includeDetails = options.details !== false;\n const includeMessages = options.messages !== false;\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, graph));\n const writeResult = (r: ValidationResult): Term.BlankNode => {\n const node = Term.blankNode();\n add(node, rdf.type, sh.ValidationResult);\n add(node, sh.focusNode, r.focusNode);\n if (Option.isSome(r.resultPath)) {\n const encoded = Path.toRdf(r.resultPath.value, graph);\n quads.push(...encoded.quads);\n add(node, sh.resultPath, encoded.node);\n }\n if (Option.isSome(r.value)) add(node, sh.value, r.value.value);\n add(node, sh.sourceShape, r.sourceShape);\n add(node, sh.sourceConstraintComponent, r.sourceConstraintComponent);\n if (Option.isSome(r.sourceConstraint)) add(node, sh.sourceConstraint, r.sourceConstraint.value);\n add(node, sh.resultSeverity, r.severity);\n if (includeMessages) Arr.forEach(r.messages, (m) => add(node, sh.resultMessage, m));\n if (includeDetails) Arr.forEach(r.details, (d) => add(node, sh.detail, writeResult(d)));\n return node;\n };\n const report = Term.blankNode();\n add(report, rdf.type, sh.ValidationReport);\n add(report, sh.conforms, Term.literal(String(self.conforms), xsd.boolean));\n Arr.forEach(self.results, (r) => add(report, sh.result, writeResult(r)));\n return { node: report, dataset: Dataset.fromIterable(quads) };\n};\n\n/**\n * Converts a report to the standard RDF validation report graph.\n *\n * @since 0.1.0\n * @category conversions\n */\nexport const toDataset = (\n self: ValidationReport,\n options: ToDatasetOptions = {},\n): Dataset.Dataset => toRdf(self, options).dataset;\n\n/**\n * Why an RDF validation report could not be read.\n *\n * @since 0.1.0\n * @category errors\n */\nexport class ReportSyntaxError extends Schema.TaggedError<ReportSyntaxError>()(\n 'ReportSyntaxError',\n { message: Schema.String },\n) {}\n\n/**\n * Reads a validation report from RDF. The report node defaults to the (only)\n * instance of `sh:ValidationReport` in the dataset.\n *\n * @since 0.1.0\n * @category conversions\n */\nexport const fromDataset = (\n dataset: Dataset.Dataset,\n reportNode?: Term.NamedNode | Term.BlankNode,\n): Result.Result<ValidationReport, ReportSyntaxError> => {\n const err = (message: string) => Result.fail(new ReportSyntaxError({ message }));\n const node = Option.match(Option.fromUndefinedOr(reportNode), {\n onSome: (n): Result.Result<Term.Resource, string> => Result.succeed(n),\n onNone: () => {\n const reports = Dataset.subjectsOf(dataset, rdf.type, sh.ValidationReport);\n return Result.fromOption(\n Option.filter(Arr.head(reports), () => reports.length === 1),\n () => `expected exactly one sh:ValidationReport, found ${reports.length}`,\n ).pipe(\n Result.flatMap((n) =>\n Term.isResource(n) ? Result.succeed(n) : Result.fail('invalid report node'),\n ),\n );\n },\n });\n if (Result.isFailure(node)) return err(node.failure);\n const one = (s: Term.Subject, p: Term.NamedNode) => Arr.head(Dataset.objectsOf(dataset, s, p));\n const conformsNode = Option.filter(one(node.success, sh.conforms), Term.isLiteral);\n if (Option.isNone(conformsNode)) return err('the report has no sh:conforms literal');\n const readResults = (\n nodes: ReadonlyArray<Term.GroundTerm>,\n depth: number,\n ): Result.Result<ReadonlyArray<ValidationResult>, string> =>\n Result.all(Arr.map(nodes, (r) => readResult(r, depth)));\n const readResult = (\n r: Term.GroundTerm,\n depth: number,\n ): Result.Result<ValidationResult, string> => {\n if (Term.isLiteral(r) || depth > 64) return Result.fail(`invalid result node ${r.key}`);\n const required = <A extends Term.GroundTerm>(\n p: Term.NamedNode,\n refinement: (t: Term.GroundTerm) => t is A,\n message: string,\n ): Result.Result<A, string> =>\n Result.fromOption(Option.filter(one(r, p), refinement), () => `result ${r.key} ${message}`);\n const pathNode = one(r, sh.resultPath);\n return Result.gen(function* () {\n const focusNode = yield* required(sh.focusNode, Term.isGroundTerm, 'has no sh:focusNode');\n const sourceShape = yield* required(\n sh.sourceShape,\n Term.isResource,\n 'has no valid sh:sourceShape',\n );\n const component = yield* required(\n sh.sourceConstraintComponent,\n Term.isResource,\n 'has no valid sh:sourceConstraintComponent',\n );\n const severity = yield* required(\n sh.resultSeverity,\n Term.isNamedNode,\n 'has no valid sh:resultSeverity',\n );\n const resultPath = Option.isNone(pathNode)\n ? Option.none<Path.Path>()\n : Option.some(\n yield* Result.mapError(\n Path.fromRdf(dataset, pathNode.value),\n () => `result ${r.key} has an invalid sh:resultPath`,\n ),\n );\n const details = yield* readResults(Dataset.objectsOf(dataset, r, sh.detail), depth + 1);\n return makeResult({\n focusNode,\n sourceShape,\n sourceConstraintComponent: component,\n severity,\n resultPath,\n value: one(r, sh.value),\n sourceConstraint: Option.filter(one(r, sh.sourceConstraint), Term.isResource),\n messages: Dataset.objectsOf(dataset, r, sh.resultMessage).filter(Term.isLiteral),\n details,\n });\n });\n };\n const results = readResults(Dataset.objectsOf(dataset, node.success, sh.result), 0);\n if (Result.isFailure(results)) return err(results.failure);\n return Result.succeed({\n _tag: 'ValidationReport',\n conforms: conformsNode.value.value === 'true' || conformsNode.value.value === '1',\n results: results.success,\n });\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,MAAM,EAAE,KAAK,QAAQA;;;;;AAgDrB,MAAa,cAAc,YAUF;CACvB,MAAM;CACN,WAAW,OAAO;CAClB,YAAY,OAAO,cAAc,OAAO,KAAK;CAC7C,OAAO,OAAO,SAAS,OAAO,KAAK;CACnC,aAAa,OAAO;CACpB,2BAA2B,OAAO;CAClC,kBAAkB,OAAO,oBAAoB,OAAO,KAAK;CACzD,UAAU,OAAO,YAAY,GAAG;CAChC,UAAU,OAAO,YAAY,CAAC;CAC9B,SAAS,OAAO,WAAW,CAAC;AAC9B;;;;;;;AAQA,MAAa,QAAQ,aAAgE;CACnF,MAAM;CACN,UAAU,IAAI,qBAAqB,OAAO;CAC1C;AACF;;;;;AAMA,MAAa,sBAAsB,MACjC,UAAU,SAAS,GAAG,kBAAkB;AAI1C,MAAM,aAAsC,OAAO,MAAM;CACvD,OAAO,OAAO;EAAE,MAAM,OAAO,IAAI,eAAe;EAAG,WAAWC;CAAqB,CAAC;CACpF,OAAO,OAAO;EACZ,MAAM,OAAO,IAAI,cAAc;EAC/B,OAAO,OAAO,MAAM,OAAO,cAAuC,UAAU,CAAC;CAC/E,CAAC;CACD,OAAO,OAAO;EACZ,MAAM,OAAO,IAAI,iBAAiB;EAClC,OAAO,OAAO,MAAM,OAAO,cAAuC,UAAU,CAAC;CAC/E,CAAC;CACD,GAAI;EAAC;EAAe;EAAkB;EAAiB;CAAe,CAAC,CAAW,KAAK,QACrF,OAAO,OAAO;EACZ,MAAM,OAAO,IAAI,GAAG;EACpB,MAAM,OAAO,cAAuC,UAAU;CAChE,CAAC,CACH;AACF,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,OAAO,CAAC;AAElC,MAAM,iBAAiB,OAAO,MAAM,CAACA,iBAAsBC,eAAoB,CAAC;AAEhF,MAAM,yBAAyD,OAAO,OAAO;CAC3E,MAAM,OAAO,IAAI,kBAAkB;CACnC,WAAWC;CACX,YAAY,OAAO,OAAO,UAAU;CACpC,OAAO,OAAO,OAAOA,gBAAqB;CAC1C,aAAa;CACb,2BAA2B;CAC3B,kBAAkB,OAAO,OAAO,cAAc;CAC9C,UAAUF;CACV,UAAU,OAAO,MAAMG,aAAkB;CACzC,SAAS,OAAO,MACd,OAAO,cAA8C,sBAAsB,CAC7E;AACF,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,mBAAmB,CAAC;AAG9C,MAAM,uBAAuB,OAAO,OAAO,EAAE,SAAS,OAAO,MAAM,sBAAsB,EAAE,CAAC;;;;;;;;;AAU5F,MAAa,yBAA2D,OAAO,QAC7E,oBACA;CACE,YAAY;CACZ,mBACE,OAAO,KAAuB,CAAC,CAC7B,sBACA,qBAAqB,UAAU;EAC7B,SAAS,EAAE,cAAc,KAAK,OAAO;EACrC,SAAS,EAAE,eAAe,EAAE,QAAQ;CACtC,CAAC,CACH;AACJ,CACF;;;;;;;AAoBA,MAAa,gBACX,MACA,aAEA,KAAK,QAAQ,QAAQ,MAAM,EAAE,SAAS,UAAU,SAAS,KAAK;;;;;;;AAQhE,MAAa,cAAc,SACzB,aAAa,MAAM,GAAG,SAAS;;;;;;;;AASjC,MAAa,mBAAmB,SAC9B,IAAI,qBAAqB,WAAW,IAAI,CAAC;;;;;;;AAQ3C,MAAa,UAAU,SAAmC;CACxD,IAAI,KAAK,UAAU,OAAO;CAC1B,MAAM,QAAQ,CAAC,qBAAqB,KAAK,QAAQ,OAAO,YAAY;CACpE,MAAM,MAAM,YAAoB,MAAwB;EACtD,MAAM,KAAK,GAAG,OAAO,IAAI,aAAa,CAAC,GAAG;EAC1C,IAAI,QAAQ,EAAE,SAAS,GAAG,GAAG,OAAO,GAAG,CAAC;CAC1C;CACA,IAAI,QAAQ,KAAK,SAAS,GAAG,EAAE,CAAC;CAChC,OAAO,MAAM,KAAK,IAAI;AACxB;;;;;;;;;AAUA,MAAa,gBAAgB,MAAgC;CAK3D,MAAM,QAAQ,CAAC,IAJE,GAAG,UAAU,EAAE,QAAQ,KAAK,EAAE,SAAS,IAI5B,IAHVC,YAAiB,EAAE,yBAAyB,IACzD,GAAG,UAAU,EAAE,yBAAyB,KAAK,EAAE,0BAA0B,MAC1E,EAAE,0BAA0B,IACU,MAAM,EAAE,UAAU,KAAK;CACjE,IAAI,OAAO,OAAO,EAAE,UAAU,GAAG,MAAM,KAAK,QAAQC,SAAc,EAAE,WAAW,KAAK,GAAG;CACvF,IAAI,OAAO,OAAO,EAAE,KAAK,GAAG,MAAM,KAAK,SAAS,EAAE,MAAM,MAAM,KAAK;CACnE,MAAM,KAAK,UAAU,EAAE,YAAY,IAAI,EAAE;CACzC,MAAM,UAAU,EAAE,SAAS;CAC3B,OAAO,MAAM,KAAK,GAAG,KAAK,YAAY,KAAA,IAAY,KAAK,KAAK,QAAQ;AACtE;;;;;;;;;AAyCA,MAAa,SAAS,MAAwB,UAA4B,CAAC,MAAiB;CAC1F,MAAM,QAAQ,QAAQ,SAASC;CAC/B,MAAM,iBAAiB,QAAQ,YAAY;CAC3C,MAAM,kBAAkB,QAAQ,aAAa;CAC7C,MAAM,QAA0B,CAAC;CACjC,MAAM,OAAO,GAAiB,GAAmB,MAC/C,MAAM,KAAKC,KAAU,GAAG,GAAG,GAAG,KAAK,CAAC;CACtC,MAAM,eAAe,MAAwC;EAC3D,MAAM,OAAOC,UAAe;EAC5B,IAAI,MAAM,IAAI,MAAM,GAAG,gBAAgB;EACvC,IAAI,MAAM,GAAG,WAAW,EAAE,SAAS;EACnC,IAAI,OAAO,OAAO,EAAE,UAAU,GAAG;GAC/B,MAAM,UAAUC,QAAW,EAAE,WAAW,OAAO,KAAK;GACpD,MAAM,KAAK,GAAG,QAAQ,KAAK;GAC3B,IAAI,MAAM,GAAG,YAAY,QAAQ,IAAI;EACvC;EACA,IAAI,OAAO,OAAO,EAAE,KAAK,GAAG,IAAI,MAAM,GAAG,OAAO,EAAE,MAAM,KAAK;EAC7D,IAAI,MAAM,GAAG,aAAa,EAAE,WAAW;EACvC,IAAI,MAAM,GAAG,2BAA2B,EAAE,yBAAyB;EACnE,IAAI,OAAO,OAAO,EAAE,gBAAgB,GAAG,IAAI,MAAM,GAAG,kBAAkB,EAAE,iBAAiB,KAAK;EAC9F,IAAI,MAAM,GAAG,gBAAgB,EAAE,QAAQ;EACvC,IAAI,iBAAiB,IAAI,QAAQ,EAAE,WAAW,MAAM,IAAI,MAAM,GAAG,eAAe,CAAC,CAAC;EAClF,IAAI,gBAAgB,IAAI,QAAQ,EAAE,UAAU,MAAM,IAAI,MAAM,GAAG,QAAQ,YAAY,CAAC,CAAC,CAAC;EACtF,OAAO;CACT;CACA,MAAM,SAASD,UAAe;CAC9B,IAAI,QAAQ,IAAI,MAAM,GAAG,gBAAgB;CACzC,IAAI,QAAQ,GAAG,UAAUE,QAAa,OAAO,KAAK,QAAQ,GAAG,IAAI,OAAO,CAAC;CACzE,IAAI,QAAQ,KAAK,UAAU,MAAM,IAAI,QAAQ,GAAG,QAAQ,YAAY,CAAC,CAAC,CAAC;CACvE,OAAO;EAAE,MAAM;EAAQ,SAASC,aAAqB,KAAK;CAAE;AAC9D;;;;;;;AAQA,MAAa,aACX,MACA,UAA4B,CAAC,MACT,MAAM,MAAM,OAAO,CAAC,CAAC;;;;;;;AAQ3C,IAAa,oBAAb,cAAuC,OAAO,YAA+B,CAAC,CAC5E,qBACA,EAAE,SAAS,OAAO,OAAO,CAC3B,CAAC,CAAC,CAAC;;;;;;;;AASH,MAAa,eACX,SACA,eACuD;CACvD,MAAM,OAAO,YAAoB,OAAO,KAAK,IAAI,kBAAkB,EAAE,QAAQ,CAAC,CAAC;CAC/E,MAAM,OAAO,OAAO,MAAM,OAAO,gBAAgB,UAAU,GAAG;EAC5D,SAAS,MAA4C,OAAO,QAAQ,CAAC;EACrE,cAAc;GACZ,MAAM,UAAUC,WAAmB,SAAS,IAAI,MAAM,GAAG,gBAAgB;GACzE,OAAO,OAAO,WACZ,OAAO,OAAO,IAAI,KAAK,OAAO,SAAS,QAAQ,WAAW,CAAC,SACrD,mDAAmD,QAAQ,QACnE,CAAC,CAAC,KACA,OAAO,SAAS,MACdC,WAAgB,CAAC,IAAI,OAAO,QAAQ,CAAC,IAAI,OAAO,KAAK,qBAAqB,CAC5E,CACF;EACF;CACF,CAAC;CACD,IAAI,OAAO,UAAU,IAAI,GAAG,OAAO,IAAI,KAAK,OAAO;CACnD,MAAM,OAAO,GAAiB,MAAsB,IAAI,KAAKC,UAAkB,SAAS,GAAG,CAAC,CAAC;CAC7F,MAAM,eAAe,OAAO,OAAO,IAAI,KAAK,SAAS,GAAG,QAAQ,GAAGC,SAAc;CACjF,IAAI,OAAO,OAAO,YAAY,GAAG,OAAO,IAAI,uCAAuC;CACnF,MAAM,eACJ,OACA,UAEA,OAAO,IAAI,IAAI,IAAI,QAAQ,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC;CACxD,MAAM,cACJ,GACA,UAC4C;EAC5C,IAAIA,UAAe,CAAC,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,uBAAuB,EAAE,KAAK;EACtF,MAAM,YACJ,GACA,YACA,YAEA,OAAO,WAAW,OAAO,OAAO,IAAI,GAAG,CAAC,GAAG,UAAU,SAAS,UAAU,EAAE,IAAI,GAAG,SAAS;EAC5F,MAAM,WAAW,IAAI,GAAG,GAAG,UAAU;EACrC,OAAO,OAAO,IAAI,aAAa;GAC7B,MAAM,YAAY,OAAO,SAAS,GAAG,WAAWC,cAAmB,qBAAqB;GACxF,MAAM,cAAc,OAAO,SACzB,GAAG,aACHH,YACA,6BACF;GACA,MAAM,YAAY,OAAO,SACvB,GAAG,2BACHA,YACA,2CACF;GACA,MAAM,WAAW,OAAO,SACtB,GAAG,gBACHT,aACA,gCACF;GACA,MAAM,aAAa,OAAO,OAAO,QAAQ,IACrC,OAAO,KAAgB,IACvB,OAAO,KACL,OAAO,OAAO,SACZa,QAAa,SAAS,SAAS,KAAK,SAC9B,UAAU,EAAE,IAAI,8BACxB,CACF;GACJ,MAAM,UAAU,OAAO,YAAYH,UAAkB,SAAS,GAAG,GAAG,MAAM,GAAG,QAAQ,CAAC;GACtF,OAAO,WAAW;IAChB;IACA;IACA,2BAA2B;IAC3B;IACA;IACA,OAAO,IAAI,GAAG,GAAG,KAAK;IACtB,kBAAkB,OAAO,OAAO,IAAI,GAAG,GAAG,gBAAgB,GAAGD,UAAe;IAC5E,UAAUC,UAAkB,SAAS,GAAG,GAAG,aAAa,CAAC,CAAC,OAAOC,SAAc;IAC/E;GACF,CAAC;EACH,CAAC;CACH;CACA,MAAM,UAAU,YAAYD,UAAkB,SAAS,KAAK,SAAS,GAAG,MAAM,GAAG,CAAC;CAClF,IAAI,OAAO,UAAU,OAAO,GAAG,OAAO,IAAI,QAAQ,OAAO;CACzD,OAAO,OAAO,QAAQ;EACpB,MAAM;EACN,UAAU,aAAa,MAAM,UAAU,UAAU,aAAa,MAAM,UAAU;EAC9E,SAAS,QAAQ;CACnB,CAAC;AACH"}