@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 @@
1
+ {"version":3,"file":"Shapes-18GjfyBV.mjs","names":["Vocab","Term.namedNode","Term.literal","Term.isResource","Term.isNamedNode","Term.isLiteral","Xsd.isIntegerDatatype","Xsd.isWellFormed","Dataset.objectsOf","list","Term.isObject","Dataset.list","Rdfs.instancesOf","Dataset.match","Term.isTriple","Term.compare","Regex.compile","Dataset.subjectsOf","Path.fromRdf"],"sources":["../src/shacl/internal/regex.ts","../src/shacl/Shapes.ts"],"sourcesContent":["/**\n * Translation of XPath/XML Schema regular expressions (as used by\n * `sh:pattern` and `sh:flags`) to JavaScript `RegExp`s.\n *\n * @internal\n */\nimport * as Arr from 'effect/Array';\nimport * as Option from 'effect/Option';\nimport * as Result from 'effect/Result';\nimport * as Schema from 'effect/Schema';\n\n/** A string as a JSON string literal, for messages. */\nconst quote = Schema.encodeSync(Schema.fromJsonString(Schema.String));\n\nconst escapeAll = (s: string) => s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\n/** Removes whitespace outside character classes (the XPath `x` flag). */\nconst stripWhitespace = (s: string): string => {\n let inClass = false;\n return s.replace(/\\\\[\\s\\S]?|[[\\]]|[\\t\\n\\r ]/g, (token) => {\n if (token === '[') inClass = true;\n else if (token === ']') inClass = false;\n else if (WHITESPACE.test(token)) return inClass ? token : '';\n return token;\n });\n};\n\nconst WHITESPACE = /^[\\t\\n\\r ]$/;\n\n/**\n * Compiles an XPath regular expression with optional XPath flags\n * (`s`, `m`, `i`, `x`, `q`). Fails with an error message for invalid input.\n *\n * @internal\n */\nexport const compile = (pattern: string, flags: string): Result.Result<RegExp, string> => {\n const chars = Arr.fromIterable(flags);\n const unsupported = Arr.findFirst(chars, (f) => !'smixq'.includes(f));\n if (Option.isSome(unsupported))\n return Result.fail(`unsupported regular expression flag '${unsupported.value}'`);\n const jsFlags = Arr.join(Arr.dedupe(Arr.filter(chars, (f) => 'smi'.includes(f))), '');\n const source = flags.includes('q')\n ? escapeAll(pattern)\n : flags.includes('x')\n ? stripWhitespace(pattern)\n : pattern;\n // Unicode mode first (XPath character classes need it), then the legacy\n // syntax that accepts the escapes Unicode mode rejects.\n return Result.mapError(\n Result.orElse(\n Result.try(() => new RegExp(source, `${jsFlags}u`)),\n () => Result.try(() => new RegExp(source, jsFlags)),\n ),\n (failure) => `invalid regular expression ${quote(pattern)}: ${String(failure)}`,\n );\n};\n","/**\n * Shapes graphs: parsing an RDF shapes graph into a typed, validated model of\n * node shapes and property shapes with their targets and constraints\n * (SHACL Core §2–§4, plus the SHACL-SPARQL constructs needed to delegate to a\n * `Sparql.SparqlConstraintEvaluator`).\n *\n * ```ts\n * import { Effect } from \"effect\"\n * import { Shapes } from \"@thomasfosterau/effect-rdf/shacl\"\n *\n * const program = Effect.gen(function* () {\n * const shapes = yield* Shapes.parse(shapesDataset)\n * for (const shape of shapes.shapes) console.log(shape._tag, shape.id.key)\n * })\n * ```\n *\n * @since 0.1.0\n */\nimport { Dataset, Rdfs, Term, Vocab, Xsd } from '../index.ts';\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 Predicate from 'effect/Predicate';\nimport * as Record from 'effect/Record';\nimport * as Result from 'effect/Result';\nimport * as Schema from 'effect/Schema';\nimport * as Regex from './internal/regex.ts';\nimport * as Path from './Path.ts';\nimport { SH, sh } from './Vocabulary.ts';\n\nconst { rdfs, xsd } = Vocab;\n\n// -----------------------------------------------------------------------------\n// Errors\n// -----------------------------------------------------------------------------\n\n/**\n * The shapes graph is ill-formed (§3.4.1 \"ill-formed shapes graph\"), so it\n * cannot be used for validation.\n *\n * @since 0.1.0\n * @category errors\n */\nexport class ShapesGraphError extends Schema.TaggedError<ShapesGraphError>()('ShapesGraphError', {\n message: Schema.String,\n /** The N-Triples form of the offending node, when known. */\n node: Schema.optional(Schema.String),\n}) {}\n\n// -----------------------------------------------------------------------------\n// Models\n// -----------------------------------------------------------------------------\n\n/**\n * The identifier of a shape: an IRI or a blank node of the shapes graph.\n *\n * @since 0.1.0\n * @category models\n */\nexport type ShapeId = Term.NamedNode | Term.BlankNode;\n\n/**\n * A target declaration (§2.1.3).\n *\n * @since 0.1.0\n * @category models\n */\nexport type Target =\n | { readonly _tag: 'TargetNode'; readonly node: Term.GroundTerm }\n | { readonly _tag: 'TargetClass'; readonly class: Term.Resource; readonly implicit: boolean }\n | { readonly _tag: 'TargetSubjectsOf'; readonly predicate: Term.NamedNode }\n | { readonly _tag: 'TargetObjectsOf'; readonly predicate: Term.NamedNode }\n | {\n /** A SPARQL-based target or custom target type (`sh:target`). */\n readonly _tag: 'SparqlTarget';\n readonly node: Term.GroundTerm;\n };\n\n/**\n * The node kinds of `sh:nodeKind`.\n *\n * @since 0.1.0\n * @category models\n */\nexport type NodeKind =\n | 'BlankNode'\n | 'IRI'\n | 'Literal'\n | 'BlankNodeOrIRI'\n | 'BlankNodeOrLiteral'\n | 'IRIOrLiteral';\n\n/**\n * A constraint on a value node set, i.e. an instance of a constraint\n * component with its parameter values (§2.2, §4).\n *\n * @since 0.1.0\n * @category models\n */\nexport type Constraint =\n | { readonly _tag: 'Class'; readonly class: Term.Resource }\n | { readonly _tag: 'Datatype'; readonly datatype: Term.NamedNode }\n | { readonly _tag: 'NodeKind'; readonly nodeKind: NodeKind }\n | { readonly _tag: 'MinCount'; readonly minCount: number }\n | { readonly _tag: 'MaxCount'; readonly maxCount: number }\n | { readonly _tag: 'MinExclusive'; readonly value: Term.GroundTerm }\n | { readonly _tag: 'MinInclusive'; readonly value: Term.GroundTerm }\n | { readonly _tag: 'MaxExclusive'; readonly value: Term.GroundTerm }\n | { readonly _tag: 'MaxInclusive'; readonly value: Term.GroundTerm }\n | { readonly _tag: 'MinLength'; readonly minLength: number }\n | { readonly _tag: 'MaxLength'; readonly maxLength: number }\n | {\n readonly _tag: 'Pattern';\n readonly pattern: string;\n readonly flags: string;\n readonly regex: RegExp;\n }\n | { readonly _tag: 'LanguageIn'; readonly languages: ReadonlyArray<string> }\n | { readonly _tag: 'UniqueLang' }\n | { readonly _tag: 'Equals'; readonly predicate: Term.NamedNode }\n | { readonly _tag: 'Disjoint'; readonly predicate: Term.NamedNode }\n | { readonly _tag: 'LessThan'; readonly predicate: Term.NamedNode }\n | { readonly _tag: 'LessThanOrEquals'; readonly predicate: Term.NamedNode }\n | { readonly _tag: 'Not'; readonly shape: ShapeId }\n | { readonly _tag: 'And'; readonly shapes: ReadonlyArray<ShapeId> }\n | { readonly _tag: 'Or'; readonly shapes: ReadonlyArray<ShapeId> }\n | { readonly _tag: 'Xone'; readonly shapes: ReadonlyArray<ShapeId> }\n | { readonly _tag: 'Node'; readonly shape: ShapeId }\n | { readonly _tag: 'Property'; readonly shape: ShapeId }\n | {\n readonly _tag: 'QualifiedMinCount';\n readonly shape: ShapeId;\n readonly count: number;\n readonly disjoint: boolean;\n /** Sibling qualified value shapes (only used when `disjoint`). */\n readonly siblings: ReadonlyArray<ShapeId>;\n }\n | {\n readonly _tag: 'QualifiedMaxCount';\n readonly shape: ShapeId;\n readonly count: number;\n readonly disjoint: boolean;\n readonly siblings: ReadonlyArray<ShapeId>;\n }\n | {\n readonly _tag: 'Closed';\n readonly ignoredProperties: ReadonlyArray<Term.NamedNode>;\n /** Predicates allowed by `sh:property` predicate paths and `sh:ignoredProperties`. */\n readonly allowedProperties: ReadonlyArray<Term.NamedNode>;\n }\n | { readonly _tag: 'HasValue'; readonly value: Term.GroundTerm }\n | { readonly _tag: 'In'; readonly values: ReadonlyArray<Term.GroundTerm> }\n | SparqlConstraint\n | ComponentConstraint;\n\n/**\n * A SHACL-SPARQL constraint (`sh:sparql`), evaluated by a\n * `Sparql.SparqlConstraintEvaluator`.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface SparqlConstraint {\n readonly _tag: 'Sparql';\n /** The `sh:SPARQLConstraint` node in the shapes graph. */\n readonly node: Term.NamedNode | Term.BlankNode;\n}\n\n/**\n * An instance of a custom (SPARQL-based) constraint component declared in the\n * shapes graph, evaluated by a `Sparql.SparqlConstraintEvaluator`.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface ComponentConstraint {\n readonly _tag: 'Component';\n readonly component: Term.NamedNode | Term.BlankNode;\n /** The parameter bindings of this constraint, keyed by parameter path. */\n readonly parameters: ReadonlyArray<{\n readonly path: Term.NamedNode;\n readonly value: Term.GroundTerm;\n }>;\n}\n\n/**\n * The tags of all constraint kinds.\n *\n * @since 0.1.0\n * @category models\n */\nexport type ConstraintTag = Constraint['_tag'];\n\ninterface ShapeBase {\n readonly id: ShapeId;\n readonly targets: ReadonlyArray<Target>;\n readonly constraints: ReadonlyArray<Constraint>;\n /** `sh:severity`, defaulting to `sh:Violation`. */\n readonly severity: Term.NamedNode;\n /** `sh:message` values. */\n readonly messages: ReadonlyArray<Term.Literal>;\n /** `sh:deactivated true`. */\n readonly deactivated: boolean;\n}\n\n/**\n * A node shape (§2.2): its constraints apply to the focus node itself.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface NodeShape extends ShapeBase {\n readonly _tag: 'NodeShape';\n}\n\n/**\n * A property shape (§2.3): its constraints apply to the values reachable\n * from the focus node via `path`.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface PropertyShape extends ShapeBase {\n readonly _tag: 'PropertyShape';\n readonly path: Path.Path;\n}\n\n/**\n * @since 0.1.0\n * @category models\n */\nexport type Shape = NodeShape | PropertyShape;\n\n/**\n * A parsed shapes graph.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface ShapesGraph {\n readonly _tag: 'ShapesGraph';\n /** The RDF shapes graph this model was parsed from. */\n readonly dataset: Dataset.Dataset;\n /** Every shape of the shapes graph, in a deterministic order. */\n readonly shapes: ReadonlyArray<Shape>;\n /** Shapes indexed by the N-Triples form of their identifier. */\n readonly index: ReadonlyMap<string, Shape>;\n}\n\n// -----------------------------------------------------------------------------\n// Accessors\n// -----------------------------------------------------------------------------\n\n/**\n * @since 0.1.0\n * @category guards\n */\nexport const isShapesGraph = (u: unknown): u is ShapesGraph => Predicate.isTagged(u, 'ShapesGraph');\n\n/**\n * Looks up a shape by its identifier.\n *\n * @since 0.1.0\n * @category accessors\n */\nexport const get = (self: ShapesGraph, id: Term.Term): Option.Option<Shape> =>\n Option.fromNullishOr(self.index.get(id.key));\n\n/**\n * The shapes that declare at least one target and are not deactivated.\n *\n * @since 0.1.0\n * @category accessors\n */\nexport const targetedShapes = (self: ShapesGraph): ReadonlyArray<Shape> =>\n self.shapes.filter((s) => !s.deactivated && Arr.isReadonlyArrayNonEmpty(s.targets));\n\n/**\n * Whether the shapes graph uses SHACL-SPARQL features (SPARQL constraints,\n * SPARQL-based constraint components or SPARQL-based targets).\n *\n * @since 0.1.0\n * @category accessors\n */\nexport const usesSparql = (self: ShapesGraph): boolean =>\n self.shapes.some(\n (s) =>\n s.targets.some(Predicate.isTagged('SparqlTarget')) ||\n s.constraints.some(\n (c) => Predicate.isTagged(c, 'Sparql') || Predicate.isTagged(c, 'Component'),\n ),\n );\n\nconst componentNames: Record.ReadonlyRecord<\n Exclude<ConstraintTag, 'Sparql' | 'Component'>,\n string\n> = {\n Class: 'ClassConstraintComponent',\n Datatype: 'DatatypeConstraintComponent',\n NodeKind: 'NodeKindConstraintComponent',\n MinCount: 'MinCountConstraintComponent',\n MaxCount: 'MaxCountConstraintComponent',\n MinExclusive: 'MinExclusiveConstraintComponent',\n MinInclusive: 'MinInclusiveConstraintComponent',\n MaxExclusive: 'MaxExclusiveConstraintComponent',\n MaxInclusive: 'MaxInclusiveConstraintComponent',\n MinLength: 'MinLengthConstraintComponent',\n MaxLength: 'MaxLengthConstraintComponent',\n Pattern: 'PatternConstraintComponent',\n LanguageIn: 'LanguageInConstraintComponent',\n UniqueLang: 'UniqueLangConstraintComponent',\n Equals: 'EqualsConstraintComponent',\n Disjoint: 'DisjointConstraintComponent',\n LessThan: 'LessThanConstraintComponent',\n LessThanOrEquals: 'LessThanOrEqualsConstraintComponent',\n Not: 'NotConstraintComponent',\n And: 'AndConstraintComponent',\n Or: 'OrConstraintComponent',\n Xone: 'XoneConstraintComponent',\n Node: 'NodeConstraintComponent',\n Property: 'PropertyConstraintComponent',\n QualifiedMinCount: 'QualifiedMinCountConstraintComponent',\n QualifiedMaxCount: 'QualifiedMaxCountConstraintComponent',\n Closed: 'ClosedConstraintComponent',\n HasValue: 'HasValueConstraintComponent',\n In: 'InConstraintComponent',\n};\n\n/**\n * The constraint component IRI of a constraint (e.g.\n * `sh:MinCountConstraintComponent`).\n *\n * @since 0.1.0\n * @category accessors\n */\nexport const componentOf = (constraint: Constraint): Term.NamedNode | Term.BlankNode => {\n return Match.value(constraint).pipe(\n Match.tag('Sparql', () => sh.SPARQLConstraintComponent),\n Match.tag('Component', (custom) => custom.component),\n Match.orElse((core) => Term.namedNode(SH + componentNames[core._tag])),\n );\n};\n\n// -----------------------------------------------------------------------------\n// Parsing\n// -----------------------------------------------------------------------------\n\nclass ParseFailure {\n readonly message: string;\n readonly node: Option.Option<Term.Term>;\n constructor(message: string, node: Option.Option<Term.Term>) {\n this.message = message;\n this.node = node;\n }\n}\n\nconst TRUE = Term.literal('true', xsd.boolean).key;\n\nconst nodeKinds: Record.ReadonlyRecord<string, NodeKind> = Record.fromEntries(\n Arr.map(\n [\n 'BlankNode',\n 'IRI',\n 'Literal',\n 'BlankNodeOrIRI',\n 'BlankNodeOrLiteral',\n 'IRIOrLiteral',\n ] as const,\n (k) => [SH + k, k] as const,\n ),\n);\n\n/** Parameters of the core constraint components (§4). */\nconst coreParameters: ReadonlyArray<Term.NamedNode> = [\n sh.class,\n sh.datatype,\n sh.nodeKind,\n sh.minCount,\n sh.maxCount,\n sh.minExclusive,\n sh.minInclusive,\n sh.maxExclusive,\n sh.maxInclusive,\n sh.minLength,\n sh.maxLength,\n sh.pattern,\n sh.flags,\n sh.languageIn,\n sh.uniqueLang,\n sh.equals,\n sh.disjoint,\n sh.lessThan,\n sh.lessThanOrEquals,\n sh.not,\n sh.and,\n sh.or,\n sh.xone,\n sh.node,\n sh.property,\n sh.qualifiedValueShape,\n sh.qualifiedValueShapesDisjoint,\n sh.qualifiedMinCount,\n sh.qualifiedMaxCount,\n sh.closed,\n sh.ignoredProperties,\n sh.hasValue,\n sh.in,\n sh.sparql,\n];\n\nconst targetPredicates: ReadonlyArray<Term.NamedNode> = [\n sh.targetNode,\n sh.targetClass,\n sh.targetSubjectsOf,\n sh.targetObjectsOf,\n sh.target,\n];\n\nconst rangeParameters = [\n [sh.minExclusive, 'MinExclusive'],\n [sh.minInclusive, 'MinInclusive'],\n [sh.maxExclusive, 'MaxExclusive'],\n [sh.maxInclusive, 'MaxInclusive'],\n] as const;\n\nconst pairParameters = [\n [sh.equals, 'Equals'],\n [sh.disjoint, 'Disjoint'],\n [sh.lessThan, 'LessThan'],\n [sh.lessThanOrEquals, 'LessThanOrEquals'],\n] as const;\n\nconst logicalParameters = [\n [sh.and, 'And'],\n [sh.or, 'Or'],\n [sh.xone, 'Xone'],\n] as const;\n\ninterface ComponentDeclaration {\n readonly component: Term.NamedNode | Term.BlankNode;\n readonly mandatory: ReadonlyArray<Term.NamedNode>;\n readonly optional: ReadonlyArray<Term.NamedNode>;\n}\n\ntype ComponentParameter = ComponentConstraint['parameters'][number];\n\nconst isShapeId: (t: Term.Term) => t is ShapeId = Term.isResource;\n\n/**\n * Parses a shapes graph synchronously, returning a `Result`.\n *\n * @since 0.1.0\n * @category parsing\n */\nexport const parseResult = (\n dataset: Dataset.Dataset,\n): Result.Result<ShapesGraph, ShapesGraphError> =>\n Result.try({\n try: () => parseUnsafe(dataset),\n catch: (e) => {\n if (e instanceof ParseFailure) {\n return new ShapesGraphError(\n Option.match(e.node, {\n onNone: () => ({ message: e.message }),\n onSome: (node) => ({ message: e.message, node: node.key }),\n }),\n );\n }\n throw e;\n },\n });\n\n/**\n * Parses a shapes graph into a typed model. Fails with a `ShapesGraphError`\n * when the shapes graph is ill-formed (e.g. malformed paths or lists,\n * parameters with values of the wrong kind, or invalid regular expressions).\n *\n * @since 0.1.0\n * @category parsing\n */\nexport const parse = (dataset: Dataset.Dataset): Effect.Effect<ShapesGraph, ShapesGraphError> =>\n Effect.suspend(() => {\n const result = parseResult(dataset);\n return Result.isSuccess(result) ? Effect.succeed(result.success) : Effect.fail(result.failure);\n });\n\nconst failShapes = (message: string, node?: Term.Term): never => {\n throw new ParseFailure(message, Option.fromUndefinedOr(node));\n};\n\nconst isTrue = (t: Term.Term): boolean => t.key === TRUE;\n\nconst isTrueOption = (t: Option.Option<Term.Term>): boolean => Option.exists(t, isTrue);\n\nconst shapeRef = (owner: Term.Term, p: Term.NamedNode, t: Term.Term): ShapeId =>\n isShapeId(t)\n ? t\n : failShapes(`the value of ${p.key} on ${owner.key} must be an IRI or blank node`, owner);\n\nconst resourceOf = (owner: Term.Term, t: Term.Term, message: string): Term.Resource =>\n Term.isResource(t) ? t : failShapes(message, owner);\n\nconst iriOf = (owner: Term.Term, p: Term.NamedNode, t: Term.Term): Term.NamedNode =>\n Term.isNamedNode(t)\n ? t\n : failShapes(`the value of ${p.key} on ${owner.key} must be an IRI`, owner);\n\nconst nonNegativeInteger = (owner: Term.Term, p: Term.NamedNode, t: Term.Term): number => {\n if (Term.isLiteral(t) && Xsd.isIntegerDatatype(t.datatype.value) && Xsd.isWellFormed(t)) {\n const n = Number(t.value);\n if (n >= 0) return n;\n }\n return failShapes(\n `the value of ${p.key} on ${owner.key} must be a non-negative xsd:integer`,\n owner,\n );\n};\n\n/** Reads values from the shapes graph, failing on ill-formed lists and repeated values. */\ninterface Reader {\n readonly g: Dataset.Dataset;\n readonly objects: (s: Term.Term, p: Term.NamedNode) => ReadonlyArray<Term.GroundTerm>;\n readonly list: (\n owner: Term.Term,\n head: Term.Term,\n p: Term.NamedNode,\n ) => ReadonlyArray<Term.GroundTerm>;\n readonly single: (s: Term.Term, p: Term.NamedNode) => Option.Option<Term.GroundTerm>;\n}\n\nconst makeReader = (g: Dataset.Dataset): Reader => {\n const objects = (s: Term.Term, p: Term.NamedNode): ReadonlyArray<Term.GroundTerm> =>\n isShapeId(s) ? Dataset.objectsOf(g, s, p) : [];\n const list = (\n owner: Term.Term,\n head: Term.Term,\n p: Term.NamedNode,\n ): ReadonlyArray<Term.GroundTerm> => {\n const items = Term.isObject(head) ? Dataset.list(g, head) : Option.none();\n if (Option.isNone(items))\n return failShapes(\n `the value of ${p.key} on ${owner.key} must be a well-formed RDF list`,\n owner,\n );\n return items.value;\n };\n const single = (s: Term.Term, p: Term.NamedNode): Option.Option<Term.GroundTerm> => {\n const vs = objects(s, p);\n if (vs.length > 1) failShapes(`${s.key} has more than one value for ${p.key}`, s);\n return Arr.head(vs);\n };\n return { g, objects, list, single };\n};\n\n// --- Custom constraint components -------------------------------------------\n\nconst parameterPath = (r: Reader, c: Term.Term, param: Term.GroundTerm): Term.NamedNode =>\n Option.getOrElse(Option.filter(r.single(param, sh.path), Term.isNamedNode), () =>\n failShapes(`parameter ${param.key} of ${c.key} must have an IRI sh:path`, param),\n );\n\nconst componentDeclarations = (r: Reader): ReadonlyArray<ComponentDeclaration> =>\n Arr.flatMap(Rdfs.instancesOf(r.g, sh.ConstraintComponent), (c) => {\n if (!isShapeId(c) || (Term.isNamedNode(c) && c.value.startsWith(SH))) return [];\n const parameters = Arr.map(r.objects(c, sh.parameter), (param) => {\n const path = parameterPath(r, c, param);\n return { path, optional: isTrueOption(r.single(param, sh.optional)) };\n });\n const mandatory = Arr.map(\n Arr.filter(parameters, (p) => !p.optional),\n (p) => p.path,\n );\n const optional = Arr.map(\n Arr.filter(parameters, (p) => p.optional),\n (p) => p.path,\n );\n return Arr.isReadonlyArrayNonEmpty(mandatory) ? [{ component: c, mandatory, optional }] : [];\n });\n\n// --- Collect shapes (§2.1) --------------------------------------------------\n\nconst collectCandidates = (\n r: Reader,\n components: ReadonlyArray<ComponentDeclaration>,\n): ReadonlyArray<ShapeId> => {\n const candidates = MutableHashMap.empty<string, ShapeId>();\n const addCandidate = (t: Term.Term, reason: string) => {\n if (!isShapeId(t)) failShapes(`${t.key} cannot be a shape (${reason})`, t);\n else if (!MutableHashMap.has(candidates, t.key)) MutableHashMap.set(candidates, t.key, t);\n };\n Arr.forEach([sh.NodeShape, sh.PropertyShape], (cls) =>\n Arr.forEach(Rdfs.instancesOf(r.g, cls), (s) => addCandidate(s, `instance of ${cls.key}`)),\n );\n const subjectTriggers = [\n ...targetPredicates,\n ...coreParameters,\n ...components.flatMap((c) => c.mandatory),\n ];\n Arr.forEach(subjectTriggers, (p) =>\n Arr.forEach(Dataset.match(r.g, { predicate: p }), (q) => {\n if (!Term.isTriple(q.subject)) addCandidate(q.subject, `subject of ${p.key}`);\n }),\n );\n Arr.forEach([sh.node, sh.property, sh.qualifiedValueShape, sh.not], (p) =>\n Arr.forEach(Dataset.match(r.g, { predicate: p }), (q) =>\n addCandidate(q.object, `value of ${p.key}`),\n ),\n );\n Arr.forEach([sh.and, sh.or, sh.xone], (p) =>\n Arr.forEach(Dataset.match(r.g, { predicate: p }), (q) =>\n Arr.forEach(r.list(q.subject, q.object, p), (member) =>\n addCandidate(member, `member of ${p.key}`),\n ),\n ),\n );\n return Arr.sort(MutableHashMap.values(candidates), Term.compare);\n};\n\n// --- Parse each shape -------------------------------------------------------\n\nconst parseTargets = (\n r: Reader,\n id: ShapeId,\n classInstances: MutableHashSet.MutableHashSet<string>,\n): ReadonlyArray<Target> => [\n ...Arr.map(objects(r, id, sh.targetNode), (node): Target => ({ _tag: 'TargetNode', node })),\n ...Arr.map(objects(r, id, sh.targetClass), (c): Target => ({\n _tag: 'TargetClass',\n class: resourceOf(id, c, `the value of sh:targetClass on ${id.key} must be an IRI`),\n implicit: false,\n })),\n ...(Term.isNamedNode(id) && MutableHashSet.has(classInstances, id.key)\n ? [{ _tag: 'TargetClass', class: id, implicit: true } satisfies Target]\n : []),\n ...Arr.map(objects(r, id, sh.targetSubjectsOf), (p): Target => ({\n _tag: 'TargetSubjectsOf',\n predicate: iriOf(id, sh.targetSubjectsOf, p),\n })),\n ...Arr.map(objects(r, id, sh.targetObjectsOf), (p): Target => ({\n _tag: 'TargetObjectsOf',\n predicate: iriOf(id, sh.targetObjectsOf, p),\n })),\n ...Arr.map(objects(r, id, sh.target), (node): Target => ({ _tag: 'SparqlTarget', node })),\n];\n\nconst objects = (r: Reader, s: Term.Term, p: Term.NamedNode) => r.objects(s, p);\n\nconst valueConstraints = (r: Reader, id: ShapeId): ReadonlyArray<Constraint> => [\n ...Arr.map(objects(r, id, sh.class), (c): Constraint => ({\n _tag: 'Class',\n class: resourceOf(id, c, `the value of sh:class on ${id.key} must be an IRI`),\n })),\n ...Arr.map(objects(r, id, sh.datatype), (d): Constraint => ({\n _tag: 'Datatype',\n datatype: iriOf(id, sh.datatype, d),\n })),\n ...Arr.map(objects(r, id, sh.nodeKind), (k): Constraint => ({\n _tag: 'NodeKind',\n nodeKind: Option.getOrElse(Record.get(nodeKinds, Term.isNamedNode(k) ? k.value : ''), () =>\n failShapes(`${k.key} is not a valid sh:nodeKind`, id),\n ),\n })),\n ...Arr.map(objects(r, id, sh.minCount), (n): Constraint => ({\n _tag: 'MinCount',\n minCount: nonNegativeInteger(id, sh.minCount, n),\n })),\n ...Arr.map(objects(r, id, sh.maxCount), (n): Constraint => ({\n _tag: 'MaxCount',\n maxCount: nonNegativeInteger(id, sh.maxCount, n),\n })),\n ...Arr.flatMap(rangeParameters, ([p, tag]) =>\n Arr.map(objects(r, id, p), (v): Constraint =>\n Term.isLiteral(v)\n ? { _tag: tag, value: v }\n : failShapes(`the value of ${p.key} on ${id.key} must be a literal`, id),\n ),\n ),\n ...Arr.map(objects(r, id, sh.minLength), (n): Constraint => ({\n _tag: 'MinLength',\n minLength: nonNegativeInteger(id, sh.minLength, n),\n })),\n ...Arr.map(objects(r, id, sh.maxLength), (n): Constraint => ({\n _tag: 'MaxLength',\n maxLength: nonNegativeInteger(id, sh.maxLength, n),\n })),\n ...patternConstraints(r, id),\n ...Arr.map(objects(r, id, sh.languageIn), (l): Constraint => ({\n _tag: 'LanguageIn',\n languages: Arr.map(r.list(id, l, sh.languageIn), (t) =>\n Term.isLiteral(t)\n ? t.value\n : failShapes(`sh:languageIn members of ${id.key} must be literals`, id),\n ),\n })),\n ...Arr.flatMap(objects(r, id, sh.uniqueLang), (u): ReadonlyArray<Constraint> =>\n isTrue(u) ? [{ _tag: 'UniqueLang' }] : [],\n ),\n ...Arr.flatMap(pairParameters, ([p, tag]) =>\n Arr.map(objects(r, id, p), (v): Constraint => ({ _tag: tag, predicate: iriOf(id, p, v) })),\n ),\n];\n\nconst patternConstraints = (r: Reader, id: ShapeId): ReadonlyArray<Constraint> => {\n const patterns = objects(r, id, sh.pattern);\n if (Arr.isReadonlyArrayEmpty(patterns)) return [];\n const flags = Option.match(r.single(id, sh.flags), {\n onNone: () => '',\n onSome: (f) =>\n Term.isLiteral(f)\n ? f.value\n : failShapes(`the value of sh:flags on ${id.key} must be a literal`, id),\n });\n return Arr.map(patterns, (p): Constraint => {\n if (!Term.isLiteral(p))\n return failShapes(`the value of sh:pattern on ${id.key} must be a literal`, id);\n return Result.match(Regex.compile(p.value, flags), {\n onFailure: (error) => failShapes(`${error} (sh:pattern on ${id.key})`, id),\n onSuccess: (regex) => ({ _tag: 'Pattern', pattern: p.value, flags, regex }),\n });\n });\n};\n\nconst shapeConstraints = (r: Reader, id: ShapeId): ReadonlyArray<Constraint> => [\n ...Arr.map(objects(r, id, sh.not), (s): Constraint => ({\n _tag: 'Not',\n shape: shapeRef(id, sh.not, s),\n })),\n ...Arr.flatMap(logicalParameters, ([p, tag]) =>\n Arr.map(objects(r, id, p), (l): Constraint => ({\n _tag: tag,\n shapes: r.list(id, l, p).map((m) => shapeRef(id, p, m)),\n })),\n ),\n ...Arr.map(objects(r, id, sh.node), (s): Constraint => ({\n _tag: 'Node',\n shape: shapeRef(id, sh.node, s),\n })),\n ...Arr.map(objects(r, id, sh.property), (s): Constraint => ({\n _tag: 'Property',\n shape: shapeRef(id, sh.property, s),\n })),\n];\n\n/** The other qualified value shapes of the property shapes beside `id`. */\nconst siblingShapes = (r: Reader, id: ShapeId, q: ShapeId): ReadonlyArray<ShapeId> => {\n const siblings = MutableHashMap.empty<string, ShapeId>();\n Arr.forEach(Dataset.subjectsOf(r.g, sh.property, id), (parent) =>\n Arr.forEach(objects(r, parent, sh.property), (sibling) =>\n Arr.forEach(objects(r, sibling, sh.qualifiedValueShape), (sq) => {\n if (sq.key !== q.key && isShapeId(sq)) MutableHashMap.set(siblings, sq.key, sq);\n }),\n ),\n );\n return Arr.fromIterable(MutableHashMap.values(siblings));\n};\n\nconst qualifiedConstraints = (r: Reader, id: ShapeId): ReadonlyArray<Constraint> => {\n const qualifiedShapes = objects(r, id, sh.qualifiedValueShape);\n if (Arr.isReadonlyArrayEmpty(qualifiedShapes)) return [];\n const minNode = r.single(id, sh.qualifiedMinCount);\n const maxNode = r.single(id, sh.qualifiedMaxCount);\n const disjoint = isTrueOption(r.single(id, sh.qualifiedValueShapesDisjoint));\n return Arr.flatMap(qualifiedShapes, (qNode) => {\n const q = shapeRef(id, sh.qualifiedValueShape, qNode);\n const common = { shape: q, disjoint, siblings: disjoint ? siblingShapes(r, id, q) : [] };\n return [\n ...Option.toArray(\n Option.map(minNode, (n): Constraint => ({\n _tag: 'QualifiedMinCount',\n count: nonNegativeInteger(id, sh.qualifiedMinCount, n),\n ...common,\n })),\n ),\n ...Option.toArray(\n Option.map(maxNode, (n): Constraint => ({\n _tag: 'QualifiedMaxCount',\n count: nonNegativeInteger(id, sh.qualifiedMaxCount, n),\n ...common,\n })),\n ),\n ];\n });\n};\n\nconst closedConstraints = (r: Reader, id: ShapeId): ReadonlyArray<Constraint> => {\n if (!isTrueOption(r.single(id, sh.closed))) return [];\n const ignoredProperties = Option.match(r.single(id, sh.ignoredProperties), {\n onNone: (): ReadonlyArray<Term.NamedNode> => [],\n onSome: (node) =>\n Arr.map(r.list(id, node, sh.ignoredProperties), (t) => iriOf(id, sh.ignoredProperties, t)),\n });\n const allowed = MutableHashMap.empty<string, Term.NamedNode>();\n Arr.forEach(objects(r, id, sh.property), (p) =>\n Arr.forEach(objects(r, p, sh.path), (path) => {\n if (Term.isNamedNode(path)) MutableHashMap.set(allowed, path.key, path);\n }),\n );\n Arr.forEach(ignoredProperties, (p) => {\n MutableHashMap.set(allowed, p.key, p);\n });\n return [\n {\n _tag: 'Closed',\n ignoredProperties,\n allowedProperties: Arr.fromIterable(MutableHashMap.values(allowed)),\n },\n ];\n};\n\nconst sparqlConstraints = (r: Reader, id: ShapeId): ReadonlyArray<Constraint> =>\n Arr.flatMap(objects(r, id, sh.sparql), (s): ReadonlyArray<Constraint> => {\n if (!isShapeId(s))\n return failShapes(`the value of sh:sparql on ${id.key} must be an IRI or blank node`, id);\n return isTrueOption(r.single(s, sh.deactivated)) ? [] : [{ _tag: 'Sparql', node: s }];\n });\n\nconst noParameters: ReadonlyArray<ReadonlyArray<ComponentParameter>> = [[]];\n\nconst componentConstraints = (\n r: Reader,\n id: ShapeId,\n components: ReadonlyArray<ComponentDeclaration>,\n): ReadonlyArray<Constraint> =>\n Arr.flatMap(components, (decl): ReadonlyArray<Constraint> => {\n const bindings = Arr.map(\n [...decl.mandatory, ...decl.optional],\n (p) => [p, objects(r, id, p)] as const,\n );\n if (decl.mandatory.some((p) => Arr.isReadonlyArrayEmpty(objects(r, id, p)))) return [];\n // One constraint per combination of parameter values.\n const combos = Arr.reduce(bindings, noParameters, (acc, [path, values]) =>\n Arr.isReadonlyArrayEmpty(values)\n ? acc\n : Arr.flatMap(acc, (combo) => values.map((value) => Arr.append(combo, { path, value }))),\n );\n return Arr.map(combos, (parameters): Constraint => ({\n _tag: 'Component',\n component: decl.component,\n parameters,\n }));\n });\n\nconst parseShape = (\n r: Reader,\n components: ReadonlyArray<ComponentDeclaration>,\n classInstances: MutableHashSet.MutableHashSet<string>,\n id: ShapeId,\n): Shape => {\n const targets = parseTargets(r, id, classInstances);\n\n // Shape characteristics\n const severity = Option.match(r.single(id, sh.severity), {\n onNone: () => sh.Violation,\n onSome: (node) => iriOf(id, sh.severity, node),\n });\n const messages = objects(r, id, sh.message).filter(Term.isLiteral);\n const deactivated = isTrueOption(r.single(id, sh.deactivated));\n\n const constraints: ReadonlyArray<Constraint> = [\n ...valueConstraints(r, id),\n ...shapeConstraints(r, id),\n ...qualifiedConstraints(r, id),\n ...closedConstraints(r, id),\n ...Arr.map(objects(r, id, sh.hasValue), (v): Constraint => ({ _tag: 'HasValue', value: v })),\n ...Arr.map(objects(r, id, sh.in), (l): Constraint => ({\n _tag: 'In',\n values: r.list(id, l, sh.in),\n })),\n ...sparqlConstraints(r, id),\n ...componentConstraints(r, id, components),\n ];\n\n // Property shape?\n return Option.match(r.single(id, sh.path), {\n onNone: (): Shape => ({\n _tag: 'NodeShape',\n id,\n targets,\n constraints,\n severity,\n messages,\n deactivated,\n }),\n onSome: (pathNode): Shape => ({\n _tag: 'PropertyShape',\n id,\n path: Result.getOrElse(Path.fromRdf(r.g, pathNode), (failure) =>\n failShapes(`ill-formed sh:path of ${id.key}: ${failure.message}`, id),\n ),\n targets,\n constraints,\n severity,\n messages,\n deactivated,\n }),\n });\n};\n\nconst parseUnsafe = (g: Dataset.Dataset): ShapesGraph => {\n const r = makeReader(g);\n const components = componentDeclarations(r);\n const candidates = collectCandidates(r, components);\n const classInstances = MutableHashSet.fromIterable(\n Arr.map(Rdfs.instancesOf(g, rdfs.Class), (c) => c.key),\n );\n const shapes = Arr.map(candidates, (id) => parseShape(r, components, classInstances, id));\n // The public `index` is a `ReadonlyMap`.\n const index = new Map(shapes.map((s) => [s.id.key, s]));\n return { _tag: 'ShapesGraph', dataset: g, shapes, index };\n};\n"],"mappings":"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"}
@@ -0,0 +1,306 @@
1
+ import { C as Resource, T as Term, d as NamedNode, l as Literal, s as GroundTerm, t as BlankNode } from "./Term-B_4ezyXq.mjs";
2
+ import { n as Dataset } from "./Dataset-DS3ESOcO.mjs";
3
+ import "./index-Cms2TYfC.mjs";
4
+ import { i as Path } from "./Path-DRB8e-Zn.mjs";
5
+ import * as Option from "effect/Option";
6
+ import * as Schema from "effect/Schema";
7
+ import * as Effect from "effect/Effect";
8
+ import * as Result from "effect/Result";
9
+ declare namespace Shapes_d_exports {
10
+ export { ComponentConstraint, Constraint, ConstraintTag, NodeKind, NodeShape, PropertyShape, Shape, ShapeId, ShapesGraph, ShapesGraphError, SparqlConstraint, Target, componentOf, get, isShapesGraph, parse, parseResult, targetedShapes, usesSparql };
11
+ }
12
+ declare const ShapesGraphError_base: Schema.Class<ShapesGraphError, Schema.TaggedStruct<"ShapesGraphError", {
13
+ readonly message: Schema.String;
14
+ /** The N-Triples form of the offending node, when known. */
15
+ readonly node: Schema.optional<Schema.String>;
16
+ }>, import("effect/Cause").YieldableError>;
17
+ /**
18
+ * The shapes graph is ill-formed (§3.4.1 "ill-formed shapes graph"), so it
19
+ * cannot be used for validation.
20
+ *
21
+ * @since 0.1.0
22
+ * @category errors
23
+ */
24
+ declare class ShapesGraphError extends ShapesGraphError_base {}
25
+ /**
26
+ * The identifier of a shape: an IRI or a blank node of the shapes graph.
27
+ *
28
+ * @since 0.1.0
29
+ * @category models
30
+ */
31
+ type ShapeId = NamedNode | BlankNode;
32
+ /**
33
+ * A target declaration (§2.1.3).
34
+ *
35
+ * @since 0.1.0
36
+ * @category models
37
+ */
38
+ type Target = {
39
+ readonly _tag: 'TargetNode';
40
+ readonly node: GroundTerm;
41
+ } | {
42
+ readonly _tag: 'TargetClass';
43
+ readonly class: Resource;
44
+ readonly implicit: boolean;
45
+ } | {
46
+ readonly _tag: 'TargetSubjectsOf';
47
+ readonly predicate: NamedNode;
48
+ } | {
49
+ readonly _tag: 'TargetObjectsOf';
50
+ readonly predicate: NamedNode;
51
+ } | {
52
+ /** A SPARQL-based target or custom target type (`sh:target`). */
53
+ readonly _tag: 'SparqlTarget';
54
+ readonly node: GroundTerm;
55
+ };
56
+ /**
57
+ * The node kinds of `sh:nodeKind`.
58
+ *
59
+ * @since 0.1.0
60
+ * @category models
61
+ */
62
+ type NodeKind = 'BlankNode' | 'IRI' | 'Literal' | 'BlankNodeOrIRI' | 'BlankNodeOrLiteral' | 'IRIOrLiteral';
63
+ /**
64
+ * A constraint on a value node set, i.e. an instance of a constraint
65
+ * component with its parameter values (§2.2, §4).
66
+ *
67
+ * @since 0.1.0
68
+ * @category models
69
+ */
70
+ type Constraint = {
71
+ readonly _tag: 'Class';
72
+ readonly class: Resource;
73
+ } | {
74
+ readonly _tag: 'Datatype';
75
+ readonly datatype: NamedNode;
76
+ } | {
77
+ readonly _tag: 'NodeKind';
78
+ readonly nodeKind: NodeKind;
79
+ } | {
80
+ readonly _tag: 'MinCount';
81
+ readonly minCount: number;
82
+ } | {
83
+ readonly _tag: 'MaxCount';
84
+ readonly maxCount: number;
85
+ } | {
86
+ readonly _tag: 'MinExclusive';
87
+ readonly value: GroundTerm;
88
+ } | {
89
+ readonly _tag: 'MinInclusive';
90
+ readonly value: GroundTerm;
91
+ } | {
92
+ readonly _tag: 'MaxExclusive';
93
+ readonly value: GroundTerm;
94
+ } | {
95
+ readonly _tag: 'MaxInclusive';
96
+ readonly value: GroundTerm;
97
+ } | {
98
+ readonly _tag: 'MinLength';
99
+ readonly minLength: number;
100
+ } | {
101
+ readonly _tag: 'MaxLength';
102
+ readonly maxLength: number;
103
+ } | {
104
+ readonly _tag: 'Pattern';
105
+ readonly pattern: string;
106
+ readonly flags: string;
107
+ readonly regex: RegExp;
108
+ } | {
109
+ readonly _tag: 'LanguageIn';
110
+ readonly languages: ReadonlyArray<string>;
111
+ } | {
112
+ readonly _tag: 'UniqueLang';
113
+ } | {
114
+ readonly _tag: 'Equals';
115
+ readonly predicate: NamedNode;
116
+ } | {
117
+ readonly _tag: 'Disjoint';
118
+ readonly predicate: NamedNode;
119
+ } | {
120
+ readonly _tag: 'LessThan';
121
+ readonly predicate: NamedNode;
122
+ } | {
123
+ readonly _tag: 'LessThanOrEquals';
124
+ readonly predicate: NamedNode;
125
+ } | {
126
+ readonly _tag: 'Not';
127
+ readonly shape: ShapeId;
128
+ } | {
129
+ readonly _tag: 'And';
130
+ readonly shapes: ReadonlyArray<ShapeId>;
131
+ } | {
132
+ readonly _tag: 'Or';
133
+ readonly shapes: ReadonlyArray<ShapeId>;
134
+ } | {
135
+ readonly _tag: 'Xone';
136
+ readonly shapes: ReadonlyArray<ShapeId>;
137
+ } | {
138
+ readonly _tag: 'Node';
139
+ readonly shape: ShapeId;
140
+ } | {
141
+ readonly _tag: 'Property';
142
+ readonly shape: ShapeId;
143
+ } | {
144
+ readonly _tag: 'QualifiedMinCount';
145
+ readonly shape: ShapeId;
146
+ readonly count: number;
147
+ readonly disjoint: boolean;
148
+ /** Sibling qualified value shapes (only used when `disjoint`). */
149
+ readonly siblings: ReadonlyArray<ShapeId>;
150
+ } | {
151
+ readonly _tag: 'QualifiedMaxCount';
152
+ readonly shape: ShapeId;
153
+ readonly count: number;
154
+ readonly disjoint: boolean;
155
+ readonly siblings: ReadonlyArray<ShapeId>;
156
+ } | {
157
+ readonly _tag: 'Closed';
158
+ readonly ignoredProperties: ReadonlyArray<NamedNode>;
159
+ /** Predicates allowed by `sh:property` predicate paths and `sh:ignoredProperties`. */
160
+ readonly allowedProperties: ReadonlyArray<NamedNode>;
161
+ } | {
162
+ readonly _tag: 'HasValue';
163
+ readonly value: GroundTerm;
164
+ } | {
165
+ readonly _tag: 'In';
166
+ readonly values: ReadonlyArray<GroundTerm>;
167
+ } | SparqlConstraint | ComponentConstraint;
168
+ /**
169
+ * A SHACL-SPARQL constraint (`sh:sparql`), evaluated by a
170
+ * `Sparql.SparqlConstraintEvaluator`.
171
+ *
172
+ * @since 0.1.0
173
+ * @category models
174
+ */
175
+ interface SparqlConstraint {
176
+ readonly _tag: 'Sparql';
177
+ /** The `sh:SPARQLConstraint` node in the shapes graph. */
178
+ readonly node: NamedNode | BlankNode;
179
+ }
180
+ /**
181
+ * An instance of a custom (SPARQL-based) constraint component declared in the
182
+ * shapes graph, evaluated by a `Sparql.SparqlConstraintEvaluator`.
183
+ *
184
+ * @since 0.1.0
185
+ * @category models
186
+ */
187
+ interface ComponentConstraint {
188
+ readonly _tag: 'Component';
189
+ readonly component: NamedNode | BlankNode;
190
+ /** The parameter bindings of this constraint, keyed by parameter path. */
191
+ readonly parameters: ReadonlyArray<{
192
+ readonly path: NamedNode;
193
+ readonly value: GroundTerm;
194
+ }>;
195
+ }
196
+ /**
197
+ * The tags of all constraint kinds.
198
+ *
199
+ * @since 0.1.0
200
+ * @category models
201
+ */
202
+ type ConstraintTag = Constraint['_tag'];
203
+ interface ShapeBase {
204
+ readonly id: ShapeId;
205
+ readonly targets: ReadonlyArray<Target>;
206
+ readonly constraints: ReadonlyArray<Constraint>;
207
+ /** `sh:severity`, defaulting to `sh:Violation`. */
208
+ readonly severity: NamedNode;
209
+ /** `sh:message` values. */
210
+ readonly messages: ReadonlyArray<Literal>;
211
+ /** `sh:deactivated true`. */
212
+ readonly deactivated: boolean;
213
+ }
214
+ /**
215
+ * A node shape (§2.2): its constraints apply to the focus node itself.
216
+ *
217
+ * @since 0.1.0
218
+ * @category models
219
+ */
220
+ interface NodeShape extends ShapeBase {
221
+ readonly _tag: 'NodeShape';
222
+ }
223
+ /**
224
+ * A property shape (§2.3): its constraints apply to the values reachable
225
+ * from the focus node via `path`.
226
+ *
227
+ * @since 0.1.0
228
+ * @category models
229
+ */
230
+ interface PropertyShape extends ShapeBase {
231
+ readonly _tag: 'PropertyShape';
232
+ readonly path: Path;
233
+ }
234
+ /**
235
+ * @since 0.1.0
236
+ * @category models
237
+ */
238
+ type Shape = NodeShape | PropertyShape;
239
+ /**
240
+ * A parsed shapes graph.
241
+ *
242
+ * @since 0.1.0
243
+ * @category models
244
+ */
245
+ interface ShapesGraph {
246
+ readonly _tag: 'ShapesGraph';
247
+ /** The RDF shapes graph this model was parsed from. */
248
+ readonly dataset: Dataset;
249
+ /** Every shape of the shapes graph, in a deterministic order. */
250
+ readonly shapes: ReadonlyArray<Shape>;
251
+ /** Shapes indexed by the N-Triples form of their identifier. */
252
+ readonly index: ReadonlyMap<string, Shape>;
253
+ }
254
+ /**
255
+ * @since 0.1.0
256
+ * @category guards
257
+ */
258
+ declare const isShapesGraph: (u: unknown) => u is ShapesGraph;
259
+ /**
260
+ * Looks up a shape by its identifier.
261
+ *
262
+ * @since 0.1.0
263
+ * @category accessors
264
+ */
265
+ declare const get: (self: ShapesGraph, id: Term) => Option.Option<Shape>;
266
+ /**
267
+ * The shapes that declare at least one target and are not deactivated.
268
+ *
269
+ * @since 0.1.0
270
+ * @category accessors
271
+ */
272
+ declare const targetedShapes: (self: ShapesGraph) => ReadonlyArray<Shape>;
273
+ /**
274
+ * Whether the shapes graph uses SHACL-SPARQL features (SPARQL constraints,
275
+ * SPARQL-based constraint components or SPARQL-based targets).
276
+ *
277
+ * @since 0.1.0
278
+ * @category accessors
279
+ */
280
+ declare const usesSparql: (self: ShapesGraph) => boolean;
281
+ /**
282
+ * The constraint component IRI of a constraint (e.g.
283
+ * `sh:MinCountConstraintComponent`).
284
+ *
285
+ * @since 0.1.0
286
+ * @category accessors
287
+ */
288
+ declare const componentOf: (constraint: Constraint) => NamedNode | BlankNode;
289
+ /**
290
+ * Parses a shapes graph synchronously, returning a `Result`.
291
+ *
292
+ * @since 0.1.0
293
+ * @category parsing
294
+ */
295
+ declare const parseResult: (dataset: Dataset) => Result.Result<ShapesGraph, ShapesGraphError>;
296
+ /**
297
+ * Parses a shapes graph into a typed model. Fails with a `ShapesGraphError`
298
+ * when the shapes graph is ill-formed (e.g. malformed paths or lists,
299
+ * parameters with values of the wrong kind, or invalid regular expressions).
300
+ *
301
+ * @since 0.1.0
302
+ * @category parsing
303
+ */
304
+ declare const parse: (dataset: Dataset) => Effect.Effect<ShapesGraph, ShapesGraphError>;
305
+ export { parse as _, NodeShape as a, usesSparql as b, ShapeId as c, Shapes_d_exports as d, SparqlConstraint as f, isShapesGraph as g, get as h, NodeKind as i, ShapesGraph as l, componentOf as m, Constraint as n, PropertyShape as o, Target as p, ConstraintTag as r, Shape as s, ComponentConstraint as t, ShapesGraphError as u, parseResult as v, targetedShapes as y };
306
+ //# sourceMappingURL=Shapes-BQFDFc4Q.d.mts.map
@@ -0,0 +1,29 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
2
+ import * as Schema from "effect/Schema";
3
+ import * as Context from "effect/Context";
4
+ // src/shacl/Sparql.ts
5
+ var Sparql_exports = /* @__PURE__ */ __exportAll({
6
+ SparqlConstraintEvaluator: () => SparqlConstraintEvaluator,
7
+ SparqlEvaluationError: () => SparqlEvaluationError
8
+ });
9
+ /**
10
+ * A failure while evaluating a SPARQL-based constraint or target.
11
+ *
12
+ * @since 0.1.0
13
+ * @category errors
14
+ */
15
+ var SparqlEvaluationError = class extends Schema.TaggedError()("SparqlEvaluationError", {
16
+ message: Schema.String,
17
+ cause: Schema.optional(Schema.Defect())
18
+ }) {};
19
+ /**
20
+ * A service able to evaluate SHACL-SPARQL constraints and targets, provided
21
+ * by a SPARQL engine integration.
22
+ *
23
+ * @since 0.1.0
24
+ * @category services
25
+ */
26
+ var SparqlConstraintEvaluator = class extends Context.Service()("@thomasfosterau/effect-rdf/shacl/Sparql/SparqlConstraintEvaluator") {};
27
+ export { SparqlEvaluationError as n, Sparql_exports as r, SparqlConstraintEvaluator as t };
28
+
29
+ //# sourceMappingURL=Sparql-BiYFMSpl.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sparql-BiYFMSpl.mjs","names":[],"sources":["../src/shacl/Sparql.ts"],"sourcesContent":["/**\n * The extension point for SHACL-SPARQL (§5–§6 of the SHACL specification).\n *\n * The core validator does not execute SPARQL itself. When a shapes graph\n * contains SPARQL-based constraints (`sh:sparql`), SPARQL-based constraint\n * components or SPARQL-based targets (`sh:target`), the validator delegates\n * them to the `SparqlConstraintEvaluator` service if one is provided. When no\n * evaluator is available the validator either fails with an\n * `UnsupportedFeatureError` or ignores those constructs, depending on the\n * `sparql` validation option.\n *\n * A SPARQL engine integration implements this service:\n *\n * ```ts\n * import { Effect, Layer } from \"effect\"\n * import { Sparql } from \"@thomasfosterau/effect-rdf/shacl\"\n *\n * const EvaluatorLive = Layer.succeed(Sparql.SparqlConstraintEvaluator, {\n * evaluateConstraint: (input) => Effect.succeed([]),\n * selectTargets: (input) => Effect.succeed([]),\n * })\n * ```\n *\n * @since 0.1.0\n */\nimport type { Dataset, Term } from '../index.ts';\nimport * as Context from 'effect/Context';\nimport type * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\nimport type * as Path from './Path.ts';\nimport type * as Shapes from './Shapes.ts';\n\n/**\n * A failure while evaluating a SPARQL-based constraint or target.\n *\n * @since 0.1.0\n * @category errors\n */\nexport class SparqlEvaluationError extends Schema.TaggedError<SparqlEvaluationError>()(\n 'SparqlEvaluationError',\n {\n message: Schema.String,\n cause: Schema.optional(Schema.Defect()),\n },\n) {}\n\n/**\n * The input to the evaluation of a SPARQL-based constraint for one focus\n * node.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface ConstraintInput {\n /** The data graph (with the shapes graph merged in when requested). */\n readonly dataGraph: Dataset.Dataset;\n /** The parsed shapes graph; its `dataset` is the `$shapesGraph`. */\n readonly shapesGraph: Shapes.ShapesGraph;\n /** The shape (`$currentShape`) that holds the constraint. */\n readonly shape: Shapes.Shape;\n /** The SPARQL constraint or custom component instance. */\n readonly constraint: Shapes.SparqlConstraint | Shapes.ComponentConstraint;\n /** The focus node (`$this`). */\n readonly focusNode: Term.GroundTerm;\n /** The value nodes of the focus node for this shape. */\n readonly valueNodes: ReadonlyArray<Term.GroundTerm>;\n}\n\n/**\n * One solution reported by a SPARQL-based constraint. Omitted fields take the\n * defaults defined by the SHACL-SPARQL specification: the focus node, the\n * shape's path, the shape's severity and messages.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface Violation {\n readonly focusNode?: Term.GroundTerm | undefined;\n readonly value?: Term.GroundTerm | undefined;\n readonly path?: Path.Path | undefined;\n /**\n * The result messages, possibly containing `{?var}` / `{$var}`\n * placeholders, which the validator substitutes from `bindings`.\n */\n readonly messages?: ReadonlyArray<Term.Literal> | undefined;\n readonly severity?: Term.NamedNode | undefined;\n /**\n * The variables available to message templates: the solution of the\n * query and, for SPARQL-based constraint components, the parameter values\n * by parameter name.\n */\n readonly bindings?: ReadonlyMap<string, Term.GroundTerm> | undefined;\n}\n\n/**\n * The input to the evaluation of a SPARQL-based or custom target.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface TargetInput {\n readonly dataGraph: Dataset.Dataset;\n readonly shapesGraph: Shapes.ShapesGraph;\n readonly shape: Shapes.Shape;\n /** The value of `sh:target`. */\n readonly target: Term.GroundTerm;\n}\n\n/**\n * A service able to evaluate SHACL-SPARQL constraints and targets, provided\n * by a SPARQL engine integration.\n *\n * @since 0.1.0\n * @category services\n */\nexport class SparqlConstraintEvaluator extends Context.Service<\n SparqlConstraintEvaluator,\n {\n /** Evaluates a SPARQL constraint for one focus node, returning its violations. */\n readonly evaluateConstraint: (\n input: ConstraintInput,\n ) => Effect.Effect<ReadonlyArray<Violation>, SparqlEvaluationError>;\n /** Computes the focus nodes of a SPARQL-based or custom target. */\n readonly selectTargets: (\n input: TargetInput,\n ) => Effect.Effect<ReadonlyArray<Term.GroundTerm>, SparqlEvaluationError>;\n }\n>()('@thomasfosterau/effect-rdf/shacl/Sparql/SparqlConstraintEvaluator') {}\n"],"mappings":";;;;;;;;;;;;;;AAsCA,IAAa,wBAAb,cAA2C,OAAO,YAAmC,CAAC,CACpF,yBACA;CACE,SAAS,OAAO;CAChB,OAAO,OAAO,SAAS,OAAO,OAAO,CAAC;AACxC,CACF,CAAC,CAAC,CAAC;;;;;;;;AAuEH,IAAa,4BAAb,cAA+C,QAAQ,QAYrD,CAAC,CAAC,mEAAmE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,97 @@
1
+ import { d as NamedNode, l as Literal, s as GroundTerm } from "./Term-B_4ezyXq.mjs";
2
+ import { n as Dataset } from "./Dataset-DS3ESOcO.mjs";
3
+ import "./index-Cms2TYfC.mjs";
4
+ import { i as Path } from "./Path-DRB8e-Zn.mjs";
5
+ import { f as SparqlConstraint, l as ShapesGraph, s as Shape, t as ComponentConstraint } from "./Shapes-BQFDFc4Q.mjs";
6
+ import * as Schema from "effect/Schema";
7
+ import * as Effect from "effect/Effect";
8
+ import * as Context from "effect/Context";
9
+ declare namespace Sparql_d_exports {
10
+ export { ConstraintInput, SparqlConstraintEvaluator, SparqlEvaluationError, TargetInput, Violation };
11
+ }
12
+ declare const SparqlEvaluationError_base: Schema.Class<SparqlEvaluationError, Schema.TaggedStruct<"SparqlEvaluationError", {
13
+ readonly message: Schema.String;
14
+ readonly cause: Schema.optional<Schema.Defect>;
15
+ }>, import("effect/Cause").YieldableError>;
16
+ /**
17
+ * A failure while evaluating a SPARQL-based constraint or target.
18
+ *
19
+ * @since 0.1.0
20
+ * @category errors
21
+ */
22
+ declare class SparqlEvaluationError extends SparqlEvaluationError_base {}
23
+ /**
24
+ * The input to the evaluation of a SPARQL-based constraint for one focus
25
+ * node.
26
+ *
27
+ * @since 0.1.0
28
+ * @category models
29
+ */
30
+ interface ConstraintInput {
31
+ /** The data graph (with the shapes graph merged in when requested). */
32
+ readonly dataGraph: Dataset;
33
+ /** The parsed shapes graph; its `dataset` is the `$shapesGraph`. */
34
+ readonly shapesGraph: ShapesGraph;
35
+ /** The shape (`$currentShape`) that holds the constraint. */
36
+ readonly shape: Shape;
37
+ /** The SPARQL constraint or custom component instance. */
38
+ readonly constraint: SparqlConstraint | ComponentConstraint;
39
+ /** The focus node (`$this`). */
40
+ readonly focusNode: GroundTerm;
41
+ /** The value nodes of the focus node for this shape. */
42
+ readonly valueNodes: ReadonlyArray<GroundTerm>;
43
+ }
44
+ /**
45
+ * One solution reported by a SPARQL-based constraint. Omitted fields take the
46
+ * defaults defined by the SHACL-SPARQL specification: the focus node, the
47
+ * shape's path, the shape's severity and messages.
48
+ *
49
+ * @since 0.1.0
50
+ * @category models
51
+ */
52
+ interface Violation {
53
+ readonly focusNode?: GroundTerm | undefined;
54
+ readonly value?: GroundTerm | undefined;
55
+ readonly path?: Path | undefined;
56
+ /**
57
+ * The result messages, possibly containing `{?var}` / `{$var}`
58
+ * placeholders, which the validator substitutes from `bindings`.
59
+ */
60
+ readonly messages?: ReadonlyArray<Literal> | undefined;
61
+ readonly severity?: NamedNode | undefined;
62
+ /**
63
+ * The variables available to message templates: the solution of the
64
+ * query and, for SPARQL-based constraint components, the parameter values
65
+ * by parameter name.
66
+ */
67
+ readonly bindings?: ReadonlyMap<string, GroundTerm> | undefined;
68
+ }
69
+ /**
70
+ * The input to the evaluation of a SPARQL-based or custom target.
71
+ *
72
+ * @since 0.1.0
73
+ * @category models
74
+ */
75
+ interface TargetInput {
76
+ readonly dataGraph: Dataset;
77
+ readonly shapesGraph: ShapesGraph;
78
+ readonly shape: Shape;
79
+ /** The value of `sh:target`. */
80
+ readonly target: GroundTerm;
81
+ }
82
+ declare const SparqlConstraintEvaluator_base: Context.ServiceClass<SparqlConstraintEvaluator, "@thomasfosterau/effect-rdf/shacl/Sparql/SparqlConstraintEvaluator", {
83
+ /** Evaluates a SPARQL constraint for one focus node, returning its violations. */
84
+ readonly evaluateConstraint: (input: ConstraintInput) => Effect.Effect<ReadonlyArray<Violation>, SparqlEvaluationError>;
85
+ /** Computes the focus nodes of a SPARQL-based or custom target. */
86
+ readonly selectTargets: (input: TargetInput) => Effect.Effect<ReadonlyArray<GroundTerm>, SparqlEvaluationError>;
87
+ }>;
88
+ /**
89
+ * A service able to evaluate SHACL-SPARQL constraints and targets, provided
90
+ * by a SPARQL engine integration.
91
+ *
92
+ * @since 0.1.0
93
+ * @category services
94
+ */
95
+ declare class SparqlConstraintEvaluator extends SparqlConstraintEvaluator_base {}
96
+ export { TargetInput as a, Sparql_d_exports as i, SparqlConstraintEvaluator as n, Violation as o, SparqlEvaluationError as r, ConstraintInput as t };
97
+ //# sourceMappingURL=Sparql-DecpWTPh.d.mts.map