@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.
- package/LICENSE +21 -0
- package/README.md +2251 -2
- package/dist/Algebra-CGG4oae3.mjs +433 -0
- package/dist/Algebra-CGG4oae3.mjs.map +1 -0
- package/dist/Algebra-uGsIEOUA.d.mts +446 -0
- package/dist/Ast-CPRZmBvk.mjs +552 -0
- package/dist/Ast-CPRZmBvk.mjs.map +1 -0
- package/dist/Ast-vcw2W-lf.d.mts +827 -0
- package/dist/Bindings-Ck3m7JRC.mjs +249 -0
- package/dist/Bindings-Ck3m7JRC.mjs.map +1 -0
- package/dist/Bindings-DiKpBd7f.d.mts +153 -0
- package/dist/ClientErrors-CpXdFX5u.mjs +128 -0
- package/dist/ClientErrors-CpXdFX5u.mjs.map +1 -0
- package/dist/ClientErrors-D4IZHUM-.d.mts +101 -0
- package/dist/ClientFormats-CXomkXLV.mjs +73 -0
- package/dist/ClientFormats-CXomkXLV.mjs.map +1 -0
- package/dist/ClientFormats-Dm57ZPwR.d.mts +36 -0
- package/dist/Csv2Json-DynEcwCh.mjs +194 -0
- package/dist/Csv2Json-DynEcwCh.mjs.map +1 -0
- package/dist/Csv2Json-aXNVDoXQ.d.mts +40 -0
- package/dist/Csv2Rdf-8maXP6mt.d.mts +41 -0
- package/dist/Csv2Rdf-DuSEkaKE.mjs +161 -0
- package/dist/Csv2Rdf-DuSEkaKE.mjs.map +1 -0
- package/dist/Dataset-BlmlcI7J.mjs +782 -0
- package/dist/Dataset-BlmlcI7J.mjs.map +1 -0
- package/dist/Dataset-DS3ESOcO.d.mts +426 -0
- package/dist/Dataset.d.mts +2 -0
- package/dist/Dataset.mjs +1 -0
- package/dist/Datatype-CxMpamHC.d.mts +212 -0
- package/dist/Datatype-DQvkNkiH.mjs +1001 -0
- package/dist/Datatype-DQvkNkiH.mjs.map +1 -0
- package/dist/Dialect-8ChFj5EX.d.mts +113 -0
- package/dist/Dialect-CzVH38uo.mjs +165 -0
- package/dist/Dialect-CzVH38uo.mjs.map +1 -0
- package/dist/DocumentLoader-D3lZREnB.mjs +346 -0
- package/dist/DocumentLoader-D3lZREnB.mjs.map +1 -0
- package/dist/DocumentLoader-ZUCEVrW5.d.mts +178 -0
- package/dist/DublinCore-AnwqxRx6.mjs +137 -0
- package/dist/DublinCore-AnwqxRx6.mjs.map +1 -0
- package/dist/DublinCore-Dq-tVA5d.d.mts +119 -0
- package/dist/Engine-CYPB3g4h.d.mts +144 -0
- package/dist/Engine-DF8PN7g-.mjs +872 -0
- package/dist/Engine-DF8PN7g-.mjs.map +1 -0
- package/dist/Errors-CMdV1RhU.mjs +37 -0
- package/dist/Errors-CMdV1RhU.mjs.map +1 -0
- package/dist/Errors-u2bDjUeM.d.mts +30 -0
- package/dist/Evaluator-DEsU4d1o.d.mts +50 -0
- package/dist/Evaluator-DOY2-guC.mjs +281 -0
- package/dist/Evaluator-DOY2-guC.mjs.map +1 -0
- package/dist/Exif-CpqniYQd.d.mts +78 -0
- package/dist/Exif-DjkCfEB-.mjs +89 -0
- package/dist/Exif-DjkCfEB-.mjs.map +1 -0
- package/dist/Expression-BIMMvduQ.mjs +230 -0
- package/dist/Expression-BIMMvduQ.mjs.map +1 -0
- package/dist/Expression-W8A9cyX7.d.mts +89 -0
- package/dist/Extract-Bop85jES.mjs +220 -0
- package/dist/Extract-Bop85jES.mjs.map +1 -0
- package/dist/Extract-C_pCvuTC.d.mts +88 -0
- package/dist/Federation-BcNrozc1.d.mts +52 -0
- package/dist/Federation-CHScBkaK.mjs +130 -0
- package/dist/Federation-CHScBkaK.mjs.map +1 -0
- package/dist/Functions-AvjNcId_.mjs +1346 -0
- package/dist/Functions-AvjNcId_.mjs.map +1 -0
- package/dist/Functions-OQJZP-F6.d.mts +111 -0
- package/dist/Generator-C52mmq01.d.mts +50 -0
- package/dist/Generator-D3utCJC7.mjs +205 -0
- package/dist/Generator-D3utCJC7.mjs.map +1 -0
- package/dist/Grammar-CPlSxGH6.mjs +200 -0
- package/dist/Grammar-CPlSxGH6.mjs.map +1 -0
- package/dist/Grammar-CRhnRoCu.d.mts +148 -0
- package/dist/Grammar-D6jZdJQ3.d.mts +169 -0
- package/dist/Grammar-mQ8CgE1M.mjs +258 -0
- package/dist/Grammar-mQ8CgE1M.mjs.map +1 -0
- package/dist/GraphStore-DhUa4nFO.d.mts +45 -0
- package/dist/GraphStore-DvbqwKy1.mjs +212 -0
- package/dist/GraphStore-DvbqwKy1.mjs.map +1 -0
- package/dist/Iri-BB8Ks-BF.d.mts +84 -0
- package/dist/Iri-Cr92gsQV.mjs +232 -0
- package/dist/Iri-Cr92gsQV.mjs.map +1 -0
- package/dist/Iri.d.mts +2 -0
- package/dist/Iri.mjs +1 -0
- package/dist/Isomorphism-B6qTY-xy.d.mts +28 -0
- package/dist/Isomorphism-BmqxhKyJ.mjs +232 -0
- package/dist/Isomorphism-BmqxhKyJ.mjs.map +1 -0
- package/dist/Isomorphism-DInKnWIy.mjs +390 -0
- package/dist/Isomorphism-DInKnWIy.mjs.map +1 -0
- package/dist/Isomorphism-DvSfZXLR.d.mts +37 -0
- package/dist/Isomorphism.d.mts +2 -0
- package/dist/Isomorphism.mjs +1 -0
- package/dist/JsonLd-DOwS2FHg.mjs +2836 -0
- package/dist/JsonLd-DOwS2FHg.mjs.map +1 -0
- package/dist/JsonLd-DobFrQNa.d.mts +242 -0
- package/dist/JsonLdError-C9J-BxfG.mjs +106 -0
- package/dist/JsonLdError-C9J-BxfG.mjs.map +1 -0
- package/dist/JsonLdError-DSOfHkOy.d.mts +43 -0
- package/dist/LanguageTag-BCu8rcmX.d.mts +38 -0
- package/dist/LanguageTag-BcOpMGZ4.mjs +89 -0
- package/dist/LanguageTag-BcOpMGZ4.mjs.map +1 -0
- package/dist/LanguageTag.d.mts +2 -0
- package/dist/LanguageTag.mjs +1 -0
- package/dist/Lexical-Cg0JHrf6.mjs +243 -0
- package/dist/Lexical-Cg0JHrf6.mjs.map +1 -0
- package/dist/Lexical-D3zySYVS.d.mts +163 -0
- package/dist/Manifest-B6xf6mUc.mjs +148 -0
- package/dist/Manifest-B6xf6mUc.mjs.map +1 -0
- package/dist/Manifest-DQUMRBFr.d.mts +98 -0
- package/dist/Mapping-BgG74x3U.d.mts +63 -0
- package/dist/Mapping-Dc1ZGirk.mjs +259 -0
- package/dist/Mapping-Dc1ZGirk.mjs.map +1 -0
- package/dist/Mcp-1DwTTKOK.mjs +48 -0
- package/dist/Mcp-1DwTTKOK.mjs.map +1 -0
- package/dist/Mcp-d-pX9erx.d.mts +25 -0
- package/dist/Message-CK_DGQuu.mjs +95 -0
- package/dist/Message-CK_DGQuu.mjs.map +1 -0
- package/dist/Message-fIvTJSXM.d.mts +49 -0
- package/dist/Metadata-BbffwGDZ.mjs +445 -0
- package/dist/Metadata-BbffwGDZ.mjs.map +1 -0
- package/dist/Metadata-CEt3yc1-.d.mts +901 -0
- package/dist/Metadata-D4HsQNXr.mjs +1273 -0
- package/dist/Metadata-D4HsQNXr.mjs.map +1 -0
- package/dist/Metadata-nzS7QKRj.d.mts +350 -0
- package/dist/Model-DaMmxurZ.d.mts +293 -0
- package/dist/Model-DlPzRYhF.mjs +528 -0
- package/dist/Model-DlPzRYhF.mjs.map +1 -0
- package/dist/N3-BzyV-KIH.mjs +974 -0
- package/dist/N3-BzyV-KIH.mjs.map +1 -0
- package/dist/N3-DSLnonDn.d.mts +100 -0
- package/dist/NQuads-C1VBOJ3-.mjs +117 -0
- package/dist/NQuads-C1VBOJ3-.mjs.map +1 -0
- package/dist/NQuads-FjFZikFg.d.mts +76 -0
- package/dist/NTriples-D-kLSEAf.mjs +120 -0
- package/dist/NTriples-D-kLSEAf.mjs.map +1 -0
- package/dist/NTriples-D34OspfW.d.mts +76 -0
- package/dist/Namespace-ClTUO_ya.d.mts +42 -0
- package/dist/Namespace-DHFIsORd.mjs +75 -0
- package/dist/Namespace-DHFIsORd.mjs.map +1 -0
- package/dist/Namespace.d.mts +2 -0
- package/dist/Namespace.mjs +1 -0
- package/dist/Namespaces-Bz85vpjW.mjs +235 -0
- package/dist/Namespaces-Bz85vpjW.mjs.map +1 -0
- package/dist/Namespaces-C1jW6EDo.d.mts +178 -0
- package/dist/Optimizer-BWWQRQPY.mjs +168 -0
- package/dist/Optimizer-BWWQRQPY.mjs.map +1 -0
- package/dist/Optimizer-DUpUow6k.d.mts +26 -0
- package/dist/Options-BLBGL4HE.mjs +72 -0
- package/dist/Options-BLBGL4HE.mjs.map +1 -0
- package/dist/Options-BommQwP9.d.mts +127 -0
- package/dist/Packet-CA76wVX3.mjs +197 -0
- package/dist/Packet-CA76wVX3.mjs.map +1 -0
- package/dist/Packet-Cy5g6XuW.d.mts +130 -0
- package/dist/Parser-p1Gyr0QN.d.mts +85 -0
- package/dist/Parser-xARsOWXk.mjs +1317 -0
- package/dist/Parser-xARsOWXk.mjs.map +1 -0
- package/dist/Path-B20Yp8KE.mjs +284 -0
- package/dist/Path-B20Yp8KE.mjs.map +1 -0
- package/dist/Path-DRB8e-Zn.d.mts +181 -0
- package/dist/Pdf-B9RZn--8.d.mts +77 -0
- package/dist/Pdf-CKK6dkZn.mjs +89 -0
- package/dist/Pdf-CKK6dkZn.mjs.map +1 -0
- package/dist/PdfA-CUjSuntT.d.mts +109 -0
- package/dist/PdfA-CleOhuL6.mjs +124 -0
- package/dist/PdfA-CleOhuL6.mjs.map +1 -0
- package/dist/Photoshop-CiHo80qV.mjs +233 -0
- package/dist/Photoshop-CiHo80qV.mjs.map +1 -0
- package/dist/Photoshop-udKZ0I3N.d.mts +204 -0
- package/dist/PrefixMap-BHFPDLO-.mjs +103 -0
- package/dist/PrefixMap-BHFPDLO-.mjs.map +1 -0
- package/dist/PrefixMap-BMlXrWNd.d.mts +64 -0
- package/dist/PrefixMap.d.mts +2 -0
- package/dist/PrefixMap.mjs +1 -0
- package/dist/Processor-CMmecFsb.mjs +198 -0
- package/dist/Processor-CMmecFsb.mjs.map +1 -0
- package/dist/Processor-FJPvO0CB.d.mts +435 -0
- package/dist/Protocol-BA7OkNgp.mjs +202 -0
- package/dist/Protocol-BA7OkNgp.mjs.map +1 -0
- package/dist/Protocol-DlSoiIKB.d.mts +108 -0
- package/dist/ProtocolErrors-Ckfejnl6.d.mts +84 -0
- package/dist/ProtocolErrors-czDPVcX5.mjs +129 -0
- package/dist/ProtocolErrors-czDPVcX5.mjs.map +1 -0
- package/dist/Query-D9A6LOpP.mjs +364 -0
- package/dist/Query-D9A6LOpP.mjs.map +1 -0
- package/dist/Query-KqSkTYyG.d.mts +96 -0
- package/dist/QueryBuilder-BLK9Vfbz.mjs +674 -0
- package/dist/QueryBuilder-BLK9Vfbz.mjs.map +1 -0
- package/dist/QueryBuilder-DUqh4ECe.d.mts +529 -0
- package/dist/RdfJs-D6-49XB5.mjs +86 -0
- package/dist/RdfJs-D6-49XB5.mjs.map +1 -0
- package/dist/RdfJs-DXFqdWrd.d.mts +76 -0
- package/dist/RdfJs.d.mts +2 -0
- package/dist/RdfJs.mjs +1 -0
- package/dist/RdfJson-5aKPDlPS.d.mts +297 -0
- package/dist/RdfJson-BNocgW4f.mjs +548 -0
- package/dist/RdfJson-BNocgW4f.mjs.map +1 -0
- package/dist/RdfXml-DJ9G4gOq.mjs +1014 -0
- package/dist/RdfXml-DJ9G4gOq.mjs.map +1 -0
- package/dist/RdfXml-_N7yxWEp.d.mts +149 -0
- package/dist/Rdfs-BRVPsAjc.d.mts +84 -0
- package/dist/Rdfs-CyY2wVHI.mjs +167 -0
- package/dist/Rdfs-CyY2wVHI.mjs.map +1 -0
- package/dist/Rdfs.d.mts +2 -0
- package/dist/Rdfs.mjs +1 -0
- package/dist/Reasoner-BxYhx9s7.d.mts +94 -0
- package/dist/Reasoner-Cw90zrjv.mjs +798 -0
- package/dist/Reasoner-Cw90zrjv.mjs.map +1 -0
- package/dist/Reification-BmN4EfnM.d.mts +40 -0
- package/dist/Reification-dpqQvjDE.mjs +82 -0
- package/dist/Reification-dpqQvjDE.mjs.map +1 -0
- package/dist/Reification.d.mts +2 -0
- package/dist/Reification.mjs +1 -0
- package/dist/Report-XHs8htzK.mjs +121 -0
- package/dist/Report-XHs8htzK.mjs.map +1 -0
- package/dist/Report-hcXsc_19.d.mts +115 -0
- package/dist/Resource-B1cI8FyJ.d.mts +218 -0
- package/dist/Resource-sIEeNh15.mjs +374 -0
- package/dist/Resource-sIEeNh15.mjs.map +1 -0
- package/dist/Resource.d.mts +2 -0
- package/dist/Resource.mjs +1 -0
- package/dist/Results-BVNEC-Wt.d.mts +277 -0
- package/dist/Results-peJjGA2V.mjs +621 -0
- package/dist/Results-peJjGA2V.mjs.map +1 -0
- package/dist/ResultsStream-BhF0OcNn.mjs +639 -0
- package/dist/ResultsStream-BhF0OcNn.mjs.map +1 -0
- package/dist/ResultsStream-toYMXrOe.d.mts +100 -0
- package/dist/SemAct-CDchtk49.d.mts +96 -0
- package/dist/SemAct-CmyT4yI8.mjs +118 -0
- package/dist/SemAct-CmyT4yI8.mjs.map +1 -0
- package/dist/Serialization-DP9H5bYQ.mjs +514 -0
- package/dist/Serialization-DP9H5bYQ.mjs.map +1 -0
- package/dist/Serialization-Df8iVauT.d.mts +392 -0
- package/dist/Serialization.d.mts +2 -0
- package/dist/Serialization.mjs +1 -0
- package/dist/ServerFormats-CrRnjjf6.mjs +64 -0
- package/dist/ServerFormats-CrRnjjf6.mjs.map +1 -0
- package/dist/ServerFormats-DjC9NsO_.d.mts +36 -0
- package/dist/ServiceDescription-BERsvg-k.d.mts +54 -0
- package/dist/ServiceDescription-Dq5hxeGy.mjs +97 -0
- package/dist/ServiceDescription-Dq5hxeGy.mjs.map +1 -0
- package/dist/ShExC-Ctf-06CL.d.mts +67 -0
- package/dist/ShExC-DJbB19i3.mjs +1181 -0
- package/dist/ShExC-DJbB19i3.mjs.map +1 -0
- package/dist/ShExError-BeYFD9rv.d.mts +61 -0
- package/dist/ShExError-CVtq2NnM.mjs +64 -0
- package/dist/ShExError-CVtq2NnM.mjs.map +1 -0
- package/dist/ShExJ-C1u_wgyD.d.mts +531 -0
- package/dist/ShExJ-COiPd9Xw.mjs +532 -0
- package/dist/ShExJ-COiPd9Xw.mjs.map +1 -0
- package/dist/ShExR-ByR4mCh-.mjs +480 -0
- package/dist/ShExR-ByR4mCh-.mjs.map +1 -0
- package/dist/ShExR-CqONNNBz.d.mts +40 -0
- package/dist/ShapeMap-C422pxKl.d.mts +140 -0
- package/dist/ShapeMap-CsgKxB2G.mjs +181 -0
- package/dist/ShapeMap-CsgKxB2G.mjs.map +1 -0
- package/dist/Shapes-18GjfyBV.mjs +597 -0
- package/dist/Shapes-18GjfyBV.mjs.map +1 -0
- package/dist/Shapes-BQFDFc4Q.d.mts +306 -0
- package/dist/Sparql-BiYFMSpl.mjs +29 -0
- package/dist/Sparql-BiYFMSpl.mjs.map +1 -0
- package/dist/Sparql-DecpWTPh.d.mts +97 -0
- package/dist/SparqlClient-C_CjXbwj.mjs +333 -0
- package/dist/SparqlClient-C_CjXbwj.mjs.map +1 -0
- package/dist/SparqlClient-UPc88SHy.d.mts +290 -0
- package/dist/SparqlServer-CbUW-pVj.d.mts +71 -0
- package/dist/SparqlServer-Db7w7Cll.mjs +308 -0
- package/dist/SparqlServer-Db7w7Cll.mjs.map +1 -0
- package/dist/SqlStore-BBqFx-Wl.mjs +684 -0
- package/dist/SqlStore-BBqFx-Wl.mjs.map +1 -0
- package/dist/SqlStore-CCJo5I-e.d.mts +117 -0
- package/dist/Store-D0jmVfb3.d.mts +166 -0
- package/dist/Store-DH3Ow1GO.mjs +162 -0
- package/dist/Store-DH3Ow1GO.mjs.map +1 -0
- package/dist/Structure-BjMo4Bkc.mjs +334 -0
- package/dist/Structure-BjMo4Bkc.mjs.map +1 -0
- package/dist/Structure-n4CmDiab.d.mts +63 -0
- package/dist/Table-BGgm9nbM.mjs +538 -0
- package/dist/Table-BGgm9nbM.mjs.map +1 -0
- package/dist/Table-C3reiVrb.d.mts +261 -0
- package/dist/Term-B_4ezyXq.d.mts +619 -0
- package/dist/Term-CFLG1qu4.mjs +991 -0
- package/dist/Term-CFLG1qu4.mjs.map +1 -0
- package/dist/Term.d.mts +2 -0
- package/dist/Term.mjs +1 -0
- package/dist/TermCodec-CDZiEztW.mjs +397 -0
- package/dist/TermCodec-CDZiEztW.mjs.map +1 -0
- package/dist/TermCodec-_03bDXr0.d.mts +209 -0
- package/dist/TermCodec.d.mts +2 -0
- package/dist/TermCodec.mjs +1 -0
- package/dist/TermJson-BOPe0yve.d.mts +232 -0
- package/dist/TermJson-FAg3lvjl.mjs +142 -0
- package/dist/TermJson-FAg3lvjl.mjs.map +1 -0
- package/dist/TermJson.d.mts +2 -0
- package/dist/TermJson.mjs +1 -0
- package/dist/TermSchema-Bn9CoaYA.mjs +30 -0
- package/dist/TermSchema-Bn9CoaYA.mjs.map +1 -0
- package/dist/TermSchema-DBO6MroX.d.mts +6 -0
- package/dist/Testing-B-aPCpmu.mjs +63 -0
- package/dist/Testing-B-aPCpmu.mjs.map +1 -0
- package/dist/Testing-CF6s8P3O.d.mts +53 -0
- package/dist/Tiff-CR-2QeSI.d.mts +148 -0
- package/dist/Tiff-DlsOlZPM.mjs +169 -0
- package/dist/Tiff-DlsOlZPM.mjs.map +1 -0
- package/dist/Tools-7MdRKccr.d.mts +583 -0
- package/dist/Tools-ryxphZbI.mjs +329 -0
- package/dist/Tools-ryxphZbI.mjs.map +1 -0
- package/dist/Translate-B0YKKANS.d.mts +37 -0
- package/dist/Translate-gzWPq0Ia.mjs +308 -0
- package/dist/Translate-gzWPq0Ia.mjs.map +1 -0
- package/dist/Translation-DC9rLm2y.mjs +1535 -0
- package/dist/Translation-DC9rLm2y.mjs.map +1 -0
- package/dist/Translation-K4L9XBqX.d.mts +103 -0
- package/dist/TriG-BkqtqZ6Y.mjs +125 -0
- package/dist/TriG-BkqtqZ6Y.mjs.map +1 -0
- package/dist/TriG-xDjdDatp.d.mts +86 -0
- package/dist/Turtle-Bv1_bisW.d.mts +85 -0
- package/dist/Turtle-CZVUOtwl.mjs +133 -0
- package/dist/Turtle-CZVUOtwl.mjs.map +1 -0
- package/dist/ValidationReport-DBdJshW5.mjs +285 -0
- package/dist/ValidationReport-DBdJshW5.mjs.map +1 -0
- package/dist/ValidationReport-Dx3WxY0h.d.mts +192 -0
- package/dist/Validator-227ff9Rn.d.mts +179 -0
- package/dist/Validator-BzXMKDeJ.mjs +1162 -0
- package/dist/Validator-BzXMKDeJ.mjs.map +1 -0
- package/dist/Validator-Dl8cih5V.d.mts +207 -0
- package/dist/Validator-DmUfMbpL.mjs +568 -0
- package/dist/Validator-DmUfMbpL.mjs.map +1 -0
- package/dist/Vocab-DceKywpq.mjs +168 -0
- package/dist/Vocab-DceKywpq.mjs.map +1 -0
- package/dist/Vocab-Df-L-IwZ.d.mts +46 -0
- package/dist/Vocab-Do56UgBX.d.mts +81 -0
- package/dist/Vocab-TfpWG1Ne.mjs +118 -0
- package/dist/Vocab-TfpWG1Ne.mjs.map +1 -0
- package/dist/Vocab.d.mts +2 -0
- package/dist/Vocab.mjs +1 -0
- package/dist/Vocabulary-C6-GPOy4.d.mts +22 -0
- package/dist/Vocabulary-CnQl-_Z4.mjs +179 -0
- package/dist/Vocabulary-CnQl-_Z4.mjs.map +1 -0
- package/dist/Xml-B7iihYCS.mjs +976 -0
- package/dist/Xml-B7iihYCS.mjs.map +1 -0
- package/dist/Xml-CmfHS7SW.d.mts +267 -0
- package/dist/Xmp-D7CKA7MZ.d.mts +111 -0
- package/dist/Xmp-DCGN9pOD.mjs +307 -0
- package/dist/Xmp-DCGN9pOD.mjs.map +1 -0
- package/dist/XmpBasic-CP38jpR_.mjs +73 -0
- package/dist/XmpBasic-CP38jpR_.mjs.map +1 -0
- package/dist/XmpBasic-Cmbe53rQ.d.mts +64 -0
- package/dist/XmpMM-BfL_TgJF.mjs +73 -0
- package/dist/XmpMM-BfL_TgJF.mjs.map +1 -0
- package/dist/XmpMM-Dqm3IX8p.d.mts +63 -0
- package/dist/XmpRights-BKPtoI5L.mjs +73 -0
- package/dist/XmpRights-BKPtoI5L.mjs.map +1 -0
- package/dist/XmpRights-CaALZQz2.d.mts +63 -0
- package/dist/Xsd-Cdgx5zRB.mjs +405 -0
- package/dist/Xsd-Cdgx5zRB.mjs.map +1 -0
- package/dist/Xsd-D2elNhSm.d.mts +187 -0
- package/dist/Xsd.d.mts +2 -0
- package/dist/Xsd.mjs +1 -0
- package/dist/accessors-CEjaojuQ.mjs +28 -0
- package/dist/accessors-CEjaojuQ.mjs.map +1 -0
- package/dist/codec-Lb2T96rv.d.mts +20 -0
- package/dist/codec-QNo7IdJF.mjs +389 -0
- package/dist/codec-QNo7IdJF.mjs.map +1 -0
- package/dist/csvw/Csv2Json.d.mts +2 -0
- package/dist/csvw/Csv2Json.mjs +1 -0
- package/dist/csvw/Csv2Rdf.d.mts +2 -0
- package/dist/csvw/Csv2Rdf.mjs +1 -0
- package/dist/csvw/Datatype.d.mts +2 -0
- package/dist/csvw/Datatype.mjs +1 -0
- package/dist/csvw/Metadata.d.mts +2 -0
- package/dist/csvw/Metadata.mjs +1 -0
- package/dist/csvw/Processor.d.mts +2 -0
- package/dist/csvw/Processor.mjs +1 -0
- package/dist/csvw/Report.d.mts +2 -0
- package/dist/csvw/Report.mjs +1 -0
- package/dist/csvw/Table.d.mts +2 -0
- package/dist/csvw/Table.mjs +1 -0
- package/dist/csvw/index.d.mts +8 -0
- package/dist/csvw/index.mjs +8 -0
- package/dist/index-Cms2TYfC.d.mts +16 -0
- package/dist/index-Ct8xFmRs.d.mts +7 -0
- package/dist/index-D4QFwOjm.d.mts +28 -0
- package/dist/index.d.mts +18 -0
- package/dist/index.mjs +17 -0
- package/dist/jsonld/DocumentLoader.d.mts +2 -0
- package/dist/jsonld/DocumentLoader.mjs +1 -0
- package/dist/jsonld/JsonLd.d.mts +2 -0
- package/dist/jsonld/JsonLd.mjs +1 -0
- package/dist/jsonld/JsonLdError.d.mts +2 -0
- package/dist/jsonld/JsonLdError.mjs +1 -0
- package/dist/jsonld/index.d.mts +4 -0
- package/dist/jsonld/index.mjs +4 -0
- package/dist/lists-D-OpQ0Ir.mjs +77 -0
- package/dist/lists-D-OpQ0Ir.mjs.map +1 -0
- package/dist/loop-D5-gNx9K.mjs +21 -0
- package/dist/loop-D5-gNx9K.mjs.map +1 -0
- package/dist/loop-DZ2hXlr_.mjs +21 -0
- package/dist/loop-DZ2hXlr_.mjs.map +1 -0
- package/dist/n3/Isomorphism.d.mts +2 -0
- package/dist/n3/Isomorphism.mjs +1 -0
- package/dist/n3/Mapping.d.mts +2 -0
- package/dist/n3/Mapping.mjs +1 -0
- package/dist/n3/Model.d.mts +2 -0
- package/dist/n3/Model.mjs +1 -0
- package/dist/n3/N3.d.mts +2 -0
- package/dist/n3/N3.mjs +1 -0
- package/dist/n3/Reasoner.d.mts +2 -0
- package/dist/n3/Reasoner.mjs +2 -0
- package/dist/n3/Vocab.d.mts +2 -0
- package/dist/n3/Vocab.mjs +1 -0
- package/dist/n3/index.d.mts +7 -0
- package/dist/n3/index.mjs +7 -0
- package/dist/ntriples/Grammar.d.mts +2 -0
- package/dist/ntriples/Grammar.mjs +1 -0
- package/dist/ntriples/Lexical.d.mts +2 -0
- package/dist/ntriples/Lexical.mjs +1 -0
- package/dist/ntriples/NQuads.d.mts +2 -0
- package/dist/ntriples/NQuads.mjs +1 -0
- package/dist/ntriples/NTriples.d.mts +2 -0
- package/dist/ntriples/NTriples.mjs +1 -0
- package/dist/ntriples/index.d.mts +5 -0
- package/dist/ntriples/index.mjs +5 -0
- package/dist/rdfjson/RdfJson.d.mts +2 -0
- package/dist/rdfjson/RdfJson.mjs +1 -0
- package/dist/rdfjson/index.d.mts +2 -0
- package/dist/rdfjson/index.mjs +1 -0
- package/dist/rdfxml/RdfXml.d.mts +2 -0
- package/dist/rdfxml/RdfXml.mjs +1 -0
- package/dist/rdfxml/Xml.d.mts +2 -0
- package/dist/rdfxml/Xml.mjs +1 -0
- package/dist/rdfxml/index.d.mts +3 -0
- package/dist/rdfxml/index.mjs +3 -0
- package/dist/rolldown-runtime-D8jQpDG7.mjs +12 -0
- package/dist/serialize-96KBvKaf.mjs +1463 -0
- package/dist/serialize-96KBvKaf.mjs.map +1 -0
- package/dist/serialize-DsoXdM6n.d.mts +37 -0
- package/dist/shacl/Message.d.mts +2 -0
- package/dist/shacl/Message.mjs +1 -0
- package/dist/shacl/Path.d.mts +2 -0
- package/dist/shacl/Path.mjs +1 -0
- package/dist/shacl/Shapes.d.mts +2 -0
- package/dist/shacl/Shapes.mjs +1 -0
- package/dist/shacl/Sparql.d.mts +2 -0
- package/dist/shacl/Sparql.mjs +1 -0
- package/dist/shacl/ValidationReport.d.mts +2 -0
- package/dist/shacl/ValidationReport.mjs +1 -0
- package/dist/shacl/Validator.d.mts +2 -0
- package/dist/shacl/Validator.mjs +1 -0
- package/dist/shacl/Vocabulary.d.mts +2 -0
- package/dist/shacl/Vocabulary.mjs +1 -0
- package/dist/shacl/index.d.mts +9 -0
- package/dist/shacl/index.mjs +8 -0
- package/dist/shex/SemAct.d.mts +2 -0
- package/dist/shex/SemAct.mjs +1 -0
- package/dist/shex/ShExC.d.mts +2 -0
- package/dist/shex/ShExC.mjs +1 -0
- package/dist/shex/ShExError.d.mts +2 -0
- package/dist/shex/ShExError.mjs +1 -0
- package/dist/shex/ShExJ.d.mts +2 -0
- package/dist/shex/ShExJ.mjs +2 -0
- package/dist/shex/ShExR.d.mts +2 -0
- package/dist/shex/ShExR.mjs +1 -0
- package/dist/shex/ShapeMap.d.mts +2 -0
- package/dist/shex/ShapeMap.mjs +1 -0
- package/dist/shex/Structure.d.mts +2 -0
- package/dist/shex/Structure.mjs +2 -0
- package/dist/shex/Validator.d.mts +2 -0
- package/dist/shex/Validator.mjs +4 -0
- package/dist/shex/index.d.mts +9 -0
- package/dist/shex/index.mjs +9 -0
- package/dist/sparql/Algebra.d.mts +2 -0
- package/dist/sparql/Algebra.mjs +1 -0
- package/dist/sparql/Ast.d.mts +2 -0
- package/dist/sparql/Ast.mjs +1 -0
- package/dist/sparql/Bindings.d.mts +2 -0
- package/dist/sparql/Bindings.mjs +1 -0
- package/dist/sparql/ClientErrors.d.mts +2 -0
- package/dist/sparql/ClientErrors.mjs +1 -0
- package/dist/sparql/ClientFormats.d.mts +2 -0
- package/dist/sparql/ClientFormats.mjs +1 -0
- package/dist/sparql/Engine.d.mts +2 -0
- package/dist/sparql/Engine.mjs +1 -0
- package/dist/sparql/Errors.d.mts +2 -0
- package/dist/sparql/Errors.mjs +1 -0
- package/dist/sparql/Expression.d.mts +2 -0
- package/dist/sparql/Expression.mjs +1 -0
- package/dist/sparql/Federation.d.mts +2 -0
- package/dist/sparql/Federation.mjs +1 -0
- package/dist/sparql/Functions.d.mts +2 -0
- package/dist/sparql/Functions.mjs +1 -0
- package/dist/sparql/Generator.d.mts +2 -0
- package/dist/sparql/Generator.mjs +1 -0
- package/dist/sparql/GraphStore.d.mts +2 -0
- package/dist/sparql/GraphStore.mjs +1 -0
- package/dist/sparql/Optimizer.d.mts +2 -0
- package/dist/sparql/Optimizer.mjs +1 -0
- package/dist/sparql/Options.d.mts +2 -0
- package/dist/sparql/Options.mjs +1 -0
- package/dist/sparql/Parser.d.mts +2 -0
- package/dist/sparql/Parser.mjs +1 -0
- package/dist/sparql/Protocol.d.mts +2 -0
- package/dist/sparql/Protocol.mjs +1 -0
- package/dist/sparql/ProtocolErrors.d.mts +2 -0
- package/dist/sparql/ProtocolErrors.mjs +1 -0
- package/dist/sparql/QueryBuilder.d.mts +2 -0
- package/dist/sparql/QueryBuilder.mjs +1 -0
- package/dist/sparql/Results.d.mts +2 -0
- package/dist/sparql/Results.mjs +1 -0
- package/dist/sparql/ResultsStream.d.mts +2 -0
- package/dist/sparql/ResultsStream.mjs +1 -0
- package/dist/sparql/ServerFormats.d.mts +2 -0
- package/dist/sparql/ServerFormats.mjs +1 -0
- package/dist/sparql/ServiceDescription.d.mts +2 -0
- package/dist/sparql/ServiceDescription.mjs +1 -0
- package/dist/sparql/SparqlClient.d.mts +2 -0
- package/dist/sparql/SparqlClient.mjs +1 -0
- package/dist/sparql/SparqlServer.d.mts +2 -0
- package/dist/sparql/SparqlServer.mjs +1 -0
- package/dist/sparql/Store.d.mts +2 -0
- package/dist/sparql/Store.mjs +1 -0
- package/dist/sparql/TermSchema.d.mts +3 -0
- package/dist/sparql/TermSchema.mjs +2 -0
- package/dist/sparql/Testing.d.mts +2 -0
- package/dist/sparql/Testing.mjs +1 -0
- package/dist/sparql/Translate.d.mts +2 -0
- package/dist/sparql/Translate.mjs +1 -0
- package/dist/sparql/ai/Mcp.d.mts +2 -0
- package/dist/sparql/ai/Mcp.mjs +1 -0
- package/dist/sparql/ai/Tools.d.mts +2 -0
- package/dist/sparql/ai/Tools.mjs +1 -0
- package/dist/sparql/ai/index.d.mts +3 -0
- package/dist/sparql/ai/index.mjs +3 -0
- package/dist/sparql/index.d.mts +30 -0
- package/dist/sparql/index.mjs +29 -0
- package/dist/sparql/shacl/Evaluator.d.mts +2 -0
- package/dist/sparql/shacl/Evaluator.mjs +1 -0
- package/dist/sparql/shacl/Query.d.mts +2 -0
- package/dist/sparql/shacl/Query.mjs +1 -0
- package/dist/sparql/shacl/index.d.mts +3 -0
- package/dist/sparql/shacl/index.mjs +3 -0
- package/dist/sparql/sql/Dialect.d.mts +2 -0
- package/dist/sparql/sql/Dialect.mjs +1 -0
- package/dist/sparql/sql/SqlStore.d.mts +2 -0
- package/dist/sparql/sql/SqlStore.mjs +1 -0
- package/dist/sparql/sql/Translation.d.mts +2 -0
- package/dist/sparql/sql/Translation.mjs +1 -0
- package/dist/sparql/sql/index.d.mts +4 -0
- package/dist/sparql/sql/index.mjs +4 -0
- package/dist/stringMap-D5YIpYtR.mjs +38 -0
- package/dist/stringMap-D5YIpYtR.mjs.map +1 -0
- package/dist/tokens-C6BzeodQ.mjs +24 -0
- package/dist/tokens-C6BzeodQ.mjs.map +1 -0
- package/dist/turtle/Grammar.d.mts +3 -0
- package/dist/turtle/Grammar.mjs +3 -0
- package/dist/turtle/Manifest.d.mts +2 -0
- package/dist/turtle/Manifest.mjs +1 -0
- package/dist/turtle/TriG.d.mts +2 -0
- package/dist/turtle/TriG.mjs +1 -0
- package/dist/turtle/Turtle.d.mts +2 -0
- package/dist/turtle/Turtle.mjs +1 -0
- package/dist/turtle/index.d.mts +5 -0
- package/dist/turtle/index.mjs +5 -0
- package/dist/xmp/DublinCore.d.mts +2 -0
- package/dist/xmp/DublinCore.mjs +1 -0
- package/dist/xmp/Exif.d.mts +2 -0
- package/dist/xmp/Exif.mjs +1 -0
- package/dist/xmp/Extract.d.mts +2 -0
- package/dist/xmp/Extract.mjs +1 -0
- package/dist/xmp/Metadata.d.mts +2 -0
- package/dist/xmp/Metadata.mjs +1 -0
- package/dist/xmp/Namespaces.d.mts +2 -0
- package/dist/xmp/Namespaces.mjs +1 -0
- package/dist/xmp/Packet.d.mts +2 -0
- package/dist/xmp/Packet.mjs +1 -0
- package/dist/xmp/Pdf.d.mts +2 -0
- package/dist/xmp/Pdf.mjs +1 -0
- package/dist/xmp/PdfA.d.mts +2 -0
- package/dist/xmp/PdfA.mjs +1 -0
- package/dist/xmp/Photoshop.d.mts +2 -0
- package/dist/xmp/Photoshop.mjs +1 -0
- package/dist/xmp/Tiff.d.mts +2 -0
- package/dist/xmp/Tiff.mjs +1 -0
- package/dist/xmp/Xmp.d.mts +2 -0
- package/dist/xmp/Xmp.mjs +3 -0
- package/dist/xmp/XmpBasic.d.mts +2 -0
- package/dist/xmp/XmpBasic.mjs +1 -0
- package/dist/xmp/XmpMM.d.mts +2 -0
- package/dist/xmp/XmpMM.mjs +1 -0
- package/dist/xmp/XmpRights.d.mts +2 -0
- package/dist/xmp/XmpRights.mjs +1 -0
- package/dist/xmp/index.d.mts +15 -0
- package/dist/xmp/index.mjs +15 -0
- package/package.json +195 -3
- package/src/Dataset.ts +1085 -0
- package/src/Iri.ts +322 -0
- package/src/Isomorphism.ts +319 -0
- package/src/LanguageTag.ts +98 -0
- package/src/Namespace.ts +100 -0
- package/src/PrefixMap.ts +117 -0
- package/src/RdfJs.ts +146 -0
- package/src/Rdfs.ts +241 -0
- package/src/Reification.ts +103 -0
- package/src/Resource.ts +873 -0
- package/src/Serialization.ts +775 -0
- package/src/Term.ts +1300 -0
- package/src/TermCodec.ts +505 -0
- package/src/TermJson.ts +313 -0
- package/src/Vocab.ts +161 -0
- package/src/Xsd.ts +573 -0
- package/src/csvw/Csv2Json.ts +265 -0
- package/src/csvw/Csv2Rdf.ts +268 -0
- package/src/csvw/Datatype.ts +589 -0
- package/src/csvw/Metadata.ts +1523 -0
- package/src/csvw/Processor.ts +276 -0
- package/src/csvw/Report.ts +135 -0
- package/src/csvw/Table.ts +759 -0
- package/src/csvw/index.ts +22 -0
- package/src/csvw/internal/dateFormat.ts +202 -0
- package/src/csvw/internal/json.ts +104 -0
- package/src/csvw/internal/numberFormat.ts +369 -0
- package/src/csvw/internal/object.ts +23 -0
- package/src/csvw/internal/uriTemplate.ts +130 -0
- package/src/csvw/internal/url.ts +93 -0
- package/src/csvw/internal/vocab.ts +282 -0
- package/src/index.ts +40 -0
- package/src/internal/arbitrary.ts +148 -0
- package/src/internal/loop.ts +24 -0
- package/src/internal/pending.ts +20 -0
- package/src/internal/textDecoder.ts +183 -0
- package/src/jsonld/DocumentLoader.ts +512 -0
- package/src/jsonld/JsonLd.ts +847 -0
- package/src/jsonld/JsonLdError.ts +105 -0
- package/src/jsonld/index.ts +13 -0
- package/src/jsonld/internal/compact.ts +852 -0
- package/src/jsonld/internal/context.ts +781 -0
- package/src/jsonld/internal/expand.ts +614 -0
- package/src/jsonld/internal/flatten.ts +243 -0
- package/src/jsonld/internal/frame.ts +559 -0
- package/src/jsonld/internal/iri.ts +52 -0
- package/src/jsonld/internal/json.ts +19 -0
- package/src/jsonld/internal/linkHeader.ts +60 -0
- package/src/jsonld/internal/rdf.ts +481 -0
- package/src/jsonld/internal/util.ts +367 -0
- package/src/n3/Isomorphism.ts +476 -0
- package/src/n3/Mapping.ts +332 -0
- package/src/n3/Model.ts +696 -0
- package/src/n3/N3.ts +237 -0
- package/src/n3/Reasoner.ts +568 -0
- package/src/n3/Vocab.ts +111 -0
- package/src/n3/index.ts +21 -0
- package/src/n3/internal/builtins.ts +668 -0
- package/src/n3/internal/guards.ts +23 -0
- package/src/n3/internal/lists.ts +106 -0
- package/src/n3/internal/loop.ts +28 -0
- package/src/n3/internal/parser.ts +1032 -0
- package/src/n3/internal/writer.ts +344 -0
- package/src/ntriples/Grammar.ts +317 -0
- package/src/ntriples/Lexical.ts +321 -0
- package/src/ntriples/NQuads.ts +140 -0
- package/src/ntriples/NTriples.ts +143 -0
- package/src/ntriples/index.ts +14 -0
- package/src/ntriples/internal/codec.ts +229 -0
- package/src/ntriples/internal/lineParser.ts +326 -0
- package/src/ntriples/internal/loop.ts +14 -0
- package/src/rdfjson/RdfJson.ts +806 -0
- package/src/rdfjson/index.ts +9 -0
- package/src/rdfjson/internal/json.ts +19 -0
- package/src/rdfxml/RdfXml.ts +1408 -0
- package/src/rdfxml/Xml.ts +419 -0
- package/src/rdfxml/index.ts +11 -0
- package/src/rdfxml/internal/chars.ts +73 -0
- package/src/rdfxml/internal/loop.ts +24 -0
- package/src/rdfxml/internal/parser.ts +1265 -0
- package/src/shacl/Message.ts +102 -0
- package/src/shacl/Path.ts +483 -0
- package/src/shacl/Shapes.ts +913 -0
- package/src/shacl/Sparql.ts +128 -0
- package/src/shacl/ValidationReport.ts +438 -0
- package/src/shacl/Validator.ts +1156 -0
- package/src/shacl/Vocabulary.ts +180 -0
- package/src/shacl/index.ts +22 -0
- package/src/shacl/internal/compare.ts +128 -0
- package/src/shacl/internal/regex.ts +56 -0
- package/src/shex/SemAct.ts +197 -0
- package/src/shex/ShExC.ts +415 -0
- package/src/shex/ShExError.ts +71 -0
- package/src/shex/ShExJ.ts +893 -0
- package/src/shex/ShExR.ts +640 -0
- package/src/shex/ShapeMap.ts +385 -0
- package/src/shex/Structure.ts +467 -0
- package/src/shex/Validator.ts +395 -0
- package/src/shex/index.ts +24 -0
- package/src/shex/internal/engine.ts +682 -0
- package/src/shex/internal/iterate.ts +14 -0
- package/src/shex/internal/json.ts +12 -0
- package/src/shex/internal/lexer.ts +56 -0
- package/src/shex/internal/nodeConstraint.ts +368 -0
- package/src/shex/internal/shexcLexer.ts +387 -0
- package/src/shex/internal/shexcParser.ts +1312 -0
- package/src/shex/internal/tokens.ts +41 -0
- package/src/shex/internal/xpathRegex.ts +290 -0
- package/src/sparql/Algebra.ts +914 -0
- package/src/sparql/Ast.ts +1344 -0
- package/src/sparql/Bindings.ts +272 -0
- package/src/sparql/ClientErrors.ts +156 -0
- package/src/sparql/ClientFormats.ts +70 -0
- package/src/sparql/Engine.ts +699 -0
- package/src/sparql/Errors.ts +30 -0
- package/src/sparql/Expression.ts +360 -0
- package/src/sparql/Federation.ts +187 -0
- package/src/sparql/Functions.ts +689 -0
- package/src/sparql/Generator.ts +426 -0
- package/src/sparql/GraphStore.ts +341 -0
- package/src/sparql/Optimizer.ts +230 -0
- package/src/sparql/Options.ts +191 -0
- package/src/sparql/Parser.ts +173 -0
- package/src/sparql/Protocol.ts +342 -0
- package/src/sparql/ProtocolErrors.ts +113 -0
- package/src/sparql/QueryBuilder.ts +953 -0
- package/src/sparql/Results.ts +844 -0
- package/src/sparql/ResultsStream.ts +771 -0
- package/src/sparql/ServerFormats.ts +75 -0
- package/src/sparql/ServiceDescription.ts +130 -0
- package/src/sparql/SparqlClient.ts +947 -0
- package/src/sparql/SparqlServer.ts +528 -0
- package/src/sparql/Store.ts +311 -0
- package/src/sparql/TermSchema.ts +20 -0
- package/src/sparql/Testing.ts +114 -0
- package/src/sparql/Translate.ts +407 -0
- package/src/sparql/ai/Mcp.ts +43 -0
- package/src/sparql/ai/Tools.ts +481 -0
- package/src/sparql/ai/index.ts +11 -0
- package/src/sparql/index.ts +64 -0
- package/src/sparql/internal/evaluator.ts +947 -0
- package/src/sparql/internal/hash.ts +418 -0
- package/src/sparql/internal/json.ts +12 -0
- package/src/sparql/internal/lexer.ts +488 -0
- package/src/sparql/internal/loop.ts +24 -0
- package/src/sparql/internal/parser.ts +2215 -0
- package/src/sparql/internal/prefetch.ts +46 -0
- package/src/sparql/internal/stringMap.ts +39 -0
- package/src/sparql/internal/textResults.ts +226 -0
- package/src/sparql/internal/values.ts +550 -0
- package/src/sparql/shacl/Evaluator.ts +478 -0
- package/src/sparql/shacl/Query.ts +574 -0
- package/src/sparql/shacl/index.ts +12 -0
- package/src/sparql/sql/Dialect.ts +246 -0
- package/src/sparql/sql/SqlStore.ts +1080 -0
- package/src/sparql/sql/Translation.ts +1898 -0
- package/src/sparql/sql/index.ts +17 -0
- package/src/sparql/sql/internal/encoding.ts +313 -0
- package/src/turtle/Grammar.ts +286 -0
- package/src/turtle/Manifest.ts +215 -0
- package/src/turtle/TriG.ts +158 -0
- package/src/turtle/Turtle.ts +166 -0
- package/src/turtle/index.ts +14 -0
- package/src/turtle/internal/loop.ts +23 -0
- package/src/turtle/internal/parse.ts +112 -0
- package/src/turtle/internal/parser.ts +1303 -0
- package/src/turtle/internal/serialize.ts +79 -0
- package/src/turtle/internal/streamWriter.ts +128 -0
- package/src/turtle/internal/writer.ts +898 -0
- package/src/xmp/DublinCore.ts +147 -0
- package/src/xmp/Exif.ts +109 -0
- package/src/xmp/Extract.ts +351 -0
- package/src/xmp/Metadata.ts +703 -0
- package/src/xmp/Namespaces.ts +228 -0
- package/src/xmp/Packet.ts +297 -0
- package/src/xmp/Pdf.ts +99 -0
- package/src/xmp/PdfA.ts +280 -0
- package/src/xmp/Photoshop.ts +275 -0
- package/src/xmp/Tiff.ts +196 -0
- package/src/xmp/Xmp.ts +430 -0
- package/src/xmp/XmpBasic.ts +90 -0
- package/src/xmp/XmpMM.ts +82 -0
- package/src/xmp/XmpRights.ts +83 -0
- package/src/xmp/index.ts +36 -0
- package/src/xmp/internal/accessors.ts +72 -0
- package/src/xmp/internal/xml.ts +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Results-peJjGA2V.mjs","names":["XSD","Term.namedNode","Term.blankNode","Term.literal","Term.triple","Term.variable","TermJson.GroundTermSchema","Term.toJson","Term.fromJson","JsonText.parse","B.fromEntries","XmlParser.escapeAttribute","XmlParser.escapeText","Term.isLiteral","Term.isNamedNode","Term.isBlankNode","Term.namedNode","Term.blankNode","Term.literal","Term.triple","XmlParser.parseResult","Term.isTriple","TextResults.groundTerm","TextResults.csvRows","Serialization.negotiate"],"sources":["../src/sparql/internal/json.ts","../src/sparql/internal/textResults.ts","../src/sparql/Results.ts"],"sourcesContent":["/**\n * JSON text parsing that keeps the engine's `SyntaxError` text, which the\n * results parsers put in their error messages (`Schema.fromJsonString`\n * reports only \"Expected a valid JSON string\").\n *\n * @internal\n */\nimport * as Result from 'effect/Result';\n\n/** Parses JSON text; the failure is the engine's `SyntaxError`, as text. */\nexport const parse = (text: string): Result.Result<unknown, string> =>\n Result.try({ try: () => JSON.parse(text), catch: (cause) => String(cause) });\n","/**\n * Grammars of the SPARQL results text formats, written with\n * `@thomasfosterau/effect-parse`: RDF terms in the Turtle / SPARQL syntax\n * used by TSV results, and the rows of CSV results (RFC 4180).\n *\n * @internal\n */\nimport * as Ascii from '@thomasfosterau/effect-parse/Ascii';\nimport * as Compiler from '@thomasfosterau/effect-parse/Compiler';\nimport * as Parser from '@thomasfosterau/effect-parse/Parser';\nimport * as Token from '@thomasfosterau/effect-parse/Token';\nimport * as Term from '../../Term.ts';\nimport * as Option from 'effect/Option';\n\nconst XSD = 'http://www.w3.org/2001/XMLSchema#';\nconst xsdInteger = Term.namedNode(`${XSD}integer`);\nconst xsdDecimal = Term.namedNode(`${XSD}decimal`);\nconst xsdDouble = Term.namedNode(`${XSD}double`);\nconst xsdBoolean = Term.namedNode(`${XSD}boolean`);\n\n// -----------------------------------------------------------------------------\n// Terms\n// -----------------------------------------------------------------------------\n\n/** The characters of ECMAScript's `\\s`. */\nconst whitespace: Token.StringTokenSet = [' \\t\\n\\v\\f\\r
', Token.range(' ', ' ')];\n\nconst ws = Token.takeWhile(whitespace);\n\nconst hexDigit = [Token.range('0', '9'), Token.range('a', 'f'), Token.range('A', 'F')];\n\nconst codePoint = (digits: number) =>\n Token.takeWhile(hexDigit, digits).pipe(\n Parser.expected(`${digits} hex digits`),\n Parser.map((hex) => parseInt(hex, 16)),\n Parser.filter((cp) => cp <= 0x10ffff),\n Parser.map((cp) => String.fromCodePoint(cp)),\n );\n\n/**\n * What follows a backslash: `UCHAR` (which must be a valid code point),\n * `ECHAR`, and (leniently) any other character standing for itself.\n */\nconst escape = Parser.alt(\n Parser.dispatch(Token.any, {\n t: Parser.succeed('\\t'),\n n: Parser.succeed('\\n'),\n r: Parser.succeed('\\r'),\n b: Parser.succeed('\\b'),\n f: Parser.succeed('\\f'),\n u: Parser.cut(codePoint(4)),\n U: Parser.cut(codePoint(8)),\n }),\n Token.any,\n);\n\nconst iri = Parser.delimited(\n Token.literal('<'),\n Parser.cut(Ascii.escaped(Token.takeTill('\\\\>', { min: 1 }), '\\\\', escape)),\n Parser.cut(Token.literal('>')),\n).pipe(Parser.map((value) => Term.namedNode(value)));\n\nconst blankNode = Parser.preceded(\n Token.literal('_:'),\n Parser.cut(Token.takeTill([whitespace, ')'], { min: 1 })),\n).pipe(Parser.map((label) => Term.blankNode(label)));\n\nconst quoted = (q: '\"' | \"'\") => {\n const long = q.repeat(3);\n return Parser.alt(\n Parser.delimited(\n Token.literal(long),\n Parser.cut(\n Ascii.escaped(\n Parser.alt(\n Token.takeTill(['\\\\', q], { min: 1 }),\n Parser.terminated(Token.literal(q), Parser.not(Token.literal(q + q))),\n ),\n '\\\\',\n escape,\n ),\n ),\n Parser.cut(Token.literal(long)),\n ),\n Parser.delimited(\n Token.literal(q),\n Parser.cut(Ascii.escaped(Token.takeTill(['\\\\', q], { min: 1 }), '\\\\', escape)),\n Parser.cut(Token.literal(q)),\n ),\n );\n};\n\nconst alpha = [Token.range('a', 'z'), Token.range('A', 'Z')];\nconst alphanumeric = [...alpha, Token.range('0', '9')];\n\nconst langTag = Parser.preceded(\n Token.literal('@'),\n Parser.seq(\n Parser.taken(\n Parser.seq(\n Token.takeWhile(alpha, { min: 1 }),\n Parser.repeat(\n Parser.preceded(Token.literal('-'), Token.takeWhile(alphanumeric, { min: 1 })),\n ),\n ),\n ),\n Parser.opt(\n Parser.preceded(Token.literal('--'), Parser.alt(Token.literal('ltr'), Token.literal('rtl'))),\n ),\n ),\n);\n\nconst datatype = Parser.preceded(Token.literal('^^'), Parser.preceded(ws, Parser.cut(iri)));\n\nconst literal = Parser.seq(\n Parser.alt(quoted('\"'), quoted(\"'\")),\n Parser.opt(Parser.alt(langTag, datatype)),\n).pipe(\n Parser.map(([lex, suffix]): Term.Literal => {\n if (Option.isNone(suffix)) return Term.literal(lex);\n const s = suffix.value;\n if (Array.isArray(s)) {\n const [language, direction] = s;\n return Option.isSome(direction)\n ? Term.literal(lex, { language, direction: direction.value })\n : Term.literal(lex, language);\n }\n // SAFETY: a non-array suffix is the `^^` datatype, which the `iri` parser produces as a named\n // node.\n return Term.literal(lex, s);\n }),\n);\n\nconst sign = Parser.opt(Token.oneOf('+-'));\nconst exponent = Parser.seq(Token.oneOf('eE'), sign, Ascii.digit1);\n\nconst number = Parser.taken(\n Parser.seq(\n sign,\n Parser.alt(\n Parser.seq(Ascii.digit1, Parser.opt(Token.literal('.')), Ascii.digit0, exponent),\n Parser.seq(Token.literal('.'), Ascii.digit1, exponent),\n Parser.seq(Ascii.digit0, Token.literal('.'), Ascii.digit1),\n Ascii.digit1,\n ),\n ),\n).pipe(\n Parser.map((v) =>\n Term.literal(v, /[eE]/.test(v) ? xsdDouble : v.includes('.') ? xsdDecimal : xsdInteger),\n ),\n);\n\nconst boolean = Parser.terminated(\n Parser.alt(Token.literal('true'), Token.literal('false')),\n Parser.not(Token.oneOf([...alphanumeric, '_'])),\n).pipe(Parser.map((v) => Term.literal(v, xsdBoolean)));\n\nconst tripleTerm: Parser.Parser<Term.Triple> = Parser.preceded(\n Token.literal('<<('),\n Parser.cut(\n Parser.terminated(\n Parser.seq(\n Parser.suspend(() => term),\n Parser.suspend(() => term),\n Parser.suspend(() => term),\n ),\n Parser.preceded(ws, Token.literal(')>>')),\n ),\n ),\n).pipe(\n // The three parts come from `term`; like the other results formats, a triple term's parts are\n // not checked again.\n Parser.map(([s, p, o]) => Term.triple<any, any, any>(s, p, o)),\n);\n\nconst term: Parser.Parser<Term.GroundTerm> = Parser.preceded(\n ws,\n Parser.alt(tripleTerm, iri, blankNode, literal, number, boolean).pipe(\n Parser.expected('RDF term'),\n ),\n);\n\n/**\n * A complete term, with optional surrounding whitespace: IRIs in `<>`,\n * blank nodes, quoted literals, numbers, booleans and triple terms.\n */\nexport const groundTerm: Parser.Parser<Term.GroundTerm> = Compiler.jit(Parser.terminated(term, ws));\n\n// -----------------------------------------------------------------------------\n// CSV\n// -----------------------------------------------------------------------------\n\n/** A CSV field, and whether it was quoted. */\nexport interface CsvField {\n readonly value: string;\n readonly quoted: boolean;\n}\n\nconst quotedField = Parser.delimited(\n Token.literal('\"'),\n Parser.cut(\n Parser.repeat(Parser.alt(Token.takeTill('\"', { min: 1 }), Parser.as(Token.literal('\"\"'), '\"'))),\n ),\n Parser.cut(Token.literal('\"')),\n).pipe(Parser.map((parts): CsvField => ({ value: parts.join(''), quoted: true })));\n\nconst plainField = Token.takeTill(',\\r\\n').pipe(\n Parser.map((value): CsvField => ({ value, quoted: false })),\n);\n\nconst csvRow = Parser.separated(Parser.alt(quotedField, plainField), Token.literal(','));\n\nconst csvLineEnding = Parser.alt(Token.literal('\\r\\n'), Token.literal('\\r'), Token.literal('\\n'));\n\n/**\n * The rows of a CSV document. Lines end with CRLF, CR or LF, and the line\n * ending of the last row is optional.\n */\nexport const csvRows: Parser.Parser<Array<Array<CsvField>>> = Compiler.jit(\n Parser.repeat(\n Parser.preceded(\n Parser.not(Parser.eof),\n Parser.terminated(csvRow, Parser.alt(csvLineEnding, Parser.eof)),\n ),\n ),\n);\n","/**\n * SPARQL query results: the result models returned by the engine and the\n * standard results formats — JSON (`application/sparql-results+json`), XML\n * (`application/sparql-results+xml`), CSV and TSV — with streaming\n * serialisers and parsers, including SPARQL 1.2 triple terms and directional\n * language-tagged strings.\n *\n * @since 0.1.0\n */\nimport * as Arr from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Match from 'effect/Match';\nimport * as 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 Stream from 'effect/Stream';\nimport type * as ParseError from '@thomasfosterau/effect-parse/ParseError';\nimport * as Parser from '@thomasfosterau/effect-parse/Parser';\nimport * as Serialization from '../Serialization.ts';\nimport * as Term from '../Term.ts';\nimport * as TermJson from '../TermJson.ts';\nimport * as XmlParser from '../rdfxml/Xml.ts';\nimport * as B from './Bindings.ts';\nimport * as JsonText from './internal/json.ts';\nimport * as TextResults from './internal/textResults.ts';\n\ntype Bindings = B.Bindings;\n\n// -----------------------------------------------------------------------------\n// Models\n// -----------------------------------------------------------------------------\n\n/**\n * The result of a `SELECT` query: the projected variables and a (lazy)\n * stream of solutions.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface SelectResult<E = never> {\n readonly _tag: 'Select';\n readonly variables: ReadonlyArray<Term.Variable>;\n readonly bindings: Stream.Stream<Bindings, E>;\n}\n\n/**\n * The result of an `ASK` query.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface AskResult {\n readonly _tag: 'Ask';\n readonly value: boolean;\n}\n\n/**\n * The result of a `CONSTRUCT` or `DESCRIBE` query: a (lazy, duplicate-free)\n * stream of triples (as quads in the default graph).\n *\n * @since 0.1.0\n * @category models\n */\nexport interface GraphResult<E = never> {\n readonly _tag: 'Graph';\n readonly quads: Stream.Stream<Term.Quad, E>;\n}\n\n/**\n * Any query result.\n *\n * @since 0.1.0\n * @category models\n */\nexport type QueryResult<E = never> = SelectResult<E> | AskResult | GraphResult<E>;\n\n/**\n * A fully materialised solution sequence (e.g. a parsed results document).\n *\n * @since 0.1.0\n * @category models\n */\nexport interface ResultSet {\n readonly _tag: 'ResultSet';\n readonly variables: ReadonlyArray<string>;\n readonly bindings: ReadonlyArray<Bindings>;\n}\n\n/**\n * A boolean (`ASK`) result document.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface BooleanResult {\n readonly _tag: 'Boolean';\n readonly value: boolean;\n}\n\n/**\n * A parsed results document.\n *\n * @since 0.1.0\n * @category models\n */\nexport type ParsedResult = ResultSet | BooleanResult;\n\n/**\n * Materialises a `SELECT` result.\n *\n * @since 0.1.0\n * @category conversions\n */\nexport const collect = <E>(result: SelectResult<E>): Effect.Effect<ResultSet, E> =>\n Effect.map(Stream.runCollect(result.bindings), (bindings) => ({\n _tag: 'ResultSet' as const,\n variables: result.variables.map((v) => v.value),\n bindings,\n }));\n\n/**\n * Turns a materialised result set back into a streaming `SelectResult`.\n *\n * @since 0.1.0\n * @category conversions\n */\nexport const fromResultSet = (set: ResultSet): SelectResult => ({\n _tag: 'Select',\n variables: set.variables.map((v) => Term.variable(v)),\n bindings: Stream.fromIterable(set.bindings),\n});\n\n// -----------------------------------------------------------------------------\n// Errors and formats\n// -----------------------------------------------------------------------------\n\n/**\n * An error parsing a results document. The text formats (TSV and CSV)\n * report the 1-based `line` and `column` of the error.\n *\n * @since 0.1.0\n * @category errors\n */\nexport class ResultsParseError extends Schema.TaggedError<ResultsParseError>()(\n 'ResultsParseError',\n {\n format: Schema.String,\n message: Schema.String,\n line: Schema.optional(Schema.Number),\n column: Schema.optional(Schema.Number),\n },\n) {}\n\n/** The last line of a rendered `ParseError`: what was expected and found. */\nconst parseErrorSummary = (error: ParseError.ParseError): string =>\n error.message.slice(error.message.lastIndexOf('\\n') + 1);\n\n/**\n * Metadata of a results format.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface ResultsFormat {\n readonly name: string;\n readonly mediaType: string;\n readonly mediaTypes: ReadonlyArray<string>;\n readonly extensions: ReadonlyArray<string>;\n /** Whether the format can represent boolean (`ASK`) results. */\n readonly booleans: boolean;\n}\n\n/**\n * A results format: streaming serialiser and parser.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface ResultsCodec {\n readonly format: ResultsFormat;\n /** Serialises a (streaming) select or ask result to text chunks. */\n readonly serialize: <E>(result: SelectResult<E> | AskResult) => Stream.Stream<string, E>;\n /** Serialises a materialised result to a string. */\n readonly serializeString: (result: ParsedResult | AskResult) => string;\n /** Parses a complete document. */\n readonly parse: (input: string) => Effect.Effect<ParsedResult, ResultsParseError>;\n}\n\nconst toSelect = (result: ParsedResult | AskResult): SelectResult | AskResult =>\n Predicate.isTagged(result, 'ResultSet')\n ? fromResultSet(result)\n : Predicate.isTagged(result, 'Boolean')\n ? { _tag: 'Ask', value: result.value }\n : result;\n\n// The chunks come from an in-memory serializer that does not fail, so `runSync` returns.\nconst stringify = <E>(chunks: Stream.Stream<string, E>): string =>\n Effect.runSync(Stream.mkString(chunks));\n\nconst ordered = <E>(\n result: SelectResult<E>,\n row: (b: Bindings, index: number) => string,\n): Stream.Stream<string, E> => Stream.map(result.bindings, (b, i) => row(b, i));\n\n// -----------------------------------------------------------------------------\n// JSON\n// -----------------------------------------------------------------------------\n\n/**\n * The JSON encoding of an RDF term in SPARQL results (re-exported from core's\n * `TermJson.GroundTerm`).\n *\n * @since 0.1.0\n * @category json\n */\nexport type JsonTerm = TermJson.GroundTerm;\n\n/**\n * Schema of an RDF term in SPARQL JSON results (SPARQL 1.2, including\n * triple terms; core's `TermJson.GroundTermSchema`).\n *\n * @since 0.1.0\n * @category json\n */\nexport const JsonTermSchema: Schema.Codec<JsonTerm> = TermJson.GroundTermSchema;\n\n/**\n * The type `JsonTermSchema` decodes to (the same as `JsonTerm`).\n *\n * @since 0.1.0\n * @category json\n */\nexport type JsonTermSchema = typeof JsonTermSchema.Type;\n\n/**\n * Schema of a SPARQL JSON results document.\n *\n * @since 0.1.0\n * @category json\n */\nexport const JsonResultsSchema = Schema.Struct({\n head: Schema.Struct({\n vars: Schema.optional(Schema.Array(Schema.String)),\n link: Schema.optional(Schema.Array(Schema.String)),\n }),\n results: Schema.optional(\n Schema.Struct({\n bindings: Schema.Array(Schema.Record(Schema.String, JsonTermSchema)),\n }),\n ),\n boolean: Schema.optional(Schema.Boolean),\n});\n\n/**\n * @since 0.1.0\n * @category json\n */\nexport type JsonResults = typeof JsonResultsSchema.Type;\n\n/**\n * The type `JsonResultsSchema` decodes to (the same as `JsonResults`).\n *\n * @since 0.1.0\n * @category json\n */\nexport type JsonResultsSchema = typeof JsonResultsSchema.Type;\n\n/**\n * Encodes a term as SPARQL JSON (core's `Term.toJson`).\n *\n * @since 0.1.0\n * @category json\n */\nexport const termToJson = (t: Term.GroundTerm): JsonTerm => Term.toJson(t);\n\n/**\n * Decodes a SPARQL JSON term (core's `Term.fromJson`); the positions of a\n * triple term are trusted.\n *\n * @since 0.1.0\n * @category json\n */\nexport const termFromJson = (j: JsonTerm): Term.GroundTerm => Term.fromJson(j);\n\nconst decodeJsonResults = Schema.decodeUnknownResult(JsonResultsSchema);\n\n// Any JSON value as its text (exactly `JSON.stringify`).\nconst encodeJsonText = Schema.encodeSync(Schema.fromJsonString(Schema.Unknown));\n\nconst jsonFormat: ResultsFormat = {\n name: 'SPARQL Results JSON',\n mediaType: 'application/sparql-results+json',\n mediaTypes: ['application/sparql-results+json', 'application/json'],\n extensions: ['srj', 'json'],\n booleans: true,\n};\n\nconst serializeJson = <E>(result: SelectResult<E> | AskResult): Stream.Stream<string, E> => {\n if (Predicate.isTagged(result, 'Ask')) {\n return Stream.succeed(`{\"head\":{},\"boolean\":${result.value}}\\n`);\n }\n const vars = result.variables.map((v) => v.value);\n const head = `{\"head\":{\"vars\":${encodeJsonText(vars)}},\"results\":{\"bindings\":[`;\n return Stream.concat(\n Stream.concat(\n Stream.succeed(head),\n ordered(result, (b, i) => {\n const row: Record<string, JsonTerm> = {};\n vars.forEach((v) => {\n const t = b.map.get(v);\n if (t !== undefined) row[v] = termToJson(t);\n });\n // Variables bound but not projected are not serialised.\n return `${i > 0 ? ',' : ''}\\n${encodeJsonText(row)}`;\n }),\n ),\n Stream.succeed('\\n]}}\\n'),\n );\n};\n\nconst parseJson = (input: string): Effect.Effect<ParsedResult, ResultsParseError> =>\n Effect.suspend((): Effect.Effect<ParsedResult, ResultsParseError> => {\n const err = (message: string) =>\n Effect.fail(new ResultsParseError({ format: 'json', message }));\n const raw = JsonText.parse(input);\n if (Result.isFailure(raw)) return err(`Invalid JSON: ${raw.failure}`);\n const decoded = decodeJsonResults(raw.success);\n if (Result.isFailure(decoded)) return err(decoded.failure.message);\n const doc = decoded.success;\n if (doc.boolean !== undefined)\n return Effect.succeed({ _tag: 'Boolean', value: doc.boolean } as const);\n if (doc.results === undefined) return err('Missing results');\n return Effect.succeed({\n _tag: 'ResultSet',\n variables: doc.head.vars ?? [],\n bindings: doc.results.bindings.map((row) =>\n B.fromEntries(Record.toEntries(row).map(([k, v]) => [k, termFromJson(v)] as const)),\n ),\n } as const);\n });\n\n/**\n * SPARQL 1.1 Query Results JSON Format.\n *\n * @since 0.1.0\n * @category formats\n */\nexport const Json: ResultsCodec = {\n format: jsonFormat,\n serialize: serializeJson,\n serializeString: (r) => stringify(serializeJson(toSelect(r))),\n parse: parseJson,\n};\n\n// -----------------------------------------------------------------------------\n// XML\n// -----------------------------------------------------------------------------\n\nconst SRX = 'http://www.w3.org/2005/sparql-results#';\nconst ITS = 'http://www.w3.org/2005/11/its';\n\nconst xmlLiteral = (l: Term.Literal): string => {\n const attrs =\n l.language !== ''\n ? ` xml:lang=\"${XmlParser.escapeAttribute(l.language)}\"${l.direction !== undefined ? ` its:dir=\"${l.direction}\"` : ''}`\n : l.datatype.value !== Term.XSD_STRING\n ? ` datatype=\"${XmlParser.escapeAttribute(l.datatype.value)}\"`\n : '';\n return `<literal${attrs}>${XmlParser.escapeText(l.value)}</literal>`;\n};\n\n/** A term as an XML results element. Plain branches: it runs for every term of every row. */\nconst xmlTerm = (t: Term.GroundTerm): string => {\n if (Term.isLiteral(t)) return xmlLiteral(t);\n if (Term.isNamedNode(t)) return `<uri>${XmlParser.escapeText(t.value)}</uri>`;\n if (Term.isBlankNode(t)) return `<bnode>${XmlParser.escapeText(t.value)}</bnode>`;\n return `<triple><subject>${xmlTerm(t.subject)}</subject><predicate>${xmlTerm(t.predicate)}</predicate><object>${xmlTerm(t.object)}</object></triple>`;\n};\n\nconst serializeXml = <E>(result: SelectResult<E> | AskResult): Stream.Stream<string, E> => {\n const open = `<?xml version=\"1.0\"?>\\n<sparql xmlns=\"${SRX}\" xmlns:its=\"${ITS}\">\\n`;\n if (Predicate.isTagged(result, 'Ask')) {\n return Stream.succeed(`${open}<head/>\\n<boolean>${result.value}</boolean>\\n</sparql>\\n`);\n }\n const vars = result.variables.map((v) => v.value);\n const head = `${open}<head>${vars.map((v) => `<variable name=\"${XmlParser.escapeAttribute(v)}\"/>`).join('')}</head>\\n<results>\\n`;\n return Stream.concat(\n Stream.concat(\n Stream.succeed(head),\n ordered(result, (b) => {\n const cells = vars.map((v) => {\n const t = b.map.get(v);\n return t === undefined\n ? ''\n : `<binding name=\"${XmlParser.escapeAttribute(v)}\">${xmlTerm(t)}</binding>`;\n });\n return `<result>${cells.join('')}</result>\\n`;\n }),\n ),\n Stream.succeed('</results>\\n</sparql>\\n'),\n );\n};\n\nconst elements = (e: XmlParser.Element): Array<XmlParser.Element> =>\n e.children.filter((c): c is XmlParser.Element => Predicate.isTagged(c, 'Element'));\n\nconst textOf = (e: XmlParser.Element): string =>\n e.children.map((c) => (Predicate.isTagged(c, 'Text') ? c.value : '')).join('');\n\n/** An attribute's value, by local name (and namespace, when given). */\nconst attribute = (e: XmlParser.Element, local: string, ns?: string): Option.Option<string> =>\n Option.map(\n Arr.findFirst(\n e.attributes,\n (a) => a.localName === local && (ns === undefined || a.namespace === ns),\n ),\n (a) => a.value,\n );\n\nconst XML_NS = 'http://www.w3.org/XML/1998/namespace';\n\nconst xmlTriplePart = (e: XmlParser.Element, name: string): Term.GroundTerm => {\n const p = elements(e).find((c) => c.localName === name);\n const inner = p === undefined ? undefined : elements(p)[0];\n if (inner === undefined) {\n throw new ResultsParseError({ format: 'xml', message: `Missing ${name} in triple term` });\n }\n return xmlToTerm(inner);\n};\n\nconst xmlToTerm = (e: XmlParser.Element): Term.GroundTerm => {\n return Match.value(e.localName).pipe(\n Match.when('uri', (): Term.GroundTerm => Term.namedNode(textOf(e))),\n Match.when('bnode', () => Term.blankNode(textOf(e))),\n Match.when('literal', () => {\n const lang = Option.getOrElse(attribute(e, 'lang', XML_NS), () => '');\n const dir = Option.orElse(attribute(e, 'dir', ITS), () => attribute(e, 'dir'));\n const datatype = attribute(e, 'datatype');\n if (lang !== '') {\n return Option.isSome(dir) && (dir.value === 'ltr' || dir.value === 'rtl')\n ? Term.literal(textOf(e), { language: lang, direction: dir.value })\n : Term.literal(textOf(e), lang);\n }\n return Option.isSome(datatype)\n ? Term.literal(textOf(e), Term.namedNode(datatype.value))\n : Term.literal(textOf(e));\n }),\n // The XML results grammar puts a subject, an IRI predicate and an object in a triple\n // term's three parts; like the other formats, the parts are not checked again.\n Match.when('triple', () =>\n Term.triple<any, any, any>(\n xmlTriplePart(e, 'subject'),\n xmlTriplePart(e, 'predicate'),\n xmlTriplePart(e, 'object'),\n ),\n ),\n Match.orElse((name) => {\n throw new ResultsParseError({\n format: 'xml',\n message: `Unexpected element <${name}>`,\n });\n }),\n );\n};\n\nconst parseXml = (input: string): Effect.Effect<ParsedResult, ResultsParseError> =>\n Effect.suspend((): Effect.Effect<ParsedResult, ResultsParseError> => {\n const doc = XmlParser.parseResult(input);\n if (Result.isFailure(doc)) {\n return Effect.fail(new ResultsParseError({ format: 'xml', message: doc.failure.message }));\n }\n return Effect.try({\n try: (): ParsedResult => {\n const root = doc.success.root;\n const head = elements(root).find((c) => c.localName === 'head');\n const vars =\n head === undefined\n ? []\n : elements(head)\n .filter((c) => c.localName === 'variable')\n .map((c) => Option.getOrElse(attribute(c, 'name'), () => ''));\n const boolean = elements(root).find((c) => c.localName === 'boolean');\n if (boolean !== undefined) {\n return { _tag: 'Boolean', value: textOf(boolean).trim() === 'true' } as const;\n }\n const results = elements(root).find((c) => c.localName === 'results');\n const bindings = (results === undefined ? [] : elements(results)).map((r) =>\n B.fromEntries(\n elements(r)\n .filter((c) => c.localName === 'binding')\n .map(\n (c) =>\n [\n Option.getOrElse(attribute(c, 'name'), () => ''),\n xmlToTerm(\n Option.getOrThrowWith(\n Arr.head(elements(c)),\n () =>\n new ResultsParseError({\n format: 'xml',\n message: 'Missing term in binding',\n }),\n ),\n ),\n ] as const,\n ),\n ),\n );\n return { _tag: 'ResultSet', variables: vars, bindings } as const;\n },\n catch: (cause) =>\n new ResultsParseError({\n format: 'xml',\n message: Predicate.isError(cause) ? cause.message : String(cause),\n }),\n });\n });\n\n/**\n * SPARQL Query Results XML Format.\n *\n * @since 0.1.0\n * @category formats\n */\nexport const Xml: ResultsCodec = {\n format: {\n name: 'SPARQL Results XML',\n mediaType: 'application/sparql-results+xml',\n mediaTypes: ['application/sparql-results+xml', 'application/xml', 'text/xml'],\n extensions: ['srx', 'xml'],\n booleans: true,\n },\n serialize: serializeXml,\n serializeString: (r) => stringify(serializeXml(toSelect(r))),\n parse: parseXml,\n};\n\n// -----------------------------------------------------------------------------\n// TSV\n// -----------------------------------------------------------------------------\n\nconst XSD = 'http://www.w3.org/2001/XMLSchema#';\n\n/**\n * Formats a term in the Turtle / SPARQL syntax used by TSV results.\n *\n * @since 0.1.0\n * @category tsv\n */\nexport const termToTsv = (t: Term.GroundTerm): string => {\n if (Term.isLiteral(t) && t.language === '') {\n const dt = t.datatype.value;\n if (dt === `${XSD}integer` && /^[+-]?\\d+$/.test(t.value)) return t.value;\n if (dt === `${XSD}decimal` && /^[+-]?\\d*\\.\\d+$/.test(t.value)) return t.value;\n if (dt === `${XSD}double` && /^[+-]?(\\d+\\.?\\d*|\\.\\d+)[eE][+-]?\\d+$/.test(t.value))\n return t.value;\n if (dt === `${XSD}boolean` && (t.value === 'true' || t.value === 'false')) return t.value;\n }\n if (Term.isTriple(t)) {\n return `<<( ${termToTsv(t.subject)} ${termToTsv(t.predicate)} ${termToTsv(t.object)} )>>`;\n }\n return t.key.replace(/\\t/g, '\\\\t');\n};\n\n/**\n * Parses a term written in the Turtle / SPARQL syntax used by TSV results\n * (IRIs in `<>`, blank nodes, quoted literals, numbers, booleans, triple\n * terms).\n *\n * @since 0.1.0\n * @category tsv\n */\nexport const parseTerm = (text: string): Option.Option<Term.GroundTerm> =>\n Result.getSuccess(Parser.parse(TextResults.groundTerm, text));\n\n/** The layout of a delimited (TSV / CSV) results document. */\ninterface Delimited {\n readonly separator: string;\n readonly newline: string;\n readonly header: (variable: string) => string;\n readonly cell: (t: Term.GroundTerm) => string;\n}\n\nconst serializeDelimited =\n (layout: Delimited) =>\n <E>(result: SelectResult<E> | AskResult): Stream.Stream<string, E> => {\n if (Predicate.isTagged(result, 'Ask'))\n return Stream.succeed(`${result.value}${layout.newline}`);\n const vars = result.variables.map((v) => v.value);\n return Stream.concat(\n Stream.succeed(`${vars.map(layout.header).join(layout.separator)}${layout.newline}`),\n ordered(result, (b) => {\n const cells = vars.map((v) => {\n const t = b.map.get(v);\n return t === undefined ? '' : layout.cell(t);\n });\n return `${cells.join(layout.separator)}${layout.newline}`;\n }),\n );\n };\n\nconst serializeTsv = serializeDelimited({\n separator: '\\t',\n newline: '\\n',\n header: (v) => `?${v}`,\n cell: termToTsv,\n});\n\nconst splitLines = (input: string): Array<string> => {\n const lines = input.split(/\\r?\\n/);\n if (lines[lines.length - 1] === '') lines.pop();\n return lines;\n};\n\nconst parseTsv = (input: string): Effect.Effect<ParsedResult, ResultsParseError> =>\n Effect.suspend((): Effect.Effect<ParsedResult, ResultsParseError> => {\n const [header, ...rows] = splitLines(input);\n if (header === undefined) {\n return Effect.fail(new ResultsParseError({ format: 'tsv', message: 'Empty document' }));\n }\n const first = header.trim();\n if (first === 'true' || first === 'false') {\n return Effect.succeed({ _tag: 'Boolean', value: first === 'true' } as const);\n }\n const vars = header.split('\\t').map((v) => v.trim().replace(/^[?$]/, ''));\n const bindings: Array<Bindings> = [];\n // The first invalid cell, if any (the rows before it are parsed on the way).\n const failure = Arr.findFirst(rows, (line, index) =>\n Result.match(tsvRow(vars, line, index + 2), {\n onFailure: Option.some,\n onSuccess: (b) => {\n bindings.push(b);\n return Option.none();\n },\n }),\n );\n return Option.isSome(failure)\n ? Effect.fail(failure.value)\n : Effect.succeed({ _tag: 'ResultSet', variables: vars, bindings } as const);\n });\n\n/** A TSV row (on 1-based line `line`) as a solution, or the error at its first invalid cell. */\nconst tsvRow = (\n vars: ReadonlyArray<string>,\n line: string,\n lineNumber: number,\n): Result.Result<Bindings, ResultsParseError> => {\n const cells = line.split('\\t');\n const entries: Array<readonly [string, Term.GroundTerm]> = [];\n let offset = 0;\n const failure = Arr.findFirst(vars, (v, i) => {\n const cell = cells[i] ?? '';\n const start = offset;\n offset += cell.length + 1;\n if (cell.trim() === '') return Option.none();\n const t = Parser.parse(TextResults.groundTerm, cell);\n if (Result.isFailure(t)) {\n return Option.some(\n new ResultsParseError({\n format: 'tsv',\n message: `Invalid term: ${cell.trim()}: ${parseErrorSummary(t.failure)}`,\n line: lineNumber,\n column: start + t.failure.position.column,\n }),\n );\n }\n entries.push([v, t.success]);\n return Option.none();\n });\n return Option.isSome(failure)\n ? Result.fail(failure.value)\n : Result.succeed(B.fromEntries(entries));\n};\n\n/**\n * SPARQL 1.1 Query Results TSV Format.\n *\n * @since 0.1.0\n * @category formats\n */\nexport const Tsv: ResultsCodec = {\n format: {\n name: 'SPARQL Results TSV',\n mediaType: 'text/tab-separated-values',\n mediaTypes: ['text/tab-separated-values'],\n extensions: ['tsv'],\n booleans: true,\n },\n serialize: serializeTsv,\n serializeString: (r) => stringify(serializeTsv(toSelect(r))),\n parse: parseTsv,\n};\n\n// -----------------------------------------------------------------------------\n// CSV\n// -----------------------------------------------------------------------------\n\nconst csvField = (s: string): string => (/[\",\\r\\n]/.test(s) ? `\"${s.replace(/\"/g, '\"\"')}\"` : s);\n\n/** A term as a CSV cell. Plain branches: it runs for every term of every row. */\nconst csvTerm = (t: Term.GroundTerm): string => {\n if (Term.isNamedNode(t) || Term.isLiteral(t)) return t.value;\n if (Term.isBlankNode(t)) return `_:${t.value}`;\n return `<<( ${termToTsv(t.subject)} ${termToTsv(t.predicate)} ${termToTsv(t.object)} )>>`;\n};\n\nconst serializeCsv = serializeDelimited({\n separator: ',',\n newline: '\\r\\n',\n header: csvField,\n cell: (t) => csvField(csvTerm(t)),\n});\n\n/**\n * Interprets a CSV cell. The CSV format is lossy: blank nodes are recognised\n * by `_:`, absolute IRIs (with a scheme) become IRIs, numbers and booleans\n * become typed literals and everything else a plain string.\n */\nconst csvCell = (cell: string): Term.GroundTerm => {\n if (cell.startsWith('_:')) return Term.blankNode(cell.slice(2));\n if (/^[a-zA-Z][a-zA-Z0-9+.-]*:[^\\s]*$/.test(cell) && !/^\\d/.test(cell)) {\n return Term.namedNode(cell);\n }\n if (/^[+-]?\\d+$/.test(cell)) return Term.literal(cell, Term.namedNode(`${XSD}integer`));\n if (/^[+-]?\\d*\\.\\d+$/.test(cell)) return Term.literal(cell, Term.namedNode(`${XSD}decimal`));\n if (/^[+-]?(\\d+\\.?\\d*|\\.\\d+)[eE][+-]?\\d+$/.test(cell)) {\n return Term.literal(cell, Term.namedNode(`${XSD}double`));\n }\n return Term.literal(cell);\n};\n\nconst parseCsv = (input: string): Effect.Effect<ParsedResult, ResultsParseError> =>\n Effect.suspend((): Effect.Effect<ParsedResult, ResultsParseError> => {\n const parsed = Parser.parse(TextResults.csvRows, input);\n if (Result.isFailure(parsed)) {\n const { line, column } = parsed.failure.position;\n return Effect.fail(\n new ResultsParseError({\n format: 'csv',\n message: parseErrorSummary(parsed.failure),\n line,\n column,\n }),\n );\n }\n const [first, ...rows] = parsed.success;\n if (first === undefined) {\n return Effect.fail(new ResultsParseError({ format: 'csv', message: 'Empty document' }));\n }\n const [only, ...others] = first;\n if (\n only !== undefined &&\n Arr.isReadonlyArrayEmpty(others) &&\n (only.value === 'true' || only.value === 'false')\n ) {\n return Effect.succeed({ _tag: 'Boolean', value: only.value === 'true' } as const);\n }\n const vars = first.map((c) => c.value);\n const bindings = rows.map((r) =>\n B.fromEntries(\n vars.map((v, i) => {\n const cell = r[i];\n return [\n v,\n cell === undefined || (cell.value === '' && !cell.quoted)\n ? undefined\n : csvCell(cell.value),\n ] as const;\n }),\n ),\n );\n return Effect.succeed({ _tag: 'ResultSet', variables: vars, bindings } as const);\n });\n\n/**\n * SPARQL 1.1 Query Results CSV Format (lossy: parsing recovers IRIs, blank\n * nodes, numbers and strings heuristically).\n *\n * @since 0.1.0\n * @category formats\n */\nexport const Csv: ResultsCodec = {\n format: {\n name: 'SPARQL Results CSV',\n mediaType: 'text/csv',\n mediaTypes: ['text/csv'],\n extensions: ['csv'],\n booleans: true,\n },\n serialize: serializeCsv,\n serializeString: (r) => stringify(serializeCsv(toSelect(r))),\n parse: parseCsv,\n};\n\n// -----------------------------------------------------------------------------\n// Registry and negotiation\n// -----------------------------------------------------------------------------\n\n/**\n * All results formats, in order of preference.\n *\n * @since 0.1.0\n * @category formats\n */\nexport const codecs: ReadonlyArray<ResultsCodec> = [Json, Xml, Csv, Tsv];\n\n/**\n * Finds a results codec for a media type (parameters are ignored).\n *\n * @since 0.1.0\n * @category formats\n */\nexport const codecFor = (mediaType: string): Option.Option<ResultsCodec> => {\n const mt = (mediaType.split(';')[0] ?? '').trim().toLowerCase();\n return Option.fromNullishOr(codecs.find((c) => c.format.mediaTypes.includes(mt)));\n};\n\n/**\n * Finds a results codec for a file extension.\n *\n * @since 0.1.0\n * @category formats\n */\nexport const codecForExtension = (extension: string): Option.Option<ResultsCodec> => {\n const ext = extension.replace(/^\\./, '').toLowerCase();\n return Option.fromNullishOr(codecs.find((c) => c.format.extensions.includes(ext)));\n};\n\n/**\n * Chooses the best results codec for an HTTP `Accept` header.\n *\n * @since 0.1.0\n * @category formats\n */\nexport const negotiate = (accept: string | undefined): Option.Option<ResultsCodec> =>\n Option.flatMap(\n Serialization.negotiate(\n accept,\n codecs.flatMap((c) => c.format.mediaTypes),\n ),\n codecFor,\n );\n"],"mappings":"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"}
|