@graphty/graph-io 0.3.47 → 0.3.49
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/dist/chunks/{approximations-wWjCRzKj.js → approximations-Bzn3L-je.js} +2 -2
- package/dist/chunks/{approximations-wWjCRzKj.js.map → approximations-Bzn3L-je.js.map} +1 -1
- package/dist/chunks/bends-BGXjv_U4.js +129 -0
- package/dist/chunks/bends-BGXjv_U4.js.map +1 -0
- package/dist/chunks/{block-DiGq58c3.js → block-iptrlMBb.js} +947 -134
- package/dist/chunks/block-iptrlMBb.js.map +1 -0
- package/dist/chunks/choose-CczZJaX_.js +717 -0
- package/dist/chunks/choose-CczZJaX_.js.map +1 -0
- package/dist/chunks/codes-BE2xir2k.js +157 -0
- package/dist/chunks/codes-BE2xir2k.js.map +1 -0
- package/dist/chunks/{constants-BKwqelYD.js → constants-CKkYLPtt.js} +2 -2
- package/dist/chunks/{constants-BKwqelYD.js.map → constants-CKkYLPtt.js.map} +1 -1
- package/dist/chunks/context-C3p0RQxR.js +664 -0
- package/dist/chunks/context-C3p0RQxR.js.map +1 -0
- package/dist/chunks/{convert-BcQ8_jMo.js → convert-Ct2zelbQ.js} +7 -2
- package/dist/chunks/convert-Ct2zelbQ.js.map +1 -0
- package/dist/chunks/credentials-DXHx7nwR.js +349 -0
- package/dist/chunks/credentials-DXHx7nwR.js.map +1 -0
- package/dist/chunks/cx-export-Bt6NoqTQ.js +259 -0
- package/dist/chunks/cx-export-Bt6NoqTQ.js.map +1 -0
- package/dist/chunks/descriptor-B28U25x4.js +60 -0
- package/dist/chunks/descriptor-B28U25x4.js.map +1 -0
- package/dist/chunks/descriptor-C-YDhtsn.js +48 -0
- package/dist/chunks/descriptor-C-YDhtsn.js.map +1 -0
- package/dist/chunks/descriptor-DLA5kINx.js +142 -0
- package/dist/chunks/descriptor-DLA5kINx.js.map +1 -0
- package/dist/chunks/{emit-CwU8cUmG.js → emit-BwHQkZle.js} +1690 -103
- package/dist/chunks/emit-BwHQkZle.js.map +1 -0
- package/dist/chunks/{escape-CgzxiYPg.js → escape-CuCIzNMB.js} +12 -12
- package/dist/chunks/{escape-CgzxiYPg.js.map → escape-CuCIzNMB.js.map} +1 -1
- package/dist/chunks/{export-BvqAXCKh.js → export-Cha4dRFz.js} +48 -1780
- package/dist/chunks/export-Cha4dRFz.js.map +1 -0
- package/dist/chunks/{exporter--Mk9gXCJ.js → exporter-BP6otMO6.js} +6 -4
- package/dist/chunks/{exporter--Mk9gXCJ.js.map → exporter-BP6otMO6.js.map} +1 -1
- package/dist/chunks/{exporter-CrDWIyiq.js → exporter-D2CETOMK.js} +1222 -154
- package/dist/chunks/exporter-D2CETOMK.js.map +1 -0
- package/dist/chunks/{exporter-DndFlGSa.js → exporter-D9yMtocA.js} +7 -6
- package/dist/chunks/{exporter-DndFlGSa.js.map → exporter-D9yMtocA.js.map} +1 -1
- package/dist/chunks/exporter-_jrBTnos.js +1009 -0
- package/dist/chunks/exporter-_jrBTnos.js.map +1 -0
- package/dist/chunks/{exporter-CJgfhF-l.js → exporter-nDfxIK5D.js} +9 -7
- package/dist/chunks/{exporter-CJgfhF-l.js.map → exporter-nDfxIK5D.js.map} +1 -1
- package/dist/chunks/format-BXiAb-1h.js +408 -0
- package/dist/chunks/format-BXiAb-1h.js.map +1 -0
- package/dist/chunks/{generic-Dq1ntt9q.js → generic-ymWCETAJ.js} +387 -31
- package/dist/chunks/generic-ymWCETAJ.js.map +1 -0
- package/dist/chunks/{importer-CMmeMWlC.js → importer-B92x1xY5.js} +15 -263
- package/dist/chunks/importer-B92x1xY5.js.map +1 -0
- package/dist/chunks/{importer-DiZRmOQG.js → importer-CT9mJ1nn.js} +328 -90
- package/dist/chunks/importer-CT9mJ1nn.js.map +1 -0
- package/dist/chunks/{importer-COTK9Tsl.js → importer-DaLTjbds.js} +116 -1099
- package/dist/chunks/importer-DaLTjbds.js.map +1 -0
- package/dist/chunks/{importer-iFYPEKaJ.js → importer-GREKMdIf.js} +28 -16
- package/dist/chunks/importer-GREKMdIf.js.map +1 -0
- package/dist/chunks/{importer-BSvfrX_h.js → importer-PqaaKKnY.js} +23 -1016
- package/dist/chunks/importer-PqaaKKnY.js.map +1 -0
- package/dist/chunks/{importer-yh_aBCU6.js → importer-Vn5QvmmJ.js} +66 -12
- package/dist/chunks/importer-Vn5QvmmJ.js.map +1 -0
- package/dist/chunks/{importer-e6LGpqHB.js → importer-vRq4h3j5.js} +1470 -354
- package/dist/chunks/importer-vRq4h3j5.js.map +1 -0
- package/dist/chunks/input-CAxt_aV-.js +1397 -0
- package/dist/chunks/input-CAxt_aV-.js.map +1 -0
- package/dist/chunks/{json-elements-DJZRZ6jd.js → json-elements-Cq76WjnZ.js} +4 -4
- package/dist/chunks/{json-elements-DJZRZ6jd.js.map → json-elements-Cq76WjnZ.js.map} +1 -1
- package/dist/chunks/{lexicon-CT69Kd87.js → lexicon-Clf4QIyl.js} +299 -77
- package/dist/chunks/lexicon-Clf4QIyl.js.map +1 -0
- package/dist/chunks/{ontology-export-G4MqRdux.js → ontology-export-OMo91mb0.js} +4 -3
- package/dist/chunks/{ontology-export-G4MqRdux.js.map → ontology-export-OMo91mb0.js.map} +1 -1
- package/dist/chunks/{records-CiaWZrFH.js → records-NJiYvekn.js} +2 -2
- package/dist/chunks/{records-CiaWZrFH.js.map → records-NJiYvekn.js.map} +1 -1
- package/dist/chunks/{format-BpQBx8MZ.js → report-CwMfYa9J.js} +70 -127
- package/dist/chunks/report-CwMfYa9J.js.map +1 -0
- package/dist/chunks/round-trip-Zm3_ivgq.js +79 -0
- package/dist/chunks/round-trip-Zm3_ivgq.js.map +1 -0
- package/dist/chunks/sigv4-EokFic1V.js +247 -0
- package/dist/chunks/sigv4-EokFic1V.js.map +1 -0
- package/dist/chunks/{styles-BQnsga7p.js → styles-CCs214_3.js} +1300 -168
- package/dist/chunks/styles-CCs214_3.js.map +1 -0
- package/dist/chunks/styles-Cm62yyQX.js +2812 -0
- package/dist/chunks/styles-Cm62yyQX.js.map +1 -0
- package/dist/chunks/styles-DPQQIig4.js +1928 -0
- package/dist/chunks/styles-DPQQIig4.js.map +1 -0
- package/dist/chunks/styles-yed-UMFdNqze.js +1213 -0
- package/dist/chunks/styles-yed-UMFdNqze.js.map +1 -0
- package/dist/chunks/{text-CzJNFOS9.js → text-ystE2bYi.js} +2 -2
- package/dist/chunks/{text-CzJNFOS9.js.map → text-ystE2bYi.js.map} +1 -1
- package/dist/csv.js +7 -5
- package/dist/csv.js.map +1 -1
- package/dist/cx.js +5 -4
- package/dist/cx.js.map +1 -1
- package/dist/cx2.js +2 -2
- package/dist/cys.js +1 -1
- package/dist/dot.js +5 -4
- package/dist/dot.js.map +1 -1
- package/dist/gexf.js +42 -10
- package/dist/gexf.js.map +1 -1
- package/dist/gml.js +850 -193
- package/dist/gml.js.map +1 -1
- package/dist/graph-io.js +1189 -220
- package/dist/graph-io.js.map +1 -1
- package/dist/graphml.js +3 -3
- package/dist/json.js +3 -2
- package/dist/neo4j.js +6 -4
- package/dist/neo4j.js.map +1 -1
- package/dist/obo.js +1 -1
- package/dist/pajek.js +1 -1
- package/dist/positions.js +45 -3
- package/dist/positions.js.map +1 -1
- package/dist/sources-cypher.d.ts +1 -0
- package/dist/sources-cypher.js +1351 -0
- package/dist/sources-cypher.js.map +1 -0
- package/dist/sources-ndex.d.ts +1 -0
- package/dist/sources-ndex.js +278 -0
- package/dist/sources-ndex.js.map +1 -0
- package/dist/sources-rest.d.ts +1 -0
- package/dist/sources-rest.js +1377 -0
- package/dist/sources-rest.js.map +1 -0
- package/dist/sources-sparql.d.ts +1 -0
- package/dist/sources-sparql.js +405 -0
- package/dist/sources-sparql.js.map +1 -0
- package/dist/src/common/report.d.ts +6 -3
- package/dist/src/common/report.d.ts.map +1 -1
- package/dist/src/common/report.js +15 -9
- package/dist/src/common/report.js.map +1 -1
- package/dist/src/formats/cx/importer.d.ts.map +1 -1
- package/dist/src/formats/cx/importer.js +5 -1
- package/dist/src/formats/cx/importer.js.map +1 -1
- package/dist/src/formats/cx/styles.d.ts +24 -1
- package/dist/src/formats/cx/styles.d.ts.map +1 -1
- package/dist/src/formats/cx/styles.js +118 -11
- package/dist/src/formats/cx/styles.js.map +1 -1
- package/dist/src/formats/cx2/importer.d.ts.map +1 -1
- package/dist/src/formats/cx2/importer.js +1 -0
- package/dist/src/formats/cx2/importer.js.map +1 -1
- package/dist/src/formats/cx2/styles.d.ts.map +1 -1
- package/dist/src/formats/cx2/styles.js +3 -1
- package/dist/src/formats/cx2/styles.js.map +1 -1
- package/dist/src/formats/cys/importer.d.ts.map +1 -1
- package/dist/src/formats/cys/importer.js +1 -0
- package/dist/src/formats/cys/importer.js.map +1 -1
- package/dist/src/formats/cys/styles.d.ts +2 -0
- package/dist/src/formats/cys/styles.d.ts.map +1 -1
- package/dist/src/formats/cys/styles.js +15 -7
- package/dist/src/formats/cys/styles.js.map +1 -1
- package/dist/src/formats/dot/drawing.d.ts +98 -0
- package/dist/src/formats/dot/drawing.d.ts.map +1 -0
- package/dist/src/formats/dot/drawing.js +734 -0
- package/dist/src/formats/dot/drawing.js.map +1 -0
- package/dist/src/formats/dot/importer.d.ts.map +1 -1
- package/dist/src/formats/dot/importer.js +108 -31
- package/dist/src/formats/dot/importer.js.map +1 -1
- package/dist/src/formats/dot/label-places.d.ts +34 -0
- package/dist/src/formats/dot/label-places.d.ts.map +1 -0
- package/dist/src/formats/dot/label-places.js +179 -0
- package/dist/src/formats/dot/label-places.js.map +1 -0
- package/dist/src/formats/dot/record.d.ts +50 -0
- package/dist/src/formats/dot/record.d.ts.map +1 -0
- package/dist/src/formats/dot/record.js +275 -0
- package/dist/src/formats/dot/record.js.map +1 -0
- package/dist/src/formats/dot/styles.d.ts +62 -2
- package/dist/src/formats/dot/styles.d.ts.map +1 -1
- package/dist/src/formats/dot/styles.js +1457 -120
- package/dist/src/formats/dot/styles.js.map +1 -1
- package/dist/src/formats/gexf/dialog-metrics.d.ts +15 -0
- package/dist/src/formats/gexf/dialog-metrics.d.ts.map +1 -0
- package/dist/src/formats/gexf/dialog-metrics.js +59 -0
- package/dist/src/formats/gexf/dialog-metrics.js.map +1 -0
- package/dist/src/formats/gexf/importer.d.ts +7 -0
- package/dist/src/formats/gexf/importer.d.ts.map +1 -1
- package/dist/src/formats/gexf/importer.js +41 -5
- package/dist/src/formats/gexf/importer.js.map +1 -1
- package/dist/src/formats/gexf/preview.d.ts +77 -0
- package/dist/src/formats/gexf/preview.d.ts.map +1 -0
- package/dist/src/formats/gexf/preview.js +191 -0
- package/dist/src/formats/gexf/preview.js.map +1 -0
- package/dist/src/formats/gexf/schema.d.ts.map +1 -1
- package/dist/src/formats/gexf/schema.js +2 -1
- package/dist/src/formats/gexf/schema.js.map +1 -1
- package/dist/src/formats/gexf/styles.d.ts +60 -16
- package/dist/src/formats/gexf/styles.d.ts.map +1 -1
- package/dist/src/formats/gexf/styles.js +883 -131
- package/dist/src/formats/gexf/styles.js.map +1 -1
- package/dist/src/formats/gml/importer.d.ts +5 -2
- package/dist/src/formats/gml/importer.d.ts.map +1 -1
- package/dist/src/formats/gml/importer.js +258 -71
- package/dist/src/formats/gml/importer.js.map +1 -1
- package/dist/src/formats/gml/index.d.ts +1 -1
- package/dist/src/formats/gml/index.d.ts.map +1 -1
- package/dist/src/formats/gml/index.js +1 -1
- package/dist/src/formats/gml/index.js.map +1 -1
- package/dist/src/formats/gml/positions.d.ts +7 -0
- package/dist/src/formats/gml/positions.d.ts.map +1 -1
- package/dist/src/formats/gml/positions.js +29 -7
- package/dist/src/formats/gml/positions.js.map +1 -1
- package/dist/src/formats/gml/styles.d.ts.map +1 -1
- package/dist/src/formats/gml/styles.js +756 -103
- package/dist/src/formats/gml/styles.js.map +1 -1
- package/dist/src/formats/graphml/styles-plain.d.ts.map +1 -1
- package/dist/src/formats/graphml/styles-plain.js +8 -12
- package/dist/src/formats/graphml/styles-plain.js.map +1 -1
- package/dist/src/formats/graphml/styles-yed.d.ts +21 -15
- package/dist/src/formats/graphml/styles-yed.d.ts.map +1 -1
- package/dist/src/formats/graphml/styles-yed.js +749 -148
- package/dist/src/formats/graphml/styles-yed.js.map +1 -1
- package/dist/src/formats/graphml/styles-yfiles3.d.ts +1 -1
- package/dist/src/formats/graphml/styles-yfiles3.d.ts.map +1 -1
- package/dist/src/formats/graphml/styles-yfiles3.js +429 -64
- package/dist/src/formats/graphml/styles-yfiles3.js.map +1 -1
- package/dist/src/formats/graphml/yfiles.d.ts +3 -3
- package/dist/src/formats/graphml/yfiles.d.ts.map +1 -1
- package/dist/src/formats/graphml/yfiles.js +16 -6
- package/dist/src/formats/graphml/yfiles.js.map +1 -1
- package/dist/src/formats/json/dialect.d.ts +3 -2
- package/dist/src/formats/json/dialect.d.ts.map +1 -1
- package/dist/src/formats/json/dialect.js +39 -5
- package/dist/src/formats/json/dialect.js.map +1 -1
- package/dist/src/formats/json/importer.d.ts +13 -2
- package/dist/src/formats/json/importer.d.ts.map +1 -1
- package/dist/src/formats/json/importer.js +42 -6
- package/dist/src/formats/json/importer.js.map +1 -1
- package/dist/src/formats/json/index.d.ts +1 -1
- package/dist/src/formats/json/index.d.ts.map +1 -1
- package/dist/src/formats/json/index.js +1 -1
- package/dist/src/formats/json/index.js.map +1 -1
- package/dist/src/formats/json/positions.d.ts +5 -2
- package/dist/src/formats/json/positions.d.ts.map +1 -1
- package/dist/src/formats/json/positions.js +20 -4
- package/dist/src/formats/json/positions.js.map +1 -1
- package/dist/src/formats/json/styles.d.ts +12 -1
- package/dist/src/formats/json/styles.d.ts.map +1 -1
- package/dist/src/formats/json/styles.js +1755 -136
- package/dist/src/formats/json/styles.js.map +1 -1
- package/dist/src/formats/pajek/draw.d.ts +96 -0
- package/dist/src/formats/pajek/draw.d.ts.map +1 -0
- package/dist/src/formats/pajek/draw.js +372 -0
- package/dist/src/formats/pajek/draw.js.map +1 -0
- package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
- package/dist/src/formats/pajek/exporter.js +70 -51
- package/dist/src/formats/pajek/exporter.js.map +1 -1
- package/dist/src/formats/pajek/importer.d.ts +9 -0
- package/dist/src/formats/pajek/importer.d.ts.map +1 -1
- package/dist/src/formats/pajek/importer.js +233 -102
- package/dist/src/formats/pajek/importer.js.map +1 -1
- package/dist/src/formats/pajek/index.d.ts +1 -0
- package/dist/src/formats/pajek/index.d.ts.map +1 -1
- package/dist/src/formats/pajek/index.js.map +1 -1
- package/dist/src/formats/pajek/styles.d.ts +15 -7
- package/dist/src/formats/pajek/styles.d.ts.map +1 -1
- package/dist/src/formats/pajek/styles.js +1279 -114
- package/dist/src/formats/pajek/styles.js.map +1 -1
- package/dist/src/formats/pajek/syntax.d.ts +10 -1
- package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
- package/dist/src/formats/pajek/syntax.js +26 -2
- package/dist/src/formats/pajek/syntax.js.map +1 -1
- package/dist/src/formats/xgmml/emit.d.ts +1 -0
- package/dist/src/formats/xgmml/emit.d.ts.map +1 -1
- package/dist/src/formats/xgmml/emit.js +65 -5
- package/dist/src/formats/xgmml/emit.js.map +1 -1
- package/dist/src/formats/xgmml/styles.d.ts +23 -3
- package/dist/src/formats/xgmml/styles.d.ts.map +1 -1
- package/dist/src/formats/xgmml/styles.js +278 -60
- package/dist/src/formats/xgmml/styles.js.map +1 -1
- package/dist/src/index.d.ts +10 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +11 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/positions/convert.d.ts.map +1 -1
- package/dist/src/positions/convert.js +11 -1
- package/dist/src/positions/convert.js.map +1 -1
- package/dist/src/positions/extract.d.ts.map +1 -1
- package/dist/src/positions/extract.js +53 -1
- package/dist/src/positions/extract.js.map +1 -1
- package/dist/src/positions/index.d.ts +1 -1
- package/dist/src/positions/index.d.ts.map +1 -1
- package/dist/src/positions/types.d.ts +59 -0
- package/dist/src/positions/types.d.ts.map +1 -1
- package/dist/src/registry.d.ts +173 -1
- package/dist/src/registry.d.ts.map +1 -1
- package/dist/src/registry.js +196 -1
- package/dist/src/registry.js.map +1 -1
- package/dist/src/sources/builtins.d.ts +11 -0
- package/dist/src/sources/builtins.d.ts.map +1 -0
- package/dist/src/sources/builtins.js +53 -0
- package/dist/src/sources/builtins.js.map +1 -0
- package/dist/src/sources/codes.d.ts +230 -0
- package/dist/src/sources/codes.d.ts.map +1 -0
- package/dist/src/sources/codes.js +58 -0
- package/dist/src/sources/codes.js.map +1 -0
- package/dist/src/sources/context.d.ts +112 -0
- package/dist/src/sources/context.d.ts.map +1 -0
- package/dist/src/sources/context.js +740 -0
- package/dist/src/sources/context.js.map +1 -0
- package/dist/src/sources/credentials.d.ts +179 -0
- package/dist/src/sources/credentials.d.ts.map +1 -0
- package/dist/src/sources/credentials.js +301 -0
- package/dist/src/sources/credentials.js.map +1 -0
- package/dist/src/sources/cypher/descriptor.d.ts +21 -0
- package/dist/src/sources/cypher/descriptor.d.ts.map +1 -0
- package/dist/src/sources/cypher/descriptor.js +124 -0
- package/dist/src/sources/cypher/descriptor.js.map +1 -0
- package/dist/src/sources/cypher/flatten.d.ts +72 -0
- package/dist/src/sources/cypher/flatten.d.ts.map +1 -0
- package/dist/src/sources/cypher/flatten.js +279 -0
- package/dist/src/sources/cypher/flatten.js.map +1 -0
- package/dist/src/sources/cypher/index.d.ts +33 -0
- package/dist/src/sources/cypher/index.d.ts.map +1 -0
- package/dist/src/sources/cypher/index.js +511 -0
- package/dist/src/sources/cypher/index.js.map +1 -0
- package/dist/src/sources/cypher/params.d.ts +40 -0
- package/dist/src/sources/cypher/params.d.ts.map +1 -0
- package/dist/src/sources/cypher/params.js +6 -0
- package/dist/src/sources/cypher/params.js.map +1 -0
- package/dist/src/sources/cypher/profiles.d.ts +44 -0
- package/dist/src/sources/cypher/profiles.d.ts.map +1 -0
- package/dist/src/sources/cypher/profiles.js +61 -0
- package/dist/src/sources/cypher/profiles.js.map +1 -0
- package/dist/src/sources/cypher/query-builder.d.ts +123 -0
- package/dist/src/sources/cypher/query-builder.d.ts.map +1 -0
- package/dist/src/sources/cypher/query-builder.js +267 -0
- package/dist/src/sources/cypher/query-builder.js.map +1 -0
- package/dist/src/sources/cypher/transports/bolt.d.ts +21 -0
- package/dist/src/sources/cypher/transports/bolt.d.ts.map +1 -0
- package/dist/src/sources/cypher/transports/bolt.js +185 -0
- package/dist/src/sources/cypher/transports/bolt.js.map +1 -0
- package/dist/src/sources/cypher/transports/neptune-analytics.d.ts +15 -0
- package/dist/src/sources/cypher/transports/neptune-analytics.d.ts.map +1 -0
- package/dist/src/sources/cypher/transports/neptune-analytics.js +38 -0
- package/dist/src/sources/cypher/transports/neptune-analytics.js.map +1 -0
- package/dist/src/sources/cypher/transports/neptune-https.d.ts +31 -0
- package/dist/src/sources/cypher/transports/neptune-https.d.ts.map +1 -0
- package/dist/src/sources/cypher/transports/neptune-https.js +104 -0
- package/dist/src/sources/cypher/transports/neptune-https.js.map +1 -0
- package/dist/src/sources/cypher/transports/query-api.d.ts +14 -0
- package/dist/src/sources/cypher/transports/query-api.d.ts.map +1 -0
- package/dist/src/sources/cypher/transports/query-api.js +80 -0
- package/dist/src/sources/cypher/transports/query-api.js.map +1 -0
- package/dist/src/sources/cypher/transports/transport.d.ts +78 -0
- package/dist/src/sources/cypher/transports/transport.d.ts.map +1 -0
- package/dist/src/sources/cypher/transports/transport.js +77 -0
- package/dist/src/sources/cypher/transports/transport.js.map +1 -0
- package/dist/src/sources/cypher/types-map.d.ts +91 -0
- package/dist/src/sources/cypher/types-map.d.ts.map +1 -0
- package/dist/src/sources/cypher/types-map.js +306 -0
- package/dist/src/sources/cypher/types-map.js.map +1 -0
- package/dist/src/sources/define.d.ts +47 -0
- package/dist/src/sources/define.d.ts.map +1 -0
- package/dist/src/sources/define.js +173 -0
- package/dist/src/sources/define.js.map +1 -0
- package/dist/src/sources/fail.d.ts +33 -0
- package/dist/src/sources/fail.d.ts.map +1 -0
- package/dist/src/sources/fail.js +49 -0
- package/dist/src/sources/fail.js.map +1 -0
- package/dist/src/sources/ids.d.ts +69 -0
- package/dist/src/sources/ids.d.ts.map +1 -0
- package/dist/src/sources/ids.js +69 -0
- package/dist/src/sources/ids.js.map +1 -0
- package/dist/src/sources/ndex/client.d.ts +31 -0
- package/dist/src/sources/ndex/client.d.ts.map +1 -0
- package/dist/src/sources/ndex/client.js +90 -0
- package/dist/src/sources/ndex/client.js.map +1 -0
- package/dist/src/sources/ndex/descriptor.d.ts +10 -0
- package/dist/src/sources/ndex/descriptor.d.ts.map +1 -0
- package/dist/src/sources/ndex/descriptor.js +55 -0
- package/dist/src/sources/ndex/descriptor.js.map +1 -0
- package/dist/src/sources/ndex/expand.d.ts +20 -0
- package/dist/src/sources/ndex/expand.d.ts.map +1 -0
- package/dist/src/sources/ndex/expand.js +87 -0
- package/dist/src/sources/ndex/expand.js.map +1 -0
- package/dist/src/sources/ndex/index.d.ts +25 -0
- package/dist/src/sources/ndex/index.d.ts.map +1 -0
- package/dist/src/sources/ndex/index.js +191 -0
- package/dist/src/sources/ndex/index.js.map +1 -0
- package/dist/src/sources/ndex/params.d.ts +17 -0
- package/dist/src/sources/ndex/params.d.ts.map +1 -0
- package/dist/src/sources/ndex/params.js +6 -0
- package/dist/src/sources/ndex/params.js.map +1 -0
- package/dist/src/sources/ndex/share-url.d.ts +40 -0
- package/dist/src/sources/ndex/share-url.d.ts.map +1 -0
- package/dist/src/sources/ndex/share-url.js +64 -0
- package/dist/src/sources/ndex/share-url.js.map +1 -0
- package/dist/src/sources/params.d.ts +31 -0
- package/dist/src/sources/params.d.ts.map +1 -0
- package/dist/src/sources/params.js +6 -0
- package/dist/src/sources/params.js.map +1 -0
- package/dist/src/sources/registry.d.ts +118 -0
- package/dist/src/sources/registry.d.ts.map +1 -0
- package/dist/src/sources/registry.js +193 -0
- package/dist/src/sources/registry.js.map +1 -0
- package/dist/src/sources/rest/descriptor.d.ts +16 -0
- package/dist/src/sources/rest/descriptor.d.ts.map +1 -0
- package/dist/src/sources/rest/descriptor.js +76 -0
- package/dist/src/sources/rest/descriptor.js.map +1 -0
- package/dist/src/sources/rest/index.d.ts +14 -0
- package/dist/src/sources/rest/index.d.ts.map +1 -0
- package/dist/src/sources/rest/index.js +13 -0
- package/dist/src/sources/rest/index.js.map +1 -0
- package/dist/src/sources/rest/mapping.d.ts +30 -0
- package/dist/src/sources/rest/mapping.d.ts.map +1 -0
- package/dist/src/sources/rest/mapping.js +362 -0
- package/dist/src/sources/rest/mapping.js.map +1 -0
- package/dist/src/sources/rest/openalex.d.ts +27 -0
- package/dist/src/sources/rest/openalex.d.ts.map +1 -0
- package/dist/src/sources/rest/openalex.js +269 -0
- package/dist/src/sources/rest/openalex.js.map +1 -0
- package/dist/src/sources/rest/paging.d.ts +53 -0
- package/dist/src/sources/rest/paging.d.ts.map +1 -0
- package/dist/src/sources/rest/paging.js +138 -0
- package/dist/src/sources/rest/paging.js.map +1 -0
- package/dist/src/sources/rest/params.d.ts +216 -0
- package/dist/src/sources/rest/params.d.ts.map +1 -0
- package/dist/src/sources/rest/params.js +7 -0
- package/dist/src/sources/rest/params.js.map +1 -0
- package/dist/src/sources/rest/records.d.ts +41 -0
- package/dist/src/sources/rest/records.d.ts.map +1 -0
- package/dist/src/sources/rest/records.js +240 -0
- package/dist/src/sources/rest/records.js.map +1 -0
- package/dist/src/sources/rest/samples/deps-dev.d.ts +10 -0
- package/dist/src/sources/rest/samples/deps-dev.d.ts.map +1 -0
- package/dist/src/sources/rest/samples/deps-dev.js +47 -0
- package/dist/src/sources/rest/samples/deps-dev.js.map +1 -0
- package/dist/src/sources/rest/samples/string.d.ts +9 -0
- package/dist/src/sources/rest/samples/string.d.ts.map +1 -0
- package/dist/src/sources/rest/samples/string.js +42 -0
- package/dist/src/sources/rest/samples/string.js.map +1 -0
- package/dist/src/sources/rest/selectors.d.ts +41 -0
- package/dist/src/sources/rest/selectors.d.ts.map +1 -0
- package/dist/src/sources/rest/selectors.js +81 -0
- package/dist/src/sources/rest/selectors.js.map +1 -0
- package/dist/src/sources/rest/source.d.ts +67 -0
- package/dist/src/sources/rest/source.d.ts.map +1 -0
- package/dist/src/sources/rest/source.js +650 -0
- package/dist/src/sources/rest/source.js.map +1 -0
- package/dist/src/sources/rest/templates.d.ts +38 -0
- package/dist/src/sources/rest/templates.d.ts.map +1 -0
- package/dist/src/sources/rest/templates.js +125 -0
- package/dist/src/sources/rest/templates.js.map +1 -0
- package/dist/src/sources/run.d.ts +93 -0
- package/dist/src/sources/run.d.ts.map +1 -0
- package/dist/src/sources/run.js +673 -0
- package/dist/src/sources/run.js.map +1 -0
- package/dist/src/sources/sha256.d.ts +12 -0
- package/dist/src/sources/sha256.d.ts.map +1 -0
- package/dist/src/sources/sha256.js +95 -0
- package/dist/src/sources/sha256.js.map +1 -0
- package/dist/src/sources/sigv4.d.ts +26 -0
- package/dist/src/sources/sigv4.d.ts.map +1 -0
- package/dist/src/sources/sigv4.js +184 -0
- package/dist/src/sources/sigv4.js.map +1 -0
- package/dist/src/sources/sparql/descriptor.d.ts +10 -0
- package/dist/src/sources/sparql/descriptor.d.ts.map +1 -0
- package/dist/src/sources/sparql/descriptor.js +64 -0
- package/dist/src/sources/sparql/descriptor.js.map +1 -0
- package/dist/src/sources/sparql/index.d.ts +28 -0
- package/dist/src/sources/sparql/index.d.ts.map +1 -0
- package/dist/src/sources/sparql/index.js +314 -0
- package/dist/src/sources/sparql/index.js.map +1 -0
- package/dist/src/sources/sparql/ntriples.d.ts +69 -0
- package/dist/src/sources/sparql/ntriples.d.ts.map +1 -0
- package/dist/src/sources/sparql/ntriples.js +180 -0
- package/dist/src/sources/sparql/ntriples.js.map +1 -0
- package/dist/src/sources/sparql/params.d.ts +27 -0
- package/dist/src/sources/sparql/params.d.ts.map +1 -0
- package/dist/src/sources/sparql/params.js +5 -0
- package/dist/src/sources/sparql/params.js.map +1 -0
- package/dist/src/sources/sparql/query.d.ts +72 -0
- package/dist/src/sources/sparql/query.d.ts.map +1 -0
- package/dist/src/sources/sparql/query.js +113 -0
- package/dist/src/sources/sparql/query.js.map +1 -0
- package/dist/src/sources/testing.d.ts +96 -0
- package/dist/src/sources/testing.d.ts.map +1 -0
- package/dist/src/sources/testing.js +138 -0
- package/dist/src/sources/testing.js.map +1 -0
- package/dist/src/sources/types.d.ts +696 -0
- package/dist/src/sources/types.d.ts.map +1 -0
- package/dist/src/sources/types.js +10 -0
- package/dist/src/sources/types.js.map +1 -0
- package/dist/src/styles/annotations.d.ts +61 -5
- package/dist/src/styles/annotations.d.ts.map +1 -1
- package/dist/src/styles/annotations.js +130 -22
- package/dist/src/styles/annotations.js.map +1 -1
- package/dist/src/styles/canon/bends.d.ts +46 -0
- package/dist/src/styles/canon/bends.d.ts.map +1 -1
- package/dist/src/styles/canon/bends.js +123 -0
- package/dist/src/styles/canon/bends.js.map +1 -1
- package/dist/src/styles/canon/color-tables.d.ts +6 -1
- package/dist/src/styles/canon/color-tables.d.ts.map +1 -1
- package/dist/src/styles/canon/color-tables.js +10 -4
- package/dist/src/styles/canon/color-tables.js.map +1 -1
- package/dist/src/styles/canon/color.d.ts +3 -1
- package/dist/src/styles/canon/color.d.ts.map +1 -1
- package/dist/src/styles/canon/color.js +103 -3
- package/dist/src/styles/canon/color.js.map +1 -1
- package/dist/src/styles/canon/enums.d.ts +2 -2
- package/dist/src/styles/canon/enums.d.ts.map +1 -1
- package/dist/src/styles/canon/enums.js +82 -7
- package/dist/src/styles/canon/enums.js.map +1 -1
- package/dist/src/styles/canon/graphviz.d.ts +12 -3
- package/dist/src/styles/canon/graphviz.d.ts.map +1 -1
- package/dist/src/styles/canon/graphviz.js +57 -9
- package/dist/src/styles/canon/graphviz.js.map +1 -1
- package/dist/src/styles/canon/number.d.ts +8 -0
- package/dist/src/styles/canon/number.d.ts.map +1 -1
- package/dist/src/styles/canon/number.js +18 -0
- package/dist/src/styles/canon/number.js.map +1 -1
- package/dist/src/styles/canon/text.d.ts +29 -2
- package/dist/src/styles/canon/text.d.ts.map +1 -1
- package/dist/src/styles/canon/text.js +156 -16
- package/dist/src/styles/canon/text.js.map +1 -1
- package/dist/src/styles/codes.d.ts +2 -0
- package/dist/src/styles/codes.d.ts.map +1 -1
- package/dist/src/styles/codes.js +2 -0
- package/dist/src/styles/codes.js.map +1 -1
- package/dist/src/styles/cyjs/cascade.d.ts.map +1 -1
- package/dist/src/styles/cyjs/cascade.js +1037 -35
- package/dist/src/styles/cyjs/cascade.js.map +1 -1
- package/dist/src/styles/cyjs/defaults-table.d.ts.map +1 -1
- package/dist/src/styles/cyjs/defaults-table.js +5 -0
- package/dist/src/styles/cyjs/defaults-table.js.map +1 -1
- package/dist/src/styles/cyjs/emit.d.ts.map +1 -1
- package/dist/src/styles/cyjs/emit.js +216 -12
- package/dist/src/styles/cyjs/emit.js.map +1 -1
- package/dist/src/styles/cyjs/face.d.ts +20 -0
- package/dist/src/styles/cyjs/face.d.ts.map +1 -0
- package/dist/src/styles/cyjs/face.js +332 -0
- package/dist/src/styles/cyjs/face.js.map +1 -0
- package/dist/src/styles/cyjs/mappers.d.ts +48 -2
- package/dist/src/styles/cyjs/mappers.d.ts.map +1 -1
- package/dist/src/styles/cyjs/mappers.js +463 -26
- package/dist/src/styles/cyjs/mappers.js.map +1 -1
- package/dist/src/styles/cyjs/routes.d.ts +53 -0
- package/dist/src/styles/cyjs/routes.d.ts.map +1 -0
- package/dist/src/styles/cyjs/routes.js +360 -0
- package/dist/src/styles/cyjs/routes.js.map +1 -0
- package/dist/src/styles/cytoscape/charts.d.ts +23 -0
- package/dist/src/styles/cytoscape/charts.d.ts.map +1 -0
- package/dist/src/styles/cytoscape/charts.js +560 -0
- package/dist/src/styles/cytoscape/charts.js.map +1 -0
- package/dist/src/styles/cytoscape/emit.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/emit.js +204 -44
- package/dist/src/styles/cytoscape/emit.js.map +1 -1
- package/dist/src/styles/cytoscape/lexicon.d.ts +97 -3
- package/dist/src/styles/cytoscape/lexicon.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/lexicon.js +413 -79
- package/dist/src/styles/cytoscape/lexicon.js.map +1 -1
- package/dist/src/styles/cytoscape/mappings.d.ts +30 -0
- package/dist/src/styles/cytoscape/mappings.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/mappings.js +92 -0
- package/dist/src/styles/cytoscape/mappings.js.map +1 -1
- package/dist/src/styles/cytoscape/resolve.d.ts +46 -3
- package/dist/src/styles/cytoscape/resolve.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/resolve.js +632 -22
- package/dist/src/styles/cytoscape/resolve.js.map +1 -1
- package/dist/src/styles/cytoscape/translate.d.ts.map +1 -1
- package/dist/src/styles/cytoscape/translate.js +10 -10
- package/dist/src/styles/cytoscape/translate.js.map +1 -1
- package/dist/src/styles/defaults.d.ts +50 -0
- package/dist/src/styles/defaults.d.ts.map +1 -1
- package/dist/src/styles/defaults.js +315 -37
- package/dist/src/styles/defaults.js.map +1 -1
- package/dist/src/styles/index.d.ts +4 -3
- package/dist/src/styles/index.d.ts.map +1 -1
- package/dist/src/styles/index.js +3 -2
- package/dist/src/styles/index.js.map +1 -1
- package/dist/src/styles/internal.d.ts +1 -0
- package/dist/src/styles/internal.d.ts.map +1 -1
- package/dist/src/styles/internal.js +1 -0
- package/dist/src/styles/internal.js.map +1 -1
- package/dist/src/styles/io/block.d.ts.map +1 -1
- package/dist/src/styles/io/block.js +9 -0
- package/dist/src/styles/io/block.js.map +1 -1
- package/dist/src/styles/io/generic.d.ts.map +1 -1
- package/dist/src/styles/io/generic.js +56 -16
- package/dist/src/styles/io/generic.js.map +1 -1
- package/dist/src/styles/io/round-trip.d.ts +56 -0
- package/dist/src/styles/io/round-trip.d.ts.map +1 -0
- package/dist/src/styles/io/round-trip.js +138 -0
- package/dist/src/styles/io/round-trip.js.map +1 -0
- package/dist/src/styles/io/writer.d.ts.map +1 -1
- package/dist/src/styles/io/writer.js +13 -4
- package/dist/src/styles/io/writer.js.map +1 -1
- package/dist/src/styles/notes.d.ts.map +1 -1
- package/dist/src/styles/notes.js +1 -0
- package/dist/src/styles/notes.js.map +1 -1
- package/dist/src/styles/plan/features.d.ts +1 -1
- package/dist/src/styles/plan/features.d.ts.map +1 -1
- package/dist/src/styles/plan/features.js +22 -2
- package/dist/src/styles/plan/features.js.map +1 -1
- package/dist/src/styles/plan/index.d.ts +1 -1
- package/dist/src/styles/plan/index.d.ts.map +1 -1
- package/dist/src/styles/plan/index.js +1 -1
- package/dist/src/styles/plan/index.js.map +1 -1
- package/dist/src/styles/plan/plan.d.ts.map +1 -1
- package/dist/src/styles/plan/plan.js +61 -4
- package/dist/src/styles/plan/plan.js.map +1 -1
- package/dist/src/styles/plan/resolve.d.ts +13 -1
- package/dist/src/styles/plan/resolve.d.ts.map +1 -1
- package/dist/src/styles/plan/resolve.js +53 -6
- package/dist/src/styles/plan/resolve.js.map +1 -1
- package/dist/src/styles/slots.d.ts +14 -0
- package/dist/src/styles/slots.d.ts.map +1 -0
- package/dist/src/styles/slots.js +20 -0
- package/dist/src/styles/slots.js.map +1 -0
- package/dist/src/styles/types.d.ts +638 -5
- package/dist/src/styles/types.d.ts.map +1 -1
- package/dist/src/styles/vocabulary.d.ts +3 -2
- package/dist/src/styles/vocabulary.d.ts.map +1 -1
- package/dist/src/styles/vocabulary.js +218 -1
- package/dist/src/styles/vocabulary.js.map +1 -1
- package/dist/src/types.d.ts +19 -5
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/styles.js +29 -238
- package/dist/styles.js.map +1 -1
- package/dist/xgmml.js +3 -3
- package/docs/samples/people.json +6 -0
- package/package.json +53 -8
- package/src/common/report.ts +27 -7
- package/src/formats/cx/importer.ts +6 -1
- package/src/formats/cx/styles.ts +144 -9
- package/src/formats/cx2/importer.ts +1 -0
- package/src/formats/cx2/styles.ts +3 -1
- package/src/formats/cys/importer.ts +1 -0
- package/src/formats/cys/styles.ts +27 -5
- package/src/formats/dot/drawing.ts +799 -0
- package/src/formats/dot/importer.ts +120 -35
- package/src/formats/dot/label-places.ts +228 -0
- package/src/formats/dot/record.ts +336 -0
- package/src/formats/dot/styles.ts +1657 -154
- package/src/formats/gexf/dialog-metrics.ts +61 -0
- package/src/formats/gexf/importer.ts +50 -5
- package/src/formats/gexf/preview.ts +217 -0
- package/src/formats/gexf/schema.ts +2 -1
- package/src/formats/gexf/styles.ts +1144 -142
- package/src/formats/gml/importer.ts +291 -76
- package/src/formats/gml/index.ts +1 -1
- package/src/formats/gml/positions.ts +29 -7
- package/src/formats/gml/styles.ts +854 -111
- package/src/formats/graphml/styles-plain.ts +8 -23
- package/src/formats/graphml/styles-yed.ts +821 -159
- package/src/formats/graphml/styles-yfiles3.ts +485 -63
- package/src/formats/graphml/yfiles.ts +19 -6
- package/src/formats/json/dialect.ts +41 -5
- package/src/formats/json/importer.ts +59 -7
- package/src/formats/json/index.ts +1 -0
- package/src/formats/json/positions.ts +22 -5
- package/src/formats/json/styles.ts +2041 -185
- package/src/formats/pajek/draw.ts +458 -0
- package/src/formats/pajek/exporter.ts +81 -49
- package/src/formats/pajek/importer.ts +278 -103
- package/src/formats/pajek/index.ts +1 -0
- package/src/formats/pajek/styles.ts +1382 -133
- package/src/formats/pajek/syntax.ts +27 -2
- package/src/formats/xgmml/emit.ts +73 -5
- package/src/formats/xgmml/styles.ts +331 -71
- package/src/index.ts +94 -0
- package/src/positions/convert.ts +12 -1
- package/src/positions/extract.ts +55 -1
- package/src/positions/index.ts +1 -0
- package/src/positions/types.ts +60 -0
- package/src/registry.ts +326 -1
- package/src/sources/builtins.ts +63 -0
- package/src/sources/codes.ts +235 -0
- package/src/sources/context.ts +894 -0
- package/src/sources/credentials.ts +409 -0
- package/src/sources/cypher/descriptor.ts +131 -0
- package/src/sources/cypher/flatten.ts +323 -0
- package/src/sources/cypher/index.ts +628 -0
- package/src/sources/cypher/params.ts +41 -0
- package/src/sources/cypher/profiles.ts +78 -0
- package/src/sources/cypher/query-builder.ts +327 -0
- package/src/sources/cypher/transports/bolt.ts +228 -0
- package/src/sources/cypher/transports/neptune-analytics.ts +41 -0
- package/src/sources/cypher/transports/neptune-https.ts +122 -0
- package/src/sources/cypher/transports/query-api.ts +100 -0
- package/src/sources/cypher/transports/transport.ts +139 -0
- package/src/sources/cypher/types-map.ts +418 -0
- package/src/sources/define.ts +195 -0
- package/src/sources/fail.ts +70 -0
- package/src/sources/ids.ts +80 -0
- package/src/sources/ndex/client.ts +102 -0
- package/src/sources/ndex/descriptor.ts +64 -0
- package/src/sources/ndex/expand.ts +100 -0
- package/src/sources/ndex/index.ts +235 -0
- package/src/sources/ndex/params.ts +17 -0
- package/src/sources/ndex/share-url.ts +84 -0
- package/src/sources/params.ts +32 -0
- package/src/sources/registry.ts +325 -0
- package/src/sources/rest/descriptor.ts +79 -0
- package/src/sources/rest/index.ts +22 -0
- package/src/sources/rest/mapping.ts +401 -0
- package/src/sources/rest/openalex.ts +288 -0
- package/src/sources/rest/paging.ts +180 -0
- package/src/sources/rest/params.ts +243 -0
- package/src/sources/rest/records.ts +289 -0
- package/src/sources/rest/samples/deps-dev.ts +49 -0
- package/src/sources/rest/samples/string.ts +44 -0
- package/src/sources/rest/selectors.ts +91 -0
- package/src/sources/rest/source.ts +776 -0
- package/src/sources/rest/templates.ts +151 -0
- package/src/sources/run.ts +793 -0
- package/src/sources/sha256.ts +99 -0
- package/src/sources/sigv4.ts +209 -0
- package/src/sources/sparql/descriptor.ts +67 -0
- package/src/sources/sparql/index.ts +356 -0
- package/src/sources/sparql/ntriples.ts +219 -0
- package/src/sources/sparql/params.ts +28 -0
- package/src/sources/sparql/query.ts +162 -0
- package/src/sources/testing.ts +210 -0
- package/src/sources/types.ts +776 -0
- package/src/styles/annotations.ts +201 -27
- package/src/styles/canon/bends.ts +137 -0
- package/src/styles/canon/color-tables.ts +10 -4
- package/src/styles/canon/color.ts +105 -3
- package/src/styles/canon/enums.ts +99 -8
- package/src/styles/canon/graphviz.ts +71 -10
- package/src/styles/canon/number.ts +19 -0
- package/src/styles/canon/text.ts +187 -16
- package/src/styles/codes.ts +2 -0
- package/src/styles/cyjs/cascade.ts +1193 -38
- package/src/styles/cyjs/defaults-table.ts +5 -0
- package/src/styles/cyjs/emit.ts +247 -16
- package/src/styles/cyjs/face.ts +372 -0
- package/src/styles/cyjs/mappers.ts +498 -28
- package/src/styles/cyjs/routes.ts +432 -0
- package/src/styles/cytoscape/charts.ts +684 -0
- package/src/styles/cytoscape/emit.ts +220 -44
- package/src/styles/cytoscape/lexicon.ts +459 -80
- package/src/styles/cytoscape/mappings.ts +108 -0
- package/src/styles/cytoscape/resolve.ts +763 -23
- package/src/styles/cytoscape/translate.ts +11 -11
- package/src/styles/defaults.ts +436 -38
- package/src/styles/index.ts +5 -0
- package/src/styles/internal.ts +1 -0
- package/src/styles/io/block.ts +10 -0
- package/src/styles/io/generic.ts +79 -23
- package/src/styles/io/round-trip.ts +202 -0
- package/src/styles/io/writer.ts +14 -4
- package/src/styles/notes.ts +1 -0
- package/src/styles/plan/features.ts +23 -2
- package/src/styles/plan/index.ts +1 -1
- package/src/styles/plan/plan.ts +69 -5
- package/src/styles/plan/resolve.ts +61 -6
- package/src/styles/slots.ts +25 -0
- package/src/styles/types.ts +658 -4
- package/src/styles/vocabulary.ts +226 -3
- package/src/types.ts +19 -5
- package/dist/chunks/block-DiGq58c3.js.map +0 -1
- package/dist/chunks/choose--jM0yYCo.js +0 -57
- package/dist/chunks/choose--jM0yYCo.js.map +0 -1
- package/dist/chunks/convert-BcQ8_jMo.js.map +0 -1
- package/dist/chunks/emit-CwU8cUmG.js.map +0 -1
- package/dist/chunks/export-BvqAXCKh.js.map +0 -1
- package/dist/chunks/exporter-CrDWIyiq.js.map +0 -1
- package/dist/chunks/format-BpQBx8MZ.js.map +0 -1
- package/dist/chunks/generic-Dq1ntt9q.js.map +0 -1
- package/dist/chunks/importer-BSvfrX_h.js.map +0 -1
- package/dist/chunks/importer-CMmeMWlC.js.map +0 -1
- package/dist/chunks/importer-COTK9Tsl.js.map +0 -1
- package/dist/chunks/importer-DiZRmOQG.js.map +0 -1
- package/dist/chunks/importer-e6LGpqHB.js.map +0 -1
- package/dist/chunks/importer-iFYPEKaJ.js.map +0 -1
- package/dist/chunks/importer-yh_aBCU6.js.map +0 -1
- package/dist/chunks/lexicon-CT69Kd87.js.map +0 -1
- package/dist/chunks/styles-BQnsga7p.js.map +0 -1
- package/dist/chunks/styles-D3fRphrO.js +0 -690
- package/dist/chunks/styles-D3fRphrO.js.map +0 -1
- package/dist/chunks/styles-yed-BF5x3_Y5.js +0 -842
- package/dist/chunks/styles-yed-BF5x3_Y5.js.map +0 -1
- package/dist/chunks/writer-DMKvthQE.js +0 -448
- package/dist/chunks/writer-DMKvthQE.js.map +0 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What differs between openCypher servers (design section 12.2, "the profile"): the id
|
|
3
|
+
* expression, and the server facts `probe` reports. Everything else in the Cypher source is shared.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* The Neo4j profile for a version: `elementId()` from 5.0, `id()` before.
|
|
7
|
+
* @param version - the server's version, or null when not known (assumed 5 or later)
|
|
8
|
+
* @param product - the product name
|
|
9
|
+
* @returns the profile
|
|
10
|
+
*/
|
|
11
|
+
export function neo4jProfile(version, product = "Neo4j") {
|
|
12
|
+
const major = version === null ? Number.NaN : Number.parseInt(version, 10);
|
|
13
|
+
return {
|
|
14
|
+
name: "neo4j",
|
|
15
|
+
elementIds: Number.isNaN(major) || major >= 5,
|
|
16
|
+
product,
|
|
17
|
+
version,
|
|
18
|
+
readOnly: "enforced",
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The profile of a Bolt server from its agent string ("Neo4j/3.5.12"). A server that is not Neo4j
|
|
23
|
+
* gets `id()`, which every openCypher server has.
|
|
24
|
+
* @param agent - the server agent
|
|
25
|
+
* @returns the profile
|
|
26
|
+
*/
|
|
27
|
+
export function profileFromAgent(agent) {
|
|
28
|
+
const [product = "", version = ""] = agent.split("/");
|
|
29
|
+
if (product.toLowerCase() === "neo4j") {
|
|
30
|
+
return neo4jProfile(version === "" ? null : version);
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
name: "neo4j",
|
|
34
|
+
elementIds: false,
|
|
35
|
+
product,
|
|
36
|
+
version: version === "" ? null : version,
|
|
37
|
+
readOnly: "enforced",
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The Neptune profile: ids are `id(n)`, the `~id` string, never reused.
|
|
42
|
+
* @param version - the engine version, when known
|
|
43
|
+
* @returns the profile
|
|
44
|
+
*/
|
|
45
|
+
export function neptuneProfile(version = null) {
|
|
46
|
+
return { name: "neptune", elementIds: false, product: "Neptune", version, readOnly: "not-enforced" };
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The server facts of a profile, as `probe` and `report.source.server` give them.
|
|
50
|
+
* @param profile - the profile
|
|
51
|
+
* @returns the facts
|
|
52
|
+
*/
|
|
53
|
+
export function serverFacts(profile) {
|
|
54
|
+
return {
|
|
55
|
+
product: profile.product,
|
|
56
|
+
profile: profile.name,
|
|
57
|
+
readOnly: profile.readOnly,
|
|
58
|
+
...(profile.version === null ? {} : { version: profile.version }),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=profiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../../src/sources/cypher/profiles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,OAAsB,EAAE,OAAO,GAAG,OAAO;IAClE,MAAM,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3E,OAAO;QACH,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAC7C,OAAO;QACP,OAAO;QACP,QAAQ,EAAE,UAAU;KACvB,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC1C,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtD,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;QACpC,OAAO,YAAY,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IACD,OAAO;QACH,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,KAAK;QACjB,OAAO;QACP,OAAO,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;QACxC,QAAQ,EAAE,UAAU;KACvB,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,UAAyB,IAAI;IACxD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AACzG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,OAAsB;IAC9C,OAAO;QACH,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;KACpE,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one query builder of the Cypher source (design sections 11 and 12.2). Caller values travel
|
|
3
|
+
* as query parameters, never spliced. What Cypher cannot parameterize -- labels, relationship
|
|
4
|
+
* types, property keys, variable-length bounds and LIMIT -- is either backtick-quoted (an
|
|
5
|
+
* identifier, a backtick inside doubled) or inlined as a checked integer. The generated queries
|
|
6
|
+
* differ between servers only in the id expression.
|
|
7
|
+
*/
|
|
8
|
+
import { type ImportReportBuilder } from "../../common/report.js";
|
|
9
|
+
import { type CypherProfile } from "./profiles.js";
|
|
10
|
+
/** The deepest neighborhood a generated query asks for. */
|
|
11
|
+
export declare const MAX_DEPTH = 10;
|
|
12
|
+
/** The largest page of mode "all". */
|
|
13
|
+
export declare const MAX_PAGE_SIZE = 100000;
|
|
14
|
+
/** The page size of mode "all" when the caller gives none. */
|
|
15
|
+
export declare const DEFAULT_PAGE_SIZE = 1000;
|
|
16
|
+
/**
|
|
17
|
+
* Quote one Cypher identifier (a label, relationship type or property key) for a query: wrapped in
|
|
18
|
+
* backticks, with every backtick inside doubled, so no value can end the identifier early. An
|
|
19
|
+
* empty name, or one with a NUL character, is refused (E_SOURCE_PARAM, reason "identifier").
|
|
20
|
+
* Experimental.
|
|
21
|
+
* @param name - the identifier
|
|
22
|
+
* @returns the quoted identifier
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* cypherIdentifier("Person"); // "`Person`"
|
|
26
|
+
* cypherIdentifier("odd`name"); // "`odd``name`"
|
|
27
|
+
* ```
|
|
28
|
+
* @category Network sources
|
|
29
|
+
*/
|
|
30
|
+
export declare function cypherIdentifier(name: string): string;
|
|
31
|
+
/**
|
|
32
|
+
* Quote an identifier a parameter gave, failing the load when it cannot be.
|
|
33
|
+
* @param name - the identifier
|
|
34
|
+
* @param param - the parameter it came from
|
|
35
|
+
* @param report - the load's report
|
|
36
|
+
* @returns the quoted identifier
|
|
37
|
+
*/
|
|
38
|
+
export declare function quoted(name: unknown, param: string, report: ImportReportBuilder): string;
|
|
39
|
+
/**
|
|
40
|
+
* An integer to inline, checked to lie in its range.
|
|
41
|
+
* @param value - the value
|
|
42
|
+
* @param name - the parameter it came from
|
|
43
|
+
* @param min - the smallest allowed
|
|
44
|
+
* @param max - the largest allowed
|
|
45
|
+
* @param report - the load's report
|
|
46
|
+
* @returns the integer, as query text
|
|
47
|
+
*/
|
|
48
|
+
export declare function checkedInteger(value: unknown, name: string, min: number, max: number, report: ImportReportBuilder): string;
|
|
49
|
+
/** What narrows a generated query: compiled into it, so filtering happens at the source. */
|
|
50
|
+
export interface QueryFilters {
|
|
51
|
+
/** Quoted labels; a node must have one of them. */
|
|
52
|
+
readonly labels: readonly string[];
|
|
53
|
+
/** Quoted relationship types. */
|
|
54
|
+
readonly relationshipTypes: readonly string[];
|
|
55
|
+
/** The quoted id property, or null for the server's id. */
|
|
56
|
+
readonly idProperty: string | null;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* One page of the nodes of mode "all", ordered by the id expression (keyset paging, never SKIP).
|
|
60
|
+
* @param profile - the server's profile
|
|
61
|
+
* @param filters - the filters
|
|
62
|
+
* @param pageSize - the checked page size, as text
|
|
63
|
+
* @param after - whether the page starts after `$after`
|
|
64
|
+
* @param degree - whether to add the degree hint
|
|
65
|
+
* @returns the statement; it reads `$after`
|
|
66
|
+
*/
|
|
67
|
+
export declare function nodePage(profile: CypherProfile, filters: QueryFilters, pageSize: string, after: boolean, degree: boolean): string;
|
|
68
|
+
/**
|
|
69
|
+
* One page of the relationships of mode "all", with their end nodes, ordered by the relationship
|
|
70
|
+
* id expression.
|
|
71
|
+
* @param profile - the server's profile
|
|
72
|
+
* @param filters - the filters
|
|
73
|
+
* @param pageSize - the checked page size, as text
|
|
74
|
+
* @param after - whether the page starts after `$after`
|
|
75
|
+
* @returns the statement; it reads `$after`
|
|
76
|
+
*/
|
|
77
|
+
export declare function edgePage(profile: CypherProfile, filters: QueryFilters, pageSize: string, after: boolean): string;
|
|
78
|
+
/**
|
|
79
|
+
* The relationships among the nodes a capped mode "all" has loaded: both ends at or before the
|
|
80
|
+
* node page's last key `$last`, and, after the first page, one end past the previous page's last
|
|
81
|
+
* key `$after`, so each relationship arrives with the page that loads its later end.
|
|
82
|
+
* @param profile - the server's profile
|
|
83
|
+
* @param filters - the filters
|
|
84
|
+
* @param after - whether earlier pages were loaded
|
|
85
|
+
* @returns the statement; it reads `$last` and `$after`
|
|
86
|
+
*/
|
|
87
|
+
export declare function edgesAmong(profile: CypherProfile, filters: QueryFilters, after: boolean): string;
|
|
88
|
+
/** How far a neighborhood reaches. */
|
|
89
|
+
interface NeighborhoodShape {
|
|
90
|
+
/** The checked depth, as text. */
|
|
91
|
+
readonly depth: string;
|
|
92
|
+
/** Which way relationships are followed. */
|
|
93
|
+
readonly direction: "out" | "in" | "both";
|
|
94
|
+
/** The checked path limit, as text, or null for none. */
|
|
95
|
+
readonly limit: string | null;
|
|
96
|
+
/** Whether the page starts after the neighbor key `$after` (a capped expansion's next page). */
|
|
97
|
+
readonly after?: boolean;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The neighborhood of the seeds `$ids`: every path up to `depth` hops, each seed included even with
|
|
101
|
+
* no neighbor, plus the degree of every node returned.
|
|
102
|
+
* @param profile - the server's profile
|
|
103
|
+
* @param filters - the filters
|
|
104
|
+
* @param shape - depth, direction and limit
|
|
105
|
+
* @param degree - whether to add the degree hint
|
|
106
|
+
* @returns the statement; it reads `$ids`
|
|
107
|
+
*/
|
|
108
|
+
export declare function neighborhood(profile: CypherProfile, filters: QueryFilters, shape: NeighborhoodShape, degree: boolean): string;
|
|
109
|
+
/**
|
|
110
|
+
* The counts of mode "all", for a progress total.
|
|
111
|
+
* @param filters - the filters
|
|
112
|
+
* @returns two statements: the nodes, then the relationships
|
|
113
|
+
*/
|
|
114
|
+
export declare function counts(filters: QueryFilters): readonly [string, string];
|
|
115
|
+
/**
|
|
116
|
+
* The node count of a mode "all" load with at most one label and the server's ids: a pattern
|
|
117
|
+
* Neo4j answers from its count store in one cheap lookup, whatever the graph's size.
|
|
118
|
+
* @param label - the quoted label, or undefined for every node
|
|
119
|
+
* @returns the statement
|
|
120
|
+
*/
|
|
121
|
+
export declare function storeCount(label: string | undefined): string;
|
|
122
|
+
export {};
|
|
123
|
+
//# sourceMappingURL=query-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../../../../src/sources/cypher/query-builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,2DAA2D;AAC3D,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B,sCAAsC;AACtC,eAAO,MAAM,aAAa,SAAU,CAAC;AAErC,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAWtC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAQxF;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC1B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,mBAAmB,GAC5B,MAAM,CAWR;AAED,4FAA4F;AAC5F,MAAM,WAAW,YAAY;IACzB,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,iCAAiC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAwDD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CACpB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,GAChB,MAAM,CAYR;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAchH;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAWhG;AAED,sCAAsC;AACtC,UAAU,iBAAiB;IACvB,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;IAC1C,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gGAAgG;IAChG,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CACxB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,OAAO,GAChB,MAAM,CA2BR;AAWD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAOvE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG5D"}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one query builder of the Cypher source (design sections 11 and 12.2). Caller values travel
|
|
3
|
+
* as query parameters, never spliced. What Cypher cannot parameterize -- labels, relationship
|
|
4
|
+
* types, property keys, variable-length bounds and LIMIT -- is either backtick-quoted (an
|
|
5
|
+
* identifier, a backtick inside doubled) or inlined as a checked integer. The generated queries
|
|
6
|
+
* differ between servers only in the id expression.
|
|
7
|
+
*/
|
|
8
|
+
import { failAlone, failOn } from "../fail.js";
|
|
9
|
+
/** The deepest neighborhood a generated query asks for. */
|
|
10
|
+
export const MAX_DEPTH = 10;
|
|
11
|
+
/** The largest page of mode "all". */
|
|
12
|
+
export const MAX_PAGE_SIZE = 100000;
|
|
13
|
+
/** The page size of mode "all" when the caller gives none. */
|
|
14
|
+
export const DEFAULT_PAGE_SIZE = 1000;
|
|
15
|
+
/**
|
|
16
|
+
* Why an identifier cannot be quoted, or null when it can.
|
|
17
|
+
* @param name - the identifier
|
|
18
|
+
* @returns the reason, or null
|
|
19
|
+
*/
|
|
20
|
+
function identifierProblem(name) {
|
|
21
|
+
return typeof name !== "string" || name === "" || name.includes("\u0000") ? "identifier" : null;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Quote one Cypher identifier (a label, relationship type or property key) for a query: wrapped in
|
|
25
|
+
* backticks, with every backtick inside doubled, so no value can end the identifier early. An
|
|
26
|
+
* empty name, or one with a NUL character, is refused (E_SOURCE_PARAM, reason "identifier").
|
|
27
|
+
* Experimental.
|
|
28
|
+
* @param name - the identifier
|
|
29
|
+
* @returns the quoted identifier
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* cypherIdentifier("Person"); // "`Person`"
|
|
33
|
+
* cypherIdentifier("odd`name"); // "`odd``name`"
|
|
34
|
+
* ```
|
|
35
|
+
* @category Network sources
|
|
36
|
+
*/
|
|
37
|
+
export function cypherIdentifier(name) {
|
|
38
|
+
if (identifierProblem(name) !== null) {
|
|
39
|
+
failAlone("E_SOURCE_PARAM", "a Cypher identifier must be a non-empty string without NUL", {
|
|
40
|
+
name: "identifier",
|
|
41
|
+
reason: "identifier",
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return `\`${name.replaceAll("`", "``")}\``;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Quote an identifier a parameter gave, failing the load when it cannot be.
|
|
48
|
+
* @param name - the identifier
|
|
49
|
+
* @param param - the parameter it came from
|
|
50
|
+
* @param report - the load's report
|
|
51
|
+
* @returns the quoted identifier
|
|
52
|
+
*/
|
|
53
|
+
export function quoted(name, param, report) {
|
|
54
|
+
if (identifierProblem(name) !== null) {
|
|
55
|
+
failOn(report, "E_SOURCE_PARAM", `parameter ${param}: not a Cypher identifier`, {
|
|
56
|
+
name: param,
|
|
57
|
+
reason: "identifier",
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return cypherIdentifier(name);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* An integer to inline, checked to lie in its range.
|
|
64
|
+
* @param value - the value
|
|
65
|
+
* @param name - the parameter it came from
|
|
66
|
+
* @param min - the smallest allowed
|
|
67
|
+
* @param max - the largest allowed
|
|
68
|
+
* @param report - the load's report
|
|
69
|
+
* @returns the integer, as query text
|
|
70
|
+
*/
|
|
71
|
+
export function checkedInteger(value, name, min, max, report) {
|
|
72
|
+
if (typeof value !== "number" || !Number.isInteger(value)) {
|
|
73
|
+
failOn(report, "E_SOURCE_PARAM", `parameter ${name}: not an integer`, { name, reason: "type" });
|
|
74
|
+
}
|
|
75
|
+
if (value < min || value > max) {
|
|
76
|
+
failOn(report, "E_SOURCE_PARAM", `parameter ${name}: outside ${String(min)} to ${String(max)}`, {
|
|
77
|
+
name,
|
|
78
|
+
reason: "range",
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return String(value);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* The id expression of a node or relationship variable.
|
|
85
|
+
* @param v - the variable
|
|
86
|
+
* @param profile - the server's profile
|
|
87
|
+
* @param filters - the id property, for a node
|
|
88
|
+
* @param node - whether `v` is a node
|
|
89
|
+
* @returns the expression
|
|
90
|
+
*/
|
|
91
|
+
function idExpression(v, profile, filters, node = true) {
|
|
92
|
+
if (node && filters.idProperty !== null) {
|
|
93
|
+
return `${v}.${filters.idProperty}`;
|
|
94
|
+
}
|
|
95
|
+
return profile.elementIds ? `elementId(${v})` : `id(${v})`;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* The node predicate of the label and id property filters, or null.
|
|
99
|
+
* @param v - the node variable
|
|
100
|
+
* @param filters - the filters
|
|
101
|
+
* @returns the predicate
|
|
102
|
+
*/
|
|
103
|
+
function nodePredicate(v, filters) {
|
|
104
|
+
const parts = [];
|
|
105
|
+
if (filters.labels.length > 0) {
|
|
106
|
+
const prefix = `${v}:`;
|
|
107
|
+
parts.push(`(${filters.labels.map((l) => prefix + l).join(" OR ")})`);
|
|
108
|
+
}
|
|
109
|
+
if (filters.idProperty !== null) {
|
|
110
|
+
parts.push(`${v}.${filters.idProperty} IS NOT NULL`);
|
|
111
|
+
}
|
|
112
|
+
return parts.length === 0 ? null : parts.join(" AND ");
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* The relationship type part of a pattern: `:`A`|`B``, or "".
|
|
116
|
+
* @param filters - the filters
|
|
117
|
+
* @returns the pattern text
|
|
118
|
+
*/
|
|
119
|
+
function typesPattern(filters) {
|
|
120
|
+
return filters.relationshipTypes.length === 0 ? "" : `:${filters.relationshipTypes.join("|")}`;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* The degree hint of a node variable: its relationship count, by pattern comprehension.
|
|
124
|
+
* @param v - the variable
|
|
125
|
+
* @returns the expression
|
|
126
|
+
*/
|
|
127
|
+
function degreeOf(v) {
|
|
128
|
+
return `size([(${v})--() | 1])`;
|
|
129
|
+
}
|
|
130
|
+
/** The arrows of each direction around a relationship pattern. */
|
|
131
|
+
const ARROWS = { out: ["-", "->"], in: ["<-", "-"], both: ["-", "-"] };
|
|
132
|
+
/**
|
|
133
|
+
* One page of the nodes of mode "all", ordered by the id expression (keyset paging, never SKIP).
|
|
134
|
+
* @param profile - the server's profile
|
|
135
|
+
* @param filters - the filters
|
|
136
|
+
* @param pageSize - the checked page size, as text
|
|
137
|
+
* @param after - whether the page starts after `$after`
|
|
138
|
+
* @param degree - whether to add the degree hint
|
|
139
|
+
* @returns the statement; it reads `$after`
|
|
140
|
+
*/
|
|
141
|
+
export function nodePage(profile, filters, pageSize, after, degree) {
|
|
142
|
+
const where = nodePredicate("n", filters);
|
|
143
|
+
return [
|
|
144
|
+
"MATCH (n)",
|
|
145
|
+
where === null ? null : `WHERE ${where}`,
|
|
146
|
+
`WITH n, ${idExpression("n", profile, filters)} AS key`,
|
|
147
|
+
after ? "WHERE key > $after" : null,
|
|
148
|
+
degree ? `RETURN n, key, ${degreeOf("n")} AS degree` : "RETURN n, key",
|
|
149
|
+
`ORDER BY key LIMIT ${pageSize}`,
|
|
150
|
+
]
|
|
151
|
+
.filter((l) => l !== null)
|
|
152
|
+
.join(" ");
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* One page of the relationships of mode "all", with their end nodes, ordered by the relationship
|
|
156
|
+
* id expression.
|
|
157
|
+
* @param profile - the server's profile
|
|
158
|
+
* @param filters - the filters
|
|
159
|
+
* @param pageSize - the checked page size, as text
|
|
160
|
+
* @param after - whether the page starts after `$after`
|
|
161
|
+
* @returns the statement; it reads `$after`
|
|
162
|
+
*/
|
|
163
|
+
export function edgePage(profile, filters, pageSize, after) {
|
|
164
|
+
const a = nodePredicate("a", filters);
|
|
165
|
+
const b = nodePredicate("b", filters);
|
|
166
|
+
const where = [a, b].filter((p) => p !== null);
|
|
167
|
+
return [
|
|
168
|
+
`MATCH (a)-[r${typesPattern(filters)}]->(b)`,
|
|
169
|
+
where.length === 0 ? null : `WHERE ${where.join(" AND ")}`,
|
|
170
|
+
`WITH a, r, b, ${idExpression("r", profile, filters, false)} AS key`,
|
|
171
|
+
after ? "WHERE key > $after" : null,
|
|
172
|
+
"RETURN a, r, b, key",
|
|
173
|
+
`ORDER BY key LIMIT ${pageSize}`,
|
|
174
|
+
]
|
|
175
|
+
.filter((l) => l !== null)
|
|
176
|
+
.join(" ");
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* The relationships among the nodes a capped mode "all" has loaded: both ends at or before the
|
|
180
|
+
* node page's last key `$last`, and, after the first page, one end past the previous page's last
|
|
181
|
+
* key `$after`, so each relationship arrives with the page that loads its later end.
|
|
182
|
+
* @param profile - the server's profile
|
|
183
|
+
* @param filters - the filters
|
|
184
|
+
* @param after - whether earlier pages were loaded
|
|
185
|
+
* @returns the statement; it reads `$last` and `$after`
|
|
186
|
+
*/
|
|
187
|
+
export function edgesAmong(profile, filters, after) {
|
|
188
|
+
const where = [nodePredicate("a", filters), nodePredicate("b", filters)].filter((p) => p !== null);
|
|
189
|
+
return [
|
|
190
|
+
`MATCH (a)-[r${typesPattern(filters)}]->(b)`,
|
|
191
|
+
where.length === 0 ? null : `WHERE ${where.join(" AND ")}`,
|
|
192
|
+
`WITH a, r, b, ${idExpression("a", profile, filters)} AS ka, ${idExpression("b", profile, filters)} AS kb`,
|
|
193
|
+
`WHERE ka <= $last AND kb <= $last${after ? " AND (ka > $after OR kb > $after)" : ""}`,
|
|
194
|
+
"RETURN a, r, b",
|
|
195
|
+
]
|
|
196
|
+
.filter((l) => l !== null)
|
|
197
|
+
.join(" ");
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* The neighborhood of the seeds `$ids`: every path up to `depth` hops, each seed included even with
|
|
201
|
+
* no neighbor, plus the degree of every node returned.
|
|
202
|
+
* @param profile - the server's profile
|
|
203
|
+
* @param filters - the filters
|
|
204
|
+
* @param shape - depth, direction and limit
|
|
205
|
+
* @param degree - whether to add the degree hint
|
|
206
|
+
* @returns the statement; it reads `$ids`
|
|
207
|
+
*/
|
|
208
|
+
export function neighborhood(profile, filters, shape, degree) {
|
|
209
|
+
const rel = `[${typesPattern(filters)}*1..${shape.depth}]`;
|
|
210
|
+
const [left, right] = ARROWS[shape.direction];
|
|
211
|
+
const pattern = `${left}${rel}${right}`;
|
|
212
|
+
const x = nodePredicate("x", filters);
|
|
213
|
+
const degrees = degree
|
|
214
|
+
? `, [m IN CASE WHEN p IS NULL THEN [s] ELSE nodes(p) END | [${idExpression("m", profile, filters)}, ${degreeOf("m")}]] AS degrees`
|
|
215
|
+
: "";
|
|
216
|
+
// A capped expansion is ordered by the neighbor's key, so its next page starts after the last
|
|
217
|
+
// key it returned. ponytail: a page boundary falling between two paths to the same neighbor
|
|
218
|
+
// (parallel relationships, or depth > 1) drops the later paths; page on (key, path) if that matters.
|
|
219
|
+
const head = [
|
|
220
|
+
`MATCH (s) WHERE ${idExpression("s", profile, filters)} IN $ids`,
|
|
221
|
+
`OPTIONAL MATCH p = (s)${pattern}(x)${whereClause(x)}`,
|
|
222
|
+
];
|
|
223
|
+
if (shape.limit === null) {
|
|
224
|
+
return [...head, "WITH s, p", `RETURN s, p${degrees}`].join(" ");
|
|
225
|
+
}
|
|
226
|
+
return [
|
|
227
|
+
...head,
|
|
228
|
+
`WITH s, p, ${idExpression("x", profile, filters)} AS key`,
|
|
229
|
+
shape.after === true ? "WHERE key > $after" : null,
|
|
230
|
+
`WITH s, p, key ORDER BY key LIMIT ${shape.limit}`,
|
|
231
|
+
`RETURN s, p, key${degrees}`,
|
|
232
|
+
]
|
|
233
|
+
.filter((l) => l !== null)
|
|
234
|
+
.join(" ");
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* A ` WHERE` clause for a predicate.
|
|
238
|
+
* @param predicate - the predicate, or null
|
|
239
|
+
* @returns the clause with its leading space, or "" for no predicate
|
|
240
|
+
*/
|
|
241
|
+
function whereClause(predicate) {
|
|
242
|
+
return predicate === null ? "" : ` WHERE ${predicate}`;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* The counts of mode "all", for a progress total.
|
|
246
|
+
* @param filters - the filters
|
|
247
|
+
* @returns two statements: the nodes, then the relationships
|
|
248
|
+
*/
|
|
249
|
+
export function counts(filters) {
|
|
250
|
+
const n = nodePredicate("n", filters);
|
|
251
|
+
const where = [nodePredicate("a", filters), nodePredicate("b", filters)].filter((p) => p !== null);
|
|
252
|
+
return [
|
|
253
|
+
`MATCH (n)${whereClause(n)} RETURN count(n) AS c`,
|
|
254
|
+
`MATCH (a)-[r${typesPattern(filters)}]->(b)${whereClause(where.length === 0 ? null : where.join(" AND "))} RETURN count(r) AS c`,
|
|
255
|
+
];
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* The node count of a mode "all" load with at most one label and the server's ids: a pattern
|
|
259
|
+
* Neo4j answers from its count store in one cheap lookup, whatever the graph's size.
|
|
260
|
+
* @param label - the quoted label, or undefined for every node
|
|
261
|
+
* @returns the statement
|
|
262
|
+
*/
|
|
263
|
+
export function storeCount(label) {
|
|
264
|
+
const pattern = label === undefined ? "n" : `n:${label}`;
|
|
265
|
+
return `MATCH (${pattern}) RETURN count(n) AS c`;
|
|
266
|
+
}
|
|
267
|
+
//# sourceMappingURL=query-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../../../src/sources/cypher/query-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `bolt` transport (design sections 9 and 12.2): the official neo4j-driver, an optional peer
|
|
3
|
+
* dependency imported only here. Absent, a load fails with E_SOURCE_RUNTIME (`reason:
|
|
4
|
+
* "needs-peer-dependency"`). It is the only path to a Neo4j older than 5.26, such as Hetionet's 3.5.
|
|
5
|
+
*
|
|
6
|
+
* - Direct connections only (`bolt:`, `bolt+s:`, `bolt+ssc:`): a routing scheme would send the
|
|
7
|
+
* credential to every host the routing table lists, so `neo4j:` schemes are refused.
|
|
8
|
+
* - `+ssc` accepts any certificate, so it is refused with a credential; plain `bolt:` is refused
|
|
9
|
+
* with one unless the host is this machine or `allowInsecure` is set.
|
|
10
|
+
* - Statements run as auto-commit `session.run` in a READ session, never as managed transactions,
|
|
11
|
+
* which retry a server timeout for 30 s.
|
|
12
|
+
* - Integers stay lossless and are converted by the type mapper; the signal closes the session.
|
|
13
|
+
*/
|
|
14
|
+
import { type Transport, type TransportInput } from "./transport.js";
|
|
15
|
+
/**
|
|
16
|
+
* Make the transport: import the driver, check the endpoint and credential, open a READ session.
|
|
17
|
+
* @param input - the context, params and mapper
|
|
18
|
+
* @returns the transport
|
|
19
|
+
*/
|
|
20
|
+
export declare function boltTransport(input: TransportInput): Promise<Transport>;
|
|
21
|
+
//# sourceMappingURL=bolt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bolt.d.ts","sourceRoot":"","sources":["../../../../../src/sources/cypher/transports/bolt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,OAAO,EAAe,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAqHlF;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAoF7E"}
|