@thomasfosterau/effect-rdf 0.0.0 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +2250 -1
- package/dist/Algebra-CGG4oae3.mjs +433 -0
- package/dist/Algebra-CGG4oae3.mjs.map +1 -0
- package/dist/Algebra-uGsIEOUA.d.mts +446 -0
- package/dist/Ast-CPRZmBvk.mjs +552 -0
- package/dist/Ast-CPRZmBvk.mjs.map +1 -0
- package/dist/Ast-vcw2W-lf.d.mts +827 -0
- package/dist/Bindings-Ck3m7JRC.mjs +249 -0
- package/dist/Bindings-Ck3m7JRC.mjs.map +1 -0
- package/dist/Bindings-DiKpBd7f.d.mts +153 -0
- package/dist/ClientErrors-CpXdFX5u.mjs +128 -0
- package/dist/ClientErrors-CpXdFX5u.mjs.map +1 -0
- package/dist/ClientErrors-D4IZHUM-.d.mts +101 -0
- package/dist/ClientFormats-CXomkXLV.mjs +73 -0
- package/dist/ClientFormats-CXomkXLV.mjs.map +1 -0
- package/dist/ClientFormats-Dm57ZPwR.d.mts +36 -0
- package/dist/Csv2Json-DynEcwCh.mjs +194 -0
- package/dist/Csv2Json-DynEcwCh.mjs.map +1 -0
- package/dist/Csv2Json-aXNVDoXQ.d.mts +40 -0
- package/dist/Csv2Rdf-8maXP6mt.d.mts +41 -0
- package/dist/Csv2Rdf-DuSEkaKE.mjs +161 -0
- package/dist/Csv2Rdf-DuSEkaKE.mjs.map +1 -0
- package/dist/Dataset-BlmlcI7J.mjs +782 -0
- package/dist/Dataset-BlmlcI7J.mjs.map +1 -0
- package/dist/Dataset-DS3ESOcO.d.mts +426 -0
- package/dist/Dataset.d.mts +2 -0
- package/dist/Dataset.mjs +1 -0
- package/dist/Datatype-CxMpamHC.d.mts +212 -0
- package/dist/Datatype-DQvkNkiH.mjs +1001 -0
- package/dist/Datatype-DQvkNkiH.mjs.map +1 -0
- package/dist/Dialect-8ChFj5EX.d.mts +113 -0
- package/dist/Dialect-CzVH38uo.mjs +165 -0
- package/dist/Dialect-CzVH38uo.mjs.map +1 -0
- package/dist/DocumentLoader-D3lZREnB.mjs +346 -0
- package/dist/DocumentLoader-D3lZREnB.mjs.map +1 -0
- package/dist/DocumentLoader-ZUCEVrW5.d.mts +178 -0
- package/dist/DublinCore-AnwqxRx6.mjs +137 -0
- package/dist/DublinCore-AnwqxRx6.mjs.map +1 -0
- package/dist/DublinCore-Dq-tVA5d.d.mts +119 -0
- package/dist/Engine-CYPB3g4h.d.mts +144 -0
- package/dist/Engine-DF8PN7g-.mjs +872 -0
- package/dist/Engine-DF8PN7g-.mjs.map +1 -0
- package/dist/Errors-CMdV1RhU.mjs +37 -0
- package/dist/Errors-CMdV1RhU.mjs.map +1 -0
- package/dist/Errors-u2bDjUeM.d.mts +30 -0
- package/dist/Evaluator-DEsU4d1o.d.mts +50 -0
- package/dist/Evaluator-DOY2-guC.mjs +281 -0
- package/dist/Evaluator-DOY2-guC.mjs.map +1 -0
- package/dist/Exif-CpqniYQd.d.mts +78 -0
- package/dist/Exif-DjkCfEB-.mjs +89 -0
- package/dist/Exif-DjkCfEB-.mjs.map +1 -0
- package/dist/Expression-BIMMvduQ.mjs +230 -0
- package/dist/Expression-BIMMvduQ.mjs.map +1 -0
- package/dist/Expression-W8A9cyX7.d.mts +89 -0
- package/dist/Extract-Bop85jES.mjs +220 -0
- package/dist/Extract-Bop85jES.mjs.map +1 -0
- package/dist/Extract-C_pCvuTC.d.mts +88 -0
- package/dist/Federation-BcNrozc1.d.mts +52 -0
- package/dist/Federation-CHScBkaK.mjs +130 -0
- package/dist/Federation-CHScBkaK.mjs.map +1 -0
- package/dist/Functions-AvjNcId_.mjs +1346 -0
- package/dist/Functions-AvjNcId_.mjs.map +1 -0
- package/dist/Functions-OQJZP-F6.d.mts +111 -0
- package/dist/Generator-C52mmq01.d.mts +50 -0
- package/dist/Generator-D3utCJC7.mjs +205 -0
- package/dist/Generator-D3utCJC7.mjs.map +1 -0
- package/dist/Grammar-CPlSxGH6.mjs +200 -0
- package/dist/Grammar-CPlSxGH6.mjs.map +1 -0
- package/dist/Grammar-CRhnRoCu.d.mts +148 -0
- package/dist/Grammar-D6jZdJQ3.d.mts +169 -0
- package/dist/Grammar-mQ8CgE1M.mjs +258 -0
- package/dist/Grammar-mQ8CgE1M.mjs.map +1 -0
- package/dist/GraphStore-DhUa4nFO.d.mts +45 -0
- package/dist/GraphStore-DvbqwKy1.mjs +212 -0
- package/dist/GraphStore-DvbqwKy1.mjs.map +1 -0
- package/dist/Iri-BB8Ks-BF.d.mts +84 -0
- package/dist/Iri-Cr92gsQV.mjs +232 -0
- package/dist/Iri-Cr92gsQV.mjs.map +1 -0
- package/dist/Iri.d.mts +2 -0
- package/dist/Iri.mjs +1 -0
- package/dist/Isomorphism-B6qTY-xy.d.mts +28 -0
- package/dist/Isomorphism-BmqxhKyJ.mjs +232 -0
- package/dist/Isomorphism-BmqxhKyJ.mjs.map +1 -0
- package/dist/Isomorphism-DInKnWIy.mjs +390 -0
- package/dist/Isomorphism-DInKnWIy.mjs.map +1 -0
- package/dist/Isomorphism-DvSfZXLR.d.mts +37 -0
- package/dist/Isomorphism.d.mts +2 -0
- package/dist/Isomorphism.mjs +1 -0
- package/dist/JsonLd-DOwS2FHg.mjs +2836 -0
- package/dist/JsonLd-DOwS2FHg.mjs.map +1 -0
- package/dist/JsonLd-DobFrQNa.d.mts +242 -0
- package/dist/JsonLdError-C9J-BxfG.mjs +106 -0
- package/dist/JsonLdError-C9J-BxfG.mjs.map +1 -0
- package/dist/JsonLdError-DSOfHkOy.d.mts +43 -0
- package/dist/LanguageTag-BCu8rcmX.d.mts +38 -0
- package/dist/LanguageTag-BcOpMGZ4.mjs +89 -0
- package/dist/LanguageTag-BcOpMGZ4.mjs.map +1 -0
- package/dist/LanguageTag.d.mts +2 -0
- package/dist/LanguageTag.mjs +1 -0
- package/dist/Lexical-Cg0JHrf6.mjs +243 -0
- package/dist/Lexical-Cg0JHrf6.mjs.map +1 -0
- package/dist/Lexical-D3zySYVS.d.mts +163 -0
- package/dist/Manifest-B6xf6mUc.mjs +148 -0
- package/dist/Manifest-B6xf6mUc.mjs.map +1 -0
- package/dist/Manifest-DQUMRBFr.d.mts +98 -0
- package/dist/Mapping-BgG74x3U.d.mts +63 -0
- package/dist/Mapping-Dc1ZGirk.mjs +259 -0
- package/dist/Mapping-Dc1ZGirk.mjs.map +1 -0
- package/dist/Mcp-1DwTTKOK.mjs +48 -0
- package/dist/Mcp-1DwTTKOK.mjs.map +1 -0
- package/dist/Mcp-d-pX9erx.d.mts +25 -0
- package/dist/Message-CK_DGQuu.mjs +95 -0
- package/dist/Message-CK_DGQuu.mjs.map +1 -0
- package/dist/Message-fIvTJSXM.d.mts +49 -0
- package/dist/Metadata-BbffwGDZ.mjs +445 -0
- package/dist/Metadata-BbffwGDZ.mjs.map +1 -0
- package/dist/Metadata-CEt3yc1-.d.mts +901 -0
- package/dist/Metadata-D4HsQNXr.mjs +1273 -0
- package/dist/Metadata-D4HsQNXr.mjs.map +1 -0
- package/dist/Metadata-nzS7QKRj.d.mts +350 -0
- package/dist/Model-DaMmxurZ.d.mts +293 -0
- package/dist/Model-DlPzRYhF.mjs +528 -0
- package/dist/Model-DlPzRYhF.mjs.map +1 -0
- package/dist/N3-BzyV-KIH.mjs +974 -0
- package/dist/N3-BzyV-KIH.mjs.map +1 -0
- package/dist/N3-DSLnonDn.d.mts +100 -0
- package/dist/NQuads-C1VBOJ3-.mjs +117 -0
- package/dist/NQuads-C1VBOJ3-.mjs.map +1 -0
- package/dist/NQuads-FjFZikFg.d.mts +76 -0
- package/dist/NTriples-D-kLSEAf.mjs +120 -0
- package/dist/NTriples-D-kLSEAf.mjs.map +1 -0
- package/dist/NTriples-D34OspfW.d.mts +76 -0
- package/dist/Namespace-ClTUO_ya.d.mts +42 -0
- package/dist/Namespace-DHFIsORd.mjs +75 -0
- package/dist/Namespace-DHFIsORd.mjs.map +1 -0
- package/dist/Namespace.d.mts +2 -0
- package/dist/Namespace.mjs +1 -0
- package/dist/Namespaces-Bz85vpjW.mjs +235 -0
- package/dist/Namespaces-Bz85vpjW.mjs.map +1 -0
- package/dist/Namespaces-C1jW6EDo.d.mts +178 -0
- package/dist/Optimizer-BWWQRQPY.mjs +168 -0
- package/dist/Optimizer-BWWQRQPY.mjs.map +1 -0
- package/dist/Optimizer-DUpUow6k.d.mts +26 -0
- package/dist/Options-BLBGL4HE.mjs +72 -0
- package/dist/Options-BLBGL4HE.mjs.map +1 -0
- package/dist/Options-BommQwP9.d.mts +127 -0
- package/dist/Packet-CA76wVX3.mjs +197 -0
- package/dist/Packet-CA76wVX3.mjs.map +1 -0
- package/dist/Packet-Cy5g6XuW.d.mts +130 -0
- package/dist/Parser-p1Gyr0QN.d.mts +85 -0
- package/dist/Parser-xARsOWXk.mjs +1317 -0
- package/dist/Parser-xARsOWXk.mjs.map +1 -0
- package/dist/Path-B20Yp8KE.mjs +284 -0
- package/dist/Path-B20Yp8KE.mjs.map +1 -0
- package/dist/Path-DRB8e-Zn.d.mts +181 -0
- package/dist/Pdf-B9RZn--8.d.mts +77 -0
- package/dist/Pdf-CKK6dkZn.mjs +89 -0
- package/dist/Pdf-CKK6dkZn.mjs.map +1 -0
- package/dist/PdfA-CUjSuntT.d.mts +109 -0
- package/dist/PdfA-CleOhuL6.mjs +124 -0
- package/dist/PdfA-CleOhuL6.mjs.map +1 -0
- package/dist/Photoshop-CiHo80qV.mjs +233 -0
- package/dist/Photoshop-CiHo80qV.mjs.map +1 -0
- package/dist/Photoshop-udKZ0I3N.d.mts +204 -0
- package/dist/PrefixMap-BHFPDLO-.mjs +103 -0
- package/dist/PrefixMap-BHFPDLO-.mjs.map +1 -0
- package/dist/PrefixMap-BMlXrWNd.d.mts +64 -0
- package/dist/PrefixMap.d.mts +2 -0
- package/dist/PrefixMap.mjs +1 -0
- package/dist/Processor-CMmecFsb.mjs +198 -0
- package/dist/Processor-CMmecFsb.mjs.map +1 -0
- package/dist/Processor-FJPvO0CB.d.mts +435 -0
- package/dist/Protocol-BA7OkNgp.mjs +202 -0
- package/dist/Protocol-BA7OkNgp.mjs.map +1 -0
- package/dist/Protocol-DlSoiIKB.d.mts +108 -0
- package/dist/ProtocolErrors-Ckfejnl6.d.mts +84 -0
- package/dist/ProtocolErrors-czDPVcX5.mjs +129 -0
- package/dist/ProtocolErrors-czDPVcX5.mjs.map +1 -0
- package/dist/Query-D9A6LOpP.mjs +364 -0
- package/dist/Query-D9A6LOpP.mjs.map +1 -0
- package/dist/Query-KqSkTYyG.d.mts +96 -0
- package/dist/QueryBuilder-BLK9Vfbz.mjs +674 -0
- package/dist/QueryBuilder-BLK9Vfbz.mjs.map +1 -0
- package/dist/QueryBuilder-DUqh4ECe.d.mts +529 -0
- package/dist/RdfJs-D6-49XB5.mjs +86 -0
- package/dist/RdfJs-D6-49XB5.mjs.map +1 -0
- package/dist/RdfJs-DXFqdWrd.d.mts +76 -0
- package/dist/RdfJs.d.mts +2 -0
- package/dist/RdfJs.mjs +1 -0
- package/dist/RdfJson-5aKPDlPS.d.mts +297 -0
- package/dist/RdfJson-BNocgW4f.mjs +548 -0
- package/dist/RdfJson-BNocgW4f.mjs.map +1 -0
- package/dist/RdfXml-DJ9G4gOq.mjs +1014 -0
- package/dist/RdfXml-DJ9G4gOq.mjs.map +1 -0
- package/dist/RdfXml-_N7yxWEp.d.mts +149 -0
- package/dist/Rdfs-BRVPsAjc.d.mts +84 -0
- package/dist/Rdfs-CyY2wVHI.mjs +167 -0
- package/dist/Rdfs-CyY2wVHI.mjs.map +1 -0
- package/dist/Rdfs.d.mts +2 -0
- package/dist/Rdfs.mjs +1 -0
- package/dist/Reasoner-BxYhx9s7.d.mts +94 -0
- package/dist/Reasoner-Cw90zrjv.mjs +798 -0
- package/dist/Reasoner-Cw90zrjv.mjs.map +1 -0
- package/dist/Reification-BmN4EfnM.d.mts +40 -0
- package/dist/Reification-dpqQvjDE.mjs +82 -0
- package/dist/Reification-dpqQvjDE.mjs.map +1 -0
- package/dist/Reification.d.mts +2 -0
- package/dist/Reification.mjs +1 -0
- package/dist/Report-XHs8htzK.mjs +121 -0
- package/dist/Report-XHs8htzK.mjs.map +1 -0
- package/dist/Report-hcXsc_19.d.mts +115 -0
- package/dist/Resource-B1cI8FyJ.d.mts +218 -0
- package/dist/Resource-sIEeNh15.mjs +374 -0
- package/dist/Resource-sIEeNh15.mjs.map +1 -0
- package/dist/Resource.d.mts +2 -0
- package/dist/Resource.mjs +1 -0
- package/dist/Results-BVNEC-Wt.d.mts +277 -0
- package/dist/Results-peJjGA2V.mjs +621 -0
- package/dist/Results-peJjGA2V.mjs.map +1 -0
- package/dist/ResultsStream-BhF0OcNn.mjs +639 -0
- package/dist/ResultsStream-BhF0OcNn.mjs.map +1 -0
- package/dist/ResultsStream-toYMXrOe.d.mts +100 -0
- package/dist/SemAct-CDchtk49.d.mts +96 -0
- package/dist/SemAct-CmyT4yI8.mjs +118 -0
- package/dist/SemAct-CmyT4yI8.mjs.map +1 -0
- package/dist/Serialization-DP9H5bYQ.mjs +514 -0
- package/dist/Serialization-DP9H5bYQ.mjs.map +1 -0
- package/dist/Serialization-Df8iVauT.d.mts +392 -0
- package/dist/Serialization.d.mts +2 -0
- package/dist/Serialization.mjs +1 -0
- package/dist/ServerFormats-CrRnjjf6.mjs +64 -0
- package/dist/ServerFormats-CrRnjjf6.mjs.map +1 -0
- package/dist/ServerFormats-DjC9NsO_.d.mts +36 -0
- package/dist/ServiceDescription-BERsvg-k.d.mts +54 -0
- package/dist/ServiceDescription-Dq5hxeGy.mjs +97 -0
- package/dist/ServiceDescription-Dq5hxeGy.mjs.map +1 -0
- package/dist/ShExC-Ctf-06CL.d.mts +67 -0
- package/dist/ShExC-DJbB19i3.mjs +1181 -0
- package/dist/ShExC-DJbB19i3.mjs.map +1 -0
- package/dist/ShExError-BeYFD9rv.d.mts +61 -0
- package/dist/ShExError-CVtq2NnM.mjs +64 -0
- package/dist/ShExError-CVtq2NnM.mjs.map +1 -0
- package/dist/ShExJ-C1u_wgyD.d.mts +531 -0
- package/dist/ShExJ-COiPd9Xw.mjs +532 -0
- package/dist/ShExJ-COiPd9Xw.mjs.map +1 -0
- package/dist/ShExR-ByR4mCh-.mjs +480 -0
- package/dist/ShExR-ByR4mCh-.mjs.map +1 -0
- package/dist/ShExR-CqONNNBz.d.mts +40 -0
- package/dist/ShapeMap-C422pxKl.d.mts +140 -0
- package/dist/ShapeMap-CsgKxB2G.mjs +181 -0
- package/dist/ShapeMap-CsgKxB2G.mjs.map +1 -0
- package/dist/Shapes-18GjfyBV.mjs +597 -0
- package/dist/Shapes-18GjfyBV.mjs.map +1 -0
- package/dist/Shapes-BQFDFc4Q.d.mts +306 -0
- package/dist/Sparql-BiYFMSpl.mjs +29 -0
- package/dist/Sparql-BiYFMSpl.mjs.map +1 -0
- package/dist/Sparql-DecpWTPh.d.mts +97 -0
- package/dist/SparqlClient-C_CjXbwj.mjs +333 -0
- package/dist/SparqlClient-C_CjXbwj.mjs.map +1 -0
- package/dist/SparqlClient-UPc88SHy.d.mts +290 -0
- package/dist/SparqlServer-CbUW-pVj.d.mts +71 -0
- package/dist/SparqlServer-Db7w7Cll.mjs +308 -0
- package/dist/SparqlServer-Db7w7Cll.mjs.map +1 -0
- package/dist/SqlStore-BBqFx-Wl.mjs +684 -0
- package/dist/SqlStore-BBqFx-Wl.mjs.map +1 -0
- package/dist/SqlStore-CCJo5I-e.d.mts +117 -0
- package/dist/Store-D0jmVfb3.d.mts +166 -0
- package/dist/Store-DH3Ow1GO.mjs +162 -0
- package/dist/Store-DH3Ow1GO.mjs.map +1 -0
- package/dist/Structure-BjMo4Bkc.mjs +334 -0
- package/dist/Structure-BjMo4Bkc.mjs.map +1 -0
- package/dist/Structure-n4CmDiab.d.mts +63 -0
- package/dist/Table-BGgm9nbM.mjs +538 -0
- package/dist/Table-BGgm9nbM.mjs.map +1 -0
- package/dist/Table-C3reiVrb.d.mts +261 -0
- package/dist/Term-B_4ezyXq.d.mts +619 -0
- package/dist/Term-CFLG1qu4.mjs +991 -0
- package/dist/Term-CFLG1qu4.mjs.map +1 -0
- package/dist/Term.d.mts +2 -0
- package/dist/Term.mjs +1 -0
- package/dist/TermCodec-CDZiEztW.mjs +397 -0
- package/dist/TermCodec-CDZiEztW.mjs.map +1 -0
- package/dist/TermCodec-_03bDXr0.d.mts +209 -0
- package/dist/TermCodec.d.mts +2 -0
- package/dist/TermCodec.mjs +1 -0
- package/dist/TermJson-BOPe0yve.d.mts +232 -0
- package/dist/TermJson-FAg3lvjl.mjs +142 -0
- package/dist/TermJson-FAg3lvjl.mjs.map +1 -0
- package/dist/TermJson.d.mts +2 -0
- package/dist/TermJson.mjs +1 -0
- package/dist/TermSchema-Bn9CoaYA.mjs +30 -0
- package/dist/TermSchema-Bn9CoaYA.mjs.map +1 -0
- package/dist/TermSchema-DBO6MroX.d.mts +6 -0
- package/dist/Testing-B-aPCpmu.mjs +63 -0
- package/dist/Testing-B-aPCpmu.mjs.map +1 -0
- package/dist/Testing-CF6s8P3O.d.mts +53 -0
- package/dist/Tiff-CR-2QeSI.d.mts +148 -0
- package/dist/Tiff-DlsOlZPM.mjs +169 -0
- package/dist/Tiff-DlsOlZPM.mjs.map +1 -0
- package/dist/Tools-7MdRKccr.d.mts +583 -0
- package/dist/Tools-ryxphZbI.mjs +329 -0
- package/dist/Tools-ryxphZbI.mjs.map +1 -0
- package/dist/Translate-B0YKKANS.d.mts +37 -0
- package/dist/Translate-gzWPq0Ia.mjs +308 -0
- package/dist/Translate-gzWPq0Ia.mjs.map +1 -0
- package/dist/Translation-DC9rLm2y.mjs +1535 -0
- package/dist/Translation-DC9rLm2y.mjs.map +1 -0
- package/dist/Translation-K4L9XBqX.d.mts +103 -0
- package/dist/TriG-BkqtqZ6Y.mjs +125 -0
- package/dist/TriG-BkqtqZ6Y.mjs.map +1 -0
- package/dist/TriG-xDjdDatp.d.mts +86 -0
- package/dist/Turtle-Bv1_bisW.d.mts +85 -0
- package/dist/Turtle-CZVUOtwl.mjs +133 -0
- package/dist/Turtle-CZVUOtwl.mjs.map +1 -0
- package/dist/ValidationReport-DBdJshW5.mjs +285 -0
- package/dist/ValidationReport-DBdJshW5.mjs.map +1 -0
- package/dist/ValidationReport-Dx3WxY0h.d.mts +192 -0
- package/dist/Validator-227ff9Rn.d.mts +179 -0
- package/dist/Validator-BzXMKDeJ.mjs +1162 -0
- package/dist/Validator-BzXMKDeJ.mjs.map +1 -0
- package/dist/Validator-Dl8cih5V.d.mts +207 -0
- package/dist/Validator-DmUfMbpL.mjs +568 -0
- package/dist/Validator-DmUfMbpL.mjs.map +1 -0
- package/dist/Vocab-DceKywpq.mjs +168 -0
- package/dist/Vocab-DceKywpq.mjs.map +1 -0
- package/dist/Vocab-Df-L-IwZ.d.mts +46 -0
- package/dist/Vocab-Do56UgBX.d.mts +81 -0
- package/dist/Vocab-TfpWG1Ne.mjs +118 -0
- package/dist/Vocab-TfpWG1Ne.mjs.map +1 -0
- package/dist/Vocab.d.mts +2 -0
- package/dist/Vocab.mjs +1 -0
- package/dist/Vocabulary-C6-GPOy4.d.mts +22 -0
- package/dist/Vocabulary-CnQl-_Z4.mjs +179 -0
- package/dist/Vocabulary-CnQl-_Z4.mjs.map +1 -0
- package/dist/Xml-B7iihYCS.mjs +976 -0
- package/dist/Xml-B7iihYCS.mjs.map +1 -0
- package/dist/Xml-CmfHS7SW.d.mts +267 -0
- package/dist/Xmp-D7CKA7MZ.d.mts +111 -0
- package/dist/Xmp-DCGN9pOD.mjs +307 -0
- package/dist/Xmp-DCGN9pOD.mjs.map +1 -0
- package/dist/XmpBasic-CP38jpR_.mjs +73 -0
- package/dist/XmpBasic-CP38jpR_.mjs.map +1 -0
- package/dist/XmpBasic-Cmbe53rQ.d.mts +64 -0
- package/dist/XmpMM-BfL_TgJF.mjs +73 -0
- package/dist/XmpMM-BfL_TgJF.mjs.map +1 -0
- package/dist/XmpMM-Dqm3IX8p.d.mts +63 -0
- package/dist/XmpRights-BKPtoI5L.mjs +73 -0
- package/dist/XmpRights-BKPtoI5L.mjs.map +1 -0
- package/dist/XmpRights-CaALZQz2.d.mts +63 -0
- package/dist/Xsd-Cdgx5zRB.mjs +405 -0
- package/dist/Xsd-Cdgx5zRB.mjs.map +1 -0
- package/dist/Xsd-D2elNhSm.d.mts +187 -0
- package/dist/Xsd.d.mts +2 -0
- package/dist/Xsd.mjs +1 -0
- package/dist/accessors-CEjaojuQ.mjs +28 -0
- package/dist/accessors-CEjaojuQ.mjs.map +1 -0
- package/dist/codec-Lb2T96rv.d.mts +20 -0
- package/dist/codec-QNo7IdJF.mjs +389 -0
- package/dist/codec-QNo7IdJF.mjs.map +1 -0
- package/dist/csvw/Csv2Json.d.mts +2 -0
- package/dist/csvw/Csv2Json.mjs +1 -0
- package/dist/csvw/Csv2Rdf.d.mts +2 -0
- package/dist/csvw/Csv2Rdf.mjs +1 -0
- package/dist/csvw/Datatype.d.mts +2 -0
- package/dist/csvw/Datatype.mjs +1 -0
- package/dist/csvw/Metadata.d.mts +2 -0
- package/dist/csvw/Metadata.mjs +1 -0
- package/dist/csvw/Processor.d.mts +2 -0
- package/dist/csvw/Processor.mjs +1 -0
- package/dist/csvw/Report.d.mts +2 -0
- package/dist/csvw/Report.mjs +1 -0
- package/dist/csvw/Table.d.mts +2 -0
- package/dist/csvw/Table.mjs +1 -0
- package/dist/csvw/index.d.mts +8 -0
- package/dist/csvw/index.mjs +8 -0
- package/dist/index-Cms2TYfC.d.mts +16 -0
- package/dist/index-Ct8xFmRs.d.mts +7 -0
- package/dist/index-D4QFwOjm.d.mts +28 -0
- package/dist/index.d.mts +18 -0
- package/dist/index.mjs +17 -0
- package/dist/jsonld/DocumentLoader.d.mts +2 -0
- package/dist/jsonld/DocumentLoader.mjs +1 -0
- package/dist/jsonld/JsonLd.d.mts +2 -0
- package/dist/jsonld/JsonLd.mjs +1 -0
- package/dist/jsonld/JsonLdError.d.mts +2 -0
- package/dist/jsonld/JsonLdError.mjs +1 -0
- package/dist/jsonld/index.d.mts +4 -0
- package/dist/jsonld/index.mjs +4 -0
- package/dist/lists-D-OpQ0Ir.mjs +77 -0
- package/dist/lists-D-OpQ0Ir.mjs.map +1 -0
- package/dist/loop-D5-gNx9K.mjs +21 -0
- package/dist/loop-D5-gNx9K.mjs.map +1 -0
- package/dist/loop-DZ2hXlr_.mjs +21 -0
- package/dist/loop-DZ2hXlr_.mjs.map +1 -0
- package/dist/n3/Isomorphism.d.mts +2 -0
- package/dist/n3/Isomorphism.mjs +1 -0
- package/dist/n3/Mapping.d.mts +2 -0
- package/dist/n3/Mapping.mjs +1 -0
- package/dist/n3/Model.d.mts +2 -0
- package/dist/n3/Model.mjs +1 -0
- package/dist/n3/N3.d.mts +2 -0
- package/dist/n3/N3.mjs +1 -0
- package/dist/n3/Reasoner.d.mts +2 -0
- package/dist/n3/Reasoner.mjs +2 -0
- package/dist/n3/Vocab.d.mts +2 -0
- package/dist/n3/Vocab.mjs +1 -0
- package/dist/n3/index.d.mts +7 -0
- package/dist/n3/index.mjs +7 -0
- package/dist/ntriples/Grammar.d.mts +2 -0
- package/dist/ntriples/Grammar.mjs +1 -0
- package/dist/ntriples/Lexical.d.mts +2 -0
- package/dist/ntriples/Lexical.mjs +1 -0
- package/dist/ntriples/NQuads.d.mts +2 -0
- package/dist/ntriples/NQuads.mjs +1 -0
- package/dist/ntriples/NTriples.d.mts +2 -0
- package/dist/ntriples/NTriples.mjs +1 -0
- package/dist/ntriples/index.d.mts +5 -0
- package/dist/ntriples/index.mjs +5 -0
- package/dist/rdfjson/RdfJson.d.mts +2 -0
- package/dist/rdfjson/RdfJson.mjs +1 -0
- package/dist/rdfjson/index.d.mts +2 -0
- package/dist/rdfjson/index.mjs +1 -0
- package/dist/rdfxml/RdfXml.d.mts +2 -0
- package/dist/rdfxml/RdfXml.mjs +1 -0
- package/dist/rdfxml/Xml.d.mts +2 -0
- package/dist/rdfxml/Xml.mjs +1 -0
- package/dist/rdfxml/index.d.mts +3 -0
- package/dist/rdfxml/index.mjs +3 -0
- package/dist/rolldown-runtime-D8jQpDG7.mjs +12 -0
- package/dist/serialize-96KBvKaf.mjs +1463 -0
- package/dist/serialize-96KBvKaf.mjs.map +1 -0
- package/dist/serialize-DsoXdM6n.d.mts +37 -0
- package/dist/shacl/Message.d.mts +2 -0
- package/dist/shacl/Message.mjs +1 -0
- package/dist/shacl/Path.d.mts +2 -0
- package/dist/shacl/Path.mjs +1 -0
- package/dist/shacl/Shapes.d.mts +2 -0
- package/dist/shacl/Shapes.mjs +1 -0
- package/dist/shacl/Sparql.d.mts +2 -0
- package/dist/shacl/Sparql.mjs +1 -0
- package/dist/shacl/ValidationReport.d.mts +2 -0
- package/dist/shacl/ValidationReport.mjs +1 -0
- package/dist/shacl/Validator.d.mts +2 -0
- package/dist/shacl/Validator.mjs +1 -0
- package/dist/shacl/Vocabulary.d.mts +2 -0
- package/dist/shacl/Vocabulary.mjs +1 -0
- package/dist/shacl/index.d.mts +9 -0
- package/dist/shacl/index.mjs +8 -0
- package/dist/shex/SemAct.d.mts +2 -0
- package/dist/shex/SemAct.mjs +1 -0
- package/dist/shex/ShExC.d.mts +2 -0
- package/dist/shex/ShExC.mjs +1 -0
- package/dist/shex/ShExError.d.mts +2 -0
- package/dist/shex/ShExError.mjs +1 -0
- package/dist/shex/ShExJ.d.mts +2 -0
- package/dist/shex/ShExJ.mjs +2 -0
- package/dist/shex/ShExR.d.mts +2 -0
- package/dist/shex/ShExR.mjs +1 -0
- package/dist/shex/ShapeMap.d.mts +2 -0
- package/dist/shex/ShapeMap.mjs +1 -0
- package/dist/shex/Structure.d.mts +2 -0
- package/dist/shex/Structure.mjs +2 -0
- package/dist/shex/Validator.d.mts +2 -0
- package/dist/shex/Validator.mjs +4 -0
- package/dist/shex/index.d.mts +9 -0
- package/dist/shex/index.mjs +9 -0
- package/dist/sparql/Algebra.d.mts +2 -0
- package/dist/sparql/Algebra.mjs +1 -0
- package/dist/sparql/Ast.d.mts +2 -0
- package/dist/sparql/Ast.mjs +1 -0
- package/dist/sparql/Bindings.d.mts +2 -0
- package/dist/sparql/Bindings.mjs +1 -0
- package/dist/sparql/ClientErrors.d.mts +2 -0
- package/dist/sparql/ClientErrors.mjs +1 -0
- package/dist/sparql/ClientFormats.d.mts +2 -0
- package/dist/sparql/ClientFormats.mjs +1 -0
- package/dist/sparql/Engine.d.mts +2 -0
- package/dist/sparql/Engine.mjs +1 -0
- package/dist/sparql/Errors.d.mts +2 -0
- package/dist/sparql/Errors.mjs +1 -0
- package/dist/sparql/Expression.d.mts +2 -0
- package/dist/sparql/Expression.mjs +1 -0
- package/dist/sparql/Federation.d.mts +2 -0
- package/dist/sparql/Federation.mjs +1 -0
- package/dist/sparql/Functions.d.mts +2 -0
- package/dist/sparql/Functions.mjs +1 -0
- package/dist/sparql/Generator.d.mts +2 -0
- package/dist/sparql/Generator.mjs +1 -0
- package/dist/sparql/GraphStore.d.mts +2 -0
- package/dist/sparql/GraphStore.mjs +1 -0
- package/dist/sparql/Optimizer.d.mts +2 -0
- package/dist/sparql/Optimizer.mjs +1 -0
- package/dist/sparql/Options.d.mts +2 -0
- package/dist/sparql/Options.mjs +1 -0
- package/dist/sparql/Parser.d.mts +2 -0
- package/dist/sparql/Parser.mjs +1 -0
- package/dist/sparql/Protocol.d.mts +2 -0
- package/dist/sparql/Protocol.mjs +1 -0
- package/dist/sparql/ProtocolErrors.d.mts +2 -0
- package/dist/sparql/ProtocolErrors.mjs +1 -0
- package/dist/sparql/QueryBuilder.d.mts +2 -0
- package/dist/sparql/QueryBuilder.mjs +1 -0
- package/dist/sparql/Results.d.mts +2 -0
- package/dist/sparql/Results.mjs +1 -0
- package/dist/sparql/ResultsStream.d.mts +2 -0
- package/dist/sparql/ResultsStream.mjs +1 -0
- package/dist/sparql/ServerFormats.d.mts +2 -0
- package/dist/sparql/ServerFormats.mjs +1 -0
- package/dist/sparql/ServiceDescription.d.mts +2 -0
- package/dist/sparql/ServiceDescription.mjs +1 -0
- package/dist/sparql/SparqlClient.d.mts +2 -0
- package/dist/sparql/SparqlClient.mjs +1 -0
- package/dist/sparql/SparqlServer.d.mts +2 -0
- package/dist/sparql/SparqlServer.mjs +1 -0
- package/dist/sparql/Store.d.mts +2 -0
- package/dist/sparql/Store.mjs +1 -0
- package/dist/sparql/TermSchema.d.mts +3 -0
- package/dist/sparql/TermSchema.mjs +2 -0
- package/dist/sparql/Testing.d.mts +2 -0
- package/dist/sparql/Testing.mjs +1 -0
- package/dist/sparql/Translate.d.mts +2 -0
- package/dist/sparql/Translate.mjs +1 -0
- package/dist/sparql/ai/Mcp.d.mts +2 -0
- package/dist/sparql/ai/Mcp.mjs +1 -0
- package/dist/sparql/ai/Tools.d.mts +2 -0
- package/dist/sparql/ai/Tools.mjs +1 -0
- package/dist/sparql/ai/index.d.mts +3 -0
- package/dist/sparql/ai/index.mjs +3 -0
- package/dist/sparql/index.d.mts +30 -0
- package/dist/sparql/index.mjs +29 -0
- package/dist/sparql/shacl/Evaluator.d.mts +2 -0
- package/dist/sparql/shacl/Evaluator.mjs +1 -0
- package/dist/sparql/shacl/Query.d.mts +2 -0
- package/dist/sparql/shacl/Query.mjs +1 -0
- package/dist/sparql/shacl/index.d.mts +3 -0
- package/dist/sparql/shacl/index.mjs +3 -0
- package/dist/sparql/sql/Dialect.d.mts +2 -0
- package/dist/sparql/sql/Dialect.mjs +1 -0
- package/dist/sparql/sql/SqlStore.d.mts +2 -0
- package/dist/sparql/sql/SqlStore.mjs +1 -0
- package/dist/sparql/sql/Translation.d.mts +2 -0
- package/dist/sparql/sql/Translation.mjs +1 -0
- package/dist/sparql/sql/index.d.mts +4 -0
- package/dist/sparql/sql/index.mjs +4 -0
- package/dist/stringMap-D5YIpYtR.mjs +38 -0
- package/dist/stringMap-D5YIpYtR.mjs.map +1 -0
- package/dist/tokens-C6BzeodQ.mjs +24 -0
- package/dist/tokens-C6BzeodQ.mjs.map +1 -0
- package/dist/turtle/Grammar.d.mts +3 -0
- package/dist/turtle/Grammar.mjs +3 -0
- package/dist/turtle/Manifest.d.mts +2 -0
- package/dist/turtle/Manifest.mjs +1 -0
- package/dist/turtle/TriG.d.mts +2 -0
- package/dist/turtle/TriG.mjs +1 -0
- package/dist/turtle/Turtle.d.mts +2 -0
- package/dist/turtle/Turtle.mjs +1 -0
- package/dist/turtle/index.d.mts +5 -0
- package/dist/turtle/index.mjs +5 -0
- package/dist/xmp/DublinCore.d.mts +2 -0
- package/dist/xmp/DublinCore.mjs +1 -0
- package/dist/xmp/Exif.d.mts +2 -0
- package/dist/xmp/Exif.mjs +1 -0
- package/dist/xmp/Extract.d.mts +2 -0
- package/dist/xmp/Extract.mjs +1 -0
- package/dist/xmp/Metadata.d.mts +2 -0
- package/dist/xmp/Metadata.mjs +1 -0
- package/dist/xmp/Namespaces.d.mts +2 -0
- package/dist/xmp/Namespaces.mjs +1 -0
- package/dist/xmp/Packet.d.mts +2 -0
- package/dist/xmp/Packet.mjs +1 -0
- package/dist/xmp/Pdf.d.mts +2 -0
- package/dist/xmp/Pdf.mjs +1 -0
- package/dist/xmp/PdfA.d.mts +2 -0
- package/dist/xmp/PdfA.mjs +1 -0
- package/dist/xmp/Photoshop.d.mts +2 -0
- package/dist/xmp/Photoshop.mjs +1 -0
- package/dist/xmp/Tiff.d.mts +2 -0
- package/dist/xmp/Tiff.mjs +1 -0
- package/dist/xmp/Xmp.d.mts +2 -0
- package/dist/xmp/Xmp.mjs +3 -0
- package/dist/xmp/XmpBasic.d.mts +2 -0
- package/dist/xmp/XmpBasic.mjs +1 -0
- package/dist/xmp/XmpMM.d.mts +2 -0
- package/dist/xmp/XmpMM.mjs +1 -0
- package/dist/xmp/XmpRights.d.mts +2 -0
- package/dist/xmp/XmpRights.mjs +1 -0
- package/dist/xmp/index.d.mts +15 -0
- package/dist/xmp/index.mjs +15 -0
- package/package.json +187 -3
- package/src/Dataset.ts +1085 -0
- package/src/Iri.ts +322 -0
- package/src/Isomorphism.ts +319 -0
- package/src/LanguageTag.ts +98 -0
- package/src/Namespace.ts +100 -0
- package/src/PrefixMap.ts +117 -0
- package/src/RdfJs.ts +146 -0
- package/src/Rdfs.ts +241 -0
- package/src/Reification.ts +103 -0
- package/src/Resource.ts +873 -0
- package/src/Serialization.ts +775 -0
- package/src/Term.ts +1300 -0
- package/src/TermCodec.ts +505 -0
- package/src/TermJson.ts +313 -0
- package/src/Vocab.ts +161 -0
- package/src/Xsd.ts +573 -0
- package/src/csvw/Csv2Json.ts +265 -0
- package/src/csvw/Csv2Rdf.ts +268 -0
- package/src/csvw/Datatype.ts +589 -0
- package/src/csvw/Metadata.ts +1523 -0
- package/src/csvw/Processor.ts +276 -0
- package/src/csvw/Report.ts +135 -0
- package/src/csvw/Table.ts +759 -0
- package/src/csvw/index.ts +22 -0
- package/src/csvw/internal/dateFormat.ts +202 -0
- package/src/csvw/internal/json.ts +104 -0
- package/src/csvw/internal/numberFormat.ts +369 -0
- package/src/csvw/internal/object.ts +23 -0
- package/src/csvw/internal/uriTemplate.ts +130 -0
- package/src/csvw/internal/url.ts +93 -0
- package/src/csvw/internal/vocab.ts +282 -0
- package/src/index.ts +40 -0
- package/src/internal/arbitrary.ts +148 -0
- package/src/internal/loop.ts +24 -0
- package/src/internal/pending.ts +20 -0
- package/src/internal/textDecoder.ts +183 -0
- package/src/jsonld/DocumentLoader.ts +512 -0
- package/src/jsonld/JsonLd.ts +847 -0
- package/src/jsonld/JsonLdError.ts +105 -0
- package/src/jsonld/index.ts +13 -0
- package/src/jsonld/internal/compact.ts +852 -0
- package/src/jsonld/internal/context.ts +781 -0
- package/src/jsonld/internal/expand.ts +614 -0
- package/src/jsonld/internal/flatten.ts +243 -0
- package/src/jsonld/internal/frame.ts +559 -0
- package/src/jsonld/internal/iri.ts +52 -0
- package/src/jsonld/internal/json.ts +19 -0
- package/src/jsonld/internal/linkHeader.ts +60 -0
- package/src/jsonld/internal/rdf.ts +481 -0
- package/src/jsonld/internal/util.ts +367 -0
- package/src/n3/Isomorphism.ts +476 -0
- package/src/n3/Mapping.ts +332 -0
- package/src/n3/Model.ts +696 -0
- package/src/n3/N3.ts +237 -0
- package/src/n3/Reasoner.ts +568 -0
- package/src/n3/Vocab.ts +111 -0
- package/src/n3/index.ts +21 -0
- package/src/n3/internal/builtins.ts +668 -0
- package/src/n3/internal/guards.ts +23 -0
- package/src/n3/internal/lists.ts +106 -0
- package/src/n3/internal/loop.ts +28 -0
- package/src/n3/internal/parser.ts +1032 -0
- package/src/n3/internal/writer.ts +344 -0
- package/src/ntriples/Grammar.ts +317 -0
- package/src/ntriples/Lexical.ts +321 -0
- package/src/ntriples/NQuads.ts +140 -0
- package/src/ntriples/NTriples.ts +143 -0
- package/src/ntriples/index.ts +14 -0
- package/src/ntriples/internal/codec.ts +229 -0
- package/src/ntriples/internal/lineParser.ts +326 -0
- package/src/ntriples/internal/loop.ts +14 -0
- package/src/rdfjson/RdfJson.ts +806 -0
- package/src/rdfjson/index.ts +9 -0
- package/src/rdfjson/internal/json.ts +19 -0
- package/src/rdfxml/RdfXml.ts +1408 -0
- package/src/rdfxml/Xml.ts +419 -0
- package/src/rdfxml/index.ts +11 -0
- package/src/rdfxml/internal/chars.ts +73 -0
- package/src/rdfxml/internal/loop.ts +24 -0
- package/src/rdfxml/internal/parser.ts +1265 -0
- package/src/shacl/Message.ts +102 -0
- package/src/shacl/Path.ts +483 -0
- package/src/shacl/Shapes.ts +913 -0
- package/src/shacl/Sparql.ts +128 -0
- package/src/shacl/ValidationReport.ts +438 -0
- package/src/shacl/Validator.ts +1156 -0
- package/src/shacl/Vocabulary.ts +180 -0
- package/src/shacl/index.ts +22 -0
- package/src/shacl/internal/compare.ts +128 -0
- package/src/shacl/internal/regex.ts +56 -0
- package/src/shex/SemAct.ts +197 -0
- package/src/shex/ShExC.ts +415 -0
- package/src/shex/ShExError.ts +71 -0
- package/src/shex/ShExJ.ts +893 -0
- package/src/shex/ShExR.ts +640 -0
- package/src/shex/ShapeMap.ts +385 -0
- package/src/shex/Structure.ts +467 -0
- package/src/shex/Validator.ts +395 -0
- package/src/shex/index.ts +24 -0
- package/src/shex/internal/engine.ts +682 -0
- package/src/shex/internal/iterate.ts +14 -0
- package/src/shex/internal/json.ts +12 -0
- package/src/shex/internal/lexer.ts +56 -0
- package/src/shex/internal/nodeConstraint.ts +368 -0
- package/src/shex/internal/shexcLexer.ts +387 -0
- package/src/shex/internal/shexcParser.ts +1312 -0
- package/src/shex/internal/tokens.ts +41 -0
- package/src/shex/internal/xpathRegex.ts +290 -0
- package/src/sparql/Algebra.ts +914 -0
- package/src/sparql/Ast.ts +1344 -0
- package/src/sparql/Bindings.ts +272 -0
- package/src/sparql/ClientErrors.ts +156 -0
- package/src/sparql/ClientFormats.ts +70 -0
- package/src/sparql/Engine.ts +699 -0
- package/src/sparql/Errors.ts +30 -0
- package/src/sparql/Expression.ts +360 -0
- package/src/sparql/Federation.ts +187 -0
- package/src/sparql/Functions.ts +689 -0
- package/src/sparql/Generator.ts +426 -0
- package/src/sparql/GraphStore.ts +341 -0
- package/src/sparql/Optimizer.ts +230 -0
- package/src/sparql/Options.ts +191 -0
- package/src/sparql/Parser.ts +173 -0
- package/src/sparql/Protocol.ts +342 -0
- package/src/sparql/ProtocolErrors.ts +113 -0
- package/src/sparql/QueryBuilder.ts +953 -0
- package/src/sparql/Results.ts +844 -0
- package/src/sparql/ResultsStream.ts +771 -0
- package/src/sparql/ServerFormats.ts +75 -0
- package/src/sparql/ServiceDescription.ts +130 -0
- package/src/sparql/SparqlClient.ts +947 -0
- package/src/sparql/SparqlServer.ts +528 -0
- package/src/sparql/Store.ts +311 -0
- package/src/sparql/TermSchema.ts +20 -0
- package/src/sparql/Testing.ts +114 -0
- package/src/sparql/Translate.ts +407 -0
- package/src/sparql/ai/Mcp.ts +43 -0
- package/src/sparql/ai/Tools.ts +481 -0
- package/src/sparql/ai/index.ts +11 -0
- package/src/sparql/index.ts +64 -0
- package/src/sparql/internal/evaluator.ts +947 -0
- package/src/sparql/internal/hash.ts +418 -0
- package/src/sparql/internal/json.ts +12 -0
- package/src/sparql/internal/lexer.ts +488 -0
- package/src/sparql/internal/loop.ts +24 -0
- package/src/sparql/internal/parser.ts +2215 -0
- package/src/sparql/internal/prefetch.ts +46 -0
- package/src/sparql/internal/stringMap.ts +39 -0
- package/src/sparql/internal/textResults.ts +226 -0
- package/src/sparql/internal/values.ts +550 -0
- package/src/sparql/shacl/Evaluator.ts +478 -0
- package/src/sparql/shacl/Query.ts +574 -0
- package/src/sparql/shacl/index.ts +12 -0
- package/src/sparql/sql/Dialect.ts +246 -0
- package/src/sparql/sql/SqlStore.ts +1080 -0
- package/src/sparql/sql/Translation.ts +1898 -0
- package/src/sparql/sql/index.ts +17 -0
- package/src/sparql/sql/internal/encoding.ts +313 -0
- package/src/turtle/Grammar.ts +286 -0
- package/src/turtle/Manifest.ts +215 -0
- package/src/turtle/TriG.ts +158 -0
- package/src/turtle/Turtle.ts +166 -0
- package/src/turtle/index.ts +14 -0
- package/src/turtle/internal/loop.ts +23 -0
- package/src/turtle/internal/parse.ts +112 -0
- package/src/turtle/internal/parser.ts +1303 -0
- package/src/turtle/internal/serialize.ts +79 -0
- package/src/turtle/internal/streamWriter.ts +128 -0
- package/src/turtle/internal/writer.ts +898 -0
- package/src/xmp/DublinCore.ts +147 -0
- package/src/xmp/Exif.ts +109 -0
- package/src/xmp/Extract.ts +351 -0
- package/src/xmp/Metadata.ts +703 -0
- package/src/xmp/Namespaces.ts +228 -0
- package/src/xmp/Packet.ts +297 -0
- package/src/xmp/Pdf.ts +99 -0
- package/src/xmp/PdfA.ts +280 -0
- package/src/xmp/Photoshop.ts +275 -0
- package/src/xmp/Tiff.ts +196 -0
- package/src/xmp/Xmp.ts +430 -0
- package/src/xmp/XmpBasic.ts +90 -0
- package/src/xmp/XmpMM.ts +82 -0
- package/src/xmp/XmpRights.ts +83 -0
- package/src/xmp/index.ts +36 -0
- package/src/xmp/internal/accessors.ts +72 -0
- package/src/xmp/internal/xml.ts +63 -0
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
|
|
2
|
+
import { a as ShExStructureError } from "./ShExError-CVtq2NnM.mjs";
|
|
3
|
+
import * as Arr from "effect/Array";
|
|
4
|
+
import * as Iterable from "effect/Iterable";
|
|
5
|
+
import * as MutableHashMap from "effect/MutableHashMap";
|
|
6
|
+
import * as MutableHashSet from "effect/MutableHashSet";
|
|
7
|
+
import * as Option from "effect/Option";
|
|
8
|
+
import * as Predicate from "effect/Predicate";
|
|
9
|
+
import * as Effect from "effect/Effect";
|
|
10
|
+
import * as Match from "effect/Match";
|
|
11
|
+
// src/shex/internal/iterate.ts
|
|
12
|
+
/**
|
|
13
|
+
* A loop as a function: the cursor-driven scans of the engine, the
|
|
14
|
+
* structural checks and the regular expression translator step a state
|
|
15
|
+
* until it is done.
|
|
16
|
+
*
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
/** Steps `f` from `initial` until it returns none. */
|
|
20
|
+
const iterate = (initial, f) => {
|
|
21
|
+
Arr.unfold(initial, (s) => Option.map(f(s), (next) => [void 0, next]));
|
|
22
|
+
};
|
|
23
|
+
// src/shex/Structure.ts
|
|
24
|
+
/**
|
|
25
|
+
* Schema indexing and the ShEx structural requirements: every reference
|
|
26
|
+
* resolves, inclusions name triple expressions, shape expressions do not
|
|
27
|
+
* refer to themselves except through triple constraints, there is no
|
|
28
|
+
* reference cycle through negation (`NOT` or `EXTRA`), and the extension
|
|
29
|
+
* hierarchy is acyclic.
|
|
30
|
+
*
|
|
31
|
+
* @since 0.1.0
|
|
32
|
+
*/
|
|
33
|
+
var Structure_exports = /* @__PURE__ */ __exportAll({
|
|
34
|
+
check: () => check,
|
|
35
|
+
makeIndex: () => makeIndex,
|
|
36
|
+
nestedShapes: () => nestedShapes,
|
|
37
|
+
problems: () => problems
|
|
38
|
+
});
|
|
39
|
+
const forEachShapeExprChild = Match.fn((e, _f) => e).pipe(Match.when({ type: Match.is("ShapeAnd", "ShapeOr") }, (e, _e, f) => e.shapeExprs.forEach(f)), Match.when({ type: "ShapeNot" }, (e, _e, f) => f(e.shapeExpr)), Match.orElse(() => void 0));
|
|
40
|
+
/** Collects the labelled triple expressions of a shape expression tree. */
|
|
41
|
+
const collectTripleExprs = (root, out, duplicates) => {
|
|
42
|
+
const visitShape = (e) => {
|
|
43
|
+
if (Predicate.isString(e)) return;
|
|
44
|
+
if (e.type === "Shape") {
|
|
45
|
+
e.extends?.forEach(visitShape);
|
|
46
|
+
if (e.expression !== void 0) visitTriple(e.expression);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
forEachShapeExprChild(e, visitShape);
|
|
50
|
+
};
|
|
51
|
+
const visitTriple = (t) => {
|
|
52
|
+
if (Predicate.isString(t)) return;
|
|
53
|
+
if (t.id !== void 0) {
|
|
54
|
+
const id = t.id;
|
|
55
|
+
if (Option.exists(MutableHashMap.get(out, id), (existing) => existing !== t)) duplicates.push(id);
|
|
56
|
+
MutableHashMap.set(out, id, t);
|
|
57
|
+
}
|
|
58
|
+
if (t.type === "TripleConstraint") {
|
|
59
|
+
if (t.valueExpr !== void 0) visitShape(t.valueExpr);
|
|
60
|
+
} else t.expressions.forEach(visitTriple);
|
|
61
|
+
};
|
|
62
|
+
visitShape(root);
|
|
63
|
+
};
|
|
64
|
+
const tripleExprsOf = (schema) => {
|
|
65
|
+
const tripleExprs = MutableHashMap.empty();
|
|
66
|
+
const duplicates = [];
|
|
67
|
+
schema.shapes?.forEach((d) => {
|
|
68
|
+
collectTripleExprs(d.shapeExpr, tripleExprs, duplicates);
|
|
69
|
+
d.restricts?.forEach((r) => collectTripleExprs(r, tripleExprs, duplicates));
|
|
70
|
+
});
|
|
71
|
+
if (schema.start !== void 0) collectTripleExprs(schema.start, tripleExprs, duplicates);
|
|
72
|
+
return {
|
|
73
|
+
tripleExprs,
|
|
74
|
+
duplicates
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
/** `nestedShapes`, with the declarations looked up by `declOf`. */
|
|
78
|
+
const nestedShapesBy = (declOf, e) => {
|
|
79
|
+
const out = [];
|
|
80
|
+
const seen = MutableHashSet.empty();
|
|
81
|
+
const go = (x) => {
|
|
82
|
+
if (Predicate.isString(x)) {
|
|
83
|
+
if (MutableHashSet.has(seen, x)) return;
|
|
84
|
+
MutableHashSet.add(seen, x);
|
|
85
|
+
Option.map(declOf(x), (decl) => go(decl.shapeExpr));
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (x.type === "Shape") out.push(x);
|
|
89
|
+
else forEachShapeExprChild(x, go);
|
|
90
|
+
};
|
|
91
|
+
go(e);
|
|
92
|
+
return out;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* The shapes nested in a shape expression (following references but not
|
|
96
|
+
* triple constraints), per the ShEx 2.2 `nestedShapes` definition.
|
|
97
|
+
*
|
|
98
|
+
* @since 0.1.0
|
|
99
|
+
* @category utils
|
|
100
|
+
*/
|
|
101
|
+
const nestedShapes = (shapes, e) => nestedShapesBy((label) => Option.fromUndefinedOr(shapes.get(label)), e);
|
|
102
|
+
/** All shape labels referenced inside a shape expression (anywhere). */
|
|
103
|
+
const refsOf = (e, out) => {
|
|
104
|
+
if (Predicate.isString(e)) {
|
|
105
|
+
out.push(e);
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
if (e.type === "Shape") {
|
|
109
|
+
e.extends?.forEach((x) => refsOf(x, out));
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
forEachShapeExprChild(e, (c) => refsOf(c, out));
|
|
113
|
+
};
|
|
114
|
+
/** The labels a declaration extends: the references in the `EXTENDS` of its nested shapes. */
|
|
115
|
+
const parentsOf = (declOf, d) => {
|
|
116
|
+
const parents = [];
|
|
117
|
+
nestedShapesBy(declOf, d.shapeExpr).forEach((s) => s.extends?.forEach((ext) => refsOf(ext, parents)));
|
|
118
|
+
return parents;
|
|
119
|
+
};
|
|
120
|
+
/** Appends `value` to the list of `key`, starting the list if there is none. */
|
|
121
|
+
const append = (map, key, value) => Option.match(MutableHashMap.get(map, key), {
|
|
122
|
+
onNone: () => {
|
|
123
|
+
MutableHashMap.set(map, key, [value]);
|
|
124
|
+
},
|
|
125
|
+
onSome: (list) => {
|
|
126
|
+
list.push(value);
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
/** The labels reachable from `label` in `children` (depth first, each once). */
|
|
130
|
+
const descendantsOf = (children, label) => {
|
|
131
|
+
const out = [];
|
|
132
|
+
const seen = MutableHashSet.make(label);
|
|
133
|
+
iterate([label], (pending) => {
|
|
134
|
+
const l = pending.pop();
|
|
135
|
+
if (l === void 0) return Option.none();
|
|
136
|
+
Option.getOrElse(MutableHashMap.get(children, l), () => []).forEach((c) => {
|
|
137
|
+
if (MutableHashSet.has(seen, c)) return;
|
|
138
|
+
MutableHashSet.add(seen, c);
|
|
139
|
+
out.push(c);
|
|
140
|
+
pending.push(c);
|
|
141
|
+
});
|
|
142
|
+
return Option.some(pending);
|
|
143
|
+
});
|
|
144
|
+
return out;
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* Builds the index of a schema (which should already include the
|
|
148
|
+
* declarations of its imports).
|
|
149
|
+
*
|
|
150
|
+
* @since 0.1.0
|
|
151
|
+
* @category constructors
|
|
152
|
+
*/
|
|
153
|
+
const makeIndex = (schema) => {
|
|
154
|
+
const decls = MutableHashMap.fromIterable(Arr.map(schema.shapes ?? [], (d) => [d.id, d]));
|
|
155
|
+
const declOf = (label) => MutableHashMap.get(decls, label);
|
|
156
|
+
const { tripleExprs } = tripleExprsOf(schema);
|
|
157
|
+
const children = MutableHashMap.empty();
|
|
158
|
+
schema.shapes?.forEach((d) => parentsOf(declOf, d).forEach((p) => {
|
|
159
|
+
if (!Option.exists(MutableHashMap.get(children, p), (l) => l.includes(d.id))) append(children, p, d.id);
|
|
160
|
+
}));
|
|
161
|
+
return {
|
|
162
|
+
schema,
|
|
163
|
+
shapes: new Map(decls),
|
|
164
|
+
tripleExprs: new Map(tripleExprs),
|
|
165
|
+
descendants: new Map(Arr.map(Arr.fromIterable(MutableHashMap.keys(children)), (label) => [label, descendantsOf(children, label)]))
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
/** The cycles of a dependency graph, each rendered as `a -> b -> a`. */
|
|
169
|
+
const cyclesOf = (graph) => {
|
|
170
|
+
const state = MutableHashMap.empty();
|
|
171
|
+
const found = [];
|
|
172
|
+
const visit = (n, path) => {
|
|
173
|
+
const s = MutableHashMap.get(state, n);
|
|
174
|
+
if (Option.contains(s, 2)) return;
|
|
175
|
+
if (Option.contains(s, 1)) {
|
|
176
|
+
found.push([...path.slice(path.indexOf(n)), n].join(" -> "));
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
MutableHashMap.set(state, n, 1);
|
|
180
|
+
path.push(n);
|
|
181
|
+
Option.getOrElse(MutableHashMap.get(graph, n), () => []).forEach((m) => visit(m, path));
|
|
182
|
+
path.pop();
|
|
183
|
+
MutableHashMap.set(state, n, 2);
|
|
184
|
+
};
|
|
185
|
+
Iterable.forEach(MutableHashMap.keys(graph), (n) => visit(n, []));
|
|
186
|
+
return found;
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* Returns the structural problems of a schema (empty when it is
|
|
190
|
+
* well-formed). When `allowUnresolved` is set, references to undeclared
|
|
191
|
+
* labels are tolerated (e.g. before imports have been loaded).
|
|
192
|
+
*
|
|
193
|
+
* @since 0.1.0
|
|
194
|
+
* @category checks
|
|
195
|
+
*/
|
|
196
|
+
const problems = (schema, options = {}) => {
|
|
197
|
+
const errors = [];
|
|
198
|
+
const shapes = MutableHashMap.empty();
|
|
199
|
+
schema.shapes?.forEach((d) => {
|
|
200
|
+
if (MutableHashMap.has(shapes, d.id)) errors.push(`shape ${d.id} is declared more than once`);
|
|
201
|
+
MutableHashMap.set(shapes, d.id, d);
|
|
202
|
+
});
|
|
203
|
+
const isShape = (label) => MutableHashMap.has(shapes, label);
|
|
204
|
+
const { tripleExprs, duplicates } = tripleExprsOf(schema);
|
|
205
|
+
duplicates.forEach((d) => errors.push(`triple expression ${d} is declared more than once`));
|
|
206
|
+
Iterable.forEach(MutableHashMap.keys(tripleExprs), (l) => {
|
|
207
|
+
if (isShape(l)) errors.push(`${l} labels both a shape and a triple expression`);
|
|
208
|
+
});
|
|
209
|
+
const checkRef = (label) => {
|
|
210
|
+
if (!isShape(label) && options.allowUnresolved !== true) errors.push(`reference to undeclared shape ${label}`);
|
|
211
|
+
};
|
|
212
|
+
const checkInclude = (label) => {
|
|
213
|
+
if (MutableHashMap.has(tripleExprs, label)) return;
|
|
214
|
+
if (isShape(label)) errors.push(`inclusion &${label} names a shape, not a triple expression`);
|
|
215
|
+
else if (options.allowUnresolved !== true) errors.push(`inclusion of undeclared triple expression ${label}`);
|
|
216
|
+
};
|
|
217
|
+
const deps = MutableHashMap.empty();
|
|
218
|
+
const direct = MutableHashMap.empty();
|
|
219
|
+
const walkShape = (from, e, negative, isDirect, visitingIncludes) => {
|
|
220
|
+
if (Predicate.isString(e)) {
|
|
221
|
+
checkRef(e);
|
|
222
|
+
append(deps, from, {
|
|
223
|
+
to: e,
|
|
224
|
+
negative
|
|
225
|
+
});
|
|
226
|
+
if (isDirect) append(direct, from, e);
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
Match.value(e).pipe(Match.discriminator("type")("ShapeAnd", "ShapeOr", (expr) => expr.shapeExprs.forEach((c) => walkShape(from, c, negative, isDirect, visitingIncludes))), Match.discriminator("type")("ShapeNot", (expr) => walkShape(from, expr.shapeExpr, true, isDirect, visitingIncludes)), Match.discriminator("type")("Shape", (expr) => {
|
|
230
|
+
expr.extends?.forEach((x) => walkShape(from, x, negative, false, visitingIncludes));
|
|
231
|
+
const extra = MutableHashSet.fromIterable(expr.extra ?? []);
|
|
232
|
+
if (expr.expression !== void 0) walkTriple(from, expr.expression, negative, extra, visitingIncludes);
|
|
233
|
+
}), Match.orElse(() => void 0));
|
|
234
|
+
};
|
|
235
|
+
const walkTriple = (from, t, negative, extra, visitingIncludes) => {
|
|
236
|
+
if (Predicate.isString(t)) {
|
|
237
|
+
checkInclude(t);
|
|
238
|
+
if (MutableHashSet.has(visitingIncludes, t)) return;
|
|
239
|
+
Option.map(MutableHashMap.get(tripleExprs, t), (target) => {
|
|
240
|
+
MutableHashSet.add(visitingIncludes, t);
|
|
241
|
+
walkTriple(from, target, negative, extra, visitingIncludes);
|
|
242
|
+
MutableHashSet.remove(visitingIncludes, t);
|
|
243
|
+
});
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
if (t.type === "TripleConstraint") {
|
|
247
|
+
if (t.valueExpr !== void 0) {
|
|
248
|
+
const neg = negative || MutableHashSet.has(extra, t.predicate) && t.inverse !== true;
|
|
249
|
+
walkShape(from, t.valueExpr, neg, false, visitingIncludes);
|
|
250
|
+
}
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
t.expressions.forEach((c) => walkTriple(from, c, negative, extra, visitingIncludes));
|
|
254
|
+
};
|
|
255
|
+
const roots = Arr.flatMap(schema.shapes ?? [], (d) => [[d.id, d.shapeExpr], ...Arr.map(d.restricts ?? [], (r) => [d.id, r])]);
|
|
256
|
+
roots.forEach(([label]) => {
|
|
257
|
+
MutableHashMap.set(deps, label, []);
|
|
258
|
+
MutableHashMap.set(direct, label, []);
|
|
259
|
+
});
|
|
260
|
+
roots.forEach(([label, expr]) => walkShape(label, expr, false, true, MutableHashSet.empty()));
|
|
261
|
+
if (schema.start !== void 0) {
|
|
262
|
+
MutableHashMap.set(deps, "\0start", []);
|
|
263
|
+
MutableHashMap.set(direct, "\0start", []);
|
|
264
|
+
walkShape("\0start", schema.start, false, true, MutableHashSet.empty());
|
|
265
|
+
}
|
|
266
|
+
cyclesOf(direct).forEach((c) => errors.push(`shape expression refers to itself: ${c}`));
|
|
267
|
+
const sccOf = tarjan(Arr.fromIterable(MutableHashMap.keys(deps)), (n) => Arr.map(Option.getOrElse(MutableHashMap.get(deps, n), () => []), (e) => e.to));
|
|
268
|
+
Iterable.forEach(deps, ([from, edges]) => edges.forEach((e) => {
|
|
269
|
+
const component = MutableHashMap.get(sccOf, from);
|
|
270
|
+
if (e.negative && Option.exists(component, (c) => Option.contains(MutableHashMap.get(sccOf, e.to), c))) errors.push(`reference cycle through negation between ${from} and ${e.to}`);
|
|
271
|
+
}));
|
|
272
|
+
const declOf = (label) => MutableHashMap.get(shapes, label);
|
|
273
|
+
const extendsGraph = MutableHashMap.empty();
|
|
274
|
+
schema.shapes?.forEach((d) => MutableHashMap.set(extendsGraph, d.id, parentsOf(declOf, d)));
|
|
275
|
+
cyclesOf(extendsGraph).forEach((c) => errors.push(`cyclic extension hierarchy: ${c}`));
|
|
276
|
+
return Arr.dedupe(errors);
|
|
277
|
+
};
|
|
278
|
+
/** The strongly connected component of every node, by Tarjan's algorithm. */
|
|
279
|
+
const tarjan = (nodes, succ) => {
|
|
280
|
+
let index = 0;
|
|
281
|
+
let component = 0;
|
|
282
|
+
const visited = MutableHashMap.empty();
|
|
283
|
+
const stack = [];
|
|
284
|
+
const result = MutableHashMap.empty();
|
|
285
|
+
const strong = (v) => {
|
|
286
|
+
const nv = {
|
|
287
|
+
index,
|
|
288
|
+
low: index,
|
|
289
|
+
onStack: true
|
|
290
|
+
};
|
|
291
|
+
MutableHashMap.set(visited, v, nv);
|
|
292
|
+
index++;
|
|
293
|
+
stack.push(v);
|
|
294
|
+
succ(v).forEach((w) => Option.match(MutableHashMap.get(visited, w), {
|
|
295
|
+
onNone: () => {
|
|
296
|
+
nv.low = Math.min(nv.low, strong(w).low);
|
|
297
|
+
},
|
|
298
|
+
onSome: (nw) => {
|
|
299
|
+
if (nw.onStack) nv.low = Math.min(nv.low, nw.index);
|
|
300
|
+
}
|
|
301
|
+
}));
|
|
302
|
+
if (nv.low === nv.index) {
|
|
303
|
+
iterate(stack, (pending) => {
|
|
304
|
+
const w = pending.pop();
|
|
305
|
+
if (w === void 0) return Option.none();
|
|
306
|
+
Option.map(MutableHashMap.get(visited, w), (nw) => {
|
|
307
|
+
nw.onStack = false;
|
|
308
|
+
});
|
|
309
|
+
MutableHashMap.set(result, w, component);
|
|
310
|
+
return w === v ? Option.none() : Option.some(pending);
|
|
311
|
+
});
|
|
312
|
+
component++;
|
|
313
|
+
}
|
|
314
|
+
return nv;
|
|
315
|
+
};
|
|
316
|
+
nodes.forEach((n) => {
|
|
317
|
+
if (!MutableHashMap.has(visited, n)) strong(n);
|
|
318
|
+
});
|
|
319
|
+
return result;
|
|
320
|
+
};
|
|
321
|
+
/**
|
|
322
|
+
* Checks the structural requirements of a schema, failing with a
|
|
323
|
+
* `ShExStructureError` listing the problems.
|
|
324
|
+
*
|
|
325
|
+
* @since 0.1.0
|
|
326
|
+
* @category checks
|
|
327
|
+
*/
|
|
328
|
+
const check = (schema, options = {}) => Effect.suspend(() => {
|
|
329
|
+
const errs = problems(schema, options);
|
|
330
|
+
return Arr.isReadonlyArrayEmpty(errs) ? Effect.succeed(schema) : Effect.fail(new ShExStructureError({ message: errs.join("; ") }));
|
|
331
|
+
});
|
|
332
|
+
export { problems as a, nestedShapes as i, check as n, iterate as o, makeIndex as r, Structure_exports as t };
|
|
333
|
+
|
|
334
|
+
//# sourceMappingURL=Structure-BjMo4Bkc.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Structure-BjMo4Bkc.mjs","names":[],"sources":["../src/shex/internal/iterate.ts","../src/shex/Structure.ts"],"sourcesContent":["/**\n * A loop as a function: the cursor-driven scans of the engine, the\n * structural checks and the regular expression translator step a state\n * until it is done.\n *\n * @internal\n */\nimport * as Arr from 'effect/Array';\nimport * as Option from 'effect/Option';\n\n/** Steps `f` from `initial` until it returns none. */\nexport const iterate = <S>(initial: S, f: (s: S) => Option.Option<S>): void => {\n Arr.unfold(initial, (s) => Option.map(f(s), (next) => [undefined, next] as const));\n};\n","/**\n * Schema indexing and the ShEx structural requirements: every reference\n * resolves, inclusions name triple expressions, shape expressions do not\n * refer to themselves except through triple constraints, there is no\n * reference cycle through negation (`NOT` or `EXTRA`), and the extension\n * hierarchy is acyclic.\n *\n * @since 0.1.0\n */\nimport * as Arr from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Iterable from 'effect/Iterable';\nimport * as Match from 'effect/Match';\nimport * as MutableHashMap from 'effect/MutableHashMap';\nimport * as MutableHashSet from 'effect/MutableHashSet';\nimport * as Option from 'effect/Option';\nimport { iterate } from './internal/iterate.ts';\nimport { ShExStructureError } from './ShExError.ts';\nimport type * as ShExJ from './ShExJ.ts';\nimport * as Predicate from 'effect/Predicate';\n\n/**\n * An index of the declarations of a schema.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface SchemaIndex {\n readonly schema: ShExJ.Schema;\n /** Shape declarations by label. */\n readonly shapes: ReadonlyMap<string, ShExJ.ShapeDecl>;\n /** Labelled triple expressions by label. */\n readonly tripleExprs: ReadonlyMap<string, ShExJ.TripleExpr>;\n /**\n * The extension hierarchy: for each label, the labels of the declarations\n * that (directly or transitively) extend it.\n */\n readonly descendants: ReadonlyMap<string, ReadonlyArray<string>>;\n}\n\nconst forEachShapeExprChild: (\n e: ShExJ.ShapeExpr,\n f: (child: ShExJ.ShapeExprOrRef) => void,\n) => void = Match.fn((e: ShExJ.ShapeExpr, _f: (child: ShExJ.ShapeExprOrRef) => void) => e).pipe(\n Match.when({ type: Match.is('ShapeAnd', 'ShapeOr') }, (e, _e, f) => e.shapeExprs.forEach(f)),\n Match.when({ type: 'ShapeNot' }, (e, _e, f) => f(e.shapeExpr)),\n Match.orElse(() => undefined),\n);\n\ntype Labels<A> = MutableHashMap.MutableHashMap<string, A>;\n\n/** Collects the labelled triple expressions of a shape expression tree. */\nconst collectTripleExprs = (\n root: ShExJ.ShapeExprOrRef,\n out: Labels<ShExJ.TripleExpr>,\n duplicates: Array<string>,\n): void => {\n const visitShape = (e: ShExJ.ShapeExprOrRef): void => {\n if (Predicate.isString(e)) return;\n if (e.type === 'Shape') {\n e.extends?.forEach(visitShape);\n if (e.expression !== undefined) visitTriple(e.expression);\n return;\n }\n forEachShapeExprChild(e, visitShape);\n };\n const visitTriple = (t: ShExJ.TripleExprOrRef): void => {\n if (Predicate.isString(t)) return;\n if (t.id !== undefined) {\n const id = t.id;\n if (Option.exists(MutableHashMap.get(out, id), (existing) => existing !== t))\n duplicates.push(id);\n MutableHashMap.set(out, id, t);\n }\n if (t.type === 'TripleConstraint') {\n if (t.valueExpr !== undefined) visitShape(t.valueExpr);\n } else {\n t.expressions.forEach(visitTriple);\n }\n };\n visitShape(root);\n};\n\n/** The labelled triple expressions of a schema, and the labels declared more than once. */\ninterface TripleExprIndex {\n readonly tripleExprs: Labels<ShExJ.TripleExpr>;\n readonly duplicates: Array<string>;\n}\n\nconst tripleExprsOf = (schema: ShExJ.Schema): TripleExprIndex => {\n const tripleExprs = MutableHashMap.empty<string, ShExJ.TripleExpr>();\n const duplicates: Array<string> = [];\n schema.shapes?.forEach((d) => {\n collectTripleExprs(d.shapeExpr, tripleExprs, duplicates);\n d.restricts?.forEach((r) => collectTripleExprs(r, tripleExprs, duplicates));\n });\n if (schema.start !== undefined) collectTripleExprs(schema.start, tripleExprs, duplicates);\n return { tripleExprs, duplicates };\n};\n\n/** `nestedShapes`, with the declarations looked up by `declOf`. */\nconst nestedShapesBy = (\n declOf: (label: string) => Option.Option<ShExJ.ShapeDecl>,\n e: ShExJ.ShapeExprOrRef,\n): ReadonlyArray<ShExJ.Shape> => {\n const out: Array<ShExJ.Shape> = [];\n const seen = MutableHashSet.empty<string>();\n const go = (x: ShExJ.ShapeExprOrRef): void => {\n if (Predicate.isString(x)) {\n if (MutableHashSet.has(seen, x)) return;\n MutableHashSet.add(seen, x);\n Option.map(declOf(x), (decl) => go(decl.shapeExpr));\n return;\n }\n if (x.type === 'Shape') out.push(x);\n else forEachShapeExprChild(x, go);\n };\n go(e);\n return out;\n};\n\n/**\n * The shapes nested in a shape expression (following references but not\n * triple constraints), per the ShEx 2.2 `nestedShapes` definition.\n *\n * @since 0.1.0\n * @category utils\n */\nexport const nestedShapes = (\n shapes: ReadonlyMap<string, ShExJ.ShapeDecl>,\n e: ShExJ.ShapeExprOrRef,\n): ReadonlyArray<ShExJ.Shape> =>\n nestedShapesBy((label) => Option.fromUndefinedOr(shapes.get(label)), e);\n\n/** All shape labels referenced inside a shape expression (anywhere). */\nconst refsOf = (e: ShExJ.ShapeExprOrRef, out: Array<string>): void => {\n if (Predicate.isString(e)) {\n out.push(e);\n return;\n }\n if (e.type === 'Shape') {\n // only the extends clause, not the triple expression\n e.extends?.forEach((x) => refsOf(x, out));\n return;\n }\n forEachShapeExprChild(e, (c) => refsOf(c, out));\n};\n\n/** The labels a declaration extends: the references in the `EXTENDS` of its nested shapes. */\nconst parentsOf = (\n declOf: (label: string) => Option.Option<ShExJ.ShapeDecl>,\n d: ShExJ.ShapeDecl,\n): Array<string> => {\n const parents: Array<string> = [];\n nestedShapesBy(declOf, d.shapeExpr).forEach((s) =>\n s.extends?.forEach((ext) => refsOf(ext, parents)),\n );\n return parents;\n};\n\n/** Appends `value` to the list of `key`, starting the list if there is none. */\nconst append = <A>(map: Labels<Array<A>>, key: string, value: A): void =>\n Option.match(MutableHashMap.get(map, key), {\n onNone: () => {\n MutableHashMap.set(map, key, [value]);\n },\n onSome: (list) => {\n list.push(value);\n },\n });\n\n/** The labels reachable from `label` in `children` (depth first, each once). */\nconst descendantsOf = (children: Labels<Array<string>>, label: string): ReadonlyArray<string> => {\n const out: Array<string> = [];\n const seen = MutableHashSet.make(label);\n const stack = [label];\n iterate(stack, (pending) => {\n const l = pending.pop();\n if (l === undefined) return Option.none();\n Option.getOrElse(MutableHashMap.get(children, l), () => []).forEach((c) => {\n if (MutableHashSet.has(seen, c)) return;\n MutableHashSet.add(seen, c);\n out.push(c);\n pending.push(c);\n });\n return Option.some(pending);\n });\n return out;\n};\n\n/**\n * Builds the index of a schema (which should already include the\n * declarations of its imports).\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const makeIndex = (schema: ShExJ.Schema): SchemaIndex => {\n const decls = MutableHashMap.fromIterable(\n Arr.map(schema.shapes ?? [], (d) => [d.id, d] as const),\n );\n const declOf = (label: string) => MutableHashMap.get(decls, label);\n const { tripleExprs } = tripleExprsOf(schema);\n // Extension hierarchy: parent label -> direct children (each once, in order).\n const children = MutableHashMap.empty<string, Array<string>>();\n schema.shapes?.forEach((d) =>\n parentsOf(declOf, d).forEach((p) => {\n if (!Option.exists(MutableHashMap.get(children, p), (l) => l.includes(d.id)))\n append(children, p, d.id);\n }),\n );\n // `SchemaIndex` exposes `ReadonlyMap`s, so the index is built on native maps.\n return {\n schema,\n shapes: new Map(decls),\n tripleExprs: new Map(tripleExprs),\n descendants: new Map(\n Arr.map(Arr.fromIterable(MutableHashMap.keys(children)), (label) => [\n label,\n descendantsOf(children, label),\n ]),\n ),\n };\n};\n\n// -----------------------------------------------------------------------------\n// Structural checks\n// -----------------------------------------------------------------------------\n\ninterface Edge {\n readonly to: string;\n readonly negative: boolean;\n}\n\n/** The cycles of a dependency graph, each rendered as `a -> b -> a`. */\nconst cyclesOf = (graph: Labels<ReadonlyArray<string>>): ReadonlyArray<string> => {\n // 1: on the current path; 2: done.\n const state = MutableHashMap.empty<string, number>();\n const found: Array<string> = [];\n const visit = (n: string, path: Array<string>): void => {\n const s = MutableHashMap.get(state, n);\n if (Option.contains(s, 2)) return;\n if (Option.contains(s, 1)) {\n found.push([...path.slice(path.indexOf(n)), n].join(' -> '));\n return;\n }\n MutableHashMap.set(state, n, 1);\n path.push(n);\n Option.getOrElse(MutableHashMap.get(graph, n), () => []).forEach((m) => visit(m, path));\n path.pop();\n MutableHashMap.set(state, n, 2);\n };\n Iterable.forEach(MutableHashMap.keys(graph), (n) => visit(n, []));\n return found;\n};\n\n/**\n * Returns the structural problems of a schema (empty when it is\n * well-formed). When `allowUnresolved` is set, references to undeclared\n * labels are tolerated (e.g. before imports have been loaded).\n *\n * @since 0.1.0\n * @category checks\n */\nexport const problems = (\n schema: ShExJ.Schema,\n options: { readonly allowUnresolved?: boolean } = {},\n): ReadonlyArray<string> => {\n const errors: Array<string> = [];\n const shapes = MutableHashMap.empty<string, ShExJ.ShapeDecl>();\n schema.shapes?.forEach((d) => {\n if (MutableHashMap.has(shapes, d.id)) errors.push(`shape ${d.id} is declared more than once`);\n MutableHashMap.set(shapes, d.id, d);\n });\n const isShape = (label: string) => MutableHashMap.has(shapes, label);\n const { tripleExprs, duplicates } = tripleExprsOf(schema);\n duplicates.forEach((d) => errors.push(`triple expression ${d} is declared more than once`));\n Iterable.forEach(MutableHashMap.keys(tripleExprs), (l) => {\n if (isShape(l)) errors.push(`${l} labels both a shape and a triple expression`);\n });\n\n const checkRef = (label: string) => {\n if (!isShape(label) && options.allowUnresolved !== true)\n errors.push(`reference to undeclared shape ${label}`);\n };\n const checkInclude = (label: string) => {\n if (MutableHashMap.has(tripleExprs, label)) return;\n if (isShape(label)) errors.push(`inclusion &${label} names a shape, not a triple expression`);\n else if (options.allowUnresolved !== true)\n errors.push(`inclusion of undeclared triple expression ${label}`);\n };\n\n // Dependency graph with polarity, and the direct (non-triple) reference graph.\n const deps = MutableHashMap.empty<string, Array<Edge>>();\n const direct = MutableHashMap.empty<string, Array<string>>();\n\n const walkShape = (\n from: string,\n e: ShExJ.ShapeExprOrRef,\n negative: boolean,\n isDirect: boolean,\n visitingIncludes: MutableHashSet.MutableHashSet<string>,\n ): void => {\n if (Predicate.isString(e)) {\n checkRef(e);\n append(deps, from, { to: e, negative });\n if (isDirect) append(direct, from, e);\n return;\n }\n Match.value(e).pipe(\n Match.discriminator('type')('ShapeAnd', 'ShapeOr', (expr) =>\n expr.shapeExprs.forEach((c) => walkShape(from, c, negative, isDirect, visitingIncludes)),\n ),\n Match.discriminator('type')('ShapeNot', (expr) =>\n walkShape(from, expr.shapeExpr, true, isDirect, visitingIncludes),\n ),\n Match.discriminator('type')('Shape', (expr) => {\n expr.extends?.forEach((x) => walkShape(from, x, negative, false, visitingIncludes));\n const extra = MutableHashSet.fromIterable(expr.extra ?? []);\n if (expr.expression !== undefined)\n walkTriple(from, expr.expression, negative, extra, visitingIncludes);\n }),\n Match.orElse(() => undefined),\n );\n };\n const walkTriple = (\n from: string,\n t: ShExJ.TripleExprOrRef,\n negative: boolean,\n extra: MutableHashSet.MutableHashSet<string>,\n visitingIncludes: MutableHashSet.MutableHashSet<string>,\n ): void => {\n if (Predicate.isString(t)) {\n checkInclude(t);\n if (MutableHashSet.has(visitingIncludes, t)) return;\n Option.map(MutableHashMap.get(tripleExprs, t), (target) => {\n MutableHashSet.add(visitingIncludes, t);\n walkTriple(from, target, negative, extra, visitingIncludes);\n MutableHashSet.remove(visitingIncludes, t);\n });\n return;\n }\n if (t.type === 'TripleConstraint') {\n if (t.valueExpr !== undefined) {\n const neg = negative || (MutableHashSet.has(extra, t.predicate) && t.inverse !== true);\n walkShape(from, t.valueExpr, neg, false, visitingIncludes);\n }\n return;\n }\n t.expressions.forEach((c) => walkTriple(from, c, negative, extra, visitingIncludes));\n };\n\n const roots = Arr.flatMap(schema.shapes ?? [], (d) => [\n [d.id, d.shapeExpr] as const,\n ...Arr.map(d.restricts ?? [], (r) => [d.id, r] as const),\n ]);\n roots.forEach(([label]) => {\n MutableHashMap.set(deps, label, []);\n MutableHashMap.set(direct, label, []);\n });\n roots.forEach(([label, expr]) => walkShape(label, expr, false, true, MutableHashSet.empty()));\n if (schema.start !== undefined) {\n MutableHashMap.set(deps, '\\u0000start', []);\n MutableHashMap.set(direct, '\\u0000start', []);\n walkShape('\\u0000start', schema.start, false, true, MutableHashSet.empty());\n }\n\n // Direct self-reference cycles.\n cyclesOf(direct).forEach((c) => errors.push(`shape expression refers to itself: ${c}`));\n\n // Negation requirement: no strongly connected component contains a negative edge.\n const sccOf = tarjan(Arr.fromIterable(MutableHashMap.keys(deps)), (n) =>\n Arr.map(\n Option.getOrElse(MutableHashMap.get(deps, n), () => []),\n (e) => e.to,\n ),\n );\n Iterable.forEach(deps, ([from, edges]) =>\n edges.forEach((e) => {\n const component = MutableHashMap.get(sccOf, from);\n if (\n e.negative &&\n Option.exists(component, (c) => Option.contains(MutableHashMap.get(sccOf, e.to), c))\n ) {\n errors.push(`reference cycle through negation between ${from} and ${e.to}`);\n }\n }),\n );\n\n // Acyclic extension hierarchy.\n const declOf = (label: string) => MutableHashMap.get(shapes, label);\n const extendsGraph = MutableHashMap.empty<string, ReadonlyArray<string>>();\n schema.shapes?.forEach((d) => MutableHashMap.set(extendsGraph, d.id, parentsOf(declOf, d)));\n cyclesOf(extendsGraph).forEach((c) => errors.push(`cyclic extension hierarchy: ${c}`));\n return Arr.dedupe(errors);\n};\n\n/** Tarjan's bookkeeping for one node. */\ninterface Visited {\n readonly index: number;\n low: number;\n onStack: boolean;\n}\n\n/** The strongly connected component of every node, by Tarjan's algorithm. */\nconst tarjan = (\n nodes: ReadonlyArray<string>,\n succ: (n: string) => ReadonlyArray<string>,\n): Labels<number> => {\n let index = 0;\n let component = 0;\n const visited = MutableHashMap.empty<string, Visited>();\n const stack: Array<string> = [];\n const result = MutableHashMap.empty<string, number>();\n const strong = (v: string): Visited => {\n const nv: Visited = { index, low: index, onStack: true };\n MutableHashMap.set(visited, v, nv);\n index++;\n stack.push(v);\n succ(v).forEach((w) =>\n Option.match(MutableHashMap.get(visited, w), {\n onNone: () => {\n nv.low = Math.min(nv.low, strong(w).low);\n },\n onSome: (nw) => {\n if (nw.onStack) nv.low = Math.min(nv.low, nw.index);\n },\n }),\n );\n if (nv.low === nv.index) {\n // Pop the component, down to and including `v`.\n iterate(stack, (pending) => {\n const w = pending.pop();\n if (w === undefined) return Option.none();\n Option.map(MutableHashMap.get(visited, w), (nw) => {\n nw.onStack = false;\n });\n MutableHashMap.set(result, w, component);\n return w === v ? Option.none() : Option.some(pending);\n });\n component++;\n }\n return nv;\n };\n nodes.forEach((n) => {\n if (!MutableHashMap.has(visited, n)) strong(n);\n });\n return result;\n};\n\n/**\n * Checks the structural requirements of a schema, failing with a\n * `ShExStructureError` listing the problems.\n *\n * @since 0.1.0\n * @category checks\n */\nexport const check = (\n schema: ShExJ.Schema,\n options: { readonly allowUnresolved?: boolean } = {},\n): Effect.Effect<ShExJ.Schema, ShExStructureError> =>\n Effect.suspend(() => {\n const errs = problems(schema, options);\n return Arr.isReadonlyArrayEmpty(errs)\n ? Effect.succeed(schema)\n : Effect.fail(new ShExStructureError({ message: errs.join('; ') }));\n });\n"],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { a as ShExStructureError } from "./ShExError-BeYFD9rv.mjs";
|
|
2
|
+
import { B as ShapeDecl, L as Shape, M as Schema, U as ShapeExprOrRef, tt as TripleExpr } from "./ShExJ-C1u_wgyD.mjs";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
declare namespace Structure_d_exports {
|
|
5
|
+
export { SchemaIndex, check, makeIndex, nestedShapes, problems };
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* An index of the declarations of a schema.
|
|
9
|
+
*
|
|
10
|
+
* @since 0.1.0
|
|
11
|
+
* @category models
|
|
12
|
+
*/
|
|
13
|
+
interface SchemaIndex {
|
|
14
|
+
readonly schema: Schema;
|
|
15
|
+
/** Shape declarations by label. */
|
|
16
|
+
readonly shapes: ReadonlyMap<string, ShapeDecl>;
|
|
17
|
+
/** Labelled triple expressions by label. */
|
|
18
|
+
readonly tripleExprs: ReadonlyMap<string, TripleExpr>;
|
|
19
|
+
/**
|
|
20
|
+
* The extension hierarchy: for each label, the labels of the declarations
|
|
21
|
+
* that (directly or transitively) extend it.
|
|
22
|
+
*/
|
|
23
|
+
readonly descendants: ReadonlyMap<string, ReadonlyArray<string>>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The shapes nested in a shape expression (following references but not
|
|
27
|
+
* triple constraints), per the ShEx 2.2 `nestedShapes` definition.
|
|
28
|
+
*
|
|
29
|
+
* @since 0.1.0
|
|
30
|
+
* @category utils
|
|
31
|
+
*/
|
|
32
|
+
declare const nestedShapes: (shapes: ReadonlyMap<string, ShapeDecl>, e: ShapeExprOrRef) => ReadonlyArray<Shape>;
|
|
33
|
+
/**
|
|
34
|
+
* Builds the index of a schema (which should already include the
|
|
35
|
+
* declarations of its imports).
|
|
36
|
+
*
|
|
37
|
+
* @since 0.1.0
|
|
38
|
+
* @category constructors
|
|
39
|
+
*/
|
|
40
|
+
declare const makeIndex: (schema: Schema) => SchemaIndex;
|
|
41
|
+
/**
|
|
42
|
+
* Returns the structural problems of a schema (empty when it is
|
|
43
|
+
* well-formed). When `allowUnresolved` is set, references to undeclared
|
|
44
|
+
* labels are tolerated (e.g. before imports have been loaded).
|
|
45
|
+
*
|
|
46
|
+
* @since 0.1.0
|
|
47
|
+
* @category checks
|
|
48
|
+
*/
|
|
49
|
+
declare const problems: (schema: Schema, options?: {
|
|
50
|
+
readonly allowUnresolved?: boolean;
|
|
51
|
+
}) => ReadonlyArray<string>;
|
|
52
|
+
/**
|
|
53
|
+
* Checks the structural requirements of a schema, failing with a
|
|
54
|
+
* `ShExStructureError` listing the problems.
|
|
55
|
+
*
|
|
56
|
+
* @since 0.1.0
|
|
57
|
+
* @category checks
|
|
58
|
+
*/
|
|
59
|
+
declare const check: (schema: Schema, options?: {
|
|
60
|
+
readonly allowUnresolved?: boolean;
|
|
61
|
+
}) => Effect.Effect<Schema, ShExStructureError>;
|
|
62
|
+
export { nestedShapes as a, makeIndex as i, Structure_d_exports as n, problems as o, check as r, SchemaIndex as t };
|
|
63
|
+
//# sourceMappingURL=Structure-n4CmDiab.d.mts.map
|