@graphty/graph-io 0.3.4 → 0.3.5

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.
Files changed (50) hide show
  1. package/dist/chunks/{escape-DXbOoLKl.js → escape-BjmIaFFo.js} +2 -2
  2. package/dist/chunks/{escape-DXbOoLKl.js.map → escape-BjmIaFFo.js.map} +1 -1
  3. package/dist/chunks/{importer-B9qF4e32.js → importer-BddBW3sf.js} +2 -2
  4. package/dist/chunks/{importer-B9qF4e32.js.map → importer-BddBW3sf.js.map} +1 -1
  5. package/dist/chunks/{importer-xoHpRG5x.js → importer-BtHFICnf.js} +2 -2
  6. package/dist/chunks/{importer-xoHpRG5x.js.map → importer-BtHFICnf.js.map} +1 -1
  7. package/dist/chunks/{importer-C2caVvl6.js → importer-DfI8POXb.js} +272 -63
  8. package/dist/chunks/importer-DfI8POXb.js.map +1 -0
  9. package/dist/csv.js +1 -1
  10. package/dist/dot.js +1 -1
  11. package/dist/gexf.js +1 -1
  12. package/dist/gml.js +1 -1
  13. package/dist/graph-io.js +9 -8
  14. package/dist/graphml.js +1 -1
  15. package/dist/neo4j.js +51 -16
  16. package/dist/neo4j.js.map +1 -1
  17. package/dist/pajek.js +1 -1
  18. package/dist/src/common/escape.d.ts +4 -3
  19. package/dist/src/common/escape.d.ts.map +1 -1
  20. package/dist/src/common/escape.js +5 -4
  21. package/dist/src/common/escape.js.map +1 -1
  22. package/dist/src/formats/neo4j/exporter.d.ts +3 -1
  23. package/dist/src/formats/neo4j/exporter.d.ts.map +1 -1
  24. package/dist/src/formats/neo4j/exporter.js +34 -6
  25. package/dist/src/formats/neo4j/exporter.js.map +1 -1
  26. package/dist/src/formats/neo4j/importer.d.ts +16 -3
  27. package/dist/src/formats/neo4j/importer.d.ts.map +1 -1
  28. package/dist/src/formats/neo4j/importer.js +49 -11
  29. package/dist/src/formats/neo4j/importer.js.map +1 -1
  30. package/dist/src/formats/neo4j/index.d.ts +3 -3
  31. package/dist/src/formats/neo4j/index.d.ts.map +1 -1
  32. package/dist/src/formats/neo4j/index.js +3 -3
  33. package/dist/src/formats/neo4j/index.js.map +1 -1
  34. package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
  35. package/dist/src/formats/pajek/exporter.js +3 -2
  36. package/dist/src/formats/pajek/exporter.js.map +1 -1
  37. package/dist/src/formats/pajek/importer.d.ts +14 -8
  38. package/dist/src/formats/pajek/importer.d.ts.map +1 -1
  39. package/dist/src/formats/pajek/importer.js +233 -61
  40. package/dist/src/formats/pajek/importer.js.map +1 -1
  41. package/dist/src/formats/pajek/syntax.d.ts +39 -8
  42. package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
  43. package/dist/src/formats/pajek/syntax.js +81 -11
  44. package/dist/src/formats/pajek/syntax.js.map +1 -1
  45. package/dist/src/index.d.ts +1 -1
  46. package/dist/src/index.d.ts.map +1 -1
  47. package/dist/src/index.js +1 -1
  48. package/dist/src/index.js.map +1 -1
  49. package/package.json +2 -2
  50. package/dist/chunks/importer-C2caVvl6.js.map +0 -1
package/dist/pajek.js CHANGED
@@ -1,4 +1,4 @@
1
- import { P, a, p, b } from "./chunks/importer-C2caVvl6.js";
1
+ import { P, a, p, b } from "./chunks/importer-DfI8POXb.js";
2
2
  export {
3
3
  P as PAJEK_ISSUE,
4
4
  a as PAJEK_LOSS,
@@ -85,9 +85,10 @@ export declare function quoteCsvCell(text: string, delimiter?: string): string;
85
85
  */
86
86
  export declare function isPajekLabel(text: string): boolean;
87
87
  /**
88
- * Write a Pajek label: bare when it is a single run of non-space, non-quote characters, otherwise
89
- * double-quoted. E_UNSUPPORTED (reason "pajek label") for a text isPajekLabel() rejects; the
90
- * exporter's check() counts those.
88
+ * Write a Pajek label: bare when it is a single run of non-space, non-quote characters that does
89
+ * not start with `[` (a bare `[` opens a time set, which the reader groups up to its `]`),
90
+ * otherwise double-quoted. E_UNSUPPORTED (reason "pajek label") for a text isPajekLabel() rejects;
91
+ * the exporter's check() counts those.
91
92
  * @param text - the label text
92
93
  * @returns the label as written
93
94
  */
@@ -1 +1 @@
1
- {"version":3,"file":"escape.d.ts","sourceRoot":"","sources":["../../../src/common/escape.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkBH;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKvD;AAgBD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAcnD;AA2BD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,CAe1F;AAKD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKjD;AAuBD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAclE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWpD"}
1
+ {"version":3,"file":"escape.d.ts","sourceRoot":"","sources":["../../../src/common/escape.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkBH;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKvD;AAgBD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAcnD;AA2BD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,CAe1F;AAKD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKjD;AAuBD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAclE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWpD"}
@@ -218,9 +218,10 @@ export function isPajekLabel(text) {
218
218
  return !text.includes('"') && !text.includes("\n") && !text.includes("\r");
219
219
  }
220
220
  /**
221
- * Write a Pajek label: bare when it is a single run of non-space, non-quote characters, otherwise
222
- * double-quoted. E_UNSUPPORTED (reason "pajek label") for a text isPajekLabel() rejects; the
223
- * exporter's check() counts those.
221
+ * Write a Pajek label: bare when it is a single run of non-space, non-quote characters that does
222
+ * not start with `[` (a bare `[` opens a time set, which the reader groups up to its `]`),
223
+ * otherwise double-quoted. E_UNSUPPORTED (reason "pajek label") for a text isPajekLabel() rejects;
224
+ * the exporter's check() counts those.
224
225
  * @param text - the label text
225
226
  * @returns the label as written
226
227
  */
@@ -231,7 +232,7 @@ export function quotePajekLabel(text) {
231
232
  value: text,
232
233
  });
233
234
  }
234
- if (text.length > 0 && !/[\s"]/.test(text)) {
235
+ if (text.length > 0 && !/[\s"]/.test(text) && !text.startsWith("[")) {
235
236
  return text;
236
237
  }
237
238
  return `"${text}"`;
@@ -1 +1 @@
1
- {"version":3,"file":"escape.js","sourceRoot":"","sources":["../../../src/common/escape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"escape.js","sourceRoot":"","sources":["../../../src/common/escape.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,9 @@
16
16
  * `type[]`), and derive it from the dtype otherwise. Temporal columns write their `.text`
17
17
  * companion when set and the canonical ISO form otherwise. Nodes are grouped into sections by
18
18
  * (id space, stored-id column) in index order, so a re-import restores the same node order;
19
- * relationships likewise by (start space, end space).
19
+ * relationships likewise by (start space, end space). A node of an id space is written under its
20
+ * `originalId` value (the id text the importer stored it under as `Space:id`), so a round trip
21
+ * reproduces the source file.
20
22
  */
21
23
  import { type ExportCapabilities, type GraphExporter } from "../../types.js";
22
24
  /** The format-specific options of the Neo4j exporter. */
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../../../src/formats/neo4j/exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAuBH,OAAO,EAA4B,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAKtH,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IAC/B,kHAAkH;IAClH,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,eAAe,GAAG,SAAS,CAAC;IACrD,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IAC7C,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACxC;AAED,kIAAkI;AAClI,eAAO,MAAM,eAAe,mCAAmC,CAAC;AAEhE,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB,mBAAoB,CAAC;AAEnD,4EAA4E;AAC5E,eAAO,MAAM,sBAAsB,wBAAyB,CAAC;AAE7D,+GAA+G;AAC/G,eAAO,MAAM,wBAAwB,gCAAgC,CAAC;AAEtE,yGAAyG;AACzG,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAE9D,2FAA2F;AAC3F,eAAO,MAAM,2BAA2B,mCAAmC,CAAC;AAE5E,6FAA6F;AAC7F,eAAO,MAAM,0BAA0B,kCAAkC,CAAC;AAE1E,sFAAsF;AACtF,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAkB9D;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAiB/B,CAAC;AAylCH,0BAA0B;AAC1B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CA8B1D,CAAC"}
1
+ {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../../../src/formats/neo4j/exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAuBH,OAAO,EAA4B,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAKtH,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IAC/B,kHAAkH;IAClH,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,eAAe,GAAG,SAAS,CAAC;IACrD,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IAC7C,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACxC;AAED,kIAAkI;AAClI,eAAO,MAAM,eAAe,mCAAmC,CAAC;AAEhE,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB,mBAAoB,CAAC;AAEnD,4EAA4E;AAC5E,eAAO,MAAM,sBAAsB,wBAAyB,CAAC;AAE7D,+GAA+G;AAC/G,eAAO,MAAM,wBAAwB,gCAAgC,CAAC;AAEtE,yGAAyG;AACzG,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAE9D,2FAA2F;AAC3F,eAAO,MAAM,2BAA2B,mCAAmC,CAAC;AAE5E,6FAA6F;AAC7F,eAAO,MAAM,0BAA0B,kCAAkC,CAAC;AAE1E,sFAAsF;AACtF,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAkB9D;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAiB/B,CAAC;AA4nCH,0BAA0B;AAC1B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CA8B1D,CAAC"}
@@ -16,7 +16,9 @@
16
16
  * `type[]`), and derive it from the dtype otherwise. Temporal columns write their `.text`
17
17
  * companion when set and the canonical ISO form otherwise. Nodes are grouped into sections by
18
18
  * (id space, stored-id column) in index order, so a re-import restores the same node order;
19
- * relationships likewise by (start space, end space).
19
+ * relationships likewise by (start space, end space). A node of an id space is written under its
20
+ * `originalId` value (the id text the importer stored it under as `Space:id`), so a round trip
21
+ * reproduces the source file.
20
22
  */
21
23
  import { GraphFormatError, } from "@graphty/graph-format";
22
24
  import { ID_TEXT_COLLISION_CODE, ID_TEXT_TYPE_CODE } from "../../common/codes.js";
@@ -196,6 +198,7 @@ class ExportPlan {
196
198
  this.options = options;
197
199
  this.common = common;
198
200
  this.idSpace = snapshot.nodes.byRole("idSpace");
201
+ this.originalId = [...snapshot.nodes].find((column) => isIdText(column.meta)) ?? null;
199
202
  this.labels = snapshot.nodes.byRole("labels");
200
203
  this.kind = snapshot.edges.byRole("kind");
201
204
  for (const column of snapshot.nodes) {
@@ -304,7 +307,8 @@ class ExportPlan {
304
307
  if (companions.has(column) || (role !== null && SKIPPED_ROLES.has(role))) {
305
308
  continue;
306
309
  }
307
- if (domain === "node" && (isStoredId(meta) || column === this.idSpace || column === this.labels)) {
310
+ if (domain === "node" &&
311
+ (isStoredId(meta) || column === this.idSpace || column === this.labels || column === this.originalId)) {
308
312
  continue;
309
313
  }
310
314
  if (domain === "edge" && (role === "id" || column === this.kind)) {
@@ -617,6 +621,19 @@ class ExportPlan {
617
621
  const value = idSpace.value(index);
618
622
  return typeof value === "string" ? value : String(value);
619
623
  }
624
+ /**
625
+ * The `:ID` / `:START_ID` / `:END_ID` text of a node: its originalId value when it has an id
626
+ * space (the importer stored it as `Space:id`), its id otherwise.
627
+ * @param index - the node index
628
+ * @returns the id text
629
+ */
630
+ idTextOf(index) {
631
+ const { originalId } = this;
632
+ if (originalId !== null && originalId.isSet(index) && this.spaceOf(index) !== null) {
633
+ return textOf(originalId, index);
634
+ }
635
+ return idText(this.snapshot.ids.idOf(index));
636
+ }
620
637
  /**
621
638
  * The stored-id column of a node: the first one set in declaration order.
622
639
  * @param index - the node index
@@ -654,7 +671,6 @@ class ExportPlan {
654
671
  */
655
672
  *nodeLines() {
656
673
  const { snapshot, labels, nodeColumns } = this;
657
- const { ids } = snapshot;
658
674
  const { delimiter } = this.options.syntax;
659
675
  const propertyHeaders = nodeColumns.map((plan) => plan.header).join(delimiter);
660
676
  let sections = 0;
@@ -679,7 +695,7 @@ class ExportPlan {
679
695
  yield `${header.join(delimiter)}\n`;
680
696
  }
681
697
  cells.length = 0;
682
- cells.push(this.cell(idText(ids.idOf(i))));
698
+ cells.push(this.cell(this.idTextOf(i)));
683
699
  if (labels !== null) {
684
700
  cells.push(this.cell(this.labelsText(i)));
685
701
  }
@@ -707,7 +723,6 @@ class ExportPlan {
707
723
  */
708
724
  *relationshipLines() {
709
725
  const { snapshot, kind, weights, edgeColumns, folding } = this;
710
- const { ids } = snapshot;
711
726
  const { delimiter } = this.options.syntax;
712
727
  const list = snapshot.edgeList();
713
728
  const propertyHeaders = edgeColumns.map((plan) => plan.header).join(delimiter);
@@ -744,7 +759,7 @@ class ExportPlan {
744
759
  yield headerOf(startSpace, endSpace);
745
760
  }
746
761
  cells.length = 0;
747
- cells.push(this.cell(idText(ids.idOf(u))), this.cell(idText(ids.idOf(v))));
762
+ cells.push(this.cell(this.idTextOf(u)), this.cell(this.idTextOf(v)));
748
763
  if (kind !== null) {
749
764
  cells.push(this.cell(kind.isSet(e) ? textOf(kind, e) : null));
750
765
  }
@@ -825,6 +840,19 @@ class ExportPlan {
825
840
  return formatScalar(column.dtype === "json" ? column.values[row] : column.value(row), scalar, text);
826
841
  }
827
842
  }
843
+ /**
844
+ * Whether a node column is the importer's id text of the nodes of an id space (`originalId`).
845
+ * @param meta - the column metadata
846
+ * @returns true for the role-less string column the Neo4j importer declares with origin id `:ID` and no type
847
+ */
848
+ function isIdText(meta) {
849
+ return (meta.role === null &&
850
+ meta.dtype === "string" &&
851
+ meta.origin !== null &&
852
+ meta.origin.format === NEO4J &&
853
+ meta.origin.id === ":ID" &&
854
+ meta.origin.type === null);
855
+ }
828
856
  /**
829
857
  * Whether a node column is a stored id (`name:ID` on import).
830
858
  * @param meta - the column metadata
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/formats/neo4j/exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/formats/neo4j/exporter.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,14 @@
19
19
  * `idSpace`), and a stored id `name:ID(Space)` also a string node column `name` whose
20
20
  * `origin.namespace` is the space. A property whose name collides with one of those is renamed
21
21
  * `<name>#<name>` (design section 5.6).
22
+ * - Id spaces: neo4j-admin keeps one id space per `:ID(Space)` name, so `1` in `:ID(Product)` and
23
+ * `1` in `:ID(Category)` are two nodes. The core has one id space, so a node of a spaced section
24
+ * is stored under the string id `Space:id` (every row of the section, collision or not, so an id
25
+ * never depends on file order), its id text goes into the node string column `originalId` and
26
+ * its space into `idSpace`. The column has no role: the `originalId` role means an id rewritten by
27
+ * `sanitizeIds: "mangle"`, which other importers restore as the node id. `:START_ID(Space)` /
28
+ * `:END_ID(Space)` endpoints are qualified the same way before the lookup; an endpoint without a
29
+ * space is looked up as written.
22
30
  * - Ids are text cells coerced by the `ids` option ("canonical" by default, so `1` is the number 1
23
31
  * and `007` stays a string; integers beyond 2^53 stay strings). Relationships are always directed
24
32
  * ("In Neo4j, all relationships have a direction"), so the sink is set directed before the first
@@ -48,6 +56,8 @@ export declare const LABELS_COLUMN = "labels";
48
56
  export declare const TYPE_COLUMN = "type";
49
57
  /** The name of the node dict column holding the id space of `:ID(Space)`. */
50
58
  export declare const ID_SPACE_COLUMN = "idSpace";
59
+ /** The name of the node string column holding the id text of a node of an id space (its id is `Space:id`). */
60
+ export declare const ORIGINAL_ID_COLUMN = "originalId";
51
61
  /** Issue code: a header row (or a whole section) is malformed; the import aborts. */
52
62
  export declare const HEADER_CODE = "E_NEO4J_HEADER";
53
63
  /** Issue code: a row has a different number of cells than its header. */
@@ -58,11 +68,14 @@ export declare const MISSING_ID_CODE = "E_MISSING_ID";
58
68
  export declare const MISSING_ENDPOINT_CODE = "E_MISSING_ENDPOINT";
59
69
  /** Issue code: a node id was declared twice (same id space); the later row's properties win. */
60
70
  export declare const DUPLICATE_NODE_CODE = "W_DUPLICATE_NODE";
61
- /** Issue code: a node id was declared in two id spaces; the core has one id space and the later row is skipped. */
71
+ /**
72
+ * Issue code: a node id was declared in two id spaces -- a spaced id `Space:id` equals the text of an
73
+ * id declared without a space; the later row is skipped.
74
+ */
62
75
  export declare const ID_SPACE_COLLISION_CODE = "E_NEO4J_ID_SPACE_COLLISION";
63
76
  /**
64
- * Issue code: a `:START_ID(Space)` / `:END_ID(Space)` id names a node a node row declared in another
65
- * id space; the core has one id space, so the endpoint does not exist in its space and the row is skipped.
77
+ * Issue code: a `:START_ID(Space)` / `:END_ID(Space)` endpoint's qualified id `Space:id` names a node a
78
+ * node row declared in another id space (without a space); the row is skipped.
66
79
  */
67
80
  export declare const ENDPOINT_SPACE_CODE = "E_NEO4J_ENDPOINT_SPACE";
68
81
  /** Issue code: two different id cells became one id under `ids: "number"`. */
@@ -1 +1 @@
1
- {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/neo4j/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AA4CH,OAAO,EAEH,KAAK,aAAa,EAElB,KAAK,WAAW,EAEnB,MAAM,gBAAgB,CAAC;AAIxB,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IAC/B,yFAAyF;IACzF,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC;IACzD,sFAAsF;IACtF,aAAa,CAAC,EAAE,WAAW,GAAG,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC;IACjE;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,+GAA+G;IAC/G,cAAc,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IAC7C,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,gEAAgE;AAChE,eAAO,MAAM,aAAa,WAAW,CAAC;AAEtC,+DAA+D;AAC/D,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,6EAA6E;AAC7E,eAAO,MAAM,eAAe,YAAY,CAAC;AAEzC,qFAAqF;AACrF,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAE5C,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,yBAAyB,CAAC;AAExD,kGAAkG;AAClG,eAAO,MAAM,eAAe,iBAAyB,CAAC;AAEtD,0FAA0F;AAC1F,eAAO,MAAM,qBAAqB,uBAA+B,CAAC;AAElE,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,qBAA6B,CAAC;AAE9D,mHAAmH;AACnH,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAE5D,8EAA8E;AAC9E,eAAO,MAAM,cAAc,gBAAwB,CAAC;AAEpD,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,kCAAkC,CAAC;AAElE,+GAA+G;AAC/G,eAAO,MAAM,eAAe,iBAAyB,CAAC;AAEtD,iDAAiD;AACjD,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AA2lC9D,0BAA0B;AAC1B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CA6B1D,CAAC"}
1
+ {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/neo4j/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AA4CH,OAAO,EAEH,KAAK,aAAa,EAElB,KAAK,WAAW,EAEnB,MAAM,gBAAgB,CAAC;AAIxB,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IAC/B,yFAAyF;IACzF,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC;IACzD,sFAAsF;IACtF,aAAa,CAAC,EAAE,WAAW,GAAG,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC;IACjE;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,+GAA+G;IAC/G,cAAc,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IAC7C,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,gEAAgE;AAChE,eAAO,MAAM,aAAa,WAAW,CAAC;AAEtC,+DAA+D;AAC/D,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,6EAA6E;AAC7E,eAAO,MAAM,eAAe,YAAY,CAAC;AAEzC,8GAA8G;AAC9G,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAE/C,qFAAqF;AACrF,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAE5C,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,yBAAyB,CAAC;AAExD,kGAAkG;AAClG,eAAO,MAAM,eAAe,iBAAyB,CAAC;AAEtD,0FAA0F;AAC1F,eAAO,MAAM,qBAAqB,uBAA+B,CAAC;AAElE,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,qBAA6B,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAE5D,8EAA8E;AAC9E,eAAO,MAAM,cAAc,gBAAwB,CAAC;AAEpD,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,kCAAkC,CAAC;AAElE,+GAA+G;AAC/G,eAAO,MAAM,eAAe,iBAAyB,CAAC;AAEtD,iDAAiD;AACjD,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AA0nC9D,0BAA0B;AAC1B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CA6B1D,CAAC"}
@@ -19,6 +19,14 @@
19
19
  * `idSpace`), and a stored id `name:ID(Space)` also a string node column `name` whose
20
20
  * `origin.namespace` is the space. A property whose name collides with one of those is renamed
21
21
  * `<name>#<name>` (design section 5.6).
22
+ * - Id spaces: neo4j-admin keeps one id space per `:ID(Space)` name, so `1` in `:ID(Product)` and
23
+ * `1` in `:ID(Category)` are two nodes. The core has one id space, so a node of a spaced section
24
+ * is stored under the string id `Space:id` (every row of the section, collision or not, so an id
25
+ * never depends on file order), its id text goes into the node string column `originalId` and
26
+ * its space into `idSpace`. The column has no role: the `originalId` role means an id rewritten by
27
+ * `sanitizeIds: "mangle"`, which other importers restore as the node id. `:START_ID(Space)` /
28
+ * `:END_ID(Space)` endpoints are qualified the same way before the lookup; an endpoint without a
29
+ * space is looked up as written.
22
30
  * - Ids are text cells coerced by the `ids` option ("canonical" by default, so `1` is the number 1
23
31
  * and `007` stays a string; integers beyond 2^53 stay strings). Relationships are always directed
24
32
  * ("In Neo4j, all relationships have a direction"), so the sink is set directed before the first
@@ -44,6 +52,8 @@ export const LABELS_COLUMN = "labels";
44
52
  export const TYPE_COLUMN = "type";
45
53
  /** The name of the node dict column holding the id space of `:ID(Space)`. */
46
54
  export const ID_SPACE_COLUMN = "idSpace";
55
+ /** The name of the node string column holding the id text of a node of an id space (its id is `Space:id`). */
56
+ export const ORIGINAL_ID_COLUMN = "originalId";
47
57
  /** Issue code: a header row (or a whole section) is malformed; the import aborts. */
48
58
  export const HEADER_CODE = "E_NEO4J_HEADER";
49
59
  /** Issue code: a row has a different number of cells than its header. */
@@ -54,11 +64,14 @@ export const MISSING_ID_CODE = SHARED_MISSING_ID_CODE;
54
64
  export const MISSING_ENDPOINT_CODE = SHARED_MISSING_ENDPOINT_CODE;
55
65
  /** Issue code: a node id was declared twice (same id space); the later row's properties win. */
56
66
  export const DUPLICATE_NODE_CODE = SHARED_DUPLICATE_NODE_CODE;
57
- /** Issue code: a node id was declared in two id spaces; the core has one id space and the later row is skipped. */
67
+ /**
68
+ * Issue code: a node id was declared in two id spaces -- a spaced id `Space:id` equals the text of an
69
+ * id declared without a space; the later row is skipped.
70
+ */
58
71
  export const ID_SPACE_COLLISION_CODE = "E_NEO4J_ID_SPACE_COLLISION";
59
72
  /**
60
- * Issue code: a `:START_ID(Space)` / `:END_ID(Space)` id names a node a node row declared in another
61
- * id space; the core has one id space, so the endpoint does not exist in its space and the row is skipped.
73
+ * Issue code: a `:START_ID(Space)` / `:END_ID(Space)` endpoint's qualified id `Space:id` names a node a
74
+ * node row declared in another id space (without a space); the row is skipped.
62
75
  */
63
76
  export const ENDPOINT_SPACE_CODE = "E_NEO4J_ENDPOINT_SPACE";
64
77
  /** Issue code: two different id cells became one id under `ids: "number"`. */
@@ -108,6 +121,13 @@ const ID_SPACE_DECL = {
108
121
  role: "idSpace",
109
122
  origin: { format: NEO4J, id: ":ID", title: null, type: "ID", namespace: null },
110
123
  };
124
+ const ORIGINAL_ID_DECL = {
125
+ name: ORIGINAL_ID_COLUMN,
126
+ dtype: "string",
127
+ nullable: true,
128
+ // origin.type stays null so the column is never mistaken for a stored id (`name:ID`)
129
+ origin: { format: NEO4J, id: ":ID", title: null, type: null, namespace: null },
130
+ };
111
131
  const ARRAY_DELIMITERS = { ";": "semicolon", ",": "comma", "|": "pipe" };
112
132
  /** The delimiters sniffed between when none is given: neo4j-admin's default and the TSV tab. */
113
133
  const NEO4J_DELIMITER_CANDIDATES = Object.freeze([",", "\t"]);
@@ -282,6 +302,7 @@ class Neo4jImportSession {
282
302
  this.labelsHandle = INVALID_INDEX;
283
303
  this.typeHandle = INVALID_INDEX;
284
304
  this.idSpaceHandle = INVALID_INDEX;
305
+ this.originalIdHandle = INVALID_INDEX;
285
306
  this.ignoredColumns = 0;
286
307
  /** Whether the sink's direction was set (before the first relationship, design section 8.4 rule 1). */
287
308
  this.headerSet = false;
@@ -480,6 +501,8 @@ class Neo4jImportSession {
480
501
  width: fields.length,
481
502
  startCell,
482
503
  endCell,
504
+ startSpace,
505
+ endSpace,
483
506
  startSpaceCode: startSpace === null ? 0 : this.registry.codeOf(startSpace),
484
507
  endSpaceCode: endSpace === null ? 0 : this.registry.codeOf(endSpace),
485
508
  typeCell,
@@ -574,6 +597,7 @@ class Neo4jImportSession {
574
597
  ensureIdSpace() {
575
598
  if (this.idSpaceHandle === INVALID_INDEX) {
576
599
  this.idSpaceHandle = this.declareReserved("node", ID_SPACE_DECL);
600
+ this.originalIdHandle = this.declareReserved("node", ORIGINAL_ID_DECL);
577
601
  }
578
602
  }
579
603
  /**
@@ -632,11 +656,12 @@ class Neo4jImportSession {
632
656
  report.counts.skippedNodes++;
633
657
  return;
634
658
  }
635
- const id = this.coerceId(idText, line);
636
- if (id === null || !this.parseProperties(section.properties, cells, quoted, line, idText)) {
659
+ const coerced = this.coerceId(idText, line);
660
+ if (coerced === null || !this.parseProperties(section.properties, cells, quoted, line, idText)) {
637
661
  report.counts.skippedNodes++;
638
662
  return;
639
663
  }
664
+ const id = qualify(coerced, section.space);
640
665
  let labels;
641
666
  if (section.labelCells.length > 0 || section.extraLabels.length > 0) {
642
667
  labels = this.labelsOf(section, cells, quoted);
@@ -659,6 +684,7 @@ class Neo4jImportSession {
659
684
  }
660
685
  if (section.space !== null) {
661
686
  sink.setNodeValue(this.idSpaceHandle, index, section.space);
687
+ sink.setNodeValue(this.originalIdHandle, index, idText);
662
688
  }
663
689
  if (labels !== undefined) {
664
690
  sink.setNodeValue(this.labelsHandle, index, labels);
@@ -698,12 +724,14 @@ class Neo4jImportSession {
698
724
  return;
699
725
  }
700
726
  const element = `${startText}->${endText}`;
701
- const source = this.coerceId(startText, line);
702
- const target = source === null ? null : this.coerceId(endText, line);
703
- if (source === null || target === null) {
727
+ const start = this.coerceId(startText, line);
728
+ const end = start === null ? null : this.coerceId(endText, line);
729
+ if (start === null || end === null) {
704
730
  report.counts.skippedEdges++;
705
731
  return;
706
732
  }
733
+ const source = qualify(start, section.startSpace);
734
+ const target = qualify(end, section.endSpace);
707
735
  let wrongSpace = null;
708
736
  if (this.wrongSpace(source, section.startSpaceCode)) {
709
737
  wrongSpace = startText;
@@ -751,9 +779,9 @@ class Neo4jImportSession {
751
779
  report.counts.edges++;
752
780
  }
753
781
  /**
754
- * Whether an endpoint id belongs to a node a node row declared in another id space than the
755
- * endpoint's header declares. An endpoint without a declared space, or a node no row declared
756
- * yet, is looked up by id alone.
782
+ * Whether a qualified endpoint id belongs to a node a node row declared in another id space than
783
+ * the endpoint's header declares (an unspaced node whose id text is `Space:id`). An endpoint
784
+ * without a declared space, or a node no row declared yet, is looked up by id alone.
757
785
  * @param id - the endpoint id
758
786
  * @param spaceCode - the endpoint's space code, 0 for none
759
787
  * @returns true when the endpoint resolves to a node of another space
@@ -906,6 +934,16 @@ class Neo4jImportSession {
906
934
  return labels;
907
935
  }
908
936
  }
937
+ /**
938
+ * The id a node of an id space is stored under: `Space:id`, so the same id in two spaces stays two
939
+ * nodes (the core has one id space).
940
+ * @param id - the coerced id cell
941
+ * @param space - the id space, or null
942
+ * @returns the id unchanged without a space, else the string `Space:id`
943
+ */
944
+ function qualify(id, space) {
945
+ return space === null ? id : `${space}:${String(id)}`;
946
+ }
909
947
  /**
910
948
  * The value of a quoted empty cell: an empty string for a string-kind property, an empty list for
911
949
  * a list property, unset for anything else (neo4j-admin's default `--ignore-empty-strings=false`).