@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,782 @@
|
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
|
|
2
|
+
import { B as isNamedNode, D as compareQuads, O as defaultGraph, Q as quad, W as isSubject, d as Quad, m as QuadSchema, q as isVariable, y as Triple, z as isLiteral } from "./Term-CFLG1qu4.mjs";
|
|
3
|
+
import { t as loop } from "./loop-DZ2hXlr_.mjs";
|
|
4
|
+
import { i as rdf } from "./Vocab-DceKywpq.mjs";
|
|
5
|
+
import * as Arr from "effect/Array";
|
|
6
|
+
import { dual } from "effect/Function";
|
|
7
|
+
import * as Equal from "effect/Equal";
|
|
8
|
+
import * as Graph from "effect/Graph";
|
|
9
|
+
import * as Hash from "effect/Hash";
|
|
10
|
+
import * as HashMap from "effect/HashMap";
|
|
11
|
+
import * as HashSet from "effect/HashSet";
|
|
12
|
+
import { NodeInspectSymbol } from "effect/Inspectable";
|
|
13
|
+
import * as Iterable from "effect/Iterable";
|
|
14
|
+
import * as MutableHashMap from "effect/MutableHashMap";
|
|
15
|
+
import * as MutableHashSet from "effect/MutableHashSet";
|
|
16
|
+
import * as Option from "effect/Option";
|
|
17
|
+
import { pipeArguments } from "effect/Pipeable";
|
|
18
|
+
import { hasProperty } from "effect/Predicate";
|
|
19
|
+
import * as Schema from "effect/Schema";
|
|
20
|
+
import * as SchemaTransformation from "effect/SchemaTransformation";
|
|
21
|
+
// src/internal/pending.ts
|
|
22
|
+
/** @internal */
|
|
23
|
+
const pendingQuads = /* @__PURE__ */ new WeakMap();
|
|
24
|
+
/**
|
|
25
|
+
* How many statements a dataset was made from: its size, or for one not yet
|
|
26
|
+
* built, the number of quads given (counting any duplicates).
|
|
27
|
+
*
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
const statementCount = (dataset) => pendingQuads.get(dataset)?.length ?? dataset.size;
|
|
31
|
+
// src/Dataset.ts
|
|
32
|
+
/**
|
|
33
|
+
* Immutable, indexed RDF datasets.
|
|
34
|
+
*
|
|
35
|
+
* A `Dataset` is a persistent set of quads backed by Effect `HashMap`s, with
|
|
36
|
+
* per-position indexes so that pattern matching only scans the most
|
|
37
|
+
* selective index. Datasets implement `Equal` (set equality — use
|
|
38
|
+
* `Isomorphism.isomorphic` for blank-node-aware comparison), `Hash`,
|
|
39
|
+
* `Iterable<Quad>` and `Pipeable`.
|
|
40
|
+
*
|
|
41
|
+
* @since 0.1.0
|
|
42
|
+
*/
|
|
43
|
+
var Dataset_exports = /* @__PURE__ */ __exportAll({
|
|
44
|
+
DatasetSchema: () => DatasetSchema,
|
|
45
|
+
TypeId: () => TypeId,
|
|
46
|
+
add: () => add,
|
|
47
|
+
addAll: () => addAll,
|
|
48
|
+
count: () => count,
|
|
49
|
+
difference: () => difference,
|
|
50
|
+
empty: () => empty,
|
|
51
|
+
every: () => every,
|
|
52
|
+
filter: () => filter,
|
|
53
|
+
filterMatches: () => filterMatches,
|
|
54
|
+
flatMap: () => flatMap,
|
|
55
|
+
fromGraph: () => fromGraph,
|
|
56
|
+
fromIterable: () => fromIterable,
|
|
57
|
+
fromTriples: () => fromTriples,
|
|
58
|
+
graph: () => graph,
|
|
59
|
+
graphs: () => graphs,
|
|
60
|
+
has: () => has,
|
|
61
|
+
intersection: () => intersection,
|
|
62
|
+
isDataset: () => isDataset,
|
|
63
|
+
isEmpty: () => isEmpty,
|
|
64
|
+
isSubset: () => isSubset,
|
|
65
|
+
list: () => list,
|
|
66
|
+
make: () => make,
|
|
67
|
+
map: () => map,
|
|
68
|
+
match: () => match,
|
|
69
|
+
mutate: () => mutate,
|
|
70
|
+
objectOf: () => objectOf,
|
|
71
|
+
objects: () => objects,
|
|
72
|
+
objectsOf: () => objectsOf,
|
|
73
|
+
predicates: () => predicates,
|
|
74
|
+
reduce: () => reduce,
|
|
75
|
+
remove: () => remove,
|
|
76
|
+
removeMatches: () => removeMatches,
|
|
77
|
+
some: () => some,
|
|
78
|
+
subjects: () => subjects,
|
|
79
|
+
subjectsOf: () => subjectsOf,
|
|
80
|
+
toArray: () => toArray,
|
|
81
|
+
toGraph: () => toGraph,
|
|
82
|
+
toNQuads: () => toNQuads,
|
|
83
|
+
toSortedArray: () => toSortedArray,
|
|
84
|
+
triples: () => triples,
|
|
85
|
+
union: () => union,
|
|
86
|
+
withGraph: () => withGraph
|
|
87
|
+
});
|
|
88
|
+
/**
|
|
89
|
+
* @since 0.1.0
|
|
90
|
+
* @category symbols
|
|
91
|
+
*/
|
|
92
|
+
const TypeId = Symbol.for("@thomasfosterau/effect-rdf/Dataset");
|
|
93
|
+
/** `isDataset` for a value already known to be an object. */
|
|
94
|
+
const hasDatasetTypeId = (u) => TypeId in u;
|
|
95
|
+
/**
|
|
96
|
+
* The indexes of the datasets that have been matched against, built on
|
|
97
|
+
* first use: parsing a document and serializing it never pays for them. A
|
|
98
|
+
* `WeakMap` rather than a field, so a dataset's own properties do not depend
|
|
99
|
+
* on whether it has been matched.
|
|
100
|
+
*/
|
|
101
|
+
const indexes = /* @__PURE__ */ new WeakMap();
|
|
102
|
+
/**
|
|
103
|
+
* A parser's dataset is often only iterated or serialized once, or not at
|
|
104
|
+
* all, so `fromIterable` keeps its quads (`pendingQuads`) and the persistent
|
|
105
|
+
* map is built the first time it is needed (a lookup, a match or an update),
|
|
106
|
+
* with the same contents.
|
|
107
|
+
*/
|
|
108
|
+
const pending = pendingQuads;
|
|
109
|
+
/**
|
|
110
|
+
* The distinct quads of the datasets made by `fromIterable`, in the order
|
|
111
|
+
* first given: what such a dataset iterates (before and after its quad set
|
|
112
|
+
* is built), so that iterating, counting or serializing it never builds the
|
|
113
|
+
* persistent map.
|
|
114
|
+
*/
|
|
115
|
+
const ordered = /* @__PURE__ */ new WeakMap();
|
|
116
|
+
/** Combines two hashes (a multiply-rotate step); `distinct` finishes them with `avalanche`. */
|
|
117
|
+
const mix = (a, b) => Math.imul(a << 5 | a >>> 27, 2654435761) ^ b;
|
|
118
|
+
/** The final mixing of a hash (MurmurHash3's), so that its low bits pick table slots well. */
|
|
119
|
+
const avalanche = (h) => {
|
|
120
|
+
let x = Math.imul(h ^ h >>> 16, 2246822507);
|
|
121
|
+
x = Math.imul(x ^ x >>> 13, 3266489909);
|
|
122
|
+
return x ^ x >>> 16;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* A hash of a subject or object (equal terms hash equally) that builds no
|
|
126
|
+
* key: a term's own hash, which IRIs, blank nodes and literals compute from
|
|
127
|
+
* their values and cache, and for a triple term, its parts'.
|
|
128
|
+
*/
|
|
129
|
+
const termHash = (t) => t instanceof Triple ? mix(mix(termHash(t.subject), t.predicate[Hash.symbol]()), termHash(t.object)) : t[Hash.symbol]();
|
|
130
|
+
/**
|
|
131
|
+
* A quad's hash for `distinct`: its predicate and graph, usually shared
|
|
132
|
+
* nodes, by their own cached hashes; its subject and object by `termHash`.
|
|
133
|
+
* Each position is hashed the same way for every quad, so equal quads hash
|
|
134
|
+
* equally.
|
|
135
|
+
*/
|
|
136
|
+
const quadHash = (q) => mix(mix(mix(termHash(q.subject), q.predicate[Hash.symbol]()), termHash(q.object)), q.graph[Hash.symbol]());
|
|
137
|
+
/**
|
|
138
|
+
* The distinct quads of `quads` (equal keys), keeping the first of each in
|
|
139
|
+
* order: open addressing over their structural hashes, comparing keys only
|
|
140
|
+
* when two hashes are equal, so that no key is built for quads that differ.
|
|
141
|
+
*/
|
|
142
|
+
const distinct = (quads) => {
|
|
143
|
+
const n = quads.length;
|
|
144
|
+
if (n < 2) return quads;
|
|
145
|
+
const mask = 2 ** Math.ceil(Math.log2(n * 2)) - 1;
|
|
146
|
+
const hashes = new Int32Array(mask + 1);
|
|
147
|
+
const slots = new Int32Array(mask + 1);
|
|
148
|
+
const out = [];
|
|
149
|
+
quads.forEach((q, k) => {
|
|
150
|
+
const hash = avalanche(quadHash(q));
|
|
151
|
+
let i = hash & mask;
|
|
152
|
+
let duplicate = false;
|
|
153
|
+
loop(() => {
|
|
154
|
+
const slot = slots[i] ?? 0;
|
|
155
|
+
if (slot === 0) return false;
|
|
156
|
+
if (hashes[i] === hash && (quads[slot - 1] ?? q).key === q.key) {
|
|
157
|
+
duplicate = true;
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
i = i + 1 & mask;
|
|
161
|
+
return true;
|
|
162
|
+
});
|
|
163
|
+
if (duplicate) return;
|
|
164
|
+
hashes[i] = hash;
|
|
165
|
+
slots[i] = k + 1;
|
|
166
|
+
out.push(q);
|
|
167
|
+
});
|
|
168
|
+
return out.length === n ? quads : out;
|
|
169
|
+
};
|
|
170
|
+
/** The distinct quads, in order, of a dataset made by `fromIterable` (none for any other). */
|
|
171
|
+
const orderedOf = (self) => {
|
|
172
|
+
const known = ordered.get(self);
|
|
173
|
+
if (known !== void 0) return Option.some(known);
|
|
174
|
+
const given = pending.get(self);
|
|
175
|
+
if (given === void 0) return Option.none();
|
|
176
|
+
const quads = distinct(given);
|
|
177
|
+
ordered.set(self, quads);
|
|
178
|
+
return Option.some(quads);
|
|
179
|
+
};
|
|
180
|
+
/** Builds a pending dataset's quad set, making it like any other dataset. */
|
|
181
|
+
const materialize = (self) => {
|
|
182
|
+
const quads = buildQuads(Option.getOrElse(orderedOf(self), () => []));
|
|
183
|
+
pending.delete(self);
|
|
184
|
+
Object.defineProperty(self, "quads", {
|
|
185
|
+
value: quads,
|
|
186
|
+
enumerable: true
|
|
187
|
+
});
|
|
188
|
+
return quads;
|
|
189
|
+
};
|
|
190
|
+
const Proto = {
|
|
191
|
+
[TypeId]: TypeId,
|
|
192
|
+
get quads() {
|
|
193
|
+
return materialize(this);
|
|
194
|
+
},
|
|
195
|
+
get size() {
|
|
196
|
+
const size = Option.getOrElse(orderedOf(this), () => []).length;
|
|
197
|
+
Object.defineProperty(this, "size", {
|
|
198
|
+
value: size,
|
|
199
|
+
enumerable: true
|
|
200
|
+
});
|
|
201
|
+
return size;
|
|
202
|
+
},
|
|
203
|
+
[Symbol.iterator]() {
|
|
204
|
+
return Option.getOrElse(orderedOf(this), () => HashMap.values(this.quads))[Symbol.iterator]();
|
|
205
|
+
},
|
|
206
|
+
[Equal.symbol](that) {
|
|
207
|
+
if (!hasDatasetTypeId(that) || that.size !== this.size) return false;
|
|
208
|
+
const theirs = that.quads;
|
|
209
|
+
return HashMap.every(this.quads, (_quad, key) => HashMap.has(theirs, key));
|
|
210
|
+
},
|
|
211
|
+
[Hash.symbol]() {
|
|
212
|
+
return Hash.optimize(Iterable.reduce(this, 0, (h, q) => h + Hash.hash(q) | 0));
|
|
213
|
+
},
|
|
214
|
+
pipe() {
|
|
215
|
+
return pipeArguments(this, arguments);
|
|
216
|
+
},
|
|
217
|
+
toString() {
|
|
218
|
+
return toNQuads(this);
|
|
219
|
+
},
|
|
220
|
+
toJSON() {
|
|
221
|
+
return {
|
|
222
|
+
_id: "Dataset",
|
|
223
|
+
size: this.size,
|
|
224
|
+
quads: Array.from(this, (q) => q.toString())
|
|
225
|
+
};
|
|
226
|
+
},
|
|
227
|
+
[NodeInspectSymbol]() {
|
|
228
|
+
return this.toJSON();
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
const makeDataset = (quads) => {
|
|
232
|
+
return Object.create(Proto, {
|
|
233
|
+
quads: {
|
|
234
|
+
value: quads,
|
|
235
|
+
enumerable: true
|
|
236
|
+
},
|
|
237
|
+
size: {
|
|
238
|
+
value: HashMap.size(quads),
|
|
239
|
+
enumerable: true
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
};
|
|
243
|
+
const emptyIndex = HashMap.empty();
|
|
244
|
+
const emptySpog = [
|
|
245
|
+
emptyIndex,
|
|
246
|
+
emptyIndex,
|
|
247
|
+
emptyIndex,
|
|
248
|
+
emptyIndex
|
|
249
|
+
];
|
|
250
|
+
/**
|
|
251
|
+
* @since 0.1.0
|
|
252
|
+
* @category guards
|
|
253
|
+
*/
|
|
254
|
+
const isDataset = (u) => hasProperty(u, TypeId);
|
|
255
|
+
/**
|
|
256
|
+
* @since 0.1.0
|
|
257
|
+
* @category constructors
|
|
258
|
+
*/
|
|
259
|
+
const empty = makeDataset(HashMap.empty());
|
|
260
|
+
const transients = () => MutableHashMap.empty();
|
|
261
|
+
const positions = (q) => [
|
|
262
|
+
q.subject.key,
|
|
263
|
+
q.predicate.key,
|
|
264
|
+
q.object.key,
|
|
265
|
+
q.graph.key
|
|
266
|
+
];
|
|
267
|
+
const indexBatch = (spog) => {
|
|
268
|
+
const idx = [
|
|
269
|
+
HashMap.beginMutation(spog[0]),
|
|
270
|
+
HashMap.beginMutation(spog[1]),
|
|
271
|
+
HashMap.beginMutation(spog[2]),
|
|
272
|
+
HashMap.beginMutation(spog[3])
|
|
273
|
+
];
|
|
274
|
+
const open = [
|
|
275
|
+
transients(),
|
|
276
|
+
transients(),
|
|
277
|
+
transients(),
|
|
278
|
+
transients()
|
|
279
|
+
];
|
|
280
|
+
const inner = (i, termKey) => {
|
|
281
|
+
const opened = open[i];
|
|
282
|
+
const known = MutableHashMap.get(opened, termKey);
|
|
283
|
+
if (Option.isSome(known)) return known.value;
|
|
284
|
+
const map = HashMap.beginMutation(Option.getOrElse(HashMap.get(idx[i], termKey), () => HashMap.empty()));
|
|
285
|
+
MutableHashMap.set(opened, termKey, map);
|
|
286
|
+
return map;
|
|
287
|
+
};
|
|
288
|
+
const addAt = (i, termKey, key, quad) => {
|
|
289
|
+
HashMap.set(inner(i, termKey), key, quad);
|
|
290
|
+
};
|
|
291
|
+
const removeAt = (i, termKey, key) => {
|
|
292
|
+
if (MutableHashMap.has(open[i], termKey) || HashMap.has(idx[i], termKey)) HashMap.remove(inner(i, termKey), key);
|
|
293
|
+
};
|
|
294
|
+
const close = (i) => {
|
|
295
|
+
MutableHashMap.forEach(open[i], (map, termKey) => {
|
|
296
|
+
HashMap.endMutation(map);
|
|
297
|
+
idx[i] = HashMap.size(map) === 0 ? HashMap.remove(idx[i], termKey) : HashMap.set(idx[i], termKey, map);
|
|
298
|
+
});
|
|
299
|
+
};
|
|
300
|
+
return {
|
|
301
|
+
add(quad, key) {
|
|
302
|
+
addAt(0, quad.subject.key, key, quad);
|
|
303
|
+
addAt(1, quad.predicate.key, key, quad);
|
|
304
|
+
addAt(2, quad.object.key, key, quad);
|
|
305
|
+
addAt(3, quad.graph.key, key, quad);
|
|
306
|
+
},
|
|
307
|
+
remove(quad, key) {
|
|
308
|
+
removeAt(0, quad.subject.key, key);
|
|
309
|
+
removeAt(1, quad.predicate.key, key);
|
|
310
|
+
removeAt(2, quad.object.key, key);
|
|
311
|
+
removeAt(3, quad.graph.key, key);
|
|
312
|
+
},
|
|
313
|
+
finish() {
|
|
314
|
+
close(0);
|
|
315
|
+
close(1);
|
|
316
|
+
close(2);
|
|
317
|
+
close(3);
|
|
318
|
+
return [
|
|
319
|
+
HashMap.endMutation(idx[0]),
|
|
320
|
+
HashMap.endMutation(idx[1]),
|
|
321
|
+
HashMap.endMutation(idx[2]),
|
|
322
|
+
HashMap.endMutation(idx[3])
|
|
323
|
+
];
|
|
324
|
+
}
|
|
325
|
+
};
|
|
326
|
+
};
|
|
327
|
+
/** The indexes of a dataset, built the first time they are needed. */
|
|
328
|
+
const indexesOf = (self) => {
|
|
329
|
+
const built = indexes.get(self);
|
|
330
|
+
if (built !== void 0) return built;
|
|
331
|
+
const batch = indexBatch(emptySpog);
|
|
332
|
+
HashMap.forEach(self.quads, (quad, key) => batch.add(quad, key));
|
|
333
|
+
const spog = batch.finish();
|
|
334
|
+
indexes.set(self, spog);
|
|
335
|
+
return spog;
|
|
336
|
+
};
|
|
337
|
+
/**
|
|
338
|
+
* Applies a batch of updates to a dataset using a transient builder.
|
|
339
|
+
*
|
|
340
|
+
* @since 0.1.0
|
|
341
|
+
* @category combinators
|
|
342
|
+
*/
|
|
343
|
+
const mutate = dual(2, (self, f) => {
|
|
344
|
+
let quads = HashMap.beginMutation(self.quads);
|
|
345
|
+
const spog = indexes.get(self);
|
|
346
|
+
const batch = spog === void 0 ? void 0 : indexBatch(spog);
|
|
347
|
+
const builder = {
|
|
348
|
+
add(quad) {
|
|
349
|
+
const key = quad.key;
|
|
350
|
+
const before = HashMap.size(quads);
|
|
351
|
+
quads = HashMap.set(quads, key, quad);
|
|
352
|
+
if (HashMap.size(quads) !== before) batch?.add(quad, key);
|
|
353
|
+
return builder;
|
|
354
|
+
},
|
|
355
|
+
addAll(iterable) {
|
|
356
|
+
Iterable.forEach(iterable, (q) => {
|
|
357
|
+
builder.add(q);
|
|
358
|
+
});
|
|
359
|
+
return builder;
|
|
360
|
+
},
|
|
361
|
+
remove(quad) {
|
|
362
|
+
const key = quad.key;
|
|
363
|
+
if (!HashMap.has(quads, key)) return builder;
|
|
364
|
+
quads = HashMap.remove(quads, key);
|
|
365
|
+
batch?.remove(quad, key);
|
|
366
|
+
return builder;
|
|
367
|
+
},
|
|
368
|
+
has: (quad) => HashMap.has(quads, quad.key),
|
|
369
|
+
size: () => HashMap.size(quads)
|
|
370
|
+
};
|
|
371
|
+
f(builder);
|
|
372
|
+
const result = makeDataset(HashMap.endMutation(quads));
|
|
373
|
+
if (batch !== void 0) indexes.set(result, batch.finish());
|
|
374
|
+
return result;
|
|
375
|
+
});
|
|
376
|
+
/**
|
|
377
|
+
* @since 0.1.0
|
|
378
|
+
* @category constructors
|
|
379
|
+
*/
|
|
380
|
+
const fromIterable = (quads) => {
|
|
381
|
+
if (hasDatasetTypeId(quads)) return quads;
|
|
382
|
+
const self = Object.create(Proto);
|
|
383
|
+
pending.set(self, Array.from(quads));
|
|
384
|
+
return self;
|
|
385
|
+
};
|
|
386
|
+
/** The quad set of `quads`, deduplicated by key (the first of equal quads is kept). */
|
|
387
|
+
const buildQuads = (quads) => mutate(empty, (b) => b.addAll(quads)).quads;
|
|
388
|
+
/**
|
|
389
|
+
* @since 0.1.0
|
|
390
|
+
* @category constructors
|
|
391
|
+
*/
|
|
392
|
+
const make = (...quads) => fromIterable(quads);
|
|
393
|
+
/**
|
|
394
|
+
* Creates a dataset from triples, placing them in the given graph (the
|
|
395
|
+
* default graph when omitted).
|
|
396
|
+
*
|
|
397
|
+
* @since 0.1.0
|
|
398
|
+
* @category constructors
|
|
399
|
+
*/
|
|
400
|
+
const fromTriples = (triples, graph = defaultGraph) => mutate(empty, (b) => {
|
|
401
|
+
Iterable.forEach(triples, (t) => {
|
|
402
|
+
b.add(new Quad(t.subject, t.predicate, t.object, graph));
|
|
403
|
+
});
|
|
404
|
+
});
|
|
405
|
+
/**
|
|
406
|
+
* @since 0.1.0
|
|
407
|
+
* @category combinators
|
|
408
|
+
*/
|
|
409
|
+
const add = dual(2, (self, quad) => HashMap.has(self.quads, quad.key) ? self : mutate(self, (b) => b.add(quad)));
|
|
410
|
+
/**
|
|
411
|
+
* @since 0.1.0
|
|
412
|
+
* @category combinators
|
|
413
|
+
*/
|
|
414
|
+
const addAll = dual(2, (self, quads) => mutate(self, (b) => b.addAll(quads)));
|
|
415
|
+
/**
|
|
416
|
+
* @since 0.1.0
|
|
417
|
+
* @category combinators
|
|
418
|
+
*/
|
|
419
|
+
const remove = dual(2, (self, quad) => HashMap.has(self.quads, quad.key) ? mutate(self, (b) => b.remove(quad)) : self);
|
|
420
|
+
/**
|
|
421
|
+
* Removes every quad matching a pattern.
|
|
422
|
+
*
|
|
423
|
+
* @since 0.1.0
|
|
424
|
+
* @category combinators
|
|
425
|
+
*/
|
|
426
|
+
const removeMatches = dual(2, (self, pattern) => {
|
|
427
|
+
const matches = match(self, pattern);
|
|
428
|
+
return Arr.isReadonlyArrayEmpty(matches) ? self : mutate(self, (b) => matches.forEach(b.remove));
|
|
429
|
+
});
|
|
430
|
+
/**
|
|
431
|
+
* @since 0.1.0
|
|
432
|
+
* @category predicates
|
|
433
|
+
*/
|
|
434
|
+
const has = dual(2, (self, quad) => HashMap.has(self.quads, quad.key));
|
|
435
|
+
/**
|
|
436
|
+
* @since 0.1.0
|
|
437
|
+
* @category predicates
|
|
438
|
+
*/
|
|
439
|
+
const isEmpty = (self) => self.size === 0;
|
|
440
|
+
/** The bound positions of a pattern (omitted positions and variables match any term). */
|
|
441
|
+
const checksOf = (pattern) => {
|
|
442
|
+
const checks = [];
|
|
443
|
+
const at = (position, t) => {
|
|
444
|
+
if (t !== void 0 && !isVariable(t)) checks.push({
|
|
445
|
+
position,
|
|
446
|
+
key: t.key
|
|
447
|
+
});
|
|
448
|
+
};
|
|
449
|
+
at(0, pattern.subject);
|
|
450
|
+
at(1, pattern.predicate);
|
|
451
|
+
at(2, pattern.object);
|
|
452
|
+
at(3, pattern.graph);
|
|
453
|
+
return checks;
|
|
454
|
+
};
|
|
455
|
+
/**
|
|
456
|
+
* Returns all quads matching a pattern, using the most selective index.
|
|
457
|
+
*
|
|
458
|
+
* @since 0.1.0
|
|
459
|
+
* @category queries
|
|
460
|
+
*/
|
|
461
|
+
const match = dual(2, (self, pattern) => {
|
|
462
|
+
const checks = checksOf(pattern);
|
|
463
|
+
let candidates = Option.none();
|
|
464
|
+
let candidateSize = Infinity;
|
|
465
|
+
if (checks.some(({ position, key }) => {
|
|
466
|
+
const inner = HashMap.get(indexesOf(self)[position], key);
|
|
467
|
+
if (Option.isNone(inner)) return true;
|
|
468
|
+
const size = HashMap.size(inner.value);
|
|
469
|
+
if (size < candidateSize) {
|
|
470
|
+
candidates = inner;
|
|
471
|
+
candidateSize = size;
|
|
472
|
+
}
|
|
473
|
+
return false;
|
|
474
|
+
})) return [];
|
|
475
|
+
const source = Option.getOrElse(candidates, () => self.quads);
|
|
476
|
+
const out = [];
|
|
477
|
+
if (checks.length > 1) HashMap.forEach(source, (q) => {
|
|
478
|
+
const ks = positions(q);
|
|
479
|
+
if (checks.every(({ position, key }) => ks[position] === key)) out.push(q);
|
|
480
|
+
});
|
|
481
|
+
else HashMap.forEach(source, (q) => {
|
|
482
|
+
out.push(q);
|
|
483
|
+
});
|
|
484
|
+
return out;
|
|
485
|
+
});
|
|
486
|
+
/**
|
|
487
|
+
* Counts the quads matching a pattern.
|
|
488
|
+
*
|
|
489
|
+
* @since 0.1.0
|
|
490
|
+
* @category queries
|
|
491
|
+
*/
|
|
492
|
+
const count = dual(2, (self, pattern) => match(self, pattern).length);
|
|
493
|
+
/**
|
|
494
|
+
* Returns a dataset containing only the quads matching a pattern.
|
|
495
|
+
*
|
|
496
|
+
* @since 0.1.0
|
|
497
|
+
* @category queries
|
|
498
|
+
*/
|
|
499
|
+
const filterMatches = dual(2, (self, pattern) => fromIterable(match(self, pattern)));
|
|
500
|
+
/**
|
|
501
|
+
* The objects of all quads with the given subject and predicate (in any
|
|
502
|
+
* graph unless one is specified).
|
|
503
|
+
*
|
|
504
|
+
* @since 0.1.0
|
|
505
|
+
* @category queries
|
|
506
|
+
*/
|
|
507
|
+
const objectsOf = (self, subject, predicate, graph) => uniqueTerms(match(self, {
|
|
508
|
+
subject,
|
|
509
|
+
predicate,
|
|
510
|
+
graph
|
|
511
|
+
}).map((q) => q.object));
|
|
512
|
+
/**
|
|
513
|
+
* The first object of a subject/predicate pair, if any.
|
|
514
|
+
*
|
|
515
|
+
* @since 0.1.0
|
|
516
|
+
* @category queries
|
|
517
|
+
*/
|
|
518
|
+
const objectOf = (self, subject, predicate, graph) => Option.fromNullishOr(match(self, {
|
|
519
|
+
subject,
|
|
520
|
+
predicate,
|
|
521
|
+
graph
|
|
522
|
+
})[0]?.object);
|
|
523
|
+
/**
|
|
524
|
+
* The subjects of all quads with the given predicate and object.
|
|
525
|
+
*
|
|
526
|
+
* @since 0.1.0
|
|
527
|
+
* @category queries
|
|
528
|
+
*/
|
|
529
|
+
const subjectsOf = (self, predicate, object, graph) => uniqueTerms(match(self, {
|
|
530
|
+
predicate,
|
|
531
|
+
object,
|
|
532
|
+
graph
|
|
533
|
+
}).map((q) => q.subject));
|
|
534
|
+
const uniqueTerms = (terms) => {
|
|
535
|
+
if (terms.length < 2) return terms;
|
|
536
|
+
return uniqueByKey(terms);
|
|
537
|
+
};
|
|
538
|
+
/** The first of each group of values with equal keys, in order. */
|
|
539
|
+
const uniqueByKey = (values) => {
|
|
540
|
+
const seen = MutableHashMap.empty();
|
|
541
|
+
Iterable.forEach(values, (t) => {
|
|
542
|
+
if (!MutableHashMap.has(seen, t.key)) MutableHashMap.set(seen, t.key, t);
|
|
543
|
+
});
|
|
544
|
+
return Arr.fromIterable(MutableHashMap.values(seen));
|
|
545
|
+
};
|
|
546
|
+
const termsAt = (self, position, pick) => Arr.flatMap(Arr.fromIterable(HashMap.values(indexesOf(self)[position])), (inner) => Arr.fromOption(Option.map(Iterable.head(HashMap.values(inner)), pick)));
|
|
547
|
+
/**
|
|
548
|
+
* All distinct subjects.
|
|
549
|
+
*
|
|
550
|
+
* @since 0.1.0
|
|
551
|
+
* @category queries
|
|
552
|
+
*/
|
|
553
|
+
const subjects = (self) => termsAt(self, 0, (q) => q.subject);
|
|
554
|
+
/**
|
|
555
|
+
* All distinct predicates.
|
|
556
|
+
*
|
|
557
|
+
* @since 0.1.0
|
|
558
|
+
* @category queries
|
|
559
|
+
*/
|
|
560
|
+
const predicates = (self) => termsAt(self, 1, (q) => q.predicate);
|
|
561
|
+
/**
|
|
562
|
+
* All distinct objects.
|
|
563
|
+
*
|
|
564
|
+
* @since 0.1.0
|
|
565
|
+
* @category queries
|
|
566
|
+
*/
|
|
567
|
+
const objects = (self) => termsAt(self, 2, (q) => q.object);
|
|
568
|
+
/**
|
|
569
|
+
* All distinct graph names (including the default graph if it is non-empty).
|
|
570
|
+
*
|
|
571
|
+
* @since 0.1.0
|
|
572
|
+
* @category queries
|
|
573
|
+
*/
|
|
574
|
+
const graphs = (self) => termsAt(self, 3, (q) => q.graph);
|
|
575
|
+
/**
|
|
576
|
+
* The quads of one graph.
|
|
577
|
+
*
|
|
578
|
+
* @since 0.1.0
|
|
579
|
+
* @category queries
|
|
580
|
+
*/
|
|
581
|
+
const graph = dual(2, (self, graphName) => filterMatches(self, { graph: graphName }));
|
|
582
|
+
/**
|
|
583
|
+
* The triples of the dataset, ignoring graph names (duplicates across graphs
|
|
584
|
+
* are merged).
|
|
585
|
+
*
|
|
586
|
+
* @since 0.1.0
|
|
587
|
+
* @category conversions
|
|
588
|
+
*/
|
|
589
|
+
const triples = (self) => {
|
|
590
|
+
return uniqueByKey(Iterable.map(self, (q) => q.triple));
|
|
591
|
+
};
|
|
592
|
+
/**
|
|
593
|
+
* Moves every quad into a single graph.
|
|
594
|
+
*
|
|
595
|
+
* @since 0.1.0
|
|
596
|
+
* @category combinators
|
|
597
|
+
*/
|
|
598
|
+
const withGraph = dual(2, (self, graphName) => fromIterable(Array.from(self, (q) => new Quad(q.subject, q.predicate, q.object, graphName))));
|
|
599
|
+
/**
|
|
600
|
+
* Reads an RDF collection (`rdf:first`/`rdf:rest` list) starting at `head`.
|
|
601
|
+
* Returns `None` if the list is malformed (missing or multiple `first`/`rest`
|
|
602
|
+
* values, or cyclic).
|
|
603
|
+
*
|
|
604
|
+
* @since 0.1.0
|
|
605
|
+
* @category queries
|
|
606
|
+
*/
|
|
607
|
+
const list = (self, head, graphName) => {
|
|
608
|
+
const items = [];
|
|
609
|
+
const seen = MutableHashSet.empty();
|
|
610
|
+
let node = head;
|
|
611
|
+
let wellFormed = true;
|
|
612
|
+
loop(() => {
|
|
613
|
+
const current = node;
|
|
614
|
+
if (isNamedNode(current) && current.value === rdf.nil.value) return false;
|
|
615
|
+
if (isLiteral(current) || MutableHashSet.has(seen, current.key)) {
|
|
616
|
+
wellFormed = false;
|
|
617
|
+
return false;
|
|
618
|
+
}
|
|
619
|
+
MutableHashSet.add(seen, current.key);
|
|
620
|
+
const first = objectsOf(self, current, rdf.first, graphName);
|
|
621
|
+
const rest = objectsOf(self, current, rdf.rest, graphName);
|
|
622
|
+
if (!Arr.isReadonlyArrayNonEmpty(first) || !Arr.isReadonlyArrayNonEmpty(rest) || first.length !== 1 || rest.length !== 1) {
|
|
623
|
+
wellFormed = false;
|
|
624
|
+
return false;
|
|
625
|
+
}
|
|
626
|
+
items.push(first[0]);
|
|
627
|
+
node = rest[0];
|
|
628
|
+
return true;
|
|
629
|
+
});
|
|
630
|
+
return wellFormed ? Option.some(items) : Option.none();
|
|
631
|
+
};
|
|
632
|
+
/**
|
|
633
|
+
* @since 0.1.0
|
|
634
|
+
* @category combinators
|
|
635
|
+
*/
|
|
636
|
+
const union = dual(2, (self, that) => self.size >= that.size ? addAll(self, that) : addAll(that, self));
|
|
637
|
+
/**
|
|
638
|
+
* @since 0.1.0
|
|
639
|
+
* @category combinators
|
|
640
|
+
*/
|
|
641
|
+
const intersection = dual(2, (self, that) => filter(self, (q) => has(that, q)));
|
|
642
|
+
/**
|
|
643
|
+
* @since 0.1.0
|
|
644
|
+
* @category combinators
|
|
645
|
+
*/
|
|
646
|
+
const difference = dual(2, (self, that) => mutate(self, (b) => {
|
|
647
|
+
Iterable.forEach(that, (q) => {
|
|
648
|
+
b.remove(q);
|
|
649
|
+
});
|
|
650
|
+
}));
|
|
651
|
+
/**
|
|
652
|
+
* @since 0.1.0
|
|
653
|
+
* @category combinators
|
|
654
|
+
*/
|
|
655
|
+
const filter = dual(2, (self, predicate) => mutate(empty, (b) => {
|
|
656
|
+
Iterable.forEach(self, (q) => {
|
|
657
|
+
if (predicate(q)) b.add(q);
|
|
658
|
+
});
|
|
659
|
+
}));
|
|
660
|
+
/**
|
|
661
|
+
* @since 0.1.0
|
|
662
|
+
* @category combinators
|
|
663
|
+
*/
|
|
664
|
+
const map = dual(2, (self, f) => mutate(empty, (b) => {
|
|
665
|
+
Iterable.forEach(self, (q) => {
|
|
666
|
+
b.add(f(q));
|
|
667
|
+
});
|
|
668
|
+
}));
|
|
669
|
+
/**
|
|
670
|
+
* @since 0.1.0
|
|
671
|
+
* @category combinators
|
|
672
|
+
*/
|
|
673
|
+
const flatMap = dual(2, (self, f) => mutate(empty, (b) => {
|
|
674
|
+
Iterable.forEach(self, (q) => {
|
|
675
|
+
b.addAll(f(q));
|
|
676
|
+
});
|
|
677
|
+
}));
|
|
678
|
+
/**
|
|
679
|
+
* @since 0.1.0
|
|
680
|
+
* @category folding
|
|
681
|
+
*/
|
|
682
|
+
const reduce = dual(3, (self, initial, f) => Iterable.reduce(self, initial, (acc, q) => f(acc, q)));
|
|
683
|
+
/**
|
|
684
|
+
* @since 0.1.0
|
|
685
|
+
* @category predicates
|
|
686
|
+
*/
|
|
687
|
+
const some = dual(2, (self, predicate) => Iterable.some(self, (q) => predicate(q)));
|
|
688
|
+
/**
|
|
689
|
+
* @since 0.1.0
|
|
690
|
+
* @category predicates
|
|
691
|
+
*/
|
|
692
|
+
const every = dual(2, (self, predicate) => !Iterable.some(self, (q) => !predicate(q)));
|
|
693
|
+
/**
|
|
694
|
+
* Whether every quad of `self` is in `that`.
|
|
695
|
+
*
|
|
696
|
+
* @since 0.1.0
|
|
697
|
+
* @category predicates
|
|
698
|
+
*/
|
|
699
|
+
const isSubset = dual(2, (self, that) => every(self, (q) => has(that, q)));
|
|
700
|
+
/**
|
|
701
|
+
* @since 0.1.0
|
|
702
|
+
* @category conversions
|
|
703
|
+
*/
|
|
704
|
+
const toArray = (self) => Array.from(self);
|
|
705
|
+
/**
|
|
706
|
+
* The quads in a deterministic order (graph, subject, predicate, object).
|
|
707
|
+
*
|
|
708
|
+
* @since 0.1.0
|
|
709
|
+
* @category conversions
|
|
710
|
+
*/
|
|
711
|
+
const toSortedArray = (self) => Arr.sort(self, compareQuads);
|
|
712
|
+
/**
|
|
713
|
+
* Serialises to canonical, sorted N-Quads (one statement per line).
|
|
714
|
+
*
|
|
715
|
+
* @since 0.1.0
|
|
716
|
+
* @category conversions
|
|
717
|
+
*/
|
|
718
|
+
const toNQuads = (self) => toSortedArray(self).map((q) => `${q.toString()}\n`).join("");
|
|
719
|
+
/**
|
|
720
|
+
* Schema of a dataset; its JSON codec is an array of `TermJson.Quad`s in
|
|
721
|
+
* `toSortedArray` order, so encoding is deterministic.
|
|
722
|
+
*
|
|
723
|
+
* @since 0.1.0
|
|
724
|
+
* @category schemas
|
|
725
|
+
*/
|
|
726
|
+
const DatasetSchema = Schema.declare(isDataset, {
|
|
727
|
+
identifier: "Dataset",
|
|
728
|
+
toCodecJson: () => Schema.link()(Schema.Array(QuadSchema), SchemaTransformation.transform({
|
|
729
|
+
decode: fromIterable,
|
|
730
|
+
encode: toSortedArray
|
|
731
|
+
})),
|
|
732
|
+
toCodecArbitrary: () => Schema.link()(Schema.Array(QuadSchema).check(Schema.isMaxLength(12)), SchemaTransformation.transform({
|
|
733
|
+
decode: fromIterable,
|
|
734
|
+
encode: toSortedArray
|
|
735
|
+
}))
|
|
736
|
+
});
|
|
737
|
+
/**
|
|
738
|
+
* Converts a dataset to an `effect/Graph` directed graph for graph
|
|
739
|
+
* algorithms — topological order of a class hierarchy, cycle detection,
|
|
740
|
+
* shortest paths, reachability, connected components. Every subject and
|
|
741
|
+
* object becomes one node (equal terms share it) and every quad an edge
|
|
742
|
+
* from its subject to its object, labelled with its predicate; triple terms
|
|
743
|
+
* are nodes, not expanded.
|
|
744
|
+
*
|
|
745
|
+
* @since 0.1.0
|
|
746
|
+
* @category graphs
|
|
747
|
+
*/
|
|
748
|
+
const toGraph = (self, options = {}) => {
|
|
749
|
+
const keep = options.predicates === void 0 ? void 0 : HashSet.fromIterable(options.predicates);
|
|
750
|
+
const edges = Arr.filter(options.graph === void 0 ? Arr.fromIterable(self) : match(self, { graph: options.graph }), (q) => (keep === void 0 || HashSet.has(keep, q.predicate)) && (options.literals === true || !isLiteral(q.object)));
|
|
751
|
+
let nodes = HashMap.empty();
|
|
752
|
+
return {
|
|
753
|
+
graph: Graph.directed((mutable) => {
|
|
754
|
+
const nodeOf = (term) => Option.getOrElse(HashMap.get(nodes, term), () => {
|
|
755
|
+
const added = Graph.addNode(mutable, term);
|
|
756
|
+
nodes = HashMap.set(nodes, term, added);
|
|
757
|
+
return added;
|
|
758
|
+
});
|
|
759
|
+
Arr.forEach(edges, (q) => {
|
|
760
|
+
Graph.addEdge(mutable, nodeOf(q.subject), nodeOf(q.object), q.predicate);
|
|
761
|
+
});
|
|
762
|
+
}),
|
|
763
|
+
nodes
|
|
764
|
+
};
|
|
765
|
+
};
|
|
766
|
+
/**
|
|
767
|
+
* Converts a directed graph whose nodes are terms and whose edges are
|
|
768
|
+
* predicates back to a dataset: each edge becomes a quad in `graphName` (the
|
|
769
|
+
* default graph when omitted). Edges from a node that cannot be a subject
|
|
770
|
+
* (a literal) are left out.
|
|
771
|
+
*
|
|
772
|
+
* @since 0.1.0
|
|
773
|
+
* @category graphs
|
|
774
|
+
*/
|
|
775
|
+
const fromGraph = (source, graphName = defaultGraph) => fromIterable(Arr.flatMap(Arr.fromIterable(Graph.edges(source)), ([, edge]) => {
|
|
776
|
+
const subject = Graph.getNode(source, edge.source);
|
|
777
|
+
const object = Graph.getNode(source, edge.target);
|
|
778
|
+
return Option.isSome(subject) && Option.isSome(object) && isSubject(subject.value) ? [quad(subject.value, edge.data, object.value, graphName)] : [];
|
|
779
|
+
}));
|
|
780
|
+
export { objectsOf as A, toNQuads as B, list as C, mutate as D, match as E, some as F, statementCount as G, triples as H, subjects as I, subjectsOf as L, reduce as M, remove as N, objectOf as O, removeMatches as P, toArray as R, isSubset as S, map as T, union as U, toSortedArray as V, withGraph as W, graphs as _, addAll as a, isDataset as b, empty as c, filterMatches as d, flatMap as f, graph as g, fromTriples as h, add as i, predicates as j, objects as k, every as l, fromIterable as m, Dataset_exports as n, count as o, fromGraph as p, TypeId as r, difference as s, DatasetSchema as t, filter as u, has as v, make as w, isEmpty as x, intersection as y, toGraph as z };
|
|
781
|
+
|
|
782
|
+
//# sourceMappingURL=Dataset-BlmlcI7J.mjs.map
|