@graphty/graph-io 0.3.25 → 0.3.27
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/README.md +49 -414
- package/dist/chunks/children-CL3Cy0ez.js.map +1 -1
- package/dist/chunks/choose-DrXtu_96.js +56 -0
- package/dist/chunks/choose-DrXtu_96.js.map +1 -0
- package/dist/chunks/constants-ikG85dT8.js +231 -0
- package/dist/chunks/constants-ikG85dT8.js.map +1 -0
- package/dist/chunks/{escape-B-tkk_Cl.js → escape-D1HPTUrP.js} +390 -99
- package/dist/chunks/escape-D1HPTUrP.js.map +1 -0
- package/dist/chunks/export-CHd4tQE2.js +4333 -0
- package/dist/chunks/export-CHd4tQE2.js.map +1 -0
- package/dist/chunks/{importer-eUREhBGj.js → exporter-D23CKNqF.js} +4969 -3201
- package/dist/chunks/exporter-D23CKNqF.js.map +1 -0
- package/dist/chunks/{exporter-DIeGJXAZ.js → exporter-DfWTgrti.js} +23 -21
- package/dist/chunks/exporter-DfWTgrti.js.map +1 -0
- package/dist/chunks/exporter-DhtW6FxK.js +3465 -0
- package/dist/chunks/exporter-DhtW6FxK.js.map +1 -0
- package/dist/chunks/{exporter-BGrsWamJ.js → exporter-IHv4nkCm.js} +38 -229
- package/dist/chunks/exporter-IHv4nkCm.js.map +1 -0
- package/dist/chunks/{importer-BWY2FFc5.js → importer-B1wmPQjr.js} +255 -77
- package/dist/chunks/importer-B1wmPQjr.js.map +1 -0
- package/dist/chunks/{importer-D_e7e7LX.js → importer-B2W_58pz.js} +399 -146
- package/dist/chunks/importer-B2W_58pz.js.map +1 -0
- package/dist/chunks/importer-BSALvkui.js +2811 -0
- package/dist/chunks/importer-BSALvkui.js.map +1 -0
- package/dist/chunks/{importer-vi3bSdtw.js → importer-BVRE--Un.js} +510 -77
- package/dist/chunks/importer-BVRE--Un.js.map +1 -0
- package/dist/chunks/{importer-DET1tg6s.js → importer-CIAzt-wo.js} +1689 -312
- package/dist/chunks/importer-CIAzt-wo.js.map +1 -0
- package/dist/chunks/{importer-DIrbbnAf.js → importer-DpEW5zeG.js} +585 -226
- package/dist/chunks/importer-DpEW5zeG.js.map +1 -0
- package/dist/chunks/{importer-zGLo8Dg_.js → importer-z_FL4VMb.js} +488 -161
- package/dist/chunks/importer-z_FL4VMb.js.map +1 -0
- package/dist/chunks/json-elements-BAmNBZok.js +1225 -0
- package/dist/chunks/json-elements-BAmNBZok.js.map +1 -0
- package/dist/chunks/ontology-export-Bab4eUA8.js +357 -0
- package/dist/chunks/ontology-export-Bab4eUA8.js.map +1 -0
- package/dist/chunks/{records-dbRkxwaq.js → records-CdlvL4RO.js} +298 -114
- package/dist/chunks/records-CdlvL4RO.js.map +1 -0
- package/dist/chunks/{text-Dr0Ifpag.js → text-DzXjAiTl.js} +29 -11
- package/dist/chunks/text-DzXjAiTl.js.map +1 -0
- package/dist/chunks/{writer-C7flM-Ih.js → writer-DxjgHwSe.js} +19 -1
- package/dist/chunks/writer-DxjgHwSe.js.map +1 -0
- package/dist/csv.js +952 -262
- package/dist/csv.js.map +1 -1
- package/dist/cx.js +6 -3
- package/dist/cx2.js +2 -2
- package/dist/cys.js +6 -3
- package/dist/dot.js +1 -1
- package/dist/gexf.js +554 -122
- package/dist/gexf.js.map +1 -1
- package/dist/gml.js +344 -87
- package/dist/gml.js.map +1 -1
- package/dist/graph-io.js +1105 -213
- package/dist/graph-io.js.map +1 -1
- package/dist/graphml.js +3 -2
- package/dist/graphml.js.map +1 -1
- package/dist/json.js +3 -2
- package/dist/neo4j.js +565 -158
- package/dist/neo4j.js.map +1 -1
- package/dist/obo.js +6 -3
- package/dist/pajek.js +1 -1
- package/dist/src/children.d.ts +18 -6
- package/dist/src/children.d.ts.map +1 -1
- package/dist/src/children.js +6 -3
- package/dist/src/children.js.map +1 -1
- package/dist/src/common/attributes.d.ts +29 -11
- package/dist/src/common/attributes.d.ts.map +1 -1
- package/dist/src/common/attributes.js +25 -7
- package/dist/src/common/attributes.js.map +1 -1
- package/dist/src/common/cell-budget.d.ts +9 -2
- package/dist/src/common/cell-budget.d.ts.map +1 -1
- package/dist/src/common/cell-budget.js +11 -3
- package/dist/src/common/cell-budget.js.map +1 -1
- package/dist/src/common/choose.d.ts +19 -0
- package/dist/src/common/choose.d.ts.map +1 -0
- package/dist/src/common/choose.js +72 -0
- package/dist/src/common/choose.js.map +1 -0
- package/dist/src/common/codes.d.ts +456 -66
- package/dist/src/common/codes.d.ts.map +1 -1
- package/dist/src/common/codes.js +458 -66
- package/dist/src/common/codes.js.map +1 -1
- package/dist/src/common/compare.d.ts +81 -0
- package/dist/src/common/compare.d.ts.map +1 -0
- package/dist/src/common/compare.js +394 -0
- package/dist/src/common/compare.js.map +1 -0
- package/dist/src/common/cx-export.d.ts +123 -0
- package/dist/src/common/cx-export.d.ts.map +1 -0
- package/dist/src/common/cx-export.js +334 -0
- package/dist/src/common/cx-export.js.map +1 -0
- package/dist/src/common/declared-types.d.ts +22 -2
- package/dist/src/common/declared-types.d.ts.map +1 -1
- package/dist/src/common/declared-types.js +21 -3
- package/dist/src/common/declared-types.js.map +1 -1
- package/dist/src/common/direction.d.ts +74 -50
- package/dist/src/common/direction.d.ts.map +1 -1
- package/dist/src/common/direction.js +47 -27
- package/dist/src/common/direction.js.map +1 -1
- package/dist/src/common/escape.d.ts +21 -9
- package/dist/src/common/escape.d.ts.map +1 -1
- package/dist/src/common/escape.js +39 -22
- package/dist/src/common/escape.js.map +1 -1
- package/dist/src/common/export.d.ts +144 -32
- package/dist/src/common/export.d.ts.map +1 -1
- package/dist/src/common/export.js +216 -42
- package/dist/src/common/export.js.map +1 -1
- package/dist/src/common/format.d.ts +23 -1
- package/dist/src/common/format.d.ts.map +1 -1
- package/dist/src/common/format.js +26 -1
- package/dist/src/common/format.js.map +1 -1
- package/dist/src/common/ids.d.ts +9 -2
- package/dist/src/common/ids.d.ts.map +1 -1
- package/dist/src/common/ids.js +6 -2
- package/dist/src/common/ids.js.map +1 -1
- package/dist/src/common/input.d.ts +122 -28
- package/dist/src/common/input.d.ts.map +1 -1
- package/dist/src/common/input.js +890 -124
- package/dist/src/common/input.js.map +1 -1
- package/dist/src/common/json-elements.d.ts +144 -20
- package/dist/src/common/json-elements.d.ts.map +1 -1
- package/dist/src/common/json-elements.js +869 -189
- package/dist/src/common/json-elements.js.map +1 -1
- package/dist/src/common/line-format.d.ts +90 -0
- package/dist/src/common/line-format.d.ts.map +1 -0
- package/dist/src/common/line-format.js +185 -0
- package/dist/src/common/line-format.js.map +1 -0
- package/dist/src/common/lists.d.ts +6 -1
- package/dist/src/common/lists.d.ts.map +1 -1
- package/dist/src/common/lists.js +3 -1
- package/dist/src/common/lists.js.map +1 -1
- package/dist/src/common/ontology-export.d.ts +167 -0
- package/dist/src/common/ontology-export.d.ts.map +1 -0
- package/dist/src/common/ontology-export.js +359 -0
- package/dist/src/common/ontology-export.js.map +1 -0
- package/dist/src/common/ontology.d.ts +25 -3
- package/dist/src/common/ontology.d.ts.map +1 -1
- package/dist/src/common/ontology.js +30 -9
- package/dist/src/common/ontology.js.map +1 -1
- package/dist/src/common/options.d.ts +62 -12
- package/dist/src/common/options.d.ts.map +1 -1
- package/dist/src/common/options.js +89 -11
- package/dist/src/common/options.js.map +1 -1
- package/dist/src/common/plural.d.ts +31 -0
- package/dist/src/common/plural.d.ts.map +1 -0
- package/dist/src/common/plural.js +46 -0
- package/dist/src/common/plural.js.map +1 -0
- package/dist/src/common/report.d.ts +72 -14
- package/dist/src/common/report.d.ts.map +1 -1
- package/dist/src/common/report.js +146 -22
- package/dist/src/common/report.js.map +1 -1
- package/dist/src/common/temporal.d.ts +22 -5
- package/dist/src/common/temporal.d.ts.map +1 -1
- package/dist/src/common/temporal.js +13 -2
- package/dist/src/common/temporal.js.map +1 -1
- package/dist/src/common/text.d.ts +39 -23
- package/dist/src/common/text.d.ts.map +1 -1
- package/dist/src/common/text.js +51 -21
- package/dist/src/common/text.js.map +1 -1
- package/dist/src/common/weights.d.ts +37 -4
- package/dist/src/common/weights.d.ts.map +1 -1
- package/dist/src/common/weights.js +61 -2
- package/dist/src/common/weights.js.map +1 -1
- package/dist/src/common/writer.d.ts +19 -3
- package/dist/src/common/writer.d.ts.map +1 -1
- package/dist/src/common/writer.js +30 -2
- package/dist/src/common/writer.js.map +1 -1
- package/dist/src/common/xml.d.ts +125 -9
- package/dist/src/common/xml.d.ts.map +1 -1
- package/dist/src/common/xml.js +402 -85
- package/dist/src/common/xml.js.map +1 -1
- package/dist/src/common/zip.d.ts +44 -4
- package/dist/src/common/zip.d.ts.map +1 -1
- package/dist/src/common/zip.js +134 -5
- package/dist/src/common/zip.js.map +1 -1
- package/dist/src/formats/csv/exporter.d.ts +80 -24
- package/dist/src/formats/csv/exporter.d.ts.map +1 -1
- package/dist/src/formats/csv/exporter.js +146 -33
- package/dist/src/formats/csv/exporter.js.map +1 -1
- package/dist/src/formats/csv/header.d.ts +38 -9
- package/dist/src/formats/csv/header.d.ts.map +1 -1
- package/dist/src/formats/csv/header.js +46 -10
- package/dist/src/formats/csv/header.js.map +1 -1
- package/dist/src/formats/csv/importer.d.ts +187 -37
- package/dist/src/formats/csv/importer.d.ts.map +1 -1
- package/dist/src/formats/csv/importer.js +835 -204
- package/dist/src/formats/csv/importer.js.map +1 -1
- package/dist/src/formats/csv/index.d.ts +100 -19
- package/dist/src/formats/csv/index.d.ts.map +1 -1
- package/dist/src/formats/csv/index.js +94 -21
- package/dist/src/formats/csv/index.js.map +1 -1
- package/dist/src/formats/csv/records.d.ts +95 -10
- package/dist/src/formats/csv/records.d.ts.map +1 -1
- package/dist/src/formats/csv/records.js +333 -122
- package/dist/src/formats/csv/records.js.map +1 -1
- package/dist/src/formats/csv/values.d.ts +1 -0
- package/dist/src/formats/csv/values.d.ts.map +1 -1
- package/dist/src/formats/csv/values.js +1 -0
- package/dist/src/formats/csv/values.js.map +1 -1
- package/dist/src/formats/cx/exporter.d.ts +102 -0
- package/dist/src/formats/cx/exporter.d.ts.map +1 -0
- package/dist/src/formats/cx/exporter.js +1217 -0
- package/dist/src/formats/cx/exporter.js.map +1 -0
- package/dist/src/formats/cx/importer.d.ts +79 -32
- package/dist/src/formats/cx/importer.d.ts.map +1 -1
- package/dist/src/formats/cx/importer.js +682 -287
- package/dist/src/formats/cx/importer.js.map +1 -1
- package/dist/src/formats/cx/index.d.ts +4 -3
- package/dist/src/formats/cx/index.d.ts.map +1 -1
- package/dist/src/formats/cx/index.js +4 -3
- package/dist/src/formats/cx/index.js.map +1 -1
- package/dist/src/formats/cx2/exporter.d.ts +29 -11
- package/dist/src/formats/cx2/exporter.d.ts.map +1 -1
- package/dist/src/formats/cx2/exporter.js +39 -268
- package/dist/src/formats/cx2/exporter.js.map +1 -1
- package/dist/src/formats/cx2/importer.d.ts +78 -28
- package/dist/src/formats/cx2/importer.d.ts.map +1 -1
- package/dist/src/formats/cx2/importer.js +227 -80
- package/dist/src/formats/cx2/importer.js.map +1 -1
- package/dist/src/formats/cx2/index.d.ts +2 -1
- package/dist/src/formats/cx2/index.d.ts.map +1 -1
- package/dist/src/formats/cx2/index.js +2 -1
- package/dist/src/formats/cx2/index.js.map +1 -1
- package/dist/src/formats/cys/constants.d.ts +66 -17
- package/dist/src/formats/cys/constants.d.ts.map +1 -1
- package/dist/src/formats/cys/constants.js +59 -18
- package/dist/src/formats/cys/constants.js.map +1 -1
- package/dist/src/formats/cys/exporter.d.ts +118 -0
- package/dist/src/formats/cys/exporter.d.ts.map +1 -0
- package/dist/src/formats/cys/exporter.js +1072 -0
- package/dist/src/formats/cys/exporter.js.map +1 -0
- package/dist/src/formats/cys/importer.d.ts +22 -8
- package/dist/src/formats/cys/importer.d.ts.map +1 -1
- package/dist/src/formats/cys/importer.js +510 -149
- package/dist/src/formats/cys/importer.js.map +1 -1
- package/dist/src/formats/cys/index.d.ts +4 -2
- package/dist/src/formats/cys/index.d.ts.map +1 -1
- package/dist/src/formats/cys/index.js +4 -2
- package/dist/src/formats/cys/index.js.map +1 -1
- package/dist/src/formats/cys/session.d.ts +46 -7
- package/dist/src/formats/cys/session.d.ts.map +1 -1
- package/dist/src/formats/cys/session.js +101 -27
- package/dist/src/formats/cys/session.js.map +1 -1
- package/dist/src/formats/cys/tables.d.ts +9 -2
- package/dist/src/formats/cys/tables.d.ts.map +1 -1
- package/dist/src/formats/cys/tables.js +29 -7
- package/dist/src/formats/cys/tables.js.map +1 -1
- package/dist/src/formats/dot/exporter.d.ts +42 -14
- package/dist/src/formats/dot/exporter.d.ts.map +1 -1
- package/dist/src/formats/dot/exporter.js +56 -29
- package/dist/src/formats/dot/exporter.js.map +1 -1
- package/dist/src/formats/dot/importer.d.ts +91 -29
- package/dist/src/formats/dot/importer.d.ts.map +1 -1
- package/dist/src/formats/dot/importer.js +190 -39
- package/dist/src/formats/dot/importer.js.map +1 -1
- package/dist/src/formats/dot/index.d.ts +2 -1
- package/dist/src/formats/dot/index.d.ts.map +1 -1
- package/dist/src/formats/dot/index.js +2 -1
- package/dist/src/formats/dot/index.js.map +1 -1
- package/dist/src/formats/dot/names.d.ts +44 -11
- package/dist/src/formats/dot/names.d.ts.map +1 -1
- package/dist/src/formats/dot/names.js +44 -11
- package/dist/src/formats/dot/names.js.map +1 -1
- package/dist/src/formats/dot/tokenizer.d.ts +9 -2
- package/dist/src/formats/dot/tokenizer.d.ts.map +1 -1
- package/dist/src/formats/dot/tokenizer.js +20 -5
- package/dist/src/formats/dot/tokenizer.js.map +1 -1
- package/dist/src/formats/gexf/exporter.d.ts +46 -15
- package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
- package/dist/src/formats/gexf/exporter.js +45 -15
- package/dist/src/formats/gexf/exporter.js.map +1 -1
- package/dist/src/formats/gexf/importer.d.ts +87 -23
- package/dist/src/formats/gexf/importer.d.ts.map +1 -1
- package/dist/src/formats/gexf/importer.js +471 -90
- package/dist/src/formats/gexf/importer.js.map +1 -1
- package/dist/src/formats/gexf/index.d.ts +84 -21
- package/dist/src/formats/gexf/index.d.ts.map +1 -1
- package/dist/src/formats/gexf/index.js +80 -23
- package/dist/src/formats/gexf/index.js.map +1 -1
- package/dist/src/formats/gexf/schema.d.ts +67 -15
- package/dist/src/formats/gexf/schema.d.ts.map +1 -1
- package/dist/src/formats/gexf/schema.js +59 -13
- package/dist/src/formats/gexf/schema.js.map +1 -1
- package/dist/src/formats/gml/exporter.d.ts +69 -21
- package/dist/src/formats/gml/exporter.d.ts.map +1 -1
- package/dist/src/formats/gml/exporter.js +74 -29
- package/dist/src/formats/gml/exporter.js.map +1 -1
- package/dist/src/formats/gml/importer.d.ts +116 -25
- package/dist/src/formats/gml/importer.d.ts.map +1 -1
- package/dist/src/formats/gml/importer.js +290 -61
- package/dist/src/formats/gml/importer.js.map +1 -1
- package/dist/src/formats/gml/index.d.ts +87 -24
- package/dist/src/formats/gml/index.d.ts.map +1 -1
- package/dist/src/formats/gml/index.js +79 -26
- package/dist/src/formats/gml/index.js.map +1 -1
- package/dist/src/formats/gml/syntax.d.ts +67 -18
- package/dist/src/formats/gml/syntax.d.ts.map +1 -1
- package/dist/src/formats/gml/syntax.js +110 -28
- package/dist/src/formats/gml/syntax.js.map +1 -1
- package/dist/src/formats/graphml/constants.d.ts +174 -44
- package/dist/src/formats/graphml/constants.d.ts.map +1 -1
- package/dist/src/formats/graphml/constants.js +165 -44
- package/dist/src/formats/graphml/constants.js.map +1 -1
- package/dist/src/formats/graphml/exporter.d.ts +17 -9
- package/dist/src/formats/graphml/exporter.d.ts.map +1 -1
- package/dist/src/formats/graphml/exporter.js +33 -12
- package/dist/src/formats/graphml/exporter.js.map +1 -1
- package/dist/src/formats/graphml/importer.d.ts +19 -7
- package/dist/src/formats/graphml/importer.d.ts.map +1 -1
- package/dist/src/formats/graphml/importer.js +466 -39
- package/dist/src/formats/graphml/importer.js.map +1 -1
- package/dist/src/formats/graphml/index.d.ts +2 -1
- package/dist/src/formats/graphml/index.d.ts.map +1 -1
- package/dist/src/formats/graphml/index.js +2 -1
- package/dist/src/formats/graphml/index.js.map +1 -1
- package/dist/src/formats/graphml/tree.d.ts +6 -2
- package/dist/src/formats/graphml/tree.d.ts.map +1 -1
- package/dist/src/formats/graphml/tree.js +6 -2
- package/dist/src/formats/graphml/tree.js.map +1 -1
- package/dist/src/formats/graphml/yfiles.d.ts +8 -3
- package/dist/src/formats/graphml/yfiles.d.ts.map +1 -1
- package/dist/src/formats/graphml/yfiles.js +36 -15
- package/dist/src/formats/graphml/yfiles.js.map +1 -1
- package/dist/src/formats/json/dialect.d.ts +88 -24
- package/dist/src/formats/json/dialect.d.ts.map +1 -1
- package/dist/src/formats/json/dialect.js +109 -19
- package/dist/src/formats/json/dialect.js.map +1 -1
- package/dist/src/formats/json/exporter.d.ts +134 -22
- package/dist/src/formats/json/exporter.d.ts.map +1 -1
- package/dist/src/formats/json/exporter.js +135 -54
- package/dist/src/formats/json/exporter.js.map +1 -1
- package/dist/src/formats/json/importer.d.ts +173 -52
- package/dist/src/formats/json/importer.d.ts.map +1 -1
- package/dist/src/formats/json/importer.js +899 -220
- package/dist/src/formats/json/importer.js.map +1 -1
- package/dist/src/formats/json/index.d.ts +3 -2
- package/dist/src/formats/json/index.d.ts.map +1 -1
- package/dist/src/formats/json/index.js +3 -2
- package/dist/src/formats/json/index.js.map +1 -1
- package/dist/src/formats/json/obographs-export.d.ts +68 -0
- package/dist/src/formats/json/obographs-export.d.ts.map +1 -0
- package/dist/src/formats/json/obographs-export.js +941 -0
- package/dist/src/formats/json/obographs-export.js.map +1 -0
- package/dist/src/formats/json/obographs.d.ts +26 -0
- package/dist/src/formats/json/obographs.d.ts.map +1 -1
- package/dist/src/formats/json/obographs.js +297 -80
- package/dist/src/formats/json/obographs.js.map +1 -1
- package/dist/src/formats/neo4j/exporter.d.ts +109 -21
- package/dist/src/formats/neo4j/exporter.d.ts.map +1 -1
- package/dist/src/formats/neo4j/exporter.js +239 -86
- package/dist/src/formats/neo4j/exporter.js.map +1 -1
- package/dist/src/formats/neo4j/header.d.ts +17 -4
- package/dist/src/formats/neo4j/header.d.ts.map +1 -1
- package/dist/src/formats/neo4j/header.js +36 -4
- package/dist/src/formats/neo4j/header.js.map +1 -1
- package/dist/src/formats/neo4j/importer.d.ts +107 -27
- package/dist/src/formats/neo4j/importer.d.ts.map +1 -1
- package/dist/src/formats/neo4j/importer.js +415 -63
- package/dist/src/formats/neo4j/importer.js.map +1 -1
- package/dist/src/formats/neo4j/index.d.ts +73 -23
- package/dist/src/formats/neo4j/index.d.ts.map +1 -1
- package/dist/src/formats/neo4j/index.js +65 -25
- package/dist/src/formats/neo4j/index.js.map +1 -1
- package/dist/src/formats/obo/exporter.d.ts +150 -0
- package/dist/src/formats/obo/exporter.d.ts.map +1 -0
- package/dist/src/formats/obo/exporter.js +1736 -0
- package/dist/src/formats/obo/exporter.js.map +1 -0
- package/dist/src/formats/obo/importer.d.ts +95 -19
- package/dist/src/formats/obo/importer.d.ts.map +1 -1
- package/dist/src/formats/obo/importer.js +475 -104
- package/dist/src/formats/obo/importer.js.map +1 -1
- package/dist/src/formats/obo/index.d.ts +6 -3
- package/dist/src/formats/obo/index.d.ts.map +1 -1
- package/dist/src/formats/obo/index.js +6 -3
- package/dist/src/formats/obo/index.js.map +1 -1
- package/dist/src/formats/obo/syntax.d.ts +108 -4
- package/dist/src/formats/obo/syntax.d.ts.map +1 -1
- package/dist/src/formats/obo/syntax.js +211 -34
- package/dist/src/formats/obo/syntax.js.map +1 -1
- package/dist/src/formats/pajek/exporter.d.ts +54 -16
- package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
- package/dist/src/formats/pajek/exporter.js +67 -35
- package/dist/src/formats/pajek/exporter.js.map +1 -1
- package/dist/src/formats/pajek/importer.d.ts +84 -22
- package/dist/src/formats/pajek/importer.d.ts.map +1 -1
- package/dist/src/formats/pajek/importer.js +303 -83
- package/dist/src/formats/pajek/importer.js.map +1 -1
- package/dist/src/formats/pajek/index.d.ts +2 -1
- package/dist/src/formats/pajek/index.d.ts.map +1 -1
- package/dist/src/formats/pajek/index.js +2 -1
- package/dist/src/formats/pajek/index.js.map +1 -1
- package/dist/src/formats/pajek/syntax.d.ts +77 -14
- package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
- package/dist/src/formats/pajek/syntax.js +186 -54
- package/dist/src/formats/pajek/syntax.js.map +1 -1
- package/dist/src/formats/xgmml/columns.d.ts +1 -0
- package/dist/src/formats/xgmml/columns.d.ts.map +1 -1
- package/dist/src/formats/xgmml/columns.js +4 -0
- package/dist/src/formats/xgmml/columns.js.map +1 -1
- package/dist/src/formats/xgmml/constants.d.ts +186 -56
- package/dist/src/formats/xgmml/constants.d.ts.map +1 -1
- package/dist/src/formats/xgmml/constants.js +181 -57
- package/dist/src/formats/xgmml/constants.js.map +1 -1
- package/dist/src/formats/xgmml/document.d.ts +65 -11
- package/dist/src/formats/xgmml/document.d.ts.map +1 -1
- package/dist/src/formats/xgmml/document.js +157 -28
- package/dist/src/formats/xgmml/document.js.map +1 -1
- package/dist/src/formats/xgmml/emit.d.ts +61 -3
- package/dist/src/formats/xgmml/emit.d.ts.map +1 -1
- package/dist/src/formats/xgmml/emit.js +129 -26
- package/dist/src/formats/xgmml/emit.js.map +1 -1
- package/dist/src/formats/xgmml/exporter.d.ts +13 -6
- package/dist/src/formats/xgmml/exporter.d.ts.map +1 -1
- package/dist/src/formats/xgmml/exporter.js +21 -22
- package/dist/src/formats/xgmml/exporter.js.map +1 -1
- package/dist/src/formats/xgmml/importer.d.ts +33 -12
- package/dist/src/formats/xgmml/importer.d.ts.map +1 -1
- package/dist/src/formats/xgmml/importer.js +35 -72
- package/dist/src/formats/xgmml/importer.js.map +1 -1
- package/dist/src/formats/xgmml/index.d.ts +1 -0
- package/dist/src/formats/xgmml/index.d.ts.map +1 -1
- package/dist/src/formats/xgmml/index.js +1 -0
- package/dist/src/formats/xgmml/index.js.map +1 -1
- package/dist/src/formats/xgmml/values.d.ts +8 -1
- package/dist/src/formats/xgmml/values.d.ts.map +1 -1
- package/dist/src/formats/xgmml/values.js +8 -3
- package/dist/src/formats/xgmml/values.js.map +1 -1
- package/dist/src/index.d.ts +23 -18
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +28 -16
- package/dist/src/index.js.map +1 -1
- package/dist/src/registry.d.ts +478 -92
- package/dist/src/registry.d.ts.map +1 -1
- package/dist/src/registry.js +807 -88
- package/dist/src/registry.js.map +1 -1
- package/dist/src/sniff.d.ts +61 -19
- package/dist/src/sniff.d.ts.map +1 -1
- package/dist/src/sniff.js +121 -29
- package/dist/src/sniff.js.map +1 -1
- package/dist/src/types.d.ts +362 -112
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +28 -7
- package/dist/src/types.js.map +1 -1
- package/dist/xgmml.js +2 -2
- package/docs/samples/README.md +25 -0
- package/docs/samples/got-edges.csv +353 -0
- package/docs/samples/got-network.graphml +1384 -0
- package/docs/samples/got-nodes.csv +108 -0
- package/docs/samples/got.cx +930 -0
- package/docs/samples/got.cx2 +465 -0
- package/docs/samples/got.gexf +471 -0
- package/docs/samples/got.gml +2650 -0
- package/docs/samples/got.json +2546 -0
- package/docs/samples/got.net +461 -0
- package/docs/samples/movies-nodes.csv +9 -0
- package/docs/samples/movies-rels.csv +8 -0
- package/docs/samples/networks.cys +0 -0
- package/docs/samples/proteins.xgmml +9 -0
- package/docs/samples/teams.gv +24 -0
- package/docs/samples/vehicles.obo +25 -0
- package/package.json +9 -4
- package/src/children.ts +18 -6
- package/src/common/attributes.ts +29 -11
- package/src/common/cell-budget.ts +11 -3
- package/src/common/choose.ts +89 -0
- package/src/common/codes.ts +490 -66
- package/src/common/compare.ts +472 -0
- package/src/common/cx-export.ts +432 -0
- package/src/common/declared-types.ts +40 -6
- package/src/common/direction.ts +78 -51
- package/src/common/escape.ts +39 -22
- package/src/common/export.ts +284 -47
- package/src/common/format.ts +30 -1
- package/src/common/ids.ts +14 -3
- package/src/common/input.ts +1057 -134
- package/src/common/json-elements.ts +1035 -199
- package/src/common/line-format.ts +249 -0
- package/src/common/lists.ts +7 -2
- package/src/common/ontology-export.ts +461 -0
- package/src/common/ontology.ts +31 -9
- package/src/common/options.ts +110 -15
- package/src/common/plural.ts +49 -0
- package/src/common/report.ts +168 -25
- package/src/common/temporal.ts +22 -5
- package/src/common/text.ts +62 -23
- package/src/common/weights.ts +74 -4
- package/src/common/writer.ts +37 -3
- package/src/common/xml.ts +479 -90
- package/src/common/zip.ts +169 -7
- package/src/formats/csv/exporter.ts +202 -47
- package/src/formats/csv/header.ts +50 -11
- package/src/formats/csv/importer.ts +1133 -245
- package/src/formats/csv/index.ts +106 -19
- package/src/formats/csv/records.ts +396 -122
- package/src/formats/csv/values.ts +1 -0
- package/src/formats/cx/exporter.ts +1483 -0
- package/src/formats/cx/importer.ts +890 -302
- package/src/formats/cx/index.ts +4 -3
- package/src/formats/cx2/exporter.ts +62 -339
- package/src/formats/cx2/importer.ts +318 -87
- package/src/formats/cx2/index.ts +2 -1
- package/src/formats/cys/constants.ts +62 -17
- package/src/formats/cys/exporter.ts +1368 -0
- package/src/formats/cys/importer.ts +659 -157
- package/src/formats/cys/index.ts +4 -2
- package/src/formats/cys/session.ts +142 -34
- package/src/formats/cys/tables.ts +47 -9
- package/src/formats/dot/exporter.ts +83 -37
- package/src/formats/dot/importer.ts +248 -54
- package/src/formats/dot/index.ts +2 -1
- package/src/formats/dot/names.ts +44 -11
- package/src/formats/dot/tokenizer.ts +25 -6
- package/src/formats/gexf/exporter.ts +57 -18
- package/src/formats/gexf/importer.ts +636 -105
- package/src/formats/gexf/index.ts +90 -21
- package/src/formats/gexf/schema.ts +67 -15
- package/src/formats/gml/exporter.ts +90 -36
- package/src/formats/gml/importer.ts +388 -67
- package/src/formats/gml/index.ts +85 -24
- package/src/formats/gml/syntax.ts +113 -28
- package/src/formats/graphml/constants.ts +178 -44
- package/src/formats/graphml/exporter.ts +52 -18
- package/src/formats/graphml/importer.ts +640 -60
- package/src/formats/graphml/index.ts +2 -1
- package/src/formats/graphml/tree.ts +6 -2
- package/src/formats/graphml/yfiles.ts +37 -15
- package/src/formats/json/dialect.ts +128 -29
- package/src/formats/json/exporter.ts +205 -68
- package/src/formats/json/importer.ts +1163 -253
- package/src/formats/json/index.ts +3 -1
- package/src/formats/json/obographs-export.ts +1197 -0
- package/src/formats/json/obographs.ts +353 -92
- package/src/formats/neo4j/exporter.ts +321 -102
- package/src/formats/neo4j/header.ts +44 -6
- package/src/formats/neo4j/importer.ts +512 -73
- package/src/formats/neo4j/index.ts +75 -23
- package/src/formats/obo/exporter.ts +2210 -0
- package/src/formats/obo/importer.ts +622 -109
- package/src/formats/obo/index.ts +6 -3
- package/src/formats/obo/syntax.ts +232 -37
- package/src/formats/pajek/exporter.ts +90 -42
- package/src/formats/pajek/importer.ts +407 -93
- package/src/formats/pajek/index.ts +2 -1
- package/src/formats/pajek/syntax.ts +216 -55
- package/src/formats/xgmml/columns.ts +10 -0
- package/src/formats/xgmml/constants.ts +183 -56
- package/src/formats/xgmml/document.ts +212 -34
- package/src/formats/xgmml/emit.ts +175 -34
- package/src/formats/xgmml/exporter.ts +36 -28
- package/src/formats/xgmml/importer.ts +64 -86
- package/src/formats/xgmml/index.ts +1 -0
- package/src/formats/xgmml/values.ts +12 -4
- package/src/index.ts +81 -11
- package/src/registry.ts +1121 -135
- package/src/sniff.ts +163 -32
- package/src/types.ts +385 -114
- package/dist/chunks/escape-B-tkk_Cl.js.map +0 -1
- package/dist/chunks/export-Bh60Dv-n.js +0 -582
- package/dist/chunks/export-Bh60Dv-n.js.map +0 -1
- package/dist/chunks/exporter-BGrsWamJ.js.map +0 -1
- package/dist/chunks/exporter-DIeGJXAZ.js.map +0 -1
- package/dist/chunks/importer-BWY2FFc5.js.map +0 -1
- package/dist/chunks/importer-DD-xv9_Y.js +0 -1471
- package/dist/chunks/importer-DD-xv9_Y.js.map +0 -1
- package/dist/chunks/importer-DET1tg6s.js.map +0 -1
- package/dist/chunks/importer-DEcKhsmQ.js +0 -1614
- package/dist/chunks/importer-DEcKhsmQ.js.map +0 -1
- package/dist/chunks/importer-DIrbbnAf.js.map +0 -1
- package/dist/chunks/importer-D_e7e7LX.js.map +0 -1
- package/dist/chunks/importer-eUREhBGj.js.map +0 -1
- package/dist/chunks/importer-vi3bSdtw.js.map +0 -1
- package/dist/chunks/importer-zGLo8Dg_.js.map +0 -1
- package/dist/chunks/json-elements-DDS8N2Dd.js +0 -779
- package/dist/chunks/json-elements-DDS8N2Dd.js.map +0 -1
- package/dist/chunks/ontology-BnrJ4I98.js +0 -113
- package/dist/chunks/ontology-BnrJ4I98.js.map +0 -1
- package/dist/chunks/records-dbRkxwaq.js.map +0 -1
- package/dist/chunks/report-B1z4WT9e.js +0 -2372
- package/dist/chunks/report-B1z4WT9e.js.map +0 -1
- package/dist/chunks/text-Dr0Ifpag.js.map +0 -1
- package/dist/chunks/weights-Dzba96G3.js +0 -176
- package/dist/chunks/weights-Dzba96G3.js.map +0 -1
- package/dist/chunks/writer-C7flM-Ih.js.map +0 -1
|
@@ -14,12 +14,19 @@
|
|
|
14
14
|
import { INVALID_INDEX } from "@graphty/graph-format";
|
|
15
15
|
import { declareResolved } from "../../common/attributes.js";
|
|
16
16
|
import { compactOboIri, OBO_NODE_COLUMNS, oboColumnDecl, OBOGRAPHS_PREDICATE_TAGS, PLACEHOLDER_COLUMN, synonymScopeOf, } from "../../common/ontology.js";
|
|
17
|
+
import { agree, plural } from "../../common/plural.js";
|
|
17
18
|
import { hasKey, isJsonObject } from "./dialect.js";
|
|
18
19
|
import { chosenGraph, JSON_ISSUE } from "./importer.js";
|
|
19
|
-
/**
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
/**
|
|
21
|
+
* The node keys the schema defines; any other key goes to `obo.unrecognized`.
|
|
22
|
+
* @category Plugin helpers
|
|
23
|
+
*/
|
|
24
|
+
export const NODE_KEYS = new Set(["id", "lbl", "type", "propertyType", "meta"]);
|
|
25
|
+
/**
|
|
26
|
+
* The `meta` keys mapped onto columns; any other key goes to `obo.unrecognized` as `meta.<key>`.
|
|
27
|
+
* @category Plugin helpers
|
|
28
|
+
*/
|
|
29
|
+
export const META_KEYS = new Set([
|
|
23
30
|
"definition",
|
|
24
31
|
"comments",
|
|
25
32
|
"subsets",
|
|
@@ -28,21 +35,30 @@ const META_KEYS = new Set([
|
|
|
28
35
|
"basicPropertyValues",
|
|
29
36
|
"deprecated",
|
|
30
37
|
]);
|
|
31
|
-
/**
|
|
32
|
-
|
|
38
|
+
/**
|
|
39
|
+
* The OBO frame type of an OBO Graphs node type.
|
|
40
|
+
* @category Plugin helpers
|
|
41
|
+
*/
|
|
42
|
+
export const FRAME_TYPES = Object.freeze({
|
|
33
43
|
CLASS: "Term",
|
|
34
44
|
INDIVIDUAL: "Instance",
|
|
35
45
|
PROPERTY: "Typedef",
|
|
36
46
|
});
|
|
37
|
-
/**
|
|
38
|
-
|
|
47
|
+
/**
|
|
48
|
+
* The OBO name of the predicates OBO Graphs writes without an IRI.
|
|
49
|
+
* @category Plugin helpers
|
|
50
|
+
*/
|
|
51
|
+
export const BUILTIN_PREDICATES = Object.freeze({
|
|
39
52
|
is_a: "is_a",
|
|
40
53
|
subPropertyOf: "is_a",
|
|
41
54
|
type: "instance_of",
|
|
42
55
|
inverseOf: "inverse_of",
|
|
43
56
|
});
|
|
44
|
-
/**
|
|
45
|
-
|
|
57
|
+
/**
|
|
58
|
+
* Predicates that relate two properties (metadata under typedefs "metadata").
|
|
59
|
+
* @category Plugin helpers
|
|
60
|
+
*/
|
|
61
|
+
export const PROPERTY_PREDICATES = new Set(["subPropertyOf", "inverseOf"]);
|
|
46
62
|
/** Writes the OBO vocabulary columns, declaring each on first use. */
|
|
47
63
|
class ColumnWriter {
|
|
48
64
|
/**
|
|
@@ -88,6 +104,15 @@ class ColumnWriter {
|
|
|
88
104
|
return handle;
|
|
89
105
|
}
|
|
90
106
|
}
|
|
107
|
+
/** The axiom sections of an OBO Graphs graph, each an array (kept verbatim in the metadata). */
|
|
108
|
+
const AXIOM_KEYS = [
|
|
109
|
+
"logicalDefinitionAxioms",
|
|
110
|
+
"equivalentNodesSets",
|
|
111
|
+
"domainRangeAxioms",
|
|
112
|
+
"propertyChainAxioms",
|
|
113
|
+
];
|
|
114
|
+
/** The edge keys the schema defines (`subj` is the README's outdated spelling of `sub`). */
|
|
115
|
+
const EDGE_KEYS = new Set(["sub", "subj", "pred", "obj", "meta"]);
|
|
91
116
|
/**
|
|
92
117
|
* The id rule and the property table of one graph: PROPERTY nodes are found first, so an edge's
|
|
93
118
|
* predicate is named by the shorthand of the property it names wherever that property stands.
|
|
@@ -98,8 +123,13 @@ class ColumnWriter {
|
|
|
98
123
|
function vocabularyOf(nodes, oboIds) {
|
|
99
124
|
const shorthands = new Map();
|
|
100
125
|
const propertyIds = new Set();
|
|
126
|
+
const classIds = new Set();
|
|
101
127
|
for (const node of nodes) {
|
|
102
|
-
if (!isJsonObject(node) || typeof node.id !== "string"
|
|
128
|
+
if (!isJsonObject(node) || typeof node.id !== "string") {
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
if (node.type !== "PROPERTY") {
|
|
132
|
+
classIds.add(node.id);
|
|
103
133
|
continue;
|
|
104
134
|
}
|
|
105
135
|
propertyIds.add(node.id);
|
|
@@ -112,41 +142,77 @@ function vocabularyOf(nodes, oboIds) {
|
|
|
112
142
|
return {
|
|
113
143
|
id: (iri) => (oboIds === "curie" ? (shorthands.get(iri) ?? compactOboIri(iri)) : iri),
|
|
114
144
|
relation: (pred) => BUILTIN_PREDICATES[pred] ?? shorthands.get(pred) ?? compact(pred),
|
|
115
|
-
isProperty: (iri) => propertyIds.has(iri),
|
|
116
|
-
|
|
145
|
+
isProperty: (iri) => propertyIds.has(iri) && !classIds.has(iri),
|
|
146
|
+
isClass: (iri) => classIds.has(iri),
|
|
147
|
+
properties: Object.create(null),
|
|
148
|
+
written: new Map(),
|
|
117
149
|
};
|
|
118
150
|
}
|
|
119
151
|
/**
|
|
120
|
-
* The well-formed `basicPropertyValues` of a node's meta
|
|
152
|
+
* The well-formed `basicPropertyValues` of a node's meta, each malformed entry reported when a
|
|
153
|
+
* context is given (the vocabulary pre-pass reads them silently; writeMeta reports them).
|
|
121
154
|
* @param meta - the node's meta, or anything
|
|
155
|
+
* @param ctx - the context to report through, or null
|
|
156
|
+
* @param element - the node's name in messages
|
|
122
157
|
* @returns the entries with a string pred and val
|
|
123
158
|
*/
|
|
124
|
-
function basicValues(meta) {
|
|
125
|
-
if (!isJsonObject(meta) ||
|
|
159
|
+
function basicValues(meta, ctx = null, element = "") {
|
|
160
|
+
if (!isJsonObject(meta) || meta.basicPropertyValues === undefined || meta.basicPropertyValues === null) {
|
|
126
161
|
return [];
|
|
127
162
|
}
|
|
128
|
-
|
|
163
|
+
const path = `${element}.meta.basicPropertyValues`;
|
|
164
|
+
if (!Array.isArray(meta.basicPropertyValues)) {
|
|
165
|
+
if (ctx !== null) {
|
|
166
|
+
badValue(ctx, `${path} must be an array; it is dropped`, path);
|
|
167
|
+
}
|
|
168
|
+
return [];
|
|
169
|
+
}
|
|
170
|
+
const out = [];
|
|
171
|
+
meta.basicPropertyValues.forEach((pv, j) => {
|
|
172
|
+
if (isJsonObject(pv) && typeof pv.pred === "string" && typeof pv.val === "string") {
|
|
173
|
+
out.push(pv);
|
|
174
|
+
}
|
|
175
|
+
else if (ctx !== null) {
|
|
176
|
+
badValue(ctx, `${path}[${j}] needs a string pred and a string val; it is dropped`, `${path}[${j}]`);
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
return out;
|
|
129
180
|
}
|
|
130
181
|
/**
|
|
131
|
-
* The strings of an array, or of an array of `{ val }` records
|
|
132
|
-
*
|
|
182
|
+
* The strings of an array, or of an array of `{ val }` records, each item that is neither
|
|
183
|
+
* reported (E_BAD_VALUE) and dropped, and a value that is not an array reported whole.
|
|
184
|
+
* @param ctx - the context
|
|
185
|
+
* @param value - the array, or anything (undefined and null: none)
|
|
186
|
+
* @param path - the field's path in messages
|
|
133
187
|
* @returns the strings
|
|
134
188
|
*/
|
|
135
|
-
function strings(value) {
|
|
189
|
+
function strings(ctx, value, path) {
|
|
190
|
+
if (value === undefined || value === null) {
|
|
191
|
+
return [];
|
|
192
|
+
}
|
|
136
193
|
if (!Array.isArray(value)) {
|
|
194
|
+
badValue(ctx, `${path} must be an array; it is dropped`, path);
|
|
137
195
|
return [];
|
|
138
196
|
}
|
|
139
|
-
|
|
197
|
+
const out = [];
|
|
198
|
+
value.forEach((item, j) => {
|
|
140
199
|
if (typeof item === "string") {
|
|
141
|
-
|
|
200
|
+
out.push(item);
|
|
201
|
+
}
|
|
202
|
+
else if (isJsonObject(item) && typeof item.val === "string") {
|
|
203
|
+
out.push(item.val);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
badValue(ctx, `${path}[${j}] is not a string or a { val } record; it is dropped`, `${path}[${j}]`);
|
|
142
207
|
}
|
|
143
|
-
return isJsonObject(item) && typeof item.val === "string" ? [item.val] : [];
|
|
144
208
|
});
|
|
209
|
+
return out;
|
|
145
210
|
}
|
|
146
211
|
/**
|
|
147
212
|
* Read the chosen graph of an OBO Graphs document into the sink.
|
|
148
213
|
* @param ctx - the import context
|
|
149
214
|
* @param root - the document
|
|
215
|
+
* @category Plugin helpers
|
|
150
216
|
*/
|
|
151
217
|
export function importObographs(ctx, root) {
|
|
152
218
|
const graph = chosenGraph(ctx, root, "OBO Graphs");
|
|
@@ -167,6 +233,12 @@ export function importObographs(ctx, root) {
|
|
|
167
233
|
graphMeta[key] = graph[key];
|
|
168
234
|
}
|
|
169
235
|
}
|
|
236
|
+
for (const key of AXIOM_KEYS) {
|
|
237
|
+
const axioms = graph[key];
|
|
238
|
+
if (axioms !== undefined && axioms !== null && !Array.isArray(axioms)) {
|
|
239
|
+
badValue(ctx, `the graph's ${key} must be an array; it is kept as written`, key);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
170
242
|
const document = {};
|
|
171
243
|
for (const key of Object.keys(root)) {
|
|
172
244
|
if (key !== "graphs") {
|
|
@@ -221,34 +293,39 @@ function readNode(ctx, columns, vocabulary, record, element) {
|
|
|
221
293
|
ctx.badElement("node", element);
|
|
222
294
|
return;
|
|
223
295
|
}
|
|
224
|
-
if (typeof record.id !== "string") {
|
|
296
|
+
if (typeof record.id !== "string" || record.id.length === 0) {
|
|
225
297
|
if (record.id === undefined) {
|
|
226
298
|
ctx.coerceId(undefined, element);
|
|
227
299
|
}
|
|
300
|
+
else if (record.id === "") {
|
|
301
|
+
ctx.report.error("missing-value", JSON_ISSUE.MISSING_ID, `${element} has an empty id; it is skipped`, {
|
|
302
|
+
element,
|
|
303
|
+
});
|
|
304
|
+
}
|
|
228
305
|
else {
|
|
229
306
|
badValue(ctx, `${element}.id must be a string; the node is skipped`);
|
|
230
307
|
}
|
|
231
308
|
ctx.countSkipped("node");
|
|
232
309
|
return;
|
|
233
310
|
}
|
|
311
|
+
if (typeof record.type === "string" && FRAME_TYPES[record.type] === undefined) {
|
|
312
|
+
ctx.report.warnOnce("unsupported", JSON_ISSUE.UNKNOWN_ELEMENT, `${element}: node type ${JSON.stringify(record.type)} is not CLASS, INDIVIDUAL or PROPERTY; kept as written`, { element: record.type }, `${JSON_ISSUE.UNKNOWN_ELEMENT}:type:${record.type}`);
|
|
313
|
+
}
|
|
234
314
|
if (record.type === "PROPERTY" && ctx.json.typedefs === "metadata") {
|
|
235
|
-
|
|
236
|
-
const entry = {};
|
|
237
|
-
for (const [key, value] of Object.entries({
|
|
238
|
-
lbl: record.lbl,
|
|
239
|
-
propertyType: record.propertyType,
|
|
240
|
-
shorthand,
|
|
241
|
-
meta: record.meta,
|
|
242
|
-
})) {
|
|
243
|
-
if (value !== undefined) {
|
|
244
|
-
entry[key] = value;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
vocabulary.properties[record.id] = entry;
|
|
315
|
+
readProperty(ctx, vocabulary, record, record.id, element);
|
|
248
316
|
return;
|
|
249
317
|
}
|
|
250
|
-
const
|
|
251
|
-
const
|
|
318
|
+
const compacted = vocabulary.id(record.id);
|
|
319
|
+
const id = ctx.coerceId(compacted, element);
|
|
320
|
+
// two ids that differ only by IRI compaction (the PURL and its CURIE) meet here
|
|
321
|
+
const earlier = vocabulary.written.get(compacted);
|
|
322
|
+
if (earlier === undefined) {
|
|
323
|
+
vocabulary.written.set(compacted, record.id);
|
|
324
|
+
}
|
|
325
|
+
const why = earlier === undefined || earlier === record.id
|
|
326
|
+
? ""
|
|
327
|
+
: ` (${earlier} and ${record.id} meet only after IRI compaction; oboIds "iri" keeps them apart)`;
|
|
328
|
+
const row = id === null ? -1 : ctx.pushNode(id, element, why);
|
|
252
329
|
if (row < 0) {
|
|
253
330
|
return;
|
|
254
331
|
}
|
|
@@ -259,6 +336,33 @@ function readNode(ctx, columns, vocabulary, record, element) {
|
|
|
259
336
|
ctx.report.recordError(err, { element: record.id });
|
|
260
337
|
}
|
|
261
338
|
}
|
|
339
|
+
/**
|
|
340
|
+
* Keep a PROPERTY node in the metadata (typedefs "metadata"), the first of a repeated id.
|
|
341
|
+
* @param ctx - the context
|
|
342
|
+
* @param vocabulary - the graph's vocabulary
|
|
343
|
+
* @param record - the node record
|
|
344
|
+
* @param iri - its id
|
|
345
|
+
* @param element - its name in messages
|
|
346
|
+
*/
|
|
347
|
+
function readProperty(ctx, vocabulary, record, iri, element) {
|
|
348
|
+
if (Object.hasOwn(vocabulary.properties, iri)) {
|
|
349
|
+
ctx.report.warning("merged", JSON_ISSUE.DUPLICATE_NODE, `${element}: property ${JSON.stringify(iri)} is declared again; the first declaration is kept`, { element });
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
352
|
+
const shorthand = vocabulary.id(iri) === iri ? undefined : vocabulary.id(iri);
|
|
353
|
+
const entry = {};
|
|
354
|
+
for (const [key, value] of Object.entries({
|
|
355
|
+
lbl: record.lbl,
|
|
356
|
+
propertyType: record.propertyType,
|
|
357
|
+
shorthand,
|
|
358
|
+
meta: record.meta,
|
|
359
|
+
})) {
|
|
360
|
+
if (value !== undefined) {
|
|
361
|
+
entry[key] = value;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
vocabulary.properties[iri] = entry;
|
|
365
|
+
}
|
|
262
366
|
/**
|
|
263
367
|
* Write a node's fields and meta onto the OBO columns.
|
|
264
368
|
* @param ctx - the context
|
|
@@ -289,7 +393,7 @@ function writeNode(ctx, columns, vocabulary, record, row, element) {
|
|
|
289
393
|
}
|
|
290
394
|
const { meta } = record;
|
|
291
395
|
if (isJsonObject(meta)) {
|
|
292
|
-
writeMeta(columns, vocabulary, meta, row, unrecognized);
|
|
396
|
+
writeMeta(ctx, columns, vocabulary, meta, row, unrecognized, element);
|
|
293
397
|
}
|
|
294
398
|
else if (meta !== undefined && meta !== null) {
|
|
295
399
|
badValue(ctx, `${element}.meta must be an object`);
|
|
@@ -300,77 +404,161 @@ function writeNode(ctx, columns, vocabulary, record, row, element) {
|
|
|
300
404
|
}
|
|
301
405
|
/**
|
|
302
406
|
* Write a node's `meta` onto the OBO columns (design 4.6): definition, comments, subsets, xrefs,
|
|
303
|
-
* synonyms, deprecated, and the basicPropertyValues mapped back to the OBO tag they came from.
|
|
407
|
+
* synonyms, deprecated, and the basicPropertyValues mapped back to the OBO tag they came from. A
|
|
408
|
+
* field of the wrong JSON type is reported and dropped; a nested `meta` (axiom annotations) of
|
|
409
|
+
* a definition or a property value is kept in `obo.unrecognized`.
|
|
410
|
+
* @param ctx - the context
|
|
304
411
|
* @param columns - the column writer
|
|
305
412
|
* @param vocabulary - the graph's vocabulary
|
|
306
413
|
* @param meta - the meta record
|
|
307
414
|
* @param row - the node index
|
|
308
415
|
* @param unrecognized - where keys without a column go
|
|
416
|
+
* @param element - the node's name in messages
|
|
309
417
|
*/
|
|
310
|
-
function writeMeta(columns, vocabulary, meta, row, unrecognized) {
|
|
418
|
+
function writeMeta(ctx, columns, vocabulary, meta, row, unrecognized, element) {
|
|
419
|
+
const path = `${element}.meta`;
|
|
311
420
|
const { definition } = meta;
|
|
312
|
-
if (isJsonObject(definition)
|
|
313
|
-
|
|
314
|
-
|
|
421
|
+
if (isJsonObject(definition)) {
|
|
422
|
+
const xrefs = strings(ctx, definition.xrefs, `${path}.definition.xrefs`);
|
|
423
|
+
if (typeof definition.val === "string") {
|
|
424
|
+
columns.node("def", row, definition.val);
|
|
425
|
+
columns.node("def.xrefs", row, xrefs);
|
|
426
|
+
}
|
|
427
|
+
else {
|
|
428
|
+
badValue(ctx, `${path}.definition has no string val; it is dropped`, `${path}.definition.val`);
|
|
429
|
+
}
|
|
430
|
+
if (definition.meta !== undefined) {
|
|
431
|
+
unrecognized["meta.definition.meta"] = definition.meta;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
else if (definition !== undefined && definition !== null) {
|
|
435
|
+
badValue(ctx, `${path}.definition must be an object with a val; it is dropped`, `${path}.definition`);
|
|
315
436
|
}
|
|
316
|
-
const comments = strings(meta.comments);
|
|
437
|
+
const comments = strings(ctx, meta.comments, `${path}.comments`);
|
|
317
438
|
if (comments.length > 0) {
|
|
318
439
|
columns.node("comment", row, comments.join("\n"));
|
|
319
440
|
}
|
|
320
|
-
const subsets = strings(meta.subsets).map((s) => vocabulary.id(s));
|
|
441
|
+
const subsets = strings(ctx, meta.subsets, `${path}.subsets`).map((s) => vocabulary.id(s));
|
|
321
442
|
if (subsets.length > 0) {
|
|
322
443
|
columns.node("subset", row, subsets);
|
|
323
444
|
}
|
|
324
|
-
const xrefs = strings(meta.xrefs);
|
|
445
|
+
const xrefs = strings(ctx, meta.xrefs, `${path}.xrefs`);
|
|
325
446
|
if (xrefs.length > 0) {
|
|
326
447
|
columns.node("xref", row, xrefs);
|
|
327
448
|
}
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
scope: typeof s.pred === "string" ? synonymScopeOf(s.pred) : null,
|
|
332
|
-
type: typeof s.synonymType === "string" ? vocabulary.id(s.synonymType) : null,
|
|
333
|
-
xrefs: strings(s.xrefs),
|
|
334
|
-
})));
|
|
449
|
+
const synonyms = synonymsOf(ctx, vocabulary, meta.synonyms, `${path}.synonyms`);
|
|
450
|
+
if (synonyms.length > 0) {
|
|
451
|
+
columns.node("synonym", row, synonyms);
|
|
335
452
|
}
|
|
336
453
|
if (typeof meta.deprecated === "boolean") {
|
|
337
454
|
columns.node("is_obsolete", row, meta.deprecated);
|
|
338
455
|
}
|
|
339
|
-
|
|
456
|
+
else if (meta.deprecated !== undefined && meta.deprecated !== null) {
|
|
457
|
+
badValue(ctx, `${path}.deprecated must be a boolean; it is dropped`, `${path}.deprecated`);
|
|
458
|
+
}
|
|
459
|
+
writePropertyValues(ctx, columns, vocabulary, meta, row, unrecognized, element);
|
|
340
460
|
for (const key of Object.keys(meta)) {
|
|
341
461
|
if (!META_KEYS.has(key)) {
|
|
342
462
|
unrecognized[`meta.${key}`] = meta[key];
|
|
343
463
|
}
|
|
344
464
|
}
|
|
345
465
|
}
|
|
466
|
+
/**
|
|
467
|
+
* The synonyms of a node's meta as the OBO `synonym` items: each entry that is not an object or
|
|
468
|
+
* has no string val reported and dropped, a predicate that is not one of the four scopes kept with
|
|
469
|
+
* scope null (W_UNKNOWN_ELEMENT once per predicate), a nested `meta` kept on the item.
|
|
470
|
+
* @param ctx - the context
|
|
471
|
+
* @param vocabulary - the graph's vocabulary
|
|
472
|
+
* @param value - the `synonyms` field
|
|
473
|
+
* @param path - its path in messages
|
|
474
|
+
* @returns the items
|
|
475
|
+
*/
|
|
476
|
+
function synonymsOf(ctx, vocabulary, value, path) {
|
|
477
|
+
if (value === undefined || value === null) {
|
|
478
|
+
return [];
|
|
479
|
+
}
|
|
480
|
+
if (!Array.isArray(value)) {
|
|
481
|
+
badValue(ctx, `${path} must be an array; it is dropped`, path);
|
|
482
|
+
return [];
|
|
483
|
+
}
|
|
484
|
+
const out = [];
|
|
485
|
+
value.forEach((s, j) => {
|
|
486
|
+
const at = `${path}[${j}]`;
|
|
487
|
+
if (!isJsonObject(s)) {
|
|
488
|
+
badValue(ctx, `${at} is not an object; it is dropped`, at);
|
|
489
|
+
return;
|
|
490
|
+
}
|
|
491
|
+
if (typeof s.val !== "string") {
|
|
492
|
+
badValue(ctx, `${at} has no string val; it is dropped`, `${at}.val`);
|
|
493
|
+
return;
|
|
494
|
+
}
|
|
495
|
+
const scope = typeof s.pred === "string" ? synonymScopeOf(s.pred) : null;
|
|
496
|
+
if (scope === null && typeof s.pred === "string") {
|
|
497
|
+
ctx.report.warnOnce("unsupported", JSON_ISSUE.UNKNOWN_ELEMENT, `${at}: synonym predicate ${JSON.stringify(s.pred)} is not one of the four scopes; kept with scope null`, { element: s.pred }, `${JSON_ISSUE.UNKNOWN_ELEMENT}:pred:${s.pred}`);
|
|
498
|
+
}
|
|
499
|
+
const item = { text: s.val, scope, type: null, xrefs: strings(ctx, s.xrefs, `${at}.xrefs`) };
|
|
500
|
+
if (typeof s.synonymType === "string") {
|
|
501
|
+
item.type = vocabulary.id(s.synonymType);
|
|
502
|
+
}
|
|
503
|
+
else if (s.synonymType !== undefined && s.synonymType !== null) {
|
|
504
|
+
badValue(ctx, `${at}.synonymType must be a string; it is dropped`, `${at}.synonymType`);
|
|
505
|
+
}
|
|
506
|
+
if (s.meta !== undefined) {
|
|
507
|
+
item.meta = s.meta;
|
|
508
|
+
}
|
|
509
|
+
out.push(item);
|
|
510
|
+
});
|
|
511
|
+
return out;
|
|
512
|
+
}
|
|
346
513
|
/**
|
|
347
514
|
* Write the basicPropertyValues: the ones an OBO tag maps to onto that tag's column (lists for
|
|
348
|
-
* alt_id, replaced_by, consider
|
|
515
|
+
* alt_id, replaced_by, consider; the first value of a single-valued tag, a repeat warned as the
|
|
516
|
+
* .obo importer warns it), the rest into `property_value`.
|
|
517
|
+
* @param ctx - the context
|
|
349
518
|
* @param columns - the column writer
|
|
350
519
|
* @param vocabulary - the graph's vocabulary
|
|
351
|
-
* @param
|
|
520
|
+
* @param meta - the node's meta
|
|
352
521
|
* @param row - the node index
|
|
522
|
+
* @param unrecognized - where the nested meta of a mapped value goes
|
|
523
|
+
* @param element - the node's name in messages
|
|
353
524
|
*/
|
|
354
|
-
function writePropertyValues(columns, vocabulary,
|
|
525
|
+
function writePropertyValues(ctx, columns, vocabulary, meta, row, unrecognized, element) {
|
|
355
526
|
const lists = new Map();
|
|
527
|
+
const singles = new Map();
|
|
356
528
|
const others = [];
|
|
357
|
-
|
|
529
|
+
const values = basicValues(meta, ctx, element);
|
|
530
|
+
values.forEach(({ pred, val, meta: nested }, j) => {
|
|
358
531
|
const tag = OBOGRAPHS_PREDICATE_TAGS.get(pred);
|
|
359
532
|
if (tag === "shorthand") {
|
|
360
|
-
|
|
533
|
+
return;
|
|
361
534
|
}
|
|
362
535
|
if (tag === undefined) {
|
|
363
|
-
|
|
536
|
+
const item = { relation: vocabulary.id(pred), value: val, datatype: null };
|
|
537
|
+
if (nested !== undefined) {
|
|
538
|
+
item.meta = nested;
|
|
539
|
+
}
|
|
540
|
+
others.push(item);
|
|
541
|
+
return;
|
|
364
542
|
}
|
|
365
|
-
|
|
543
|
+
if (nested !== undefined) {
|
|
544
|
+
unrecognized[`meta.basicPropertyValues[${j}].meta`] = nested;
|
|
545
|
+
}
|
|
546
|
+
if (OBO_NODE_COLUMNS[tag].dtype === "list") {
|
|
366
547
|
const list = lists.get(tag) ?? [];
|
|
367
548
|
list.push(tag === "alt_id" ? val : vocabulary.id(val));
|
|
368
549
|
lists.set(tag, list);
|
|
369
550
|
}
|
|
551
|
+
else if (singles.get(tag) === val) {
|
|
552
|
+
// an identical value counts once, as an identical .obo clause does
|
|
553
|
+
}
|
|
554
|
+
else if (singles.has(tag)) {
|
|
555
|
+
ctx.report.warning("validation-error", JSON_ISSUE.DUPLICATE_ATTRIBUTE, `${element}: a second ${tag} (${JSON.stringify(val)}); the first is kept`, { element: tag });
|
|
556
|
+
}
|
|
370
557
|
else {
|
|
558
|
+
singles.set(tag, val);
|
|
371
559
|
columns.node(tag, row, val);
|
|
372
560
|
}
|
|
373
|
-
}
|
|
561
|
+
});
|
|
374
562
|
for (const [tag, list] of lists) {
|
|
375
563
|
columns.node(tag, row, list);
|
|
376
564
|
}
|
|
@@ -382,9 +570,38 @@ function writePropertyValues(columns, vocabulary, values, row) {
|
|
|
382
570
|
* Report a field of the wrong JSON type (the field is left unset, the element kept).
|
|
383
571
|
* @param ctx - the context
|
|
384
572
|
* @param message - what is wrong
|
|
573
|
+
* @param element - the field's path, when known
|
|
574
|
+
*/
|
|
575
|
+
function badValue(ctx, message, element) {
|
|
576
|
+
ctx.report.error("validation-error", JSON_ISSUE.BAD_VALUE, message, element === undefined ? undefined : { element });
|
|
577
|
+
}
|
|
578
|
+
/**
|
|
579
|
+
* An edge's subject: `sub`, else the README's outdated `subj` (warned once), and a warning when
|
|
580
|
+
* both are present and differ; every key outside the schema warned once per key name.
|
|
581
|
+
* @param ctx - the context
|
|
582
|
+
* @param record - the edge record
|
|
583
|
+
* @param element - its name in messages
|
|
584
|
+
* @returns the subject value, unchecked
|
|
385
585
|
*/
|
|
386
|
-
function
|
|
387
|
-
|
|
586
|
+
function subjectOf(ctx, record, element) {
|
|
587
|
+
const { report } = ctx;
|
|
588
|
+
for (const key of Object.keys(record)) {
|
|
589
|
+
if (!EDGE_KEYS.has(key)) {
|
|
590
|
+
report.warnOnce("unsupported", JSON_ISSUE.UNREAD_KEY, `${element}: the key ${JSON.stringify(key)} is not part of an OBO Graphs edge; it is not read`, { element: `${element}.${key}` }, `${JSON_ISSUE.UNREAD_KEY}:edge:${key}`);
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
if (!hasKey(record, "sub")) {
|
|
594
|
+
if (hasKey(record, "subj")) {
|
|
595
|
+
report.warnOnce("coercion", JSON_ISSUE.OBOGRAPHS_SUBJ, `${element} uses the outdated key subj; read as sub`, {
|
|
596
|
+
element,
|
|
597
|
+
});
|
|
598
|
+
}
|
|
599
|
+
return record.subj;
|
|
600
|
+
}
|
|
601
|
+
if (hasKey(record, "subj") && record.subj !== record.sub) {
|
|
602
|
+
report.warning("coercion", JSON_ISSUE.OBOGRAPHS_SUBJ, `${element} has both sub and the outdated subj, which differ; sub is read and subj ignored`, { element });
|
|
603
|
+
}
|
|
604
|
+
return record.sub;
|
|
388
605
|
}
|
|
389
606
|
/**
|
|
390
607
|
* Read the edges: the ones between properties into the metadata (typedefs "metadata"), the rest
|
|
@@ -422,21 +639,18 @@ function readEdges(ctx, columns, vocabulary, edges) {
|
|
|
422
639
|
ctx.badElement("edge", element);
|
|
423
640
|
continue;
|
|
424
641
|
}
|
|
425
|
-
const
|
|
426
|
-
if (subKey === "subj" && hasKey(record, "subj")) {
|
|
427
|
-
report.warnOnce("coercion", JSON_ISSUE.OBOGRAPHS_SUBJ, `${element} uses the outdated key subj; read as sub`, {
|
|
428
|
-
element,
|
|
429
|
-
});
|
|
430
|
-
}
|
|
431
|
-
const sub = record[subKey];
|
|
642
|
+
const sub = subjectOf(ctx, record, element);
|
|
432
643
|
const { obj, pred } = record;
|
|
433
|
-
if (typeof sub !== "string" || typeof obj !== "string") {
|
|
434
|
-
ctx.missingEndpoint(element, typeof sub === "string" ? "obj" : "sub");
|
|
644
|
+
if (typeof sub !== "string" || typeof obj !== "string" || sub.length === 0 || obj.length === 0) {
|
|
645
|
+
ctx.missingEndpoint(element, typeof sub === "string" && sub.length > 0 ? "obj" : "sub");
|
|
435
646
|
continue;
|
|
436
647
|
}
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
648
|
+
// only an edge between two properties is property metadata; one that touches a class stays
|
|
649
|
+
const between = (vocabulary.isProperty(sub) && vocabulary.isProperty(obj)) ||
|
|
650
|
+
(typeof pred === "string" &&
|
|
651
|
+
PROPERTY_PREDICATES.has(pred) &&
|
|
652
|
+
!vocabulary.isClass(sub) &&
|
|
653
|
+
!vocabulary.isClass(obj));
|
|
440
654
|
if (between && ctx.json.typedefs === "metadata") {
|
|
441
655
|
propertyEdges.push(record);
|
|
442
656
|
continue;
|
|
@@ -459,6 +673,9 @@ function readEdges(ctx, columns, vocabulary, edges) {
|
|
|
459
673
|
if (isJsonObject(record.meta)) {
|
|
460
674
|
columns.edge("meta", edge, record.meta);
|
|
461
675
|
}
|
|
676
|
+
else if (record.meta !== undefined && record.meta !== null) {
|
|
677
|
+
badValue(ctx, `${element}.meta must be an object; it is dropped`, `${element}.meta`);
|
|
678
|
+
}
|
|
462
679
|
}
|
|
463
680
|
catch (err) {
|
|
464
681
|
ctx.skip(err, "edge", element);
|
|
@@ -468,8 +685,8 @@ function readEdges(ctx, columns, vocabulary, edges) {
|
|
|
468
685
|
const shown = [...new Set(dangling)].slice(0, 5).join(", ");
|
|
469
686
|
const action = ctx.options.addMissingNodes
|
|
470
687
|
? "each became a placeholder node (graphty.placeholder)"
|
|
471
|
-
: `${dropped} edge(
|
|
472
|
-
report.warning("validation-error", JSON_ISSUE.DANGLING_REFERENCE, `${new Set(dangling).size} edge endpoint(
|
|
688
|
+
: `${dropped} edge${plural(dropped)} to them ${agree(dropped, "was", "were")} dropped (addMissingNodes false)`;
|
|
689
|
+
report.warning("validation-error", JSON_ISSUE.DANGLING_REFERENCE, `${new Set(dangling).size} edge endpoint${plural(new Set(dangling).size)} missing from nodes: ${shown}; ${action}`, { element: dangling[0] });
|
|
473
690
|
}
|
|
474
691
|
return propertyEdges;
|
|
475
692
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"obographs.js","sourceRoot":"","sources":["../../../../src/formats/json/obographs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"obographs.js","sourceRoot":"","sources":["../../../../src/formats/json/obographs.ts"],"names":[],"mappings":"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"}
|