@thomasfosterau/effect-rdf 0.0.0 → 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 +2250 -1
- 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 +187 -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,321 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lexical rules shared by the N-Triples family of RDF syntaxes (N-Triples,
|
|
3
|
+
* N-Quads, Turtle and TriG): character classes, escape decoding, language
|
|
4
|
+
* tags with base direction, and canonical term formatting.
|
|
5
|
+
*
|
|
6
|
+
* These are low-level, pure helpers; most users want the `NTriples` and
|
|
7
|
+
* `NQuads` modules instead.
|
|
8
|
+
*
|
|
9
|
+
* @since 0.1.0
|
|
10
|
+
*/
|
|
11
|
+
import * as Term from '../Term.ts';
|
|
12
|
+
import * as Match from 'effect/Match';
|
|
13
|
+
|
|
14
|
+
const RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';
|
|
15
|
+
const RDF_LANG_STRING = `${RDF}langString`;
|
|
16
|
+
const RDF_DIR_LANG_STRING = `${RDF}dirLangString`;
|
|
17
|
+
const XSD_STRING = 'http://www.w3.org/2001/XMLSchema#string';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* `PN_CHARS_BASE` from the Turtle / N-Triples grammars.
|
|
21
|
+
*
|
|
22
|
+
* @since 0.1.0
|
|
23
|
+
* @category character classes
|
|
24
|
+
*/
|
|
25
|
+
export const isPnCharsBase = (c: number): boolean =>
|
|
26
|
+
(c >= 0x41 && c <= 0x5a) ||
|
|
27
|
+
(c >= 0x61 && c <= 0x7a) ||
|
|
28
|
+
(c >= 0xc0 && c <= 0xd6) ||
|
|
29
|
+
(c >= 0xd8 && c <= 0xf6) ||
|
|
30
|
+
(c >= 0xf8 && c <= 0x2ff) ||
|
|
31
|
+
(c >= 0x370 && c <= 0x37d) ||
|
|
32
|
+
(c >= 0x37f && c <= 0x1fff) ||
|
|
33
|
+
(c >= 0x200c && c <= 0x200d) ||
|
|
34
|
+
(c >= 0x2070 && c <= 0x218f) ||
|
|
35
|
+
(c >= 0x2c00 && c <= 0x2fef) ||
|
|
36
|
+
(c >= 0x3001 && c <= 0xd7ff) ||
|
|
37
|
+
(c >= 0xf900 && c <= 0xfdcf) ||
|
|
38
|
+
(c >= 0xfdf0 && c <= 0xfffd) ||
|
|
39
|
+
(c >= 0x10000 && c <= 0xeffff);
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* `PN_CHARS_U`: `PN_CHARS_BASE` or `_`.
|
|
43
|
+
*
|
|
44
|
+
* @since 0.1.0
|
|
45
|
+
* @category character classes
|
|
46
|
+
*/
|
|
47
|
+
export const isPnCharsU = (c: number): boolean => c === 0x5f || isPnCharsBase(c);
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* `PN_CHARS`: `PN_CHARS_U`, `-`, digits, `·` and combining marks.
|
|
51
|
+
*
|
|
52
|
+
* @since 0.1.0
|
|
53
|
+
* @category character classes
|
|
54
|
+
*/
|
|
55
|
+
export const isPnChars = (c: number): boolean =>
|
|
56
|
+
isPnCharsU(c) ||
|
|
57
|
+
c === 0x2d ||
|
|
58
|
+
(c >= 0x30 && c <= 0x39) ||
|
|
59
|
+
c === 0xb7 ||
|
|
60
|
+
(c >= 0x300 && c <= 0x36f) ||
|
|
61
|
+
(c >= 0x203f && c <= 0x2040);
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Whether a code point is an ASCII digit.
|
|
65
|
+
*
|
|
66
|
+
* @since 0.1.0
|
|
67
|
+
* @category character classes
|
|
68
|
+
*/
|
|
69
|
+
export const isDigit = (c: number): boolean => c >= 0x30 && c <= 0x39;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Whether a code point is an ASCII hexadecimal digit.
|
|
73
|
+
*
|
|
74
|
+
* @since 0.1.0
|
|
75
|
+
* @category character classes
|
|
76
|
+
*/
|
|
77
|
+
export const isHex = (c: number): boolean =>
|
|
78
|
+
(c >= 0x30 && c <= 0x39) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Whether a code point may appear unescaped inside an `IRIREF`
|
|
82
|
+
* (`[^#x00-#x20<>"{}|^`\]`).
|
|
83
|
+
*
|
|
84
|
+
* @since 0.1.0
|
|
85
|
+
* @category character classes
|
|
86
|
+
*/
|
|
87
|
+
export const isIriChar = (c: number): boolean =>
|
|
88
|
+
c > 0x20 &&
|
|
89
|
+
c !== 0x3c && // <
|
|
90
|
+
c !== 0x3e && // >
|
|
91
|
+
c !== 0x22 && // "
|
|
92
|
+
c !== 0x7b && // {
|
|
93
|
+
c !== 0x7d && // }
|
|
94
|
+
c !== 0x7c && // |
|
|
95
|
+
c !== 0x5e && // ^
|
|
96
|
+
c !== 0x60 && // `
|
|
97
|
+
c !== 0x5c; // \
|
|
98
|
+
|
|
99
|
+
// Hoisted: a regex literal makes a new `RegExp` each time it is evaluated, and this runs per IRI.
|
|
100
|
+
const SCHEME = /^[A-Za-z][A-Za-z0-9+.-]*:/;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Whether a string is an absolute IRI reference (starts with a scheme).
|
|
104
|
+
*
|
|
105
|
+
* @since 0.1.0
|
|
106
|
+
* @category validation
|
|
107
|
+
*/
|
|
108
|
+
export const isAbsoluteIri = (iri: string): boolean => SCHEME.test(iri);
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Whether an IRI can be written as an N-Triples / Turtle `IRIREF`: it is
|
|
112
|
+
* absolute and contains no characters that would need escaping.
|
|
113
|
+
*
|
|
114
|
+
* @since 0.1.0
|
|
115
|
+
* @category validation
|
|
116
|
+
*/
|
|
117
|
+
export const isWritableIri = (iri: string): boolean =>
|
|
118
|
+
// `escapeIri` changes exactly the characters `isIriChar` rejects
|
|
119
|
+
isAbsoluteIri(iri) && Term.escapeIri(iri) === iri;
|
|
120
|
+
|
|
121
|
+
/** The code point of a one-code-point string (as `Array.from` splits a string). */
|
|
122
|
+
const codePointOf = (ch: string): number => ch.codePointAt(0) ?? 0;
|
|
123
|
+
|
|
124
|
+
const HEX_DIGITS = /^[0-9A-Fa-f]*$/;
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Whether a string is a valid `BLANK_NODE_LABEL` (without the `_:`).
|
|
128
|
+
*
|
|
129
|
+
* @since 0.1.0
|
|
130
|
+
* @category validation
|
|
131
|
+
*/
|
|
132
|
+
export const isBlankNodeLabel = (label: string): boolean => {
|
|
133
|
+
if (label === '') return false;
|
|
134
|
+
const codePoints = Array.from(label, codePointOf);
|
|
135
|
+
return (
|
|
136
|
+
codePoints.every((c, i) =>
|
|
137
|
+
i === 0 ? isPnCharsU(c) || isDigit(c) : isPnChars(c) || c === 0x2e,
|
|
138
|
+
) && codePoints.at(-1) !== 0x2e
|
|
139
|
+
);
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* The result of decoding a numeric escape: the code point or an error
|
|
144
|
+
* message.
|
|
145
|
+
*
|
|
146
|
+
* @since 0.1.0
|
|
147
|
+
* @category escapes
|
|
148
|
+
*/
|
|
149
|
+
export type DecodedEscape =
|
|
150
|
+
| { readonly _tag: 'Ok'; readonly value: string; readonly length: number }
|
|
151
|
+
| { readonly _tag: 'Error'; readonly message: string };
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Decodes a `UCHAR` (`\uXXXX` or `\UXXXXXXXX`) starting at `index`, which
|
|
155
|
+
* must point at the backslash. Surrogate code points and values beyond
|
|
156
|
+
* U+10FFFF are rejected.
|
|
157
|
+
*
|
|
158
|
+
* @since 0.1.0
|
|
159
|
+
* @category escapes
|
|
160
|
+
*/
|
|
161
|
+
export const decodeUchar = (input: string, index: number): DecodedEscape => {
|
|
162
|
+
const kind = input.charCodeAt(index + 1);
|
|
163
|
+
const digits = kind === 0x75 ? 4 : kind === 0x55 ? 8 : 0;
|
|
164
|
+
if (digits === 0) return { _tag: 'Error', message: 'Invalid escape sequence' };
|
|
165
|
+
const hex = input.slice(index + 2, index + 2 + digits);
|
|
166
|
+
if (hex.length !== digits || !HEX_DIGITS.test(hex)) {
|
|
167
|
+
return { _tag: 'Error', message: 'Invalid numeric escape sequence' };
|
|
168
|
+
}
|
|
169
|
+
const value = parseInt(hex, 16);
|
|
170
|
+
if (value > 0x10ffff) {
|
|
171
|
+
return { _tag: 'Error', message: 'Numeric escape is beyond U+10FFFF' };
|
|
172
|
+
}
|
|
173
|
+
if (value >= 0xd800 && value <= 0xdfff) {
|
|
174
|
+
return { _tag: 'Error', message: 'Numeric escape encodes a surrogate code point' };
|
|
175
|
+
}
|
|
176
|
+
return { _tag: 'Ok', value: String.fromCodePoint(value), length: digits + 2 };
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
// Built once: `decodeEchar` runs for every backslash escape a lexer reads.
|
|
180
|
+
const echar = Match.type<number>().pipe(
|
|
181
|
+
Match.when(0x74, () => '\t'),
|
|
182
|
+
Match.when(0x62, () => '\b'),
|
|
183
|
+
Match.when(0x6e, () => '\n'),
|
|
184
|
+
Match.when(0x72, () => '\r'),
|
|
185
|
+
Match.when(0x66, () => '\f'),
|
|
186
|
+
Match.when(0x22, () => '"'),
|
|
187
|
+
Match.when(0x27, () => "'"),
|
|
188
|
+
Match.when(0x5c, () => '\\'),
|
|
189
|
+
Match.orElse(() => undefined),
|
|
190
|
+
);
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Decodes the string-escape (`ECHAR`) character following a backslash, if
|
|
194
|
+
* it is one of `t b n r f " ' \`.
|
|
195
|
+
*
|
|
196
|
+
* @since 0.1.0
|
|
197
|
+
* @category escapes
|
|
198
|
+
*/
|
|
199
|
+
export const decodeEchar = (c: number): string | undefined => echar(c);
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* A language tag with an optional base direction.
|
|
203
|
+
*
|
|
204
|
+
* @since 0.1.0
|
|
205
|
+
* @category models
|
|
206
|
+
*/
|
|
207
|
+
export interface LanguageTag {
|
|
208
|
+
readonly language: string;
|
|
209
|
+
readonly direction: Term.Direction | undefined;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
const LANG_DIR = /^([a-zA-Z]{1,8}(?:-[a-zA-Z0-9]{1,8})*)(?:--([a-zA-Z]+))?$/;
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Parses the text of a `LANG_DIR` token (without the leading `@`). Returns
|
|
216
|
+
* `undefined` when the tag or direction is invalid; directions must be
|
|
217
|
+
* `ltr` or `rtl`.
|
|
218
|
+
*
|
|
219
|
+
* @since 0.1.0
|
|
220
|
+
* @category validation
|
|
221
|
+
*/
|
|
222
|
+
export const parseLanguageTag = (text: string): LanguageTag | undefined => {
|
|
223
|
+
const m = LANG_DIR.exec(text);
|
|
224
|
+
if (m === null) return undefined;
|
|
225
|
+
const direction = m[2];
|
|
226
|
+
if (direction !== undefined && direction !== 'ltr' && direction !== 'rtl') return undefined;
|
|
227
|
+
return { language: m[1] ?? '', direction };
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Builds a literal from a lexical form and an optional language tag or
|
|
232
|
+
* datatype, rejecting the language-string datatypes used without a tag.
|
|
233
|
+
* Returns an error message on failure.
|
|
234
|
+
*
|
|
235
|
+
* @since 0.1.0
|
|
236
|
+
* @category constructors
|
|
237
|
+
*/
|
|
238
|
+
export const makeLiteral = (
|
|
239
|
+
value: string,
|
|
240
|
+
annotation: LanguageTag | Term.NamedNode | undefined,
|
|
241
|
+
): Term.Literal | string => {
|
|
242
|
+
if (annotation === undefined) return Term.literal(value);
|
|
243
|
+
if (Term.isNamedNode(annotation)) {
|
|
244
|
+
if (annotation.value === RDF_LANG_STRING || annotation.value === RDF_DIR_LANG_STRING) {
|
|
245
|
+
return `The datatype ${annotation.key} requires a language tag`;
|
|
246
|
+
}
|
|
247
|
+
return new Term.Literal(value, annotation);
|
|
248
|
+
}
|
|
249
|
+
return Term.literal(value, annotation);
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
// -----------------------------------------------------------------------------
|
|
253
|
+
// Canonical formatting
|
|
254
|
+
// -----------------------------------------------------------------------------
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Encodes an arbitrary blank node label as a valid N-Triples label. Valid
|
|
258
|
+
* labels are returned unchanged.
|
|
259
|
+
*
|
|
260
|
+
* @since 0.1.0
|
|
261
|
+
* @category formatting
|
|
262
|
+
*/
|
|
263
|
+
export const blankNodeLabel = (label: string): string => {
|
|
264
|
+
if (isBlankNodeLabel(label)) return label;
|
|
265
|
+
return `x${Array.from(label, (ch) => {
|
|
266
|
+
const c = codePointOf(ch);
|
|
267
|
+
return isPnCharsBase(c) || isDigit(c) ? ch : `_${c.toString(16)}_`;
|
|
268
|
+
}).join('')}`;
|
|
269
|
+
};
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* Formats an IRI as a canonical `IRIREF`.
|
|
273
|
+
*
|
|
274
|
+
* @since 0.1.0
|
|
275
|
+
* @category formatting
|
|
276
|
+
*/
|
|
277
|
+
export const formatIri = (iri: string): string => `<${Term.escapeIri(iri)}>`;
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Formats a literal in canonical N-Triples form: canonical string escapes,
|
|
281
|
+
* lower-case language tags, and no datatype for `xsd:string`.
|
|
282
|
+
*
|
|
283
|
+
* @since 0.1.0
|
|
284
|
+
* @category formatting
|
|
285
|
+
*/
|
|
286
|
+
export const formatLiteral = (literal: Term.Literal): string => {
|
|
287
|
+
const lexical = `"${Term.escapeString(literal.value)}"`;
|
|
288
|
+
if (literal.language !== '') {
|
|
289
|
+
const language = literal.language.toLowerCase();
|
|
290
|
+
return literal.direction === undefined
|
|
291
|
+
? `${lexical}@${language}`
|
|
292
|
+
: `${lexical}@${language}--${literal.direction}`;
|
|
293
|
+
}
|
|
294
|
+
if (literal.datatype.value === XSD_STRING) return lexical;
|
|
295
|
+
return `${lexical}^^${formatIri(literal.datatype.value)}`;
|
|
296
|
+
};
|
|
297
|
+
|
|
298
|
+
// Built once: `formatTerm` runs for every term a serializer writes.
|
|
299
|
+
const formatTermMatch = Match.type<Term.Term>().pipe(
|
|
300
|
+
Match.tag('NamedNode', (term) => formatIri(term.value)),
|
|
301
|
+
Match.tag('BlankNode', (term) => `_:${blankNodeLabel(term.value)}`),
|
|
302
|
+
Match.tag('Literal', (term) => formatLiteral(term)),
|
|
303
|
+
Match.tag('Triple', (term) => {
|
|
304
|
+
const s = formatTerm(term.subject);
|
|
305
|
+
const o = formatTerm(term.object);
|
|
306
|
+
return s === undefined || o === undefined
|
|
307
|
+
? undefined
|
|
308
|
+
: `<<( ${s} ${formatIri(term.predicate.value)} ${o} )>>`;
|
|
309
|
+
}),
|
|
310
|
+
Match.orElse(() => undefined),
|
|
311
|
+
);
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Formats a ground term (IRI, blank node, literal or triple term) in
|
|
315
|
+
* canonical N-Triples form. Returns `undefined` for variables and the
|
|
316
|
+
* default graph, which have no N-Triples representation.
|
|
317
|
+
*
|
|
318
|
+
* @since 0.1.0
|
|
319
|
+
* @category formatting
|
|
320
|
+
*/
|
|
321
|
+
export const formatTerm = (term: Term.Term): string | undefined => formatTermMatch(term);
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RDF 1.2 N-Quads: a line-based, plain-text format for RDF datasets.
|
|
3
|
+
*
|
|
4
|
+
* The parser is strict and streaming (see `NTriples`); the serializer emits
|
|
5
|
+
* canonical N-Quads.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { Effect } from 'effect'
|
|
10
|
+
* import { NQuads } from '@thomasfosterau/effect-rdf/ntriples'
|
|
11
|
+
*
|
|
12
|
+
* const program = Effect.gen(function* () {
|
|
13
|
+
* const { dataset } = yield* NQuads.parse('<http://ex/s> <http://ex/p> <http://ex/o> <http://ex/g> .\n')
|
|
14
|
+
* return yield* NQuads.serialize(dataset, { sort: true })
|
|
15
|
+
* })
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @since 0.1.0
|
|
19
|
+
*/
|
|
20
|
+
import * as Serialization from '../Serialization.ts';
|
|
21
|
+
import type * as Term from '../Term.ts';
|
|
22
|
+
import type * as Effect from 'effect/Effect';
|
|
23
|
+
import type * as Stream from 'effect/Stream';
|
|
24
|
+
import * as internal from './internal/codec.ts';
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Options for the N-Quads serializer.
|
|
28
|
+
*
|
|
29
|
+
* @since 0.1.0
|
|
30
|
+
* @category models
|
|
31
|
+
*/
|
|
32
|
+
export type SerializeOptions = internal.SerializeOptions;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @since 0.1.0
|
|
36
|
+
* @category formats
|
|
37
|
+
*/
|
|
38
|
+
export const format: Serialization.Format = Serialization.makeFormat({
|
|
39
|
+
name: 'N-Quads',
|
|
40
|
+
mediaType: 'application/n-quads',
|
|
41
|
+
extensions: ['nq'],
|
|
42
|
+
datasets: true,
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
// The span names are `NQuads.parse`, `NQuads.serialize`, …
|
|
46
|
+
const syntax: internal.Syntax = {
|
|
47
|
+
name: 'N-Quads',
|
|
48
|
+
quads: true,
|
|
49
|
+
trace: { module: 'NQuads', format },
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Parses an N-Quads document. Statements without a graph label are placed
|
|
54
|
+
* in `options.graph` (the default graph when omitted).
|
|
55
|
+
*
|
|
56
|
+
* @since 0.1.0
|
|
57
|
+
* @category parsing
|
|
58
|
+
*/
|
|
59
|
+
export const parse = (
|
|
60
|
+
input: string,
|
|
61
|
+
options?: Serialization.ParseOptions,
|
|
62
|
+
): Effect.Effect<Serialization.ParseResult, Serialization.RdfParseError> =>
|
|
63
|
+
internal.parse(syntax, input, options);
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Parses an N-Quads document into quads in document order (duplicates are
|
|
67
|
+
* kept).
|
|
68
|
+
*
|
|
69
|
+
* @since 0.1.0
|
|
70
|
+
* @category parsing
|
|
71
|
+
*/
|
|
72
|
+
export const parseQuads = (
|
|
73
|
+
input: string,
|
|
74
|
+
options?: Serialization.ParseOptions,
|
|
75
|
+
): Effect.Effect<ReadonlyArray<Term.Quad>, Serialization.RdfParseError> =>
|
|
76
|
+
internal.parseQuads(syntax, input, options);
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Parses a stream of text chunks incrementally, line by line. Chunk
|
|
80
|
+
* boundaries may fall anywhere.
|
|
81
|
+
*
|
|
82
|
+
* @since 0.1.0
|
|
83
|
+
* @category parsing
|
|
84
|
+
*/
|
|
85
|
+
export const parseStream: <E, R>(
|
|
86
|
+
input: Stream.Stream<string, E, R>,
|
|
87
|
+
options?: Serialization.ParseOptions,
|
|
88
|
+
) => Stream.Stream<Term.Quad, Serialization.RdfParseError | E, R> = internal.parseStream(syntax);
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Serialises quads as canonical N-Quads. Fails for triple terms in the
|
|
92
|
+
* subject position.
|
|
93
|
+
*
|
|
94
|
+
* @since 0.1.0
|
|
95
|
+
* @category serializing
|
|
96
|
+
*/
|
|
97
|
+
export const serialize = (
|
|
98
|
+
quads: Iterable<Term.Quad>,
|
|
99
|
+
options?: SerializeOptions,
|
|
100
|
+
): Effect.Effect<string, Serialization.RdfSerializeError> =>
|
|
101
|
+
internal.serialize(syntax, quads, options);
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Serialises a stream of quads incrementally as canonical N-Quads.
|
|
105
|
+
*
|
|
106
|
+
* @since 0.1.0
|
|
107
|
+
* @category serializing
|
|
108
|
+
*/
|
|
109
|
+
export const serializeStream: <E, R>(
|
|
110
|
+
quads: Stream.Stream<Term.Quad, E, R>,
|
|
111
|
+
options?: SerializeOptions,
|
|
112
|
+
) => Stream.Stream<string, Serialization.RdfSerializeError | E, R> =
|
|
113
|
+
internal.serializeStream(syntax);
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* @since 0.1.0
|
|
117
|
+
* @category parsing
|
|
118
|
+
*/
|
|
119
|
+
export const parser: Serialization.Parser = Serialization.makeParser({
|
|
120
|
+
format,
|
|
121
|
+
parse,
|
|
122
|
+
parseStream,
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* @since 0.1.0
|
|
127
|
+
* @category serializing
|
|
128
|
+
*/
|
|
129
|
+
export const serializer: Serialization.Serializer<SerializeOptions> = Serialization.makeSerializer({
|
|
130
|
+
format,
|
|
131
|
+
serialize,
|
|
132
|
+
serializeStream,
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* @since 0.1.0
|
|
137
|
+
* @category codecs
|
|
138
|
+
*/
|
|
139
|
+
export const codec: Serialization.Codec<Serialization.ParseOptions, SerializeOptions> =
|
|
140
|
+
Serialization.makeCodec(parser, serializer);
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RDF 1.2 N-Triples: a line-based, plain-text format for RDF graphs.
|
|
3
|
+
*
|
|
4
|
+
* The parser is strict (absolute IRIs only, validated escapes, language tags
|
|
5
|
+
* and base directions, triple terms `<<( s p o )>>` in object position,
|
|
6
|
+
* `VERSION` directives) and streaming: `parseStream` consumes text chunks
|
|
7
|
+
* line by line, so arbitrarily large documents are never buffered. The
|
|
8
|
+
* serializer emits canonical N-Triples.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { Effect } from 'effect'
|
|
13
|
+
* import { NTriples } from '@thomasfosterau/effect-rdf/ntriples'
|
|
14
|
+
*
|
|
15
|
+
* const program = Effect.gen(function* () {
|
|
16
|
+
* const { dataset } = yield* NTriples.parse('<http://ex/s> <http://ex/p> "o"@en .\n')
|
|
17
|
+
* return yield* NTriples.serialize(dataset)
|
|
18
|
+
* })
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @since 0.1.0
|
|
22
|
+
*/
|
|
23
|
+
import * as Serialization from '../Serialization.ts';
|
|
24
|
+
import type * as Term from '../Term.ts';
|
|
25
|
+
import type * as Effect from 'effect/Effect';
|
|
26
|
+
import type * as Stream from 'effect/Stream';
|
|
27
|
+
import * as internal from './internal/codec.ts';
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Options for the N-Triples serializer.
|
|
31
|
+
*
|
|
32
|
+
* @since 0.1.0
|
|
33
|
+
* @category models
|
|
34
|
+
*/
|
|
35
|
+
export type SerializeOptions = internal.SerializeOptions;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @since 0.1.0
|
|
39
|
+
* @category formats
|
|
40
|
+
*/
|
|
41
|
+
export const format: Serialization.Format = Serialization.makeFormat({
|
|
42
|
+
name: 'N-Triples',
|
|
43
|
+
mediaType: 'application/n-triples',
|
|
44
|
+
extensions: ['nt'],
|
|
45
|
+
datasets: false,
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
// The span names are `NTriples.parse`, `NTriples.serialize`, …
|
|
49
|
+
const syntax: internal.Syntax = {
|
|
50
|
+
name: 'N-Triples',
|
|
51
|
+
quads: false,
|
|
52
|
+
trace: { module: 'NTriples', format },
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Parses an N-Triples document. Triples are placed in `options.graph`
|
|
57
|
+
* (the default graph when omitted).
|
|
58
|
+
*
|
|
59
|
+
* @since 0.1.0
|
|
60
|
+
* @category parsing
|
|
61
|
+
*/
|
|
62
|
+
export const parse = (
|
|
63
|
+
input: string,
|
|
64
|
+
options?: Serialization.ParseOptions,
|
|
65
|
+
): Effect.Effect<Serialization.ParseResult, Serialization.RdfParseError> =>
|
|
66
|
+
internal.parse(syntax, input, options);
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Parses an N-Triples document into quads in document order (duplicates are
|
|
70
|
+
* kept).
|
|
71
|
+
*
|
|
72
|
+
* @since 0.1.0
|
|
73
|
+
* @category parsing
|
|
74
|
+
*/
|
|
75
|
+
export const parseQuads = (
|
|
76
|
+
input: string,
|
|
77
|
+
options?: Serialization.ParseOptions,
|
|
78
|
+
): Effect.Effect<ReadonlyArray<Term.Quad>, Serialization.RdfParseError> =>
|
|
79
|
+
internal.parseQuads(syntax, input, options);
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Parses a stream of text chunks incrementally, line by line. Chunk
|
|
83
|
+
* boundaries may fall anywhere.
|
|
84
|
+
*
|
|
85
|
+
* @since 0.1.0
|
|
86
|
+
* @category parsing
|
|
87
|
+
*/
|
|
88
|
+
export const parseStream: <E, R>(
|
|
89
|
+
input: Stream.Stream<string, E, R>,
|
|
90
|
+
options?: Serialization.ParseOptions,
|
|
91
|
+
) => Stream.Stream<Term.Quad, Serialization.RdfParseError | E, R> = internal.parseStream(syntax);
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Serialises triples as canonical N-Triples. Fails for quads in named
|
|
95
|
+
* graphs and for triple terms in the subject position.
|
|
96
|
+
*
|
|
97
|
+
* @since 0.1.0
|
|
98
|
+
* @category serializing
|
|
99
|
+
*/
|
|
100
|
+
export const serialize = (
|
|
101
|
+
quads: Iterable<Term.Quad>,
|
|
102
|
+
options?: SerializeOptions,
|
|
103
|
+
): Effect.Effect<string, Serialization.RdfSerializeError> =>
|
|
104
|
+
internal.serialize(syntax, quads, options);
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Serialises a stream of quads incrementally as canonical N-Triples.
|
|
108
|
+
*
|
|
109
|
+
* @since 0.1.0
|
|
110
|
+
* @category serializing
|
|
111
|
+
*/
|
|
112
|
+
export const serializeStream: <E, R>(
|
|
113
|
+
quads: Stream.Stream<Term.Quad, E, R>,
|
|
114
|
+
options?: SerializeOptions,
|
|
115
|
+
) => Stream.Stream<string, Serialization.RdfSerializeError | E, R> =
|
|
116
|
+
internal.serializeStream(syntax);
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* @since 0.1.0
|
|
120
|
+
* @category parsing
|
|
121
|
+
*/
|
|
122
|
+
export const parser: Serialization.Parser = Serialization.makeParser({
|
|
123
|
+
format,
|
|
124
|
+
parse,
|
|
125
|
+
parseStream,
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* @since 0.1.0
|
|
130
|
+
* @category serializing
|
|
131
|
+
*/
|
|
132
|
+
export const serializer: Serialization.Serializer<SerializeOptions> = Serialization.makeSerializer({
|
|
133
|
+
format,
|
|
134
|
+
serialize,
|
|
135
|
+
serializeStream,
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* @since 0.1.0
|
|
140
|
+
* @category codecs
|
|
141
|
+
*/
|
|
142
|
+
export const codec: Serialization.Codec<Serialization.ParseOptions, SerializeOptions> =
|
|
143
|
+
Serialization.makeCodec(parser, serializer);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RDF 1.2 N-Triples and N-Quads for `@thomasfosterau/effect-rdf`.
|
|
3
|
+
*
|
|
4
|
+
* @since 0.1.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/** @since 0.1.0 */
|
|
8
|
+
export * as Grammar from './Grammar.ts';
|
|
9
|
+
/** @since 0.1.0 */
|
|
10
|
+
export * as Lexical from './Lexical.ts';
|
|
11
|
+
/** @since 0.1.0 */
|
|
12
|
+
export * as NQuads from './NQuads.ts';
|
|
13
|
+
/** @since 0.1.0 */
|
|
14
|
+
export * as NTriples from './NTriples.ts';
|