@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,991 @@
|
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
|
|
2
|
+
import { a as NamedNodeSchema$1, c as TermSchema$1, i as LiteralSchema$1, l as TripleSchema$1, o as QuadSchema$1, r as GroundTermSchema$1, t as BlankNodeSchema$1, u as VariableSchema$1 } from "./TermJson-FAg3lvjl.mjs";
|
|
3
|
+
import * as Equal from "effect/Equal";
|
|
4
|
+
import * as Hash from "effect/Hash";
|
|
5
|
+
import { NodeInspectSymbol } from "effect/Inspectable";
|
|
6
|
+
import { pipeArguments } from "effect/Pipeable";
|
|
7
|
+
import { hasProperty, isString, isTagged } from "effect/Predicate";
|
|
8
|
+
import * as Schema from "effect/Schema";
|
|
9
|
+
import * as SchemaTransformation from "effect/SchemaTransformation";
|
|
10
|
+
import * as Effect from "effect/Effect";
|
|
11
|
+
import * as equivalence from "effect/Equivalence";
|
|
12
|
+
import * as Match from "effect/Match";
|
|
13
|
+
import * as order from "effect/Order";
|
|
14
|
+
import * as SchemaIssue from "effect/SchemaIssue";
|
|
15
|
+
// src/internal/arbitrary.ts
|
|
16
|
+
/**
|
|
17
|
+
* Generation representations for the term declarations' `toCodecArbitrary`
|
|
18
|
+
* hooks: `TermJson`-shaped schemas whose native arbitraries produce realistic
|
|
19
|
+
* values — IRIs from a small pool (so values collide across quads), BCP 47
|
|
20
|
+
* language tags, both base directions, well-formed lexical forms for common
|
|
21
|
+
* XSD datatypes, and triple terms nested at most two deep. Generated data is
|
|
22
|
+
* RDF 1.2: triple terms appear only in the object position (of a quad or of
|
|
23
|
+
* another triple term), never as subjects, as RDF 1.2 Concepts requires.
|
|
24
|
+
*
|
|
25
|
+
* Plain data only (no `Term` import), so `Term` can link to it without a
|
|
26
|
+
* cycle; `Term` decodes these with `fromJson` and checks the result.
|
|
27
|
+
*/
|
|
28
|
+
const XSD$1 = "http://www.w3.org/2001/XMLSchema#";
|
|
29
|
+
const NAMESPACES = [
|
|
30
|
+
"http://example.org/",
|
|
31
|
+
"http://example.org/vocab#",
|
|
32
|
+
"https://example.com/a/b/",
|
|
33
|
+
"urn:example:"
|
|
34
|
+
];
|
|
35
|
+
const LOCAL_NAMES = [
|
|
36
|
+
"a",
|
|
37
|
+
"b",
|
|
38
|
+
"c",
|
|
39
|
+
"knows",
|
|
40
|
+
"name",
|
|
41
|
+
"Thing",
|
|
42
|
+
"x-1",
|
|
43
|
+
"é"
|
|
44
|
+
];
|
|
45
|
+
/** The IRI pool: every namespace × local name. */
|
|
46
|
+
const IRIS = NAMESPACES.flatMap((ns) => LOCAL_NAMES.map((local) => `${ns}${local}`));
|
|
47
|
+
const pattern = (re) => Schema.String.check(Schema.isPattern(re));
|
|
48
|
+
const NamedNode$1 = Schema.Struct({
|
|
49
|
+
type: Schema.Literal("uri"),
|
|
50
|
+
value: Schema.Literals(IRIS)
|
|
51
|
+
});
|
|
52
|
+
const BlankNode$1 = Schema.Struct({
|
|
53
|
+
type: Schema.Literal("bnode"),
|
|
54
|
+
value: Schema.Literals([
|
|
55
|
+
"b0",
|
|
56
|
+
"b1",
|
|
57
|
+
"b2",
|
|
58
|
+
"b3",
|
|
59
|
+
"node"
|
|
60
|
+
])
|
|
61
|
+
});
|
|
62
|
+
const LANGUAGES = Schema.Literals([
|
|
63
|
+
"en",
|
|
64
|
+
"en-gb",
|
|
65
|
+
"fr",
|
|
66
|
+
"de-ch-1901",
|
|
67
|
+
"ar",
|
|
68
|
+
"zh-hant-tw",
|
|
69
|
+
"x-private"
|
|
70
|
+
]);
|
|
71
|
+
const typedLiteral = (local, value) => Schema.Struct({
|
|
72
|
+
type: Schema.Literal("literal"),
|
|
73
|
+
value,
|
|
74
|
+
datatype: Schema.Literal(`${XSD$1}${local}`)
|
|
75
|
+
});
|
|
76
|
+
const DATE = "(19|20)[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])";
|
|
77
|
+
const Literal$1 = Schema.Union([
|
|
78
|
+
Schema.Struct({
|
|
79
|
+
type: Schema.Literal("literal"),
|
|
80
|
+
value: Schema.String.check(Schema.isMaxLength(8))
|
|
81
|
+
}),
|
|
82
|
+
Schema.Struct({
|
|
83
|
+
type: Schema.Literal("literal"),
|
|
84
|
+
value: Schema.Literals([
|
|
85
|
+
"",
|
|
86
|
+
"a",
|
|
87
|
+
"Alice",
|
|
88
|
+
"hello world",
|
|
89
|
+
"ünïcödé"
|
|
90
|
+
]),
|
|
91
|
+
"xml:lang": LANGUAGES
|
|
92
|
+
}),
|
|
93
|
+
Schema.Struct({
|
|
94
|
+
type: Schema.Literal("literal"),
|
|
95
|
+
value: Schema.Literals([
|
|
96
|
+
"a",
|
|
97
|
+
"שלום",
|
|
98
|
+
"مرحبا"
|
|
99
|
+
]),
|
|
100
|
+
"xml:lang": LANGUAGES,
|
|
101
|
+
"its:dir": Schema.Literals(["ltr", "rtl"])
|
|
102
|
+
}),
|
|
103
|
+
typedLiteral("integer", pattern(/^-?(0|[1-9][0-9]{0,5})$/)),
|
|
104
|
+
typedLiteral("decimal", pattern(/^-?(0|[1-9][0-9]{0,3})\.[0-9]{1,3}$/)),
|
|
105
|
+
typedLiteral("double", pattern(/^-?[1-9]\.[0-9]{1,3}E-?[0-9]$/)),
|
|
106
|
+
typedLiteral("boolean", Schema.Literals(["true", "false"])),
|
|
107
|
+
typedLiteral("date", pattern(new RegExp(`^${DATE}$`))),
|
|
108
|
+
typedLiteral("dateTime", pattern(new RegExp(`^${DATE}T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](Z|[+-]0[0-9]:00)?$`)))
|
|
109
|
+
]);
|
|
110
|
+
const Resource = Schema.Union([NamedNode$1, BlankNode$1]);
|
|
111
|
+
const tripleOf = (object) => Schema.Struct({
|
|
112
|
+
type: Schema.Literal("triple"),
|
|
113
|
+
value: Schema.Struct({
|
|
114
|
+
subject: Resource,
|
|
115
|
+
predicate: NamedNode$1,
|
|
116
|
+
object
|
|
117
|
+
})
|
|
118
|
+
});
|
|
119
|
+
const Triple1 = tripleOf(Schema.Union([
|
|
120
|
+
NamedNode$1,
|
|
121
|
+
BlankNode$1,
|
|
122
|
+
Literal$1
|
|
123
|
+
]));
|
|
124
|
+
const Triple$1 = tripleOf(Schema.Union([
|
|
125
|
+
NamedNode$1,
|
|
126
|
+
BlankNode$1,
|
|
127
|
+
Literal$1,
|
|
128
|
+
Triple1
|
|
129
|
+
]));
|
|
130
|
+
const Variable$1 = Schema.Struct({
|
|
131
|
+
type: Schema.Literal("variable"),
|
|
132
|
+
value: Schema.Literals([
|
|
133
|
+
"s",
|
|
134
|
+
"p",
|
|
135
|
+
"o",
|
|
136
|
+
"x"
|
|
137
|
+
])
|
|
138
|
+
});
|
|
139
|
+
const DefaultGraph$1 = Schema.Struct({ type: Schema.Literal("default-graph") });
|
|
140
|
+
const GroundTerm = Schema.Union([
|
|
141
|
+
NamedNode$1,
|
|
142
|
+
BlankNode$1,
|
|
143
|
+
Literal$1,
|
|
144
|
+
Triple$1
|
|
145
|
+
]);
|
|
146
|
+
/** The representation each term declaration's `toCodecArbitrary` links to. */
|
|
147
|
+
const representations = {
|
|
148
|
+
NamedNode: NamedNode$1,
|
|
149
|
+
BlankNode: BlankNode$1,
|
|
150
|
+
Literal: Literal$1,
|
|
151
|
+
Triple: Triple$1,
|
|
152
|
+
Variable: Variable$1,
|
|
153
|
+
DefaultGraph: DefaultGraph$1,
|
|
154
|
+
GroundTerm,
|
|
155
|
+
Term: Schema.Union([
|
|
156
|
+
NamedNode$1,
|
|
157
|
+
BlankNode$1,
|
|
158
|
+
Literal$1,
|
|
159
|
+
Triple$1,
|
|
160
|
+
Variable$1,
|
|
161
|
+
DefaultGraph$1
|
|
162
|
+
]),
|
|
163
|
+
Quad: Schema.Struct({
|
|
164
|
+
subject: Resource,
|
|
165
|
+
predicate: NamedNode$1,
|
|
166
|
+
object: GroundTerm,
|
|
167
|
+
graph: Schema.optionalKey(Resource)
|
|
168
|
+
})
|
|
169
|
+
};
|
|
170
|
+
// src/Term.ts
|
|
171
|
+
/**
|
|
172
|
+
* The RDF 1.2 term model.
|
|
173
|
+
*
|
|
174
|
+
* Terms are immutable values that implement Effect's `Equal` and `Hash`
|
|
175
|
+
* protocols, so they can be used directly as keys of `HashMap`/`HashSet` and
|
|
176
|
+
* compared with `Equal.equals`. Every term carries a canonical `key` — its
|
|
177
|
+
* N-Triples / N-Quads serialisation — which is also what `toString()` returns.
|
|
178
|
+
*
|
|
179
|
+
* The model supports RDF 1.2 (and RDF-star) triple terms, directional
|
|
180
|
+
* language-tagged strings, and SPARQL variables (used only in patterns).
|
|
181
|
+
*
|
|
182
|
+
* @since 0.1.0
|
|
183
|
+
*/
|
|
184
|
+
var Term_exports = /* @__PURE__ */ __exportAll({
|
|
185
|
+
BlankNode: () => BlankNode,
|
|
186
|
+
BlankNodeSchema: () => BlankNodeSchema,
|
|
187
|
+
DefaultGraph: () => DefaultGraph,
|
|
188
|
+
Equivalence: () => Equivalence,
|
|
189
|
+
GroundTermSchema: () => GroundTermSchema,
|
|
190
|
+
Literal: () => Literal,
|
|
191
|
+
LiteralSchema: () => LiteralSchema,
|
|
192
|
+
NamedNode: () => NamedNode,
|
|
193
|
+
NamedNodeSchema: () => NamedNodeSchema,
|
|
194
|
+
Order: () => Order,
|
|
195
|
+
Quad: () => Quad,
|
|
196
|
+
QuadEquivalence: () => QuadEquivalence,
|
|
197
|
+
QuadOrder: () => QuadOrder,
|
|
198
|
+
QuadSchema: () => QuadSchema,
|
|
199
|
+
RDF_DIR_LANG_STRING: () => RDF_DIR_LANG_STRING,
|
|
200
|
+
RDF_LANG_STRING: () => RDF_LANG_STRING,
|
|
201
|
+
TermSchema: () => TermSchema,
|
|
202
|
+
Triple: () => Triple,
|
|
203
|
+
TripleSchema: () => TripleSchema,
|
|
204
|
+
TypeId: () => TypeId,
|
|
205
|
+
Variable: () => Variable,
|
|
206
|
+
VariableSchema: () => VariableSchema,
|
|
207
|
+
XSD_STRING: () => XSD_STRING,
|
|
208
|
+
blankNode: () => blankNode,
|
|
209
|
+
compare: () => compare,
|
|
210
|
+
compareQuads: () => compareQuads,
|
|
211
|
+
defaultGraph: () => defaultGraph,
|
|
212
|
+
escapeIri: () => escapeIri,
|
|
213
|
+
escapeString: () => escapeString,
|
|
214
|
+
fromJson: () => fromJson,
|
|
215
|
+
hasBlankNodes: () => hasBlankNodes,
|
|
216
|
+
isBlankNode: () => isBlankNode,
|
|
217
|
+
isDefaultGraph: () => isDefaultGraph,
|
|
218
|
+
isGraph: () => isGraph,
|
|
219
|
+
isGround: () => isGround,
|
|
220
|
+
isGroundTerm: () => isGroundTerm,
|
|
221
|
+
isLanguageTagged: () => isLanguageTagged,
|
|
222
|
+
isLiteral: () => isLiteral,
|
|
223
|
+
isNamedNode: () => isNamedNode,
|
|
224
|
+
isObject: () => isObject,
|
|
225
|
+
isQuad: () => isQuad,
|
|
226
|
+
isResource: () => isResource,
|
|
227
|
+
isSubject: () => isSubject,
|
|
228
|
+
isTerm: () => isTerm,
|
|
229
|
+
isTriple: () => isTriple,
|
|
230
|
+
isVariable: () => isVariable,
|
|
231
|
+
isWellFormed: () => isWellFormed,
|
|
232
|
+
literal: () => literal,
|
|
233
|
+
mapTerms: () => mapTerms,
|
|
234
|
+
namedNode: () => namedNode,
|
|
235
|
+
quad: () => quad,
|
|
236
|
+
quadFromJson: () => quadFromJson,
|
|
237
|
+
quadToJson: () => quadToJson,
|
|
238
|
+
toJson: () => toJson,
|
|
239
|
+
toQuad: () => toQuad,
|
|
240
|
+
triple: () => triple,
|
|
241
|
+
variable: () => variable
|
|
242
|
+
});
|
|
243
|
+
const RDF = "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
|
|
244
|
+
const XSD = "http://www.w3.org/2001/XMLSchema#";
|
|
245
|
+
/**
|
|
246
|
+
* @since 0.1.0
|
|
247
|
+
* @category symbols
|
|
248
|
+
*/
|
|
249
|
+
const TypeId = Symbol.for("@thomasfosterau/effect-rdf/Term");
|
|
250
|
+
/** `isTerm` for a value already known to be an object. */
|
|
251
|
+
const hasTermTypeId = (u) => TypeId in u;
|
|
252
|
+
/** Mixed into the hashes of blank nodes and variables, so that `_:a` and `?a` differ from `<a>`. */
|
|
253
|
+
const BLANK_SALT = 24378;
|
|
254
|
+
const VARIABLE_SALT = 63;
|
|
255
|
+
var TermBase = class {
|
|
256
|
+
[TypeId] = TypeId;
|
|
257
|
+
#key = "";
|
|
258
|
+
#hash = 0;
|
|
259
|
+
#hashed = false;
|
|
260
|
+
/** The canonical N-Triples serialisation of this term. */
|
|
261
|
+
get key() {
|
|
262
|
+
if (this.#key === "") this.#key = this.computeKey();
|
|
263
|
+
return this.#key;
|
|
264
|
+
}
|
|
265
|
+
/** RDF/JS compatible alias of `_tag`. */
|
|
266
|
+
get termType() {
|
|
267
|
+
return this._tag;
|
|
268
|
+
}
|
|
269
|
+
/** RDF/JS compatible equality. */
|
|
270
|
+
equals(that) {
|
|
271
|
+
return isTerm(that) && that.key === this.key;
|
|
272
|
+
}
|
|
273
|
+
[Equal.symbol](that) {
|
|
274
|
+
return hasTermTypeId(that) && that.key === this.key;
|
|
275
|
+
}
|
|
276
|
+
[Hash.symbol]() {
|
|
277
|
+
if (!this.#hashed) {
|
|
278
|
+
this.#hash = this.computeHash();
|
|
279
|
+
this.#hashed = true;
|
|
280
|
+
}
|
|
281
|
+
return this.#hash;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* The hash, consistent with `key` (terms with equal keys have equal
|
|
285
|
+
* hashes). IRIs, blank nodes, variables and literals hash their parts, so
|
|
286
|
+
* that hashing one builds no key.
|
|
287
|
+
*/
|
|
288
|
+
computeHash() {
|
|
289
|
+
return Hash.string(this.key);
|
|
290
|
+
}
|
|
291
|
+
pipe() {
|
|
292
|
+
return pipeArguments(this, arguments);
|
|
293
|
+
}
|
|
294
|
+
toString() {
|
|
295
|
+
return this.key;
|
|
296
|
+
}
|
|
297
|
+
toJSON() {
|
|
298
|
+
return {
|
|
299
|
+
_tag: this._tag,
|
|
300
|
+
value: this.key
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
[NodeInspectSymbol]() {
|
|
304
|
+
return `${this._tag}(${this.key})`;
|
|
305
|
+
}
|
|
306
|
+
};
|
|
307
|
+
/**
|
|
308
|
+
* An IRI.
|
|
309
|
+
*
|
|
310
|
+
* @since 0.1.0
|
|
311
|
+
* @category models
|
|
312
|
+
*/
|
|
313
|
+
var NamedNode = class extends TermBase {
|
|
314
|
+
_tag = "NamedNode";
|
|
315
|
+
value;
|
|
316
|
+
constructor(value) {
|
|
317
|
+
super();
|
|
318
|
+
this.value = value;
|
|
319
|
+
}
|
|
320
|
+
computeKey() {
|
|
321
|
+
return `<${escapeIri(this.value)}>`;
|
|
322
|
+
}
|
|
323
|
+
computeHash() {
|
|
324
|
+
return Hash.string(this.value);
|
|
325
|
+
}
|
|
326
|
+
};
|
|
327
|
+
/**
|
|
328
|
+
* A blank node. Labels are scoped to the dataset or document that contains
|
|
329
|
+
* them.
|
|
330
|
+
*
|
|
331
|
+
* @since 0.1.0
|
|
332
|
+
* @category models
|
|
333
|
+
*/
|
|
334
|
+
var BlankNode = class extends TermBase {
|
|
335
|
+
_tag = "BlankNode";
|
|
336
|
+
value;
|
|
337
|
+
constructor(value) {
|
|
338
|
+
super();
|
|
339
|
+
this.value = value;
|
|
340
|
+
}
|
|
341
|
+
computeKey() {
|
|
342
|
+
return `_:${this.value}`;
|
|
343
|
+
}
|
|
344
|
+
computeHash() {
|
|
345
|
+
return Hash.combine(Hash.string(this.value), BLANK_SALT);
|
|
346
|
+
}
|
|
347
|
+
};
|
|
348
|
+
/**
|
|
349
|
+
* A literal. Language-tagged strings have datatype `rdf:langString`, and
|
|
350
|
+
* directional language-tagged strings (RDF 1.2) have datatype
|
|
351
|
+
* `rdf:dirLangString`.
|
|
352
|
+
*
|
|
353
|
+
* @since 0.1.0
|
|
354
|
+
* @category models
|
|
355
|
+
*/
|
|
356
|
+
var Literal = class extends TermBase {
|
|
357
|
+
_tag = "Literal";
|
|
358
|
+
value;
|
|
359
|
+
datatype;
|
|
360
|
+
language;
|
|
361
|
+
direction;
|
|
362
|
+
constructor(value, datatype, language = "", direction) {
|
|
363
|
+
super();
|
|
364
|
+
this.value = value;
|
|
365
|
+
this.datatype = datatype;
|
|
366
|
+
this.language = language;
|
|
367
|
+
this.direction = direction;
|
|
368
|
+
}
|
|
369
|
+
computeKey() {
|
|
370
|
+
const lexical = `"${escapeString(this.value)}"`;
|
|
371
|
+
if (this.language !== "") return this.direction === void 0 ? `${lexical}@${this.language}` : `${lexical}@${this.language}--${this.direction}`;
|
|
372
|
+
if (this.datatype.value === "http://www.w3.org/2001/XMLSchema#string") return lexical;
|
|
373
|
+
return `${lexical}^^${this.datatype.key}`;
|
|
374
|
+
}
|
|
375
|
+
computeHash() {
|
|
376
|
+
const h = Hash.combine(Hash.string(this.value), this.datatype[Hash.symbol]());
|
|
377
|
+
return this.language === "" ? h : Hash.combine(h, Hash.string(this.language));
|
|
378
|
+
}
|
|
379
|
+
};
|
|
380
|
+
/**
|
|
381
|
+
* A SPARQL query variable. Variables never appear in RDF data; they are used
|
|
382
|
+
* in quad patterns.
|
|
383
|
+
*
|
|
384
|
+
* @since 0.1.0
|
|
385
|
+
* @category models
|
|
386
|
+
*/
|
|
387
|
+
var Variable = class extends TermBase {
|
|
388
|
+
_tag = "Variable";
|
|
389
|
+
value;
|
|
390
|
+
constructor(value) {
|
|
391
|
+
super();
|
|
392
|
+
this.value = value;
|
|
393
|
+
}
|
|
394
|
+
computeKey() {
|
|
395
|
+
return `?${this.value}`;
|
|
396
|
+
}
|
|
397
|
+
computeHash() {
|
|
398
|
+
return Hash.combine(Hash.string(this.value), VARIABLE_SALT);
|
|
399
|
+
}
|
|
400
|
+
};
|
|
401
|
+
/**
|
|
402
|
+
* The default graph of a dataset.
|
|
403
|
+
*
|
|
404
|
+
* @since 0.1.0
|
|
405
|
+
* @category models
|
|
406
|
+
*/
|
|
407
|
+
var DefaultGraph = class extends TermBase {
|
|
408
|
+
_tag = "DefaultGraph";
|
|
409
|
+
value = "";
|
|
410
|
+
computeKey() {
|
|
411
|
+
return "";
|
|
412
|
+
}
|
|
413
|
+
};
|
|
414
|
+
/**
|
|
415
|
+
* An RDF triple. Triples are also terms (RDF 1.2 "triple terms", RDF-star
|
|
416
|
+
* "quoted triples") and may appear in the subject or object position of
|
|
417
|
+
* other triples.
|
|
418
|
+
*
|
|
419
|
+
* @since 0.1.0
|
|
420
|
+
* @category models
|
|
421
|
+
*/
|
|
422
|
+
var Triple = class extends TermBase {
|
|
423
|
+
_tag = "Triple";
|
|
424
|
+
subject;
|
|
425
|
+
predicate;
|
|
426
|
+
object;
|
|
427
|
+
constructor(subject, predicate, object) {
|
|
428
|
+
super();
|
|
429
|
+
this.subject = subject;
|
|
430
|
+
this.predicate = predicate;
|
|
431
|
+
this.object = object;
|
|
432
|
+
}
|
|
433
|
+
computeKey() {
|
|
434
|
+
return `<<( ${this.subject.key} ${this.predicate.key} ${this.object.key} )>>`;
|
|
435
|
+
}
|
|
436
|
+
/** Always the default graph: a triple term carries no graph name. */
|
|
437
|
+
get graph() {
|
|
438
|
+
return defaultGraph;
|
|
439
|
+
}
|
|
440
|
+
};
|
|
441
|
+
/**
|
|
442
|
+
* An RDF quad: a triple together with the graph that contains it.
|
|
443
|
+
*
|
|
444
|
+
* `Quad` is a statement, not a term; use `Triple` for triple terms.
|
|
445
|
+
*
|
|
446
|
+
* @since 0.1.0
|
|
447
|
+
* @category models
|
|
448
|
+
*/
|
|
449
|
+
var Quad = class Quad {
|
|
450
|
+
_tag = "Quad";
|
|
451
|
+
#key = "";
|
|
452
|
+
#hash = 0;
|
|
453
|
+
#hashed = false;
|
|
454
|
+
subject;
|
|
455
|
+
predicate;
|
|
456
|
+
object;
|
|
457
|
+
graph;
|
|
458
|
+
constructor(subject, predicate, object, graph) {
|
|
459
|
+
this.subject = subject;
|
|
460
|
+
this.predicate = predicate;
|
|
461
|
+
this.object = object;
|
|
462
|
+
this.graph = graph;
|
|
463
|
+
}
|
|
464
|
+
/** The canonical N-Quads statement (without the trailing ` .`). */
|
|
465
|
+
get key() {
|
|
466
|
+
if (this.#key === "") {
|
|
467
|
+
const triple = `${this.subject.key} ${this.predicate.key} ${this.object.key}`;
|
|
468
|
+
this.#key = this.graph._tag === "DefaultGraph" ? triple : `${triple} ${this.graph.key}`;
|
|
469
|
+
}
|
|
470
|
+
return this.#key;
|
|
471
|
+
}
|
|
472
|
+
/** The triple of this quad, without its graph. */
|
|
473
|
+
get triple() {
|
|
474
|
+
return new Triple(this.subject, this.predicate, this.object);
|
|
475
|
+
}
|
|
476
|
+
equals(that) {
|
|
477
|
+
return isQuad(that) && that.key === this.key;
|
|
478
|
+
}
|
|
479
|
+
[Equal.symbol](that) {
|
|
480
|
+
return that instanceof Quad && that.key === this.key;
|
|
481
|
+
}
|
|
482
|
+
[Hash.symbol]() {
|
|
483
|
+
if (!this.#hashed) {
|
|
484
|
+
this.#hash = Hash.string(this.key);
|
|
485
|
+
this.#hashed = true;
|
|
486
|
+
}
|
|
487
|
+
return this.#hash;
|
|
488
|
+
}
|
|
489
|
+
pipe() {
|
|
490
|
+
return pipeArguments(this, arguments);
|
|
491
|
+
}
|
|
492
|
+
toString() {
|
|
493
|
+
return `${this.key} .`;
|
|
494
|
+
}
|
|
495
|
+
toJSON() {
|
|
496
|
+
return {
|
|
497
|
+
_tag: "Quad",
|
|
498
|
+
value: this.toString()
|
|
499
|
+
};
|
|
500
|
+
}
|
|
501
|
+
[NodeInspectSymbol]() {
|
|
502
|
+
return `Quad(${this.key})`;
|
|
503
|
+
}
|
|
504
|
+
};
|
|
505
|
+
/**
|
|
506
|
+
* The singleton default graph.
|
|
507
|
+
*
|
|
508
|
+
* @since 0.1.0
|
|
509
|
+
* @category constructors
|
|
510
|
+
*/
|
|
511
|
+
const defaultGraph = new DefaultGraph();
|
|
512
|
+
/**
|
|
513
|
+
* @since 0.1.0
|
|
514
|
+
* @category constructors
|
|
515
|
+
*/
|
|
516
|
+
const namedNode = (iri) => new NamedNode(iri);
|
|
517
|
+
let blankNodeCounter = 0;
|
|
518
|
+
/**
|
|
519
|
+
* Creates a blank node. When no label is given a fresh, process-unique label
|
|
520
|
+
* is generated.
|
|
521
|
+
*
|
|
522
|
+
* @since 0.1.0
|
|
523
|
+
* @category constructors
|
|
524
|
+
*/
|
|
525
|
+
const blankNode = (label) => new BlankNode(label ?? `b${(blankNodeCounter++).toString(36)}`);
|
|
526
|
+
/**
|
|
527
|
+
* @since 0.1.0
|
|
528
|
+
* @category constructors
|
|
529
|
+
*/
|
|
530
|
+
const variable = (name) => new Variable(name);
|
|
531
|
+
/** @internal */
|
|
532
|
+
const XSD_STRING = `${XSD}string`;
|
|
533
|
+
/** @internal */
|
|
534
|
+
const RDF_LANG_STRING = `${RDF}langString`;
|
|
535
|
+
/** @internal */
|
|
536
|
+
const RDF_DIR_LANG_STRING = `${RDF}dirLangString`;
|
|
537
|
+
const xsdString = new NamedNode(XSD_STRING);
|
|
538
|
+
const rdfLangString = new NamedNode(RDF_LANG_STRING);
|
|
539
|
+
const rdfDirLangString = new NamedNode(RDF_DIR_LANG_STRING);
|
|
540
|
+
/**
|
|
541
|
+
* Creates a literal.
|
|
542
|
+
*
|
|
543
|
+
* - `literal("x")` is an `xsd:string`
|
|
544
|
+
* - `literal("x", "en")` is a language-tagged string
|
|
545
|
+
* - `literal("x", { language: "ar", direction: "rtl" })` is a directional
|
|
546
|
+
* language-tagged string
|
|
547
|
+
* - `literal("1", xsd.integer)` is a typed literal
|
|
548
|
+
*
|
|
549
|
+
* Language tags are normalised to lower case.
|
|
550
|
+
*
|
|
551
|
+
* @since 0.1.0
|
|
552
|
+
* @category constructors
|
|
553
|
+
*/
|
|
554
|
+
const literal = (value, languageOrDatatype) => {
|
|
555
|
+
if (languageOrDatatype === void 0) return new Literal(value, xsdString);
|
|
556
|
+
if (isString(languageOrDatatype)) return new Literal(value, rdfLangString, languageOrDatatype.toLowerCase());
|
|
557
|
+
if ("language" in languageOrDatatype) {
|
|
558
|
+
const language = languageOrDatatype.language.toLowerCase();
|
|
559
|
+
return languageOrDatatype.direction === void 0 ? new Literal(value, rdfLangString, language) : new Literal(value, rdfDirLangString, language, languageOrDatatype.direction);
|
|
560
|
+
}
|
|
561
|
+
if (languageOrDatatype.value === "http://www.w3.org/1999/02/22-rdf-syntax-ns#langString" || languageOrDatatype.value === "http://www.w3.org/1999/02/22-rdf-syntax-ns#dirLangString") return new Literal(value, xsdString);
|
|
562
|
+
return new Literal(value, languageOrDatatype);
|
|
563
|
+
};
|
|
564
|
+
/**
|
|
565
|
+
* Creates a triple (and triple term).
|
|
566
|
+
*
|
|
567
|
+
* @since 0.1.0
|
|
568
|
+
* @category constructors
|
|
569
|
+
*/
|
|
570
|
+
const triple = (subject, predicate, object) => new Triple(subject, predicate, object);
|
|
571
|
+
function quad(subject, predicate, object, graph = defaultGraph) {
|
|
572
|
+
return new Quad(subject, predicate, object, graph);
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
* Converts a triple to a quad in the given graph (default graph when omitted).
|
|
576
|
+
*
|
|
577
|
+
* @since 0.1.0
|
|
578
|
+
* @category constructors
|
|
579
|
+
*/
|
|
580
|
+
const toQuad = (self, graph) => new Quad(self.subject, self.predicate, self.object, graph ?? defaultGraph);
|
|
581
|
+
/**
|
|
582
|
+
* @since 0.1.0
|
|
583
|
+
* @category guards
|
|
584
|
+
*/
|
|
585
|
+
const isTerm = (u) => hasProperty(u, TypeId);
|
|
586
|
+
/**
|
|
587
|
+
* @since 0.1.0
|
|
588
|
+
* @category guards
|
|
589
|
+
*/
|
|
590
|
+
const isNamedNode = (u) => isTerm(u) && isTagged(u, "NamedNode");
|
|
591
|
+
/**
|
|
592
|
+
* @since 0.1.0
|
|
593
|
+
* @category guards
|
|
594
|
+
*/
|
|
595
|
+
const isBlankNode = (u) => isTerm(u) && isTagged(u, "BlankNode");
|
|
596
|
+
/**
|
|
597
|
+
* @since 0.1.0
|
|
598
|
+
* @category guards
|
|
599
|
+
*/
|
|
600
|
+
const isLiteral = (u) => isTerm(u) && isTagged(u, "Literal");
|
|
601
|
+
/**
|
|
602
|
+
* @since 0.1.0
|
|
603
|
+
* @category guards
|
|
604
|
+
*/
|
|
605
|
+
const isVariable = (u) => isTerm(u) && isTagged(u, "Variable");
|
|
606
|
+
/**
|
|
607
|
+
* @since 0.1.0
|
|
608
|
+
* @category guards
|
|
609
|
+
*/
|
|
610
|
+
const isDefaultGraph = (u) => isTerm(u) && isTagged(u, "DefaultGraph");
|
|
611
|
+
/**
|
|
612
|
+
* @since 0.1.0
|
|
613
|
+
* @category guards
|
|
614
|
+
*/
|
|
615
|
+
const isTriple = (u) => isTerm(u) && isTagged(u, "Triple");
|
|
616
|
+
/**
|
|
617
|
+
* @since 0.1.0
|
|
618
|
+
* @category guards
|
|
619
|
+
*/
|
|
620
|
+
const isQuad = (u) => u instanceof Quad;
|
|
621
|
+
/**
|
|
622
|
+
* @since 0.1.0
|
|
623
|
+
* @category guards
|
|
624
|
+
*/
|
|
625
|
+
const isResource = (u) => isNamedNode(u) || isBlankNode(u);
|
|
626
|
+
/**
|
|
627
|
+
* @since 0.1.0
|
|
628
|
+
* @category guards
|
|
629
|
+
*/
|
|
630
|
+
const isSubject = (u) => isNamedNode(u) || isBlankNode(u) || isTriple(u);
|
|
631
|
+
/**
|
|
632
|
+
* @since 0.1.0
|
|
633
|
+
* @category guards
|
|
634
|
+
*/
|
|
635
|
+
const isObject = (u) => isNamedNode(u) || isBlankNode(u) || isLiteral(u) || isTriple(u);
|
|
636
|
+
/**
|
|
637
|
+
* @since 0.1.0
|
|
638
|
+
* @category guards
|
|
639
|
+
*/
|
|
640
|
+
const isGraph = (u) => isNamedNode(u) || isBlankNode(u) || isDefaultGraph(u);
|
|
641
|
+
/**
|
|
642
|
+
* @since 0.1.0
|
|
643
|
+
* @category guards
|
|
644
|
+
*/
|
|
645
|
+
const isGroundTerm = (u) => isNamedNode(u) || isBlankNode(u) || isLiteral(u) || isTriple(u);
|
|
646
|
+
/**
|
|
647
|
+
* Whether a literal is a (possibly directional) language-tagged string.
|
|
648
|
+
*
|
|
649
|
+
* @since 0.1.0
|
|
650
|
+
* @category guards
|
|
651
|
+
*/
|
|
652
|
+
const isLanguageTagged = (self) => self.language !== "";
|
|
653
|
+
const blankNodesIn = Match.type().pipe(Match.tag("BlankNode", () => true), Match.tag("Triple", (self) => hasBlankNodes(self.subject) || hasBlankNodes(self.object)), Match.tag("Quad", (self) => hasBlankNodes(self.subject) || hasBlankNodes(self.object) || hasBlankNodes(self.graph)), Match.orElse(() => false));
|
|
654
|
+
/**
|
|
655
|
+
* Whether a triple or quad mentions a blank node anywhere, including inside
|
|
656
|
+
* nested triple terms.
|
|
657
|
+
*
|
|
658
|
+
* @since 0.1.0
|
|
659
|
+
* @category predicates
|
|
660
|
+
*/
|
|
661
|
+
const hasBlankNodes = (self) => blankNodesIn(self);
|
|
662
|
+
const groundCheck = Match.type().pipe(Match.tag("Variable", () => false), Match.tag("Triple", (self) => isGround(self.subject) && isGround(self.predicate) && isGround(self.object)), Match.tag("Quad", (self) => isGround(self.subject) && isGround(self.predicate) && isGround(self.object) && isGround(self.graph)), Match.orElse(() => true));
|
|
663
|
+
/**
|
|
664
|
+
* Whether a term or quad is free of variables.
|
|
665
|
+
*
|
|
666
|
+
* @since 0.1.0
|
|
667
|
+
* @category predicates
|
|
668
|
+
*/
|
|
669
|
+
const isGround = (self) => groundCheck(self);
|
|
670
|
+
function mapTerms(self, f) {
|
|
671
|
+
const go = (term) => isTripleTerm(term) ? goTriple(term) : f(term);
|
|
672
|
+
const goTriple = (term) => {
|
|
673
|
+
const s = subjectOr(go(term.subject), term.subject);
|
|
674
|
+
const p = predicateOr(go(term.predicate), term.predicate);
|
|
675
|
+
const o = objectOr(go(term.object), term.object);
|
|
676
|
+
return s === term.subject && p === term.predicate && o === term.object ? term : new Triple(s, p, o);
|
|
677
|
+
};
|
|
678
|
+
if (isTripleTerm(self)) return goTriple(self);
|
|
679
|
+
const s = subjectOr(go(self.subject), self.subject);
|
|
680
|
+
const p = predicateOr(go(self.predicate), self.predicate);
|
|
681
|
+
const o = objectOr(go(self.object), self.object);
|
|
682
|
+
const g = graphOr(go(self.graph), self.graph);
|
|
683
|
+
return s === self.subject && p === self.predicate && o === self.object && g === self.graph ? self : new Quad(s, p, o, g);
|
|
684
|
+
}
|
|
685
|
+
const isTripleTerm = (t) => isTagged(t, "Triple");
|
|
686
|
+
const isResourceTerm = (t) => isTagged(t, "NamedNode") || isTagged(t, "BlankNode");
|
|
687
|
+
const subjectOr = (t, fallback) => isResourceTerm(t) || isTripleTerm(t) ? t : fallback;
|
|
688
|
+
const predicateOr = (t, fallback) => isTagged(t, "NamedNode") ? t : fallback;
|
|
689
|
+
const objectOr = (t, fallback) => isResourceTerm(t) || isTripleTerm(t) || isTagged(t, "Literal") ? t : fallback;
|
|
690
|
+
const graphOr = (t, fallback) => isResourceTerm(t) || isTagged(t, "DefaultGraph") ? t : fallback;
|
|
691
|
+
/**
|
|
692
|
+
* A total ordering of terms suitable for deterministic serialisation:
|
|
693
|
+
* default graph < blank nodes < IRIs < literals < triple terms < variables,
|
|
694
|
+
* then by canonical key.
|
|
695
|
+
*
|
|
696
|
+
* @since 0.1.0
|
|
697
|
+
* @category ordering
|
|
698
|
+
*/
|
|
699
|
+
const compare = (a, b) => {
|
|
700
|
+
const ra = rank[a._tag];
|
|
701
|
+
const rb = rank[b._tag];
|
|
702
|
+
if (ra !== rb) return ra < rb ? -1 : 1;
|
|
703
|
+
return a.key < b.key ? -1 : a.key > b.key ? 1 : 0;
|
|
704
|
+
};
|
|
705
|
+
const rank = {
|
|
706
|
+
DefaultGraph: 0,
|
|
707
|
+
BlankNode: 1,
|
|
708
|
+
NamedNode: 2,
|
|
709
|
+
Literal: 3,
|
|
710
|
+
Triple: 4,
|
|
711
|
+
Variable: 5
|
|
712
|
+
};
|
|
713
|
+
/**
|
|
714
|
+
* Orders quads by graph, subject, predicate, object.
|
|
715
|
+
*
|
|
716
|
+
* @since 0.1.0
|
|
717
|
+
* @category ordering
|
|
718
|
+
*/
|
|
719
|
+
const compareQuads = (a, b) => compare(a.graph, b.graph) || compare(a.subject, b.subject) || compare(a.predicate, b.predicate) || compare(a.object, b.object);
|
|
720
|
+
/**
|
|
721
|
+
* The `compare` ordering of terms as an Effect `Order`, for `Array.sort`,
|
|
722
|
+
* `Order.mapInput` and the other `Order` combinators.
|
|
723
|
+
*
|
|
724
|
+
* @since 0.1.0
|
|
725
|
+
* @category ordering
|
|
726
|
+
*/
|
|
727
|
+
const Order = order.make(compare);
|
|
728
|
+
/**
|
|
729
|
+
* The `compareQuads` ordering (graph, subject, predicate, object) as an
|
|
730
|
+
* Effect `Order`.
|
|
731
|
+
*
|
|
732
|
+
* @since 0.1.0
|
|
733
|
+
* @category ordering
|
|
734
|
+
*/
|
|
735
|
+
const QuadOrder = order.make(compareQuads);
|
|
736
|
+
/**
|
|
737
|
+
* Term equality as an Effect `Equivalence`: the same as `Equal.equals`
|
|
738
|
+
* (equal canonical keys).
|
|
739
|
+
*
|
|
740
|
+
* @since 0.1.0
|
|
741
|
+
* @category equivalence
|
|
742
|
+
*/
|
|
743
|
+
const Equivalence = equivalence.make((a, b) => a.key === b.key);
|
|
744
|
+
/**
|
|
745
|
+
* Quad equality as an Effect `Equivalence`: the same as `Equal.equals`.
|
|
746
|
+
*
|
|
747
|
+
* @since 0.1.0
|
|
748
|
+
* @category equivalence
|
|
749
|
+
*/
|
|
750
|
+
const QuadEquivalence = equivalence.make((a, b) => a.key === b.key);
|
|
751
|
+
const escapeChar = Match.type().pipe(Match.when("\"", () => "\\\""), Match.when("\\", () => "\\\\"), Match.when("\n", () => "\\n"), Match.when("\r", () => "\\r"), Match.when(" ", () => "\\t"), Match.when("\b", () => "\\b"), Match.when("\f", () => "\\f"), Match.orElse((ch) => {
|
|
752
|
+
const code = ch.codePointAt(0) ?? 0;
|
|
753
|
+
return code < 32 || code === 127 || code === 65534 || code === 65535 ? `\\u${code.toString(16).toUpperCase().padStart(4, "0")}` : ch;
|
|
754
|
+
}));
|
|
755
|
+
/**
|
|
756
|
+
* Escapes a string for use inside a double-quoted N-Triples / Turtle string
|
|
757
|
+
* literal, using the canonical N-Triples escapes.
|
|
758
|
+
*
|
|
759
|
+
* @since 0.1.0
|
|
760
|
+
* @category formatting
|
|
761
|
+
*/
|
|
762
|
+
const escapeString = (value) => {
|
|
763
|
+
if (!/["\\\u0000-\u001f\u007f\ufffe\uffff]/.test(value)) return value;
|
|
764
|
+
return value.replace(/[\s\S]/gu, (ch) => escapeChar(ch));
|
|
765
|
+
};
|
|
766
|
+
const IRI_UNSAFE = /[\u0000- <>"{}|^`\\]/;
|
|
767
|
+
const IRI_UNSAFE_ALL = /[\u0000- <>"{}|^`\\]/g;
|
|
768
|
+
/**
|
|
769
|
+
* Escapes characters that are not allowed inside `<...>` IRI references.
|
|
770
|
+
*
|
|
771
|
+
* @since 0.1.0
|
|
772
|
+
* @category formatting
|
|
773
|
+
*/
|
|
774
|
+
const escapeIri = (value) => IRI_UNSAFE.test(value) ? value.replace(IRI_UNSAFE_ALL, (ch) => `\\u${ch.charCodeAt(0).toString(16).toUpperCase().padStart(4, "0")}`) : value;
|
|
775
|
+
const namedNodeToJson = (n) => ({
|
|
776
|
+
type: "uri",
|
|
777
|
+
value: n.value
|
|
778
|
+
});
|
|
779
|
+
const blankNodeToJson = (b) => ({
|
|
780
|
+
type: "bnode",
|
|
781
|
+
value: b.value
|
|
782
|
+
});
|
|
783
|
+
const resourceToJson = Match.type().pipe(Match.tag("NamedNode", namedNodeToJson), Match.tag("BlankNode", blankNodeToJson), Match.exhaustive);
|
|
784
|
+
const literalToJson = (l) => {
|
|
785
|
+
if (l.language !== "") return l.direction === void 0 ? {
|
|
786
|
+
type: "literal",
|
|
787
|
+
value: l.value,
|
|
788
|
+
"xml:lang": l.language
|
|
789
|
+
} : {
|
|
790
|
+
type: "literal",
|
|
791
|
+
value: l.value,
|
|
792
|
+
"xml:lang": l.language,
|
|
793
|
+
"its:dir": l.direction
|
|
794
|
+
};
|
|
795
|
+
return l.datatype.value === "http://www.w3.org/2001/XMLSchema#string" ? {
|
|
796
|
+
type: "literal",
|
|
797
|
+
value: l.value
|
|
798
|
+
} : {
|
|
799
|
+
type: "literal",
|
|
800
|
+
value: l.value,
|
|
801
|
+
datatype: l.datatype.value
|
|
802
|
+
};
|
|
803
|
+
};
|
|
804
|
+
const tripleToJson = (x) => ({
|
|
805
|
+
type: "triple",
|
|
806
|
+
value: {
|
|
807
|
+
subject: toJson(x.subject),
|
|
808
|
+
predicate: namedNodeToJson(x.predicate),
|
|
809
|
+
object: toJson(x.object)
|
|
810
|
+
}
|
|
811
|
+
});
|
|
812
|
+
const variableToJson = (v) => ({
|
|
813
|
+
type: "variable",
|
|
814
|
+
value: v.value
|
|
815
|
+
});
|
|
816
|
+
const defaultGraphToJson = () => ({ type: "default-graph" });
|
|
817
|
+
const groundToJson = Match.type().pipe(Match.tag("NamedNode", namedNodeToJson), Match.tag("BlankNode", blankNodeToJson), Match.tag("Literal", literalToJson), Match.tag("Triple", tripleToJson), Match.exhaustive);
|
|
818
|
+
const termToJson = Match.type().pipe(Match.tag("Variable", variableToJson), Match.tag("DefaultGraph", defaultGraphToJson), Match.orElse(groundToJson));
|
|
819
|
+
function toJson(self) {
|
|
820
|
+
return termToJson(self);
|
|
821
|
+
}
|
|
822
|
+
const literalFromJson = (l) => {
|
|
823
|
+
const lang = l["xml:lang"];
|
|
824
|
+
if (lang !== void 0 && lang !== "") {
|
|
825
|
+
const dir = l["its:dir"];
|
|
826
|
+
return dir === "ltr" || dir === "rtl" ? literal(l.value, {
|
|
827
|
+
language: lang,
|
|
828
|
+
direction: dir
|
|
829
|
+
}) : literal(l.value, lang);
|
|
830
|
+
}
|
|
831
|
+
return l.datatype === void 0 ? literal(l.value) : literal(l.value, namedNode(l.datatype));
|
|
832
|
+
};
|
|
833
|
+
const tripleFromJson = (x) => new Triple(fromJson(x.value.subject), fromJson(x.value.predicate), fromJson(x.value.object));
|
|
834
|
+
const groundFromJson = Match.type().pipe(Match.when({ type: "uri" }, (u) => namedNode(u.value)), Match.when({ type: "bnode" }, (b) => blankNode(b.value)), Match.when({ type: Match.is("literal", "typed-literal") }, literalFromJson), Match.when({ type: "triple" }, tripleFromJson), Match.exhaustive);
|
|
835
|
+
const termFromJson = Match.type().pipe(Match.when({ type: "variable" }, (v) => variable(v.value)), Match.when({ type: "default-graph" }, () => defaultGraph), Match.orElse(groundFromJson));
|
|
836
|
+
function fromJson(json) {
|
|
837
|
+
return termFromJson(json);
|
|
838
|
+
}
|
|
839
|
+
const subjectToJson = Match.type().pipe(Match.tag("Triple", tripleToJson), Match.orElse(resourceToJson));
|
|
840
|
+
/**
|
|
841
|
+
* Encodes a quad as JSON; `graph` is omitted for the default graph.
|
|
842
|
+
*
|
|
843
|
+
* @since 0.1.0
|
|
844
|
+
* @category json
|
|
845
|
+
*/
|
|
846
|
+
const quadToJson = (self) => {
|
|
847
|
+
const subject = subjectToJson(self.subject);
|
|
848
|
+
const predicate = namedNodeToJson(self.predicate);
|
|
849
|
+
const object = groundToJson(self.object);
|
|
850
|
+
return Match.value(self.graph).pipe(Match.tag("DefaultGraph", () => ({
|
|
851
|
+
subject,
|
|
852
|
+
predicate,
|
|
853
|
+
object
|
|
854
|
+
})), Match.orElse((graph) => ({
|
|
855
|
+
subject,
|
|
856
|
+
predicate,
|
|
857
|
+
object,
|
|
858
|
+
graph: resourceToJson(graph)
|
|
859
|
+
})));
|
|
860
|
+
};
|
|
861
|
+
const resourceFromJson = (json) => json.type === "uri" ? namedNode(json.value) : blankNode(json.value);
|
|
862
|
+
/**
|
|
863
|
+
* Decodes a JSON quad; a missing `graph` is the default graph. Triple terms
|
|
864
|
+
* are trusted as in `fromJson`.
|
|
865
|
+
*
|
|
866
|
+
* @since 0.1.0
|
|
867
|
+
* @category json
|
|
868
|
+
*/
|
|
869
|
+
const quadFromJson = (json) => new Quad(json.subject.type === "triple" ? tripleFromJson(json.subject) : resourceFromJson(json.subject), namedNode(json.predicate.value), groundFromJson(json.object), json.graph === void 0 ? defaultGraph : resourceFromJson(json.graph));
|
|
870
|
+
/**
|
|
871
|
+
* Whether every triple term inside a term or quad, at any depth, has a
|
|
872
|
+
* subject (IRI, blank node or triple term), an IRI predicate and an object
|
|
873
|
+
* (anything but a variable or the default graph) — always true for terms
|
|
874
|
+
* built with `triple` and `quad`.
|
|
875
|
+
*
|
|
876
|
+
* @since 0.1.0
|
|
877
|
+
* @category predicates
|
|
878
|
+
*/
|
|
879
|
+
const isWellFormed = (self) => wellFormedCheck(self);
|
|
880
|
+
const wellFormedCheck = Match.type().pipe(Match.tag("Quad", (q) => isWellFormed(q.subject) && isWellFormed(q.object)), Match.tag("Triple", (x) => isSubject(x.subject) && isNamedNode(x.predicate) && isObject(x.object) && isWellFormed(x.subject) && isWellFormed(x.object)), Match.orElse(() => true));
|
|
881
|
+
/**
|
|
882
|
+
* The `toCodecJson` (and `toCodecArbitrary`) link of a term declaration, to a
|
|
883
|
+
* `TermJson`-shaped schema: decodes through `fromJson` and fails unless the
|
|
884
|
+
* result is the declared kind and well formed.
|
|
885
|
+
*/
|
|
886
|
+
const jsonLink = (json, is, encode, expected) => () => Schema.link()(json, SchemaTransformation.transformEffect({
|
|
887
|
+
decode: (j, options) => {
|
|
888
|
+
const term = fromJson(j);
|
|
889
|
+
return is(term) && isWellFormed(term) ? Effect.succeed(term) : Effect.fail(new SchemaIssue.InvalidValue({ expected }, j, options));
|
|
890
|
+
},
|
|
891
|
+
encode: (term) => Effect.succeed(encode(term))
|
|
892
|
+
}));
|
|
893
|
+
/** The `toCodecJson` / `toCodecArbitrary` link of `QuadSchema`. */
|
|
894
|
+
const quadLink = (json) => () => Schema.link()(json, SchemaTransformation.transformEffect({
|
|
895
|
+
decode: (j, options) => {
|
|
896
|
+
const q = quadFromJson(j);
|
|
897
|
+
return isWellFormed(q) ? Effect.succeed(q) : Effect.fail(new SchemaIssue.InvalidValue({ expected: "a well-formed quad" }, j, options));
|
|
898
|
+
},
|
|
899
|
+
encode: (q) => Effect.succeed(quadToJson(q))
|
|
900
|
+
}));
|
|
901
|
+
/**
|
|
902
|
+
* Schema of an IRI term; its JSON codec is `TermJson.NamedNode`.
|
|
903
|
+
*
|
|
904
|
+
* @since 0.1.0
|
|
905
|
+
* @category schemas
|
|
906
|
+
*/
|
|
907
|
+
const NamedNodeSchema = Schema.declare(isNamedNode, {
|
|
908
|
+
identifier: "NamedNode",
|
|
909
|
+
toCodecJson: jsonLink(NamedNodeSchema$1, isNamedNode, namedNodeToJson, "an IRI"),
|
|
910
|
+
toCodecArbitrary: jsonLink(representations.NamedNode, isNamedNode, namedNodeToJson, "an IRI")
|
|
911
|
+
});
|
|
912
|
+
/**
|
|
913
|
+
* Schema of a blank node; its JSON codec is `TermJson.BlankNode`.
|
|
914
|
+
*
|
|
915
|
+
* @since 0.1.0
|
|
916
|
+
* @category schemas
|
|
917
|
+
*/
|
|
918
|
+
const BlankNodeSchema = Schema.declare(isBlankNode, {
|
|
919
|
+
identifier: "BlankNode",
|
|
920
|
+
toCodecJson: jsonLink(BlankNodeSchema$1, isBlankNode, blankNodeToJson, "a blank node"),
|
|
921
|
+
toCodecArbitrary: jsonLink(representations.BlankNode, isBlankNode, blankNodeToJson, "a blank node")
|
|
922
|
+
});
|
|
923
|
+
/**
|
|
924
|
+
* Schema of a literal; its JSON codec is `TermJson.Literal`.
|
|
925
|
+
*
|
|
926
|
+
* @since 0.1.0
|
|
927
|
+
* @category schemas
|
|
928
|
+
*/
|
|
929
|
+
const LiteralSchema = Schema.declare(isLiteral, {
|
|
930
|
+
identifier: "Literal",
|
|
931
|
+
toCodecJson: jsonLink(LiteralSchema$1, isLiteral, literalToJson, "a literal"),
|
|
932
|
+
toCodecArbitrary: jsonLink(representations.Literal, isLiteral, literalToJson, "a literal")
|
|
933
|
+
});
|
|
934
|
+
/**
|
|
935
|
+
* Schema of a variable; its JSON codec is `TermJson.Variable`.
|
|
936
|
+
*
|
|
937
|
+
* @since 0.1.0
|
|
938
|
+
* @category schemas
|
|
939
|
+
*/
|
|
940
|
+
const VariableSchema = Schema.declare(isVariable, {
|
|
941
|
+
identifier: "Variable",
|
|
942
|
+
toCodecJson: jsonLink(VariableSchema$1, isVariable, variableToJson, "a variable"),
|
|
943
|
+
toCodecArbitrary: jsonLink(representations.Variable, isVariable, variableToJson, "a variable")
|
|
944
|
+
});
|
|
945
|
+
/**
|
|
946
|
+
* Schema of a triple term; its JSON codec is `TermJson.Triple`, and decoding rejects positions that don't fit RDF.
|
|
947
|
+
*
|
|
948
|
+
* @since 0.1.0
|
|
949
|
+
* @category schemas
|
|
950
|
+
*/
|
|
951
|
+
const TripleSchema = Schema.declare(isTriple, {
|
|
952
|
+
identifier: "Triple",
|
|
953
|
+
toCodecJson: jsonLink(TripleSchema$1, isTriple, tripleToJson, "a well-formed triple term"),
|
|
954
|
+
toCodecArbitrary: jsonLink(representations.Triple, isTriple, tripleToJson, "a well-formed triple term")
|
|
955
|
+
});
|
|
956
|
+
/**
|
|
957
|
+
* Schema of a quad; its JSON codec is `TermJson.Quad`, with `graph` omitted for the default graph.
|
|
958
|
+
*
|
|
959
|
+
* @since 0.1.0
|
|
960
|
+
* @category schemas
|
|
961
|
+
*/
|
|
962
|
+
const QuadSchema = Schema.declare(isQuad, {
|
|
963
|
+
identifier: "Quad",
|
|
964
|
+
toCodecJson: quadLink(QuadSchema$1),
|
|
965
|
+
toCodecArbitrary: quadLink(representations.Quad)
|
|
966
|
+
});
|
|
967
|
+
/**
|
|
968
|
+
* Schema of any term; its JSON codec is `TermJson.Term`.
|
|
969
|
+
*
|
|
970
|
+
* @since 0.1.0
|
|
971
|
+
* @category schemas
|
|
972
|
+
*/
|
|
973
|
+
const TermSchema = Schema.declare(isTerm, {
|
|
974
|
+
identifier: "Term",
|
|
975
|
+
toCodecJson: jsonLink(TermSchema$1, isTerm, termToJson, "a well-formed term"),
|
|
976
|
+
toCodecArbitrary: jsonLink(representations.Term, isTerm, termToJson, "a well-formed term")
|
|
977
|
+
});
|
|
978
|
+
/**
|
|
979
|
+
* Schema of a ground term (no variables or default graph); its JSON codec is `TermJson.GroundTerm`.
|
|
980
|
+
*
|
|
981
|
+
* @since 0.1.0
|
|
982
|
+
* @category schemas
|
|
983
|
+
*/
|
|
984
|
+
const GroundTermSchema = Schema.declare(isGroundTerm, {
|
|
985
|
+
identifier: "GroundTerm",
|
|
986
|
+
toCodecJson: jsonLink(GroundTermSchema$1, isGroundTerm, groundToJson, "a well-formed ground term"),
|
|
987
|
+
toCodecArbitrary: jsonLink(representations.GroundTerm, isGroundTerm, groundToJson, "a well-formed ground term")
|
|
988
|
+
});
|
|
989
|
+
export { quadFromJson as $, escapeString as A, isNamedNode as B, VariableSchema as C, compareQuads as D, compare as E, isGraph as F, isTerm as G, isQuad as H, isGround as I, isWellFormed as J, isTriple as K, isGroundTerm as L, hasBlankNodes as M, isBlankNode as N, defaultGraph as O, isDefaultGraph as P, quad as Q, isLanguageTagged as R, Variable as S, blankNode as T, isResource as U, isObject as V, isSubject as W, mapTerms as X, literal as Y, namedNode as Z, TermSchema as _, GroundTermSchema as a, TripleSchema as b, NamedNode as c, Quad as d, quadToJson as et, QuadEquivalence as f, RDF_LANG_STRING as g, RDF_DIR_LANG_STRING as h, Equivalence as i, variable as it, fromJson as j, escapeIri as k, NamedNodeSchema as l, QuadSchema as m, BlankNodeSchema as n, toQuad as nt, Literal as o, QuadOrder as p, isVariable as q, DefaultGraph as r, triple as rt, LiteralSchema as s, BlankNode as t, toJson as tt, Order as u, Term_exports as v, XSD_STRING as w, TypeId as x, Triple as y, isLiteral as z };
|
|
990
|
+
|
|
991
|
+
//# sourceMappingURL=Term-CFLG1qu4.mjs.map
|