dzakybd commited on
Commit
22bbb00
·
verified ·
1 Parent(s): 82a4ef4

Rebuild with the pixel-connection pipeline

Browse files
README.md CHANGED
@@ -6,12 +6,12 @@ colorTo: gray
6
  sdk: static
7
  pinned: false
8
  license: cc-by-sa-4.0
9
- short_description: P&ID image to tables and a graph with a vision LLM
10
  ---
11
 
12
  # pid-parser showcase
13
 
14
- Precomputed results of [pid-parser](https://github.com/dzakybd/pid-parser) on three synthetic P&ID sheets: the drawing with what the model read, the graph, the tables, and the SQL, CSV, GraphML and Cypher exports. The page calls no model.
15
 
16
  Install the skill in your own agent with `npx skills add dzakybd/pid-parser`. How it works, step by step: [the write-up](https://dzaky.ai.id/en/blog/pid-parser-pid-to-graph).
17
 
 
6
  sdk: static
7
  pinned: false
8
  license: cc-by-sa-4.0
9
+ short_description: "P&ID image to tables and a graph, with pixel connections"
10
  ---
11
 
12
  # pid-parser showcase
13
 
14
+ Precomputed results of [pid-parser](https://github.com/dzakybd/pid-parser) on three synthetic P&ID sheets: the drawing with the symbols the model found, the connections read from the pixels, the graph, the tables, and the SQL, CSV, GraphML and Cypher exports. The page calls no model.
15
 
16
  Install the skill in your own agent with `npx skills add dzakybd/pid-parser`. How it works, step by step: [the write-up](https://dzaky.ai.id/en/blog/pid-parser-pid-to-graph).
17
 
build.py ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Pack precomputed runs on the synthetic sheets into space/data for the Hugging Face Space.
2
+
3
+ Only synthetic PID2Graph sheets (CC BY-SA 4.0) go in: the OPEN100 sheets have no licence.
4
+
5
+ Usage: uv run python space/build.py [runs/<config>] (default: the gpt-6.1-sol low-effort tiled runs)
6
+ """
7
+
8
+ import json
9
+ import shutil
10
+ import sys
11
+ from pathlib import Path
12
+
13
+ from PIL import Image
14
+
15
+ REPO = Path(__file__).resolve().parent.parent
16
+ SHEETS = {"synth-0": "Synthetic sheet 1", "synth-1": "Synthetic sheet 2", "synth-2": "Synthetic sheet 3"}
17
+ WEB_WIDTH = 2400 # drawings are 7000 px wide; the overlay uses original pixels via the SVG viewBox
18
+
19
+
20
+ def main(config):
21
+ data = REPO / "space" / "data"
22
+ shutil.rmtree(data, ignore_errors=True)
23
+ index = []
24
+ for sheet, title in SHEETS.items():
25
+ run = config / sheet / "r1"
26
+ dest = data / sheet
27
+ shutil.copytree(run / "out", dest / "out")
28
+ shutil.copy(run / "graph.json", dest / "graph.json")
29
+ img = Image.open(REPO / "samples" / f"{sheet}.jpg").convert("RGB")
30
+ img.resize((WEB_WIDTH, round(img.height * WEB_WIDTH / img.width)), Image.LANCZOS).save(
31
+ dest / "drawing.jpg", quality=85
32
+ )
33
+ meta = json.loads((run / "run.json").read_text())
34
+ score = json.loads((run / "score.json").read_text())
35
+ index.append(
36
+ {
37
+ "id": sheet,
38
+ "title": title,
39
+ "model": meta["model"],
40
+ "effort": meta["effort"],
41
+ "seconds": meta["seconds"],
42
+ "score": {k: score[k] for k in ("symbols", "connections")},
43
+ }
44
+ )
45
+ (data / "sheets.json").write_text(json.dumps(index, indent=2))
46
+ print(f"{len(index)} sheets -> {data}")
47
+
48
+
49
+ if __name__ == "__main__":
50
+ main(Path(sys.argv[1]) if len(sys.argv) > 1 else REPO / "runs" / "deepagents-gpt-6.1-sol-low-tiled")
data/sheets.json CHANGED
@@ -4,7 +4,7 @@
4
  "title": "Synthetic sheet 1",
5
  "model": "gpt-6.1-sol",
6
  "effort": "low",
7
- "seconds": 357,
8
  "score": {
9
  "symbols": {
10
  "pred": 21,
@@ -16,12 +16,13 @@
16
  "class_accuracy": 0.7
17
  },
18
  "connections": {
19
- "pred": 21,
20
  "gt": 38,
21
- "correct": 20,
22
- "precision": 0.9523809523809523,
23
- "recall": 0.5263157894736842,
24
- "f1": 0.6779661016949152
 
25
  }
26
  }
27
  },
@@ -30,7 +31,7 @@
30
  "title": "Synthetic sheet 2",
31
  "model": "gpt-6.1-sol",
32
  "effort": "low",
33
- "seconds": 232,
34
  "score": {
35
  "symbols": {
36
  "pred": 23,
@@ -39,15 +40,16 @@
39
  "precision": 1.0,
40
  "recall": 1.0,
41
  "f1": 1.0,
42
- "class_accuracy": 0.6956521739130435
43
  },
44
  "connections": {
45
- "pred": 27,
46
  "gt": 27,
47
- "correct": 27,
48
  "precision": 1.0,
49
- "recall": 1.0,
50
- "f1": 1.0
 
51
  }
52
  }
53
  },
@@ -56,7 +58,7 @@
56
  "title": "Synthetic sheet 3",
57
  "model": "gpt-6.1-sol",
58
  "effort": "low",
59
- "seconds": 224,
60
  "score": {
61
  "symbols": {
62
  "pred": 23,
@@ -65,15 +67,16 @@
65
  "precision": 1.0,
66
  "recall": 1.0,
67
  "f1": 1.0,
68
- "class_accuracy": 0.8260869565217391
69
  },
70
  "connections": {
71
- "pred": 50,
72
  "gt": 74,
73
- "correct": 50,
74
  "precision": 1.0,
75
- "recall": 0.6756756756756757,
76
- "f1": 0.8064516129032258
 
77
  }
78
  }
79
  }
 
4
  "title": "Synthetic sheet 1",
5
  "model": "gpt-6.1-sol",
6
  "effort": "low",
7
+ "seconds": 31,
8
  "score": {
9
  "symbols": {
10
  "pred": 21,
 
16
  "class_accuracy": 0.7
17
  },
18
  "connections": {
19
+ "pred": 24,
20
  "gt": 38,
21
+ "correct": 24,
22
+ "precision": 1.0,
23
+ "recall": 0.631578947368421,
24
+ "f1": 0.7741935483870968,
25
+ "symbol_f1": 0.7567857142857143
26
  }
27
  }
28
  },
 
31
  "title": "Synthetic sheet 2",
32
  "model": "gpt-6.1-sol",
33
  "effort": "low",
34
+ "seconds": 28,
35
  "score": {
36
  "symbols": {
37
  "pred": 23,
 
40
  "precision": 1.0,
41
  "recall": 1.0,
42
  "f1": 1.0,
43
+ "class_accuracy": 0.6521739130434783
44
  },
45
  "connections": {
46
+ "pred": 17,
47
  "gt": 27,
48
+ "correct": 17,
49
  "precision": 1.0,
50
+ "recall": 0.6296296296296297,
51
+ "f1": 0.7727272727272727,
52
+ "symbol_f1": 0.7267080745341615
53
  }
54
  }
55
  },
 
58
  "title": "Synthetic sheet 3",
59
  "model": "gpt-6.1-sol",
60
  "effort": "low",
61
+ "seconds": 31,
62
  "score": {
63
  "symbols": {
64
  "pred": 23,
 
67
  "precision": 1.0,
68
  "recall": 1.0,
69
  "f1": 1.0,
70
+ "class_accuracy": 0.782608695652174
71
  },
72
  "connections": {
73
+ "pred": 30,
74
  "gt": 74,
75
+ "correct": 30,
76
  "precision": 1.0,
77
+ "recall": 0.40540540540540543,
78
+ "f1": 0.5769230769230769,
79
+ "symbol_f1": 0.6566055995723515
80
  }
81
  }
82
  }
data/synth-0/graph.json CHANGED
@@ -7,61 +7,50 @@
7
  "nodes": [
8
  {
9
  "id": "s1",
10
- "type": "control_valve",
11
- "tag": null,
12
- "bbox": [
13
- 5050,
14
- 1895,
15
- 5125,
16
- 2035
17
- ]
18
- },
19
- {
20
- "id": "s2",
21
  "type": "vessel",
22
  "tag": null,
23
  "bbox": [
24
  3105.112,
25
- 1848.2240000000002,
26
  3261.4230000000002,
27
  2079.191
28
  ]
29
  },
30
  {
31
- "id": "s4",
32
  "type": "equipment",
33
  "tag": null,
34
  "bbox": [
35
- 6234.776,
36
  534.2570000000001,
37
- 6475.075,
38
  662.572
39
  ]
40
  },
41
  {
42
- "id": "s5",
43
  "type": "equipment",
44
  "tag": null,
45
  "bbox": [
46
- 5616.531,
47
  1215.4930000000002,
48
- 5821.835,
49
  1348.4740000000002
50
  ]
51
  },
52
  {
53
- "id": "s6",
54
- "type": "heat_exchanger",
55
  "tag": null,
56
  "bbox": [
57
  4373.153,
58
- 3647.455,
59
  4529.464,
60
  3810.7650000000003
61
  ]
62
  },
63
  {
64
- "id": "s7",
65
  "type": "fitting",
66
  "tag": null,
67
  "bbox": [
@@ -72,118 +61,129 @@
72
  ]
73
  },
74
  {
75
- "id": "s8",
76
- "type": "vessel",
77
  "tag": null,
78
  "bbox": [
79
- 4398.816,
80
- 3299.838,
81
  4506.134,
82
  3479.4790000000003
83
  ]
84
  },
85
  {
86
- "id": "s9",
87
  "type": "off_page",
88
  "tag": null,
89
  "bbox": [
90
  1838.4040000000002,
91
  4013.736,
92
  1987.7160000000001,
93
- 4125.72
94
  ]
95
  },
96
  {
97
- "id": "s10",
98
- "type": "off_page",
 
 
 
 
 
 
 
 
 
 
 
99
  "tag": null,
100
  "bbox": [
101
  5644.527,
102
- 886.5400000000001,
103
  5798.505,
104
  993.8580000000001
105
  ]
106
  },
107
  {
108
- "id": "s11",
109
  "type": "equipment",
110
  "tag": null,
111
  "bbox": [
112
  3771.239,
113
  2966.219,
114
  3864.559,
115
- 3129.529
116
  ]
117
  },
118
  {
119
- "id": "s12",
120
  "type": "valve",
121
  "tag": null,
122
  "bbox": [
123
  2475.202,
124
- 3005.392,
125
  2622.181,
126
- 3084.714
127
  ]
128
  },
129
  {
130
- "id": "s13",
131
  "type": "valve",
132
  "tag": null,
133
  "bbox": [
134
- 3130.775,
135
- 2653.597,
136
  3235.76,
137
- 2756.249
138
  ]
139
  },
140
  {
141
- "id": "s14",
142
- "type": "pump",
143
  "tag": null,
144
  "bbox": [
145
  3780.571,
146
  2293.827,
147
- 3855.227,
148
  2433.807
149
  ]
150
  },
151
  {
152
- "id": "s15",
153
- "type": "valve",
154
  "tag": null,
155
  "bbox": [
156
- 2503.1980000000003,
157
- 2308.313,
158
- 2594.1850000000004,
159
- 2417.964
160
  ]
161
  },
162
  {
163
- "id": "s16",
164
- "type": "fitting",
165
  "tag": null,
166
  "bbox": [
167
- 6286.102,
168
- 1929.391,
169
- 6423.749,
170
- 2001.7140000000002
171
  ]
172
  },
173
  {
174
- "id": "s17",
175
- "type": "heat_exchanger",
176
  "tag": null,
177
  "bbox": [
178
- 4415.147,
179
- 1556.5990000000002,
180
- 4487.47,
181
- 1691.913
182
  ]
183
  },
184
  {
185
- "id": "s18",
186
- "type": "fitting",
187
  "tag": null,
188
  "bbox": [
189
  578.5840000000001,
@@ -193,30 +193,30 @@
193
  ]
194
  },
195
  {
196
- "id": "s19",
197
  "type": "fitting",
198
  "tag": null,
199
  "bbox": [
200
  5019.283,
201
- 907.537,
202
- 5154.597,
203
  975.1940000000001
204
  ]
205
  },
206
  {
207
- "id": "s20",
208
- "type": "off_page",
209
  "tag": null,
210
  "bbox": [
211
- 618.245,
212
- 3682.45,
213
- 669.571,
214
- 3780.436
215
  ]
216
  },
217
  {
218
- "id": "s21",
219
- "type": "fitting",
220
  "tag": "G",
221
  "bbox": [
222
  1875.7320000000002,
@@ -226,14 +226,14 @@
226
  ]
227
  },
228
  {
229
- "id": "s22",
230
- "type": "equipment",
231
  "tag": null,
232
  "bbox": [
233
- 5005,
234
- 1572,
235
- 5155,
236
- 1675
237
  ]
238
  },
239
  {
@@ -241,10 +241,10 @@
241
  "type": "junction",
242
  "tag": null,
243
  "bbox": [
244
- 2540,
245
- 1957,
246
- 2556,
247
- 1973
248
  ]
249
  },
250
  {
@@ -252,119 +252,108 @@
252
  "type": "junction",
253
  "tag": null,
254
  "bbox": [
255
- 3175,
256
- 2355,
257
- 3191,
258
- 2371
259
  ]
260
  }
261
  ],
262
  "edges": [
263
  {
264
- "source": "s21",
265
- "target": "s4",
266
  "kind": "process"
267
  },
268
  {
269
- "source": "s4",
270
- "target": "s16",
271
  "kind": "process"
272
  },
273
  {
274
- "source": "s16",
275
- "target": "s1",
276
  "kind": "process"
277
  },
278
  {
279
- "source": "s18",
280
- "target": "s19",
281
  "kind": "process"
282
  },
283
  {
284
- "source": "s19",
285
- "target": "s10",
286
  "kind": "process"
287
  },
288
  {
289
- "source": "s10",
290
  "target": "s5",
291
  "kind": "process"
292
  },
293
  {
294
- "source": "s5",
295
- "target": "s7",
296
  "kind": "process"
297
  },
298
  {
299
- "source": "s7",
300
- "target": "s13",
301
  "kind": "process"
302
  },
303
  {
304
- "source": "s13",
305
- "target": "j2",
306
  "kind": "process"
307
  },
308
  {
309
- "source": "s2",
310
  "target": "j2",
311
  "kind": "process"
312
  },
313
  {
314
- "source": "j2",
315
- "target": "s14",
316
  "kind": "process"
317
  },
318
  {
319
- "source": "s14",
320
- "target": "s11",
321
  "kind": "process"
322
  },
323
  {
324
- "source": "s11",
325
- "target": "s12",
326
  "kind": "process"
327
  },
328
  {
329
- "source": "s15",
330
- "target": "j1",
331
  "kind": "process"
332
  },
333
  {
334
- "source": "j1",
335
- "target": "s17",
336
  "kind": "process"
337
  },
338
  {
339
- "source": "s17",
340
- "target": "s8",
341
  "kind": "process"
342
  },
343
  {
344
- "source": "s21",
345
- "target": "s9",
346
  "kind": "process"
347
  },
348
  {
349
- "source": "s22",
350
- "target": "s1",
351
- "kind": "signal"
352
- },
353
- {
354
- "source": "j1",
355
- "target": "s2",
356
- "kind": "signal"
357
- },
358
- {
359
- "source": "s8",
360
- "target": "s6",
361
- "kind": "signal"
362
  },
363
  {
364
- "source": "s20",
365
- "target": "s6",
366
- "kind": "signal",
367
- "notes": "Mixed line styling: dashed from s20 to x\u22481914 at y\u22483730, solid thereafter to s6. Classified signal because of dashed source segment; process/signal semantics unresolved. Crossing with s21\u2013s9 is not connected (no dot or tee)."
368
  }
369
  ]
370
- }
 
7
  "nodes": [
8
  {
9
  "id": "s1",
 
 
 
 
 
 
 
 
 
 
 
10
  "type": "vessel",
11
  "tag": null,
12
  "bbox": [
13
  3105.112,
14
+ 1850.557,
15
  3261.4230000000002,
16
  2079.191
17
  ]
18
  },
19
  {
20
+ "id": "s2",
21
  "type": "equipment",
22
  "tag": null,
23
  "bbox": [
24
+ 6237.109,
25
  534.2570000000001,
26
+ 6477.408,
27
  662.572
28
  ]
29
  },
30
  {
31
+ "id": "s3",
32
  "type": "equipment",
33
  "tag": null,
34
  "bbox": [
35
+ 5618.864,
36
  1215.4930000000002,
37
+ 5824.168,
38
  1348.4740000000002
39
  ]
40
  },
41
  {
42
+ "id": "s4",
43
+ "type": "equipment",
44
  "tag": null,
45
  "bbox": [
46
  4373.153,
47
+ 3649.788,
48
  4529.464,
49
  3810.7650000000003
50
  ]
51
  },
52
  {
53
+ "id": "s5",
54
  "type": "fitting",
55
  "tag": null,
56
  "bbox": [
 
61
  ]
62
  },
63
  {
64
+ "id": "s6",
65
+ "type": "equipment",
66
  "tag": null,
67
  "bbox": [
68
+ 4396.483,
69
+ 3297.505,
70
  4506.134,
71
  3479.4790000000003
72
  ]
73
  },
74
  {
75
+ "id": "s7",
76
  "type": "off_page",
77
  "tag": null,
78
  "bbox": [
79
  1838.4040000000002,
80
  4013.736,
81
  1987.7160000000001,
82
+ 4128.053
83
  ]
84
  },
85
  {
86
+ "id": "s8",
87
+ "type": "instrument",
88
+ "tag": null,
89
+ "bbox": [
90
+ 5005.285,
91
+ 1572.4420000000002,
92
+ 5168.595,
93
+ 1675.094
94
+ ]
95
+ },
96
+ {
97
+ "id": "s9",
98
+ "type": "equipment",
99
  "tag": null,
100
  "bbox": [
101
  5644.527,
102
+ 888.873,
103
  5798.505,
104
  993.8580000000001
105
  ]
106
  },
107
  {
108
+ "id": "s10",
109
  "type": "equipment",
110
  "tag": null,
111
  "bbox": [
112
  3771.239,
113
  2966.219,
114
  3864.559,
115
+ 3127.196
116
  ]
117
  },
118
  {
119
+ "id": "s11",
120
  "type": "valve",
121
  "tag": null,
122
  "bbox": [
123
  2475.202,
124
+ 3008.213,
125
  2622.181,
126
+ 3085.202
127
  ]
128
  },
129
  {
130
+ "id": "s12",
131
  "type": "valve",
132
  "tag": null,
133
  "bbox": [
134
+ 3133.108,
135
+ 2653.1090000000004,
136
  3235.76,
137
+ 2758.094
138
  ]
139
  },
140
  {
141
+ "id": "s13",
142
+ "type": "equipment",
143
  "tag": null,
144
  "bbox": [
145
  3780.571,
146
  2293.827,
147
+ 3852.8940000000002,
148
  2433.807
149
  ]
150
  },
151
  {
152
+ "id": "s14",
153
+ "type": "fitting",
154
  "tag": null,
155
  "bbox": [
156
+ 6286.102,
157
+ 1929.879,
158
+ 6423.749,
159
+ 2002.2020000000002
160
  ]
161
  },
162
  {
163
+ "id": "s15",
164
+ "type": "valve",
165
  "tag": null,
166
  "bbox": [
167
+ 2505.531,
168
+ 2307.825,
169
+ 2594.1850000000004,
170
+ 2417.476
171
  ]
172
  },
173
  {
174
+ "id": "s16",
175
+ "type": "valve",
176
  "tag": null,
177
  "bbox": [
178
+ 5051.945,
179
+ 1897.217,
180
+ 5121.935,
181
+ 2032.531
182
  ]
183
  },
184
  {
185
+ "id": "s17",
186
+ "type": "instrument",
187
  "tag": null,
188
  "bbox": [
189
  578.5840000000001,
 
193
  ]
194
  },
195
  {
196
+ "id": "s18",
197
  "type": "fitting",
198
  "tag": null,
199
  "bbox": [
200
  5019.283,
201
+ 905.2040000000001,
202
+ 5152.264,
203
  975.1940000000001
204
  ]
205
  },
206
  {
207
+ "id": "s19",
208
+ "type": "fitting",
209
  "tag": null,
210
  "bbox": [
211
+ 4417.48,
212
+ 1556.111,
213
+ 4485.137000000001,
214
+ 1691.4250000000002
215
  ]
216
  },
217
  {
218
+ "id": "s20",
219
+ "type": "instrument",
220
  "tag": "G",
221
  "bbox": [
222
  1875.7320000000002,
 
226
  ]
227
  },
228
  {
229
+ "id": "s21",
230
+ "type": "off_page",
231
  "tag": null,
232
  "bbox": [
233
+ 620.5780000000001,
234
+ 3682.45,
235
+ 669.571,
236
+ 3780.436
237
  ]
238
  },
239
  {
 
241
  "type": "junction",
242
  "tag": null,
243
  "bbox": [
244
+ 3389.8113333333336,
245
+ 2339.7641666666664,
246
+ 3399.8113333333336,
247
+ 2349.7641666666664
248
  ]
249
  },
250
  {
 
252
  "type": "junction",
253
  "tag": null,
254
  "bbox": [
255
+ 2924.2482,
256
+ 1288.0462000000002,
257
+ 2934.2482,
258
+ 1298.0462000000002
259
  ]
260
  }
261
  ],
262
  "edges": [
263
  {
264
+ "source": "s1",
265
+ "target": "j1",
266
  "kind": "process"
267
  },
268
  {
269
+ "source": "s12",
270
+ "target": "j1",
271
  "kind": "process"
272
  },
273
  {
274
+ "source": "s13",
275
+ "target": "j1",
276
  "kind": "process"
277
  },
278
  {
279
+ "source": "s10",
280
+ "target": "s11",
281
  "kind": "process"
282
  },
283
  {
284
+ "source": "s10",
285
+ "target": "s13",
286
  "kind": "process"
287
  },
288
  {
289
+ "source": "s12",
290
  "target": "s5",
291
  "kind": "process"
292
  },
293
  {
294
+ "source": "s14",
295
+ "target": "s16",
296
  "kind": "process"
297
  },
298
  {
299
+ "source": "s14",
300
+ "target": "s2",
301
  "kind": "process"
302
  },
303
  {
304
+ "source": "s15",
305
+ "target": "s19",
306
  "kind": "process"
307
  },
308
  {
309
+ "source": "s17",
310
  "target": "j2",
311
  "kind": "process"
312
  },
313
  {
314
+ "source": "s18",
315
+ "target": "j2",
316
  "kind": "process"
317
  },
318
  {
319
+ "source": "s20",
320
+ "target": "j2",
321
  "kind": "process"
322
  },
323
  {
324
+ "source": "s3",
325
+ "target": "j2",
326
  "kind": "process"
327
  },
328
  {
329
+ "source": "s5",
330
+ "target": "j2",
331
  "kind": "process"
332
  },
333
  {
334
+ "source": "s18",
335
+ "target": "s9",
336
  "kind": "process"
337
  },
338
  {
339
+ "source": "s19",
340
+ "target": "s6",
341
  "kind": "process"
342
  },
343
  {
344
+ "source": "s2",
345
+ "target": "s20",
346
  "kind": "process"
347
  },
348
  {
349
+ "source": "s3",
350
+ "target": "s9",
351
+ "kind": "process"
 
 
 
 
 
 
 
 
 
 
352
  },
353
  {
354
+ "source": "s4",
355
+ "target": "s7",
356
+ "kind": "process"
 
357
  }
358
  ]
359
+ }
data/synth-0/out/edges.csv CHANGED
@@ -1,22 +1,20 @@
1
  source,target,kind,line
2
- s21,s4,process,
3
- s4,s16,process,
4
- s16,s1,process,
5
- s18,s19,process,
6
- s19,s10,process,
7
- s10,s5,process,
8
- s5,s7,process,
9
- s7,s13,process,
10
- s13,j2,process,
11
- s2,j2,process,
12
- j2,s14,process,
13
- s14,s11,process,
14
- s11,s12,process,
15
- s15,j1,process,
16
- j1,s17,process,
17
- s17,s8,process,
18
- s21,s9,process,
19
- s22,s1,signal,
20
- j1,s2,signal,
21
- s8,s6,signal,
22
- s20,s6,signal,
 
1
  source,target,kind,line
2
+ s1,j1,process,
3
+ s12,j1,process,
4
+ s13,j1,process,
5
+ s10,s11,process,
6
+ s10,s13,process,
7
+ s12,s5,process,
8
+ s14,s16,process,
9
+ s14,s2,process,
10
+ s15,s19,process,
11
+ s17,j2,process,
12
+ s18,j2,process,
13
+ s20,j2,process,
14
+ s3,j2,process,
15
+ s5,j2,process,
16
+ s18,s9,process,
17
+ s19,s6,process,
18
+ s2,s20,process,
19
+ s3,s9,process,
20
+ s4,s7,process,
 
 
data/synth-0/out/graph.cypher CHANGED
@@ -1,44 +1,42 @@
1
- CREATE (:Component {id: 's1', type: 'control_valve', x1: 5050, y1: 1895, x2: 5125, y2: 2035});
2
- CREATE (:Component {id: 's2', type: 'vessel', x1: 3105.112, y1: 1848.2240000000002, x2: 3261.4230000000002, y2: 2079.191});
3
- CREATE (:Component {id: 's4', type: 'equipment', x1: 6234.776, y1: 534.2570000000001, x2: 6475.075, y2: 662.572});
4
- CREATE (:Component {id: 's5', type: 'equipment', x1: 5616.531, y1: 1215.4930000000002, x2: 5821.835, y2: 1348.4740000000002});
5
- CREATE (:Component {id: 's6', type: 'heat_exchanger', x1: 4373.153, y1: 3647.455, x2: 4529.464, y2: 3810.7650000000003});
6
- CREATE (:Component {id: 's7', type: 'fitting', x1: 1236.49, y1: 2585.452, x2: 1322.8110000000001, y2: 2823.418});
7
- CREATE (:Component {id: 's8', type: 'vessel', x1: 4398.816, y1: 3299.838, x2: 4506.134, y2: 3479.4790000000003});
8
- CREATE (:Component {id: 's9', type: 'off_page', x1: 1838.4040000000002, y1: 4013.736, x2: 1987.7160000000001, y2: 4125.72});
9
- CREATE (:Component {id: 's10', type: 'off_page', x1: 5644.527, y1: 886.5400000000001, x2: 5798.505, y2: 993.8580000000001});
10
- CREATE (:Component {id: 's11', type: 'equipment', x1: 3771.239, y1: 2966.219, x2: 3864.559, y2: 3129.529});
11
- CREATE (:Component {id: 's12', type: 'valve', x1: 2475.202, y1: 3005.392, x2: 2622.181, y2: 3084.714});
12
- CREATE (:Component {id: 's13', type: 'valve', x1: 3130.775, y1: 2653.597, x2: 3235.76, y2: 2756.249});
13
- CREATE (:Component {id: 's14', type: 'pump', x1: 3780.571, y1: 2293.827, x2: 3855.227, y2: 2433.807});
14
- CREATE (:Component {id: 's15', type: 'valve', x1: 2503.1980000000003, y1: 2308.313, x2: 2594.1850000000004, y2: 2417.964});
15
- CREATE (:Component {id: 's16', type: 'fitting', x1: 6286.102, y1: 1929.391, x2: 6423.749, y2: 2001.7140000000002});
16
- CREATE (:Component {id: 's17', type: 'heat_exchanger', x1: 4415.147, y1: 1556.5990000000002, x2: 4487.47, y2: 1691.913});
17
- CREATE (:Component {id: 's18', type: 'fitting', x1: 578.5840000000001, y1: 905.2040000000001, x2: 711.565, y2: 975.1940000000001});
18
- CREATE (:Component {id: 's19', type: 'fitting', x1: 5019.283, y1: 907.537, x2: 5154.597, y2: 975.1940000000001});
19
- CREATE (:Component {id: 's20', type: 'off_page', x1: 618.245, y1: 3682.45, x2: 669.571, y2: 3780.436});
20
- CREATE (:Component {id: 's21', type: 'fitting', tag: 'G', x1: 1875.7320000000002, y1: 566.9190000000001, x2: 1952.7210000000002, y2: 629.9100000000001});
21
- CREATE (:Component {id: 's22', type: 'equipment', x1: 5005, y1: 1572, x2: 5155, y2: 1675});
22
- CREATE (:Junction {id: 'j1', type: 'junction', x1: 2540, y1: 1957, x2: 2556, y2: 1973});
23
- CREATE (:Junction {id: 'j2', type: 'junction', x1: 3175, y1: 2355, x2: 3191, y2: 2371});
24
- MATCH (a {id: 's21'}), (b {id: 's4'}) CREATE (a)-[:PIPE]->(b);
25
- MATCH (a {id: 's4'}), (b {id: 's16'}) CREATE (a)-[:PIPE]->(b);
26
- MATCH (a {id: 's16'}), (b {id: 's1'}) CREATE (a)-[:PIPE]->(b);
27
- MATCH (a {id: 's18'}), (b {id: 's19'}) CREATE (a)-[:PIPE]->(b);
28
- MATCH (a {id: 's19'}), (b {id: 's10'}) CREATE (a)-[:PIPE]->(b);
29
- MATCH (a {id: 's10'}), (b {id: 's5'}) CREATE (a)-[:PIPE]->(b);
30
- MATCH (a {id: 's5'}), (b {id: 's7'}) CREATE (a)-[:PIPE]->(b);
31
- MATCH (a {id: 's7'}), (b {id: 's13'}) CREATE (a)-[:PIPE]->(b);
32
- MATCH (a {id: 's13'}), (b {id: 'j2'}) CREATE (a)-[:PIPE]->(b);
33
- MATCH (a {id: 's2'}), (b {id: 'j2'}) CREATE (a)-[:PIPE]->(b);
34
- MATCH (a {id: 'j2'}), (b {id: 's14'}) CREATE (a)-[:PIPE]->(b);
35
- MATCH (a {id: 's14'}), (b {id: 's11'}) CREATE (a)-[:PIPE]->(b);
36
- MATCH (a {id: 's11'}), (b {id: 's12'}) CREATE (a)-[:PIPE]->(b);
37
- MATCH (a {id: 's15'}), (b {id: 'j1'}) CREATE (a)-[:PIPE]->(b);
38
- MATCH (a {id: 'j1'}), (b {id: 's17'}) CREATE (a)-[:PIPE]->(b);
39
- MATCH (a {id: 's17'}), (b {id: 's8'}) CREATE (a)-[:PIPE]->(b);
40
- MATCH (a {id: 's21'}), (b {id: 's9'}) CREATE (a)-[:PIPE]->(b);
41
- MATCH (a {id: 's22'}), (b {id: 's1'}) CREATE (a)-[:SIGNAL]->(b);
42
- MATCH (a {id: 'j1'}), (b {id: 's2'}) CREATE (a)-[:SIGNAL]->(b);
43
- MATCH (a {id: 's8'}), (b {id: 's6'}) CREATE (a)-[:SIGNAL]->(b);
44
- MATCH (a {id: 's20'}), (b {id: 's6'}) CREATE (a)-[:SIGNAL]->(b);
 
1
+ CREATE (:Component {id: 's1', type: 'vessel', x1: 3105.112, y1: 1850.557, x2: 3261.4230000000002, y2: 2079.191});
2
+ CREATE (:Component {id: 's2', type: 'equipment', x1: 6237.109, y1: 534.2570000000001, x2: 6477.408, y2: 662.572});
3
+ CREATE (:Component {id: 's3', type: 'equipment', x1: 5618.864, y1: 1215.4930000000002, x2: 5824.168, y2: 1348.4740000000002});
4
+ CREATE (:Component {id: 's4', type: 'equipment', x1: 4373.153, y1: 3649.788, x2: 4529.464, y2: 3810.7650000000003});
5
+ CREATE (:Component {id: 's5', type: 'fitting', x1: 1236.49, y1: 2585.452, x2: 1322.8110000000001, y2: 2823.418});
6
+ CREATE (:Component {id: 's6', type: 'equipment', x1: 4396.483, y1: 3297.505, x2: 4506.134, y2: 3479.4790000000003});
7
+ CREATE (:Component {id: 's7', type: 'off_page', x1: 1838.4040000000002, y1: 4013.736, x2: 1987.7160000000001, y2: 4128.053});
8
+ CREATE (:Component {id: 's8', type: 'instrument', x1: 5005.285, y1: 1572.4420000000002, x2: 5168.595, y2: 1675.094});
9
+ CREATE (:Component {id: 's9', type: 'equipment', x1: 5644.527, y1: 888.873, x2: 5798.505, y2: 993.8580000000001});
10
+ CREATE (:Component {id: 's10', type: 'equipment', x1: 3771.239, y1: 2966.219, x2: 3864.559, y2: 3127.196});
11
+ CREATE (:Component {id: 's11', type: 'valve', x1: 2475.202, y1: 3008.213, x2: 2622.181, y2: 3085.202});
12
+ CREATE (:Component {id: 's12', type: 'valve', x1: 3133.108, y1: 2653.1090000000004, x2: 3235.76, y2: 2758.094});
13
+ CREATE (:Component {id: 's13', type: 'equipment', x1: 3780.571, y1: 2293.827, x2: 3852.8940000000002, y2: 2433.807});
14
+ CREATE (:Component {id: 's14', type: 'fitting', x1: 6286.102, y1: 1929.879, x2: 6423.749, y2: 2002.2020000000002});
15
+ CREATE (:Component {id: 's15', type: 'valve', x1: 2505.531, y1: 2307.825, x2: 2594.1850000000004, y2: 2417.476});
16
+ CREATE (:Component {id: 's16', type: 'valve', x1: 5051.945, y1: 1897.217, x2: 5121.935, y2: 2032.531});
17
+ CREATE (:Component {id: 's17', type: 'instrument', x1: 578.5840000000001, y1: 905.2040000000001, x2: 711.565, y2: 975.1940000000001});
18
+ CREATE (:Component {id: 's18', type: 'fitting', x1: 5019.283, y1: 905.2040000000001, x2: 5152.264, y2: 975.1940000000001});
19
+ CREATE (:Component {id: 's19', type: 'fitting', x1: 4417.48, y1: 1556.111, x2: 4485.137000000001, y2: 1691.4250000000002});
20
+ CREATE (:Component {id: 's20', type: 'instrument', tag: 'G', x1: 1875.7320000000002, y1: 566.9190000000001, x2: 1952.7210000000002, y2: 629.9100000000001});
21
+ CREATE (:Component {id: 's21', type: 'off_page', x1: 620.5780000000001, y1: 3682.45, x2: 669.571, y2: 3780.436});
22
+ CREATE (:Junction {id: 'j1', type: 'junction', x1: 3389.8113333333336, y1: 2339.7641666666664, x2: 3399.8113333333336, y2: 2349.7641666666664});
23
+ CREATE (:Junction {id: 'j2', type: 'junction', x1: 2924.2482, y1: 1288.0462000000002, x2: 2934.2482, y2: 1298.0462000000002});
24
+ MATCH (a {id: 's1'}), (b {id: 'j1'}) CREATE (a)-[:PIPE]->(b);
25
+ MATCH (a {id: 's12'}), (b {id: 'j1'}) CREATE (a)-[:PIPE]->(b);
26
+ MATCH (a {id: 's13'}), (b {id: 'j1'}) CREATE (a)-[:PIPE]->(b);
27
+ MATCH (a {id: 's10'}), (b {id: 's11'}) CREATE (a)-[:PIPE]->(b);
28
+ MATCH (a {id: 's10'}), (b {id: 's13'}) CREATE (a)-[:PIPE]->(b);
29
+ MATCH (a {id: 's12'}), (b {id: 's5'}) CREATE (a)-[:PIPE]->(b);
30
+ MATCH (a {id: 's14'}), (b {id: 's16'}) CREATE (a)-[:PIPE]->(b);
31
+ MATCH (a {id: 's14'}), (b {id: 's2'}) CREATE (a)-[:PIPE]->(b);
32
+ MATCH (a {id: 's15'}), (b {id: 's19'}) CREATE (a)-[:PIPE]->(b);
33
+ MATCH (a {id: 's17'}), (b {id: 'j2'}) CREATE (a)-[:PIPE]->(b);
34
+ MATCH (a {id: 's18'}), (b {id: 'j2'}) CREATE (a)-[:PIPE]->(b);
35
+ MATCH (a {id: 's20'}), (b {id: 'j2'}) CREATE (a)-[:PIPE]->(b);
36
+ MATCH (a {id: 's3'}), (b {id: 'j2'}) CREATE (a)-[:PIPE]->(b);
37
+ MATCH (a {id: 's5'}), (b {id: 'j2'}) CREATE (a)-[:PIPE]->(b);
38
+ MATCH (a {id: 's18'}), (b {id: 's9'}) CREATE (a)-[:PIPE]->(b);
39
+ MATCH (a {id: 's19'}), (b {id: 's6'}) CREATE (a)-[:PIPE]->(b);
40
+ MATCH (a {id: 's2'}), (b {id: 's20'}) CREATE (a)-[:PIPE]->(b);
41
+ MATCH (a {id: 's3'}), (b {id: 's9'}) CREATE (a)-[:PIPE]->(b);
42
+ MATCH (a {id: 's4'}), (b {id: 's7'}) CREATE (a)-[:PIPE]->(b);
 
 
data/synth-0/out/graph.graphml CHANGED
@@ -10,229 +10,223 @@
10
  <key id="edge_line" for="edge" attr.name="line" attr.type="string" />
11
  <graph edgedefault="undirected">
12
  <node id="s1">
13
- <data key="node_type">control_valve</data>
14
- <data key="node_x1">5050</data>
15
- <data key="node_y1">1895</data>
16
- <data key="node_x2">5125</data>
17
- <data key="node_y2">2035</data>
18
- </node>
19
- <node id="s2">
20
  <data key="node_type">vessel</data>
21
  <data key="node_x1">3105.112</data>
22
- <data key="node_y1">1848.2240000000002</data>
23
  <data key="node_x2">3261.4230000000002</data>
24
  <data key="node_y2">2079.191</data>
25
  </node>
26
- <node id="s4">
27
  <data key="node_type">equipment</data>
28
- <data key="node_x1">6234.776</data>
29
  <data key="node_y1">534.2570000000001</data>
30
- <data key="node_x2">6475.075</data>
31
  <data key="node_y2">662.572</data>
32
  </node>
33
- <node id="s5">
34
  <data key="node_type">equipment</data>
35
- <data key="node_x1">5616.531</data>
36
  <data key="node_y1">1215.4930000000002</data>
37
- <data key="node_x2">5821.835</data>
38
  <data key="node_y2">1348.4740000000002</data>
39
  </node>
40
- <node id="s6">
41
- <data key="node_type">heat_exchanger</data>
42
  <data key="node_x1">4373.153</data>
43
- <data key="node_y1">3647.455</data>
44
  <data key="node_x2">4529.464</data>
45
  <data key="node_y2">3810.7650000000003</data>
46
  </node>
47
- <node id="s7">
48
  <data key="node_type">fitting</data>
49
  <data key="node_x1">1236.49</data>
50
  <data key="node_y1">2585.452</data>
51
  <data key="node_x2">1322.8110000000001</data>
52
  <data key="node_y2">2823.418</data>
53
  </node>
54
- <node id="s8">
55
- <data key="node_type">vessel</data>
56
- <data key="node_x1">4398.816</data>
57
- <data key="node_y1">3299.838</data>
58
  <data key="node_x2">4506.134</data>
59
  <data key="node_y2">3479.4790000000003</data>
60
  </node>
61
- <node id="s9">
62
  <data key="node_type">off_page</data>
63
  <data key="node_x1">1838.4040000000002</data>
64
  <data key="node_y1">4013.736</data>
65
  <data key="node_x2">1987.7160000000001</data>
66
- <data key="node_y2">4125.72</data>
67
  </node>
68
- <node id="s10">
69
- <data key="node_type">off_page</data>
 
 
 
 
 
 
 
70
  <data key="node_x1">5644.527</data>
71
- <data key="node_y1">886.5400000000001</data>
72
  <data key="node_x2">5798.505</data>
73
  <data key="node_y2">993.8580000000001</data>
74
  </node>
75
- <node id="s11">
76
  <data key="node_type">equipment</data>
77
  <data key="node_x1">3771.239</data>
78
  <data key="node_y1">2966.219</data>
79
  <data key="node_x2">3864.559</data>
80
- <data key="node_y2">3129.529</data>
81
  </node>
82
- <node id="s12">
83
  <data key="node_type">valve</data>
84
  <data key="node_x1">2475.202</data>
85
- <data key="node_y1">3005.392</data>
86
  <data key="node_x2">2622.181</data>
87
- <data key="node_y2">3084.714</data>
88
  </node>
89
- <node id="s13">
90
  <data key="node_type">valve</data>
91
- <data key="node_x1">3130.775</data>
92
- <data key="node_y1">2653.597</data>
93
  <data key="node_x2">3235.76</data>
94
- <data key="node_y2">2756.249</data>
95
  </node>
96
- <node id="s14">
97
- <data key="node_type">pump</data>
98
  <data key="node_x1">3780.571</data>
99
  <data key="node_y1">2293.827</data>
100
- <data key="node_x2">3855.227</data>
101
  <data key="node_y2">2433.807</data>
102
  </node>
 
 
 
 
 
 
 
103
  <node id="s15">
104
  <data key="node_type">valve</data>
105
- <data key="node_x1">2503.1980000000003</data>
106
- <data key="node_y1">2308.313</data>
107
  <data key="node_x2">2594.1850000000004</data>
108
- <data key="node_y2">2417.964</data>
109
  </node>
110
  <node id="s16">
111
- <data key="node_type">fitting</data>
112
- <data key="node_x1">6286.102</data>
113
- <data key="node_y1">1929.391</data>
114
- <data key="node_x2">6423.749</data>
115
- <data key="node_y2">2001.7140000000002</data>
116
  </node>
117
  <node id="s17">
118
- <data key="node_type">heat_exchanger</data>
119
- <data key="node_x1">4415.147</data>
120
- <data key="node_y1">1556.5990000000002</data>
121
- <data key="node_x2">4487.47</data>
122
- <data key="node_y2">1691.913</data>
123
- </node>
124
- <node id="s18">
125
- <data key="node_type">fitting</data>
126
  <data key="node_x1">578.5840000000001</data>
127
  <data key="node_y1">905.2040000000001</data>
128
  <data key="node_x2">711.565</data>
129
  <data key="node_y2">975.1940000000001</data>
130
  </node>
131
- <node id="s19">
132
  <data key="node_type">fitting</data>
133
  <data key="node_x1">5019.283</data>
134
- <data key="node_y1">907.537</data>
135
- <data key="node_x2">5154.597</data>
136
  <data key="node_y2">975.1940000000001</data>
137
  </node>
138
- <node id="s20">
139
- <data key="node_type">off_page</data>
140
- <data key="node_x1">618.245</data>
141
- <data key="node_y1">3682.45</data>
142
- <data key="node_x2">669.571</data>
143
- <data key="node_y2">3780.436</data>
144
- </node>
145
- <node id="s21">
146
  <data key="node_type">fitting</data>
 
 
 
 
 
 
 
147
  <data key="node_tag">G</data>
148
  <data key="node_x1">1875.7320000000002</data>
149
  <data key="node_y1">566.9190000000001</data>
150
  <data key="node_x2">1952.7210000000002</data>
151
  <data key="node_y2">629.9100000000001</data>
152
  </node>
153
- <node id="s22">
154
- <data key="node_type">equipment</data>
155
- <data key="node_x1">5005</data>
156
- <data key="node_y1">1572</data>
157
- <data key="node_x2">5155</data>
158
- <data key="node_y2">1675</data>
159
  </node>
160
  <node id="j1">
161
  <data key="node_type">junction</data>
162
- <data key="node_x1">2540</data>
163
- <data key="node_y1">1957</data>
164
- <data key="node_x2">2556</data>
165
- <data key="node_y2">1973</data>
166
  </node>
167
  <node id="j2">
168
  <data key="node_type">junction</data>
169
- <data key="node_x1">3175</data>
170
- <data key="node_y1">2355</data>
171
- <data key="node_x2">3191</data>
172
- <data key="node_y2">2371</data>
173
  </node>
174
- <edge id="e0" source="s21" target="s4">
175
  <data key="edge_kind">process</data>
176
  </edge>
177
- <edge id="e1" source="s4" target="s16">
178
  <data key="edge_kind">process</data>
179
  </edge>
180
- <edge id="e2" source="s16" target="s1">
181
  <data key="edge_kind">process</data>
182
  </edge>
183
- <edge id="e3" source="s18" target="s19">
184
  <data key="edge_kind">process</data>
185
  </edge>
186
- <edge id="e4" source="s19" target="s10">
187
  <data key="edge_kind">process</data>
188
  </edge>
189
- <edge id="e5" source="s10" target="s5">
190
  <data key="edge_kind">process</data>
191
  </edge>
192
- <edge id="e6" source="s5" target="s7">
193
  <data key="edge_kind">process</data>
194
  </edge>
195
- <edge id="e7" source="s7" target="s13">
196
  <data key="edge_kind">process</data>
197
  </edge>
198
- <edge id="e8" source="s13" target="j2">
199
  <data key="edge_kind">process</data>
200
  </edge>
201
- <edge id="e9" source="s2" target="j2">
202
  <data key="edge_kind">process</data>
203
  </edge>
204
- <edge id="e10" source="j2" target="s14">
205
  <data key="edge_kind">process</data>
206
  </edge>
207
- <edge id="e11" source="s14" target="s11">
208
  <data key="edge_kind">process</data>
209
  </edge>
210
- <edge id="e12" source="s11" target="s12">
211
  <data key="edge_kind">process</data>
212
  </edge>
213
- <edge id="e13" source="s15" target="j1">
214
  <data key="edge_kind">process</data>
215
  </edge>
216
- <edge id="e14" source="j1" target="s17">
217
  <data key="edge_kind">process</data>
218
  </edge>
219
- <edge id="e15" source="s17" target="s8">
220
  <data key="edge_kind">process</data>
221
  </edge>
222
- <edge id="e16" source="s21" target="s9">
223
  <data key="edge_kind">process</data>
224
  </edge>
225
- <edge id="e17" source="s22" target="s1">
226
- <data key="edge_kind">signal</data>
227
- </edge>
228
- <edge id="e18" source="j1" target="s2">
229
- <data key="edge_kind">signal</data>
230
- </edge>
231
- <edge id="e19" source="s8" target="s6">
232
- <data key="edge_kind">signal</data>
233
  </edge>
234
- <edge id="e20" source="s20" target="s6">
235
- <data key="edge_kind">signal</data>
236
  </edge>
237
  </graph>
238
  </graphml>
 
10
  <key id="edge_line" for="edge" attr.name="line" attr.type="string" />
11
  <graph edgedefault="undirected">
12
  <node id="s1">
 
 
 
 
 
 
 
13
  <data key="node_type">vessel</data>
14
  <data key="node_x1">3105.112</data>
15
+ <data key="node_y1">1850.557</data>
16
  <data key="node_x2">3261.4230000000002</data>
17
  <data key="node_y2">2079.191</data>
18
  </node>
19
+ <node id="s2">
20
  <data key="node_type">equipment</data>
21
+ <data key="node_x1">6237.109</data>
22
  <data key="node_y1">534.2570000000001</data>
23
+ <data key="node_x2">6477.408</data>
24
  <data key="node_y2">662.572</data>
25
  </node>
26
+ <node id="s3">
27
  <data key="node_type">equipment</data>
28
+ <data key="node_x1">5618.864</data>
29
  <data key="node_y1">1215.4930000000002</data>
30
+ <data key="node_x2">5824.168</data>
31
  <data key="node_y2">1348.4740000000002</data>
32
  </node>
33
+ <node id="s4">
34
+ <data key="node_type">equipment</data>
35
  <data key="node_x1">4373.153</data>
36
+ <data key="node_y1">3649.788</data>
37
  <data key="node_x2">4529.464</data>
38
  <data key="node_y2">3810.7650000000003</data>
39
  </node>
40
+ <node id="s5">
41
  <data key="node_type">fitting</data>
42
  <data key="node_x1">1236.49</data>
43
  <data key="node_y1">2585.452</data>
44
  <data key="node_x2">1322.8110000000001</data>
45
  <data key="node_y2">2823.418</data>
46
  </node>
47
+ <node id="s6">
48
+ <data key="node_type">equipment</data>
49
+ <data key="node_x1">4396.483</data>
50
+ <data key="node_y1">3297.505</data>
51
  <data key="node_x2">4506.134</data>
52
  <data key="node_y2">3479.4790000000003</data>
53
  </node>
54
+ <node id="s7">
55
  <data key="node_type">off_page</data>
56
  <data key="node_x1">1838.4040000000002</data>
57
  <data key="node_y1">4013.736</data>
58
  <data key="node_x2">1987.7160000000001</data>
59
+ <data key="node_y2">4128.053</data>
60
  </node>
61
+ <node id="s8">
62
+ <data key="node_type">instrument</data>
63
+ <data key="node_x1">5005.285</data>
64
+ <data key="node_y1">1572.4420000000002</data>
65
+ <data key="node_x2">5168.595</data>
66
+ <data key="node_y2">1675.094</data>
67
+ </node>
68
+ <node id="s9">
69
+ <data key="node_type">equipment</data>
70
  <data key="node_x1">5644.527</data>
71
+ <data key="node_y1">888.873</data>
72
  <data key="node_x2">5798.505</data>
73
  <data key="node_y2">993.8580000000001</data>
74
  </node>
75
+ <node id="s10">
76
  <data key="node_type">equipment</data>
77
  <data key="node_x1">3771.239</data>
78
  <data key="node_y1">2966.219</data>
79
  <data key="node_x2">3864.559</data>
80
+ <data key="node_y2">3127.196</data>
81
  </node>
82
+ <node id="s11">
83
  <data key="node_type">valve</data>
84
  <data key="node_x1">2475.202</data>
85
+ <data key="node_y1">3008.213</data>
86
  <data key="node_x2">2622.181</data>
87
+ <data key="node_y2">3085.202</data>
88
  </node>
89
+ <node id="s12">
90
  <data key="node_type">valve</data>
91
+ <data key="node_x1">3133.108</data>
92
+ <data key="node_y1">2653.1090000000004</data>
93
  <data key="node_x2">3235.76</data>
94
+ <data key="node_y2">2758.094</data>
95
  </node>
96
+ <node id="s13">
97
+ <data key="node_type">equipment</data>
98
  <data key="node_x1">3780.571</data>
99
  <data key="node_y1">2293.827</data>
100
+ <data key="node_x2">3852.8940000000002</data>
101
  <data key="node_y2">2433.807</data>
102
  </node>
103
+ <node id="s14">
104
+ <data key="node_type">fitting</data>
105
+ <data key="node_x1">6286.102</data>
106
+ <data key="node_y1">1929.879</data>
107
+ <data key="node_x2">6423.749</data>
108
+ <data key="node_y2">2002.2020000000002</data>
109
+ </node>
110
  <node id="s15">
111
  <data key="node_type">valve</data>
112
+ <data key="node_x1">2505.531</data>
113
+ <data key="node_y1">2307.825</data>
114
  <data key="node_x2">2594.1850000000004</data>
115
+ <data key="node_y2">2417.476</data>
116
  </node>
117
  <node id="s16">
118
+ <data key="node_type">valve</data>
119
+ <data key="node_x1">5051.945</data>
120
+ <data key="node_y1">1897.217</data>
121
+ <data key="node_x2">5121.935</data>
122
+ <data key="node_y2">2032.531</data>
123
  </node>
124
  <node id="s17">
125
+ <data key="node_type">instrument</data>
 
 
 
 
 
 
 
126
  <data key="node_x1">578.5840000000001</data>
127
  <data key="node_y1">905.2040000000001</data>
128
  <data key="node_x2">711.565</data>
129
  <data key="node_y2">975.1940000000001</data>
130
  </node>
131
+ <node id="s18">
132
  <data key="node_type">fitting</data>
133
  <data key="node_x1">5019.283</data>
134
+ <data key="node_y1">905.2040000000001</data>
135
+ <data key="node_x2">5152.264</data>
136
  <data key="node_y2">975.1940000000001</data>
137
  </node>
138
+ <node id="s19">
 
 
 
 
 
 
 
139
  <data key="node_type">fitting</data>
140
+ <data key="node_x1">4417.48</data>
141
+ <data key="node_y1">1556.111</data>
142
+ <data key="node_x2">4485.137000000001</data>
143
+ <data key="node_y2">1691.4250000000002</data>
144
+ </node>
145
+ <node id="s20">
146
+ <data key="node_type">instrument</data>
147
  <data key="node_tag">G</data>
148
  <data key="node_x1">1875.7320000000002</data>
149
  <data key="node_y1">566.9190000000001</data>
150
  <data key="node_x2">1952.7210000000002</data>
151
  <data key="node_y2">629.9100000000001</data>
152
  </node>
153
+ <node id="s21">
154
+ <data key="node_type">off_page</data>
155
+ <data key="node_x1">620.5780000000001</data>
156
+ <data key="node_y1">3682.45</data>
157
+ <data key="node_x2">669.571</data>
158
+ <data key="node_y2">3780.436</data>
159
  </node>
160
  <node id="j1">
161
  <data key="node_type">junction</data>
162
+ <data key="node_x1">3389.8113333333336</data>
163
+ <data key="node_y1">2339.7641666666664</data>
164
+ <data key="node_x2">3399.8113333333336</data>
165
+ <data key="node_y2">2349.7641666666664</data>
166
  </node>
167
  <node id="j2">
168
  <data key="node_type">junction</data>
169
+ <data key="node_x1">2924.2482</data>
170
+ <data key="node_y1">1288.0462000000002</data>
171
+ <data key="node_x2">2934.2482</data>
172
+ <data key="node_y2">1298.0462000000002</data>
173
  </node>
174
+ <edge id="e0" source="s1" target="j1">
175
  <data key="edge_kind">process</data>
176
  </edge>
177
+ <edge id="e1" source="s12" target="j1">
178
  <data key="edge_kind">process</data>
179
  </edge>
180
+ <edge id="e2" source="s13" target="j1">
181
  <data key="edge_kind">process</data>
182
  </edge>
183
+ <edge id="e3" source="s10" target="s11">
184
  <data key="edge_kind">process</data>
185
  </edge>
186
+ <edge id="e4" source="s10" target="s13">
187
  <data key="edge_kind">process</data>
188
  </edge>
189
+ <edge id="e5" source="s12" target="s5">
190
  <data key="edge_kind">process</data>
191
  </edge>
192
+ <edge id="e6" source="s14" target="s16">
193
  <data key="edge_kind">process</data>
194
  </edge>
195
+ <edge id="e7" source="s14" target="s2">
196
  <data key="edge_kind">process</data>
197
  </edge>
198
+ <edge id="e8" source="s15" target="s19">
199
  <data key="edge_kind">process</data>
200
  </edge>
201
+ <edge id="e9" source="s17" target="j2">
202
  <data key="edge_kind">process</data>
203
  </edge>
204
+ <edge id="e10" source="s18" target="j2">
205
  <data key="edge_kind">process</data>
206
  </edge>
207
+ <edge id="e11" source="s20" target="j2">
208
  <data key="edge_kind">process</data>
209
  </edge>
210
+ <edge id="e12" source="s3" target="j2">
211
  <data key="edge_kind">process</data>
212
  </edge>
213
+ <edge id="e13" source="s5" target="j2">
214
  <data key="edge_kind">process</data>
215
  </edge>
216
+ <edge id="e14" source="s18" target="s9">
217
  <data key="edge_kind">process</data>
218
  </edge>
219
+ <edge id="e15" source="s19" target="s6">
220
  <data key="edge_kind">process</data>
221
  </edge>
222
+ <edge id="e16" source="s2" target="s20">
223
  <data key="edge_kind">process</data>
224
  </edge>
225
+ <edge id="e17" source="s3" target="s9">
226
+ <data key="edge_kind">process</data>
 
 
 
 
 
 
227
  </edge>
228
+ <edge id="e18" source="s4" target="s7">
229
+ <data key="edge_kind">process</data>
230
  </edge>
231
  </graph>
232
  </graphml>
data/synth-0/out/graph.json DELETED
@@ -1,370 +0,0 @@
1
- {
2
- "image": {
3
- "file": "drawing.jpg",
4
- "width": 7000,
5
- "height": 4500
6
- },
7
- "nodes": [
8
- {
9
- "id": "s1",
10
- "type": "control_valve",
11
- "tag": null,
12
- "bbox": [
13
- 5050,
14
- 1895,
15
- 5125,
16
- 2035
17
- ]
18
- },
19
- {
20
- "id": "s2",
21
- "type": "vessel",
22
- "tag": null,
23
- "bbox": [
24
- 3105.112,
25
- 1848.2240000000002,
26
- 3261.4230000000002,
27
- 2079.191
28
- ]
29
- },
30
- {
31
- "id": "s4",
32
- "type": "equipment",
33
- "tag": null,
34
- "bbox": [
35
- 6234.776,
36
- 534.2570000000001,
37
- 6475.075,
38
- 662.572
39
- ]
40
- },
41
- {
42
- "id": "s5",
43
- "type": "equipment",
44
- "tag": null,
45
- "bbox": [
46
- 5616.531,
47
- 1215.4930000000002,
48
- 5821.835,
49
- 1348.4740000000002
50
- ]
51
- },
52
- {
53
- "id": "s6",
54
- "type": "heat_exchanger",
55
- "tag": null,
56
- "bbox": [
57
- 4373.153,
58
- 3647.455,
59
- 4529.464,
60
- 3810.7650000000003
61
- ]
62
- },
63
- {
64
- "id": "s7",
65
- "type": "fitting",
66
- "tag": null,
67
- "bbox": [
68
- 1236.49,
69
- 2585.452,
70
- 1322.8110000000001,
71
- 2823.418
72
- ]
73
- },
74
- {
75
- "id": "s8",
76
- "type": "vessel",
77
- "tag": null,
78
- "bbox": [
79
- 4398.816,
80
- 3299.838,
81
- 4506.134,
82
- 3479.4790000000003
83
- ]
84
- },
85
- {
86
- "id": "s9",
87
- "type": "off_page",
88
- "tag": null,
89
- "bbox": [
90
- 1838.4040000000002,
91
- 4013.736,
92
- 1987.7160000000001,
93
- 4125.72
94
- ]
95
- },
96
- {
97
- "id": "s10",
98
- "type": "off_page",
99
- "tag": null,
100
- "bbox": [
101
- 5644.527,
102
- 886.5400000000001,
103
- 5798.505,
104
- 993.8580000000001
105
- ]
106
- },
107
- {
108
- "id": "s11",
109
- "type": "equipment",
110
- "tag": null,
111
- "bbox": [
112
- 3771.239,
113
- 2966.219,
114
- 3864.559,
115
- 3129.529
116
- ]
117
- },
118
- {
119
- "id": "s12",
120
- "type": "valve",
121
- "tag": null,
122
- "bbox": [
123
- 2475.202,
124
- 3005.392,
125
- 2622.181,
126
- 3084.714
127
- ]
128
- },
129
- {
130
- "id": "s13",
131
- "type": "valve",
132
- "tag": null,
133
- "bbox": [
134
- 3130.775,
135
- 2653.597,
136
- 3235.76,
137
- 2756.249
138
- ]
139
- },
140
- {
141
- "id": "s14",
142
- "type": "pump",
143
- "tag": null,
144
- "bbox": [
145
- 3780.571,
146
- 2293.827,
147
- 3855.227,
148
- 2433.807
149
- ]
150
- },
151
- {
152
- "id": "s15",
153
- "type": "valve",
154
- "tag": null,
155
- "bbox": [
156
- 2503.1980000000003,
157
- 2308.313,
158
- 2594.1850000000004,
159
- 2417.964
160
- ]
161
- },
162
- {
163
- "id": "s16",
164
- "type": "fitting",
165
- "tag": null,
166
- "bbox": [
167
- 6286.102,
168
- 1929.391,
169
- 6423.749,
170
- 2001.7140000000002
171
- ]
172
- },
173
- {
174
- "id": "s17",
175
- "type": "heat_exchanger",
176
- "tag": null,
177
- "bbox": [
178
- 4415.147,
179
- 1556.5990000000002,
180
- 4487.47,
181
- 1691.913
182
- ]
183
- },
184
- {
185
- "id": "s18",
186
- "type": "fitting",
187
- "tag": null,
188
- "bbox": [
189
- 578.5840000000001,
190
- 905.2040000000001,
191
- 711.565,
192
- 975.1940000000001
193
- ]
194
- },
195
- {
196
- "id": "s19",
197
- "type": "fitting",
198
- "tag": null,
199
- "bbox": [
200
- 5019.283,
201
- 907.537,
202
- 5154.597,
203
- 975.1940000000001
204
- ]
205
- },
206
- {
207
- "id": "s20",
208
- "type": "off_page",
209
- "tag": null,
210
- "bbox": [
211
- 618.245,
212
- 3682.45,
213
- 669.571,
214
- 3780.436
215
- ]
216
- },
217
- {
218
- "id": "s21",
219
- "type": "fitting",
220
- "tag": "G",
221
- "bbox": [
222
- 1875.7320000000002,
223
- 566.9190000000001,
224
- 1952.7210000000002,
225
- 629.9100000000001
226
- ]
227
- },
228
- {
229
- "id": "s22",
230
- "type": "equipment",
231
- "tag": null,
232
- "bbox": [
233
- 5005,
234
- 1572,
235
- 5155,
236
- 1675
237
- ]
238
- },
239
- {
240
- "id": "j1",
241
- "type": "junction",
242
- "tag": null,
243
- "bbox": [
244
- 2540,
245
- 1957,
246
- 2556,
247
- 1973
248
- ]
249
- },
250
- {
251
- "id": "j2",
252
- "type": "junction",
253
- "tag": null,
254
- "bbox": [
255
- 3175,
256
- 2355,
257
- 3191,
258
- 2371
259
- ]
260
- }
261
- ],
262
- "edges": [
263
- {
264
- "source": "s21",
265
- "target": "s4",
266
- "kind": "process"
267
- },
268
- {
269
- "source": "s4",
270
- "target": "s16",
271
- "kind": "process"
272
- },
273
- {
274
- "source": "s16",
275
- "target": "s1",
276
- "kind": "process"
277
- },
278
- {
279
- "source": "s18",
280
- "target": "s19",
281
- "kind": "process"
282
- },
283
- {
284
- "source": "s19",
285
- "target": "s10",
286
- "kind": "process"
287
- },
288
- {
289
- "source": "s10",
290
- "target": "s5",
291
- "kind": "process"
292
- },
293
- {
294
- "source": "s5",
295
- "target": "s7",
296
- "kind": "process"
297
- },
298
- {
299
- "source": "s7",
300
- "target": "s13",
301
- "kind": "process"
302
- },
303
- {
304
- "source": "s13",
305
- "target": "j2",
306
- "kind": "process"
307
- },
308
- {
309
- "source": "s2",
310
- "target": "j2",
311
- "kind": "process"
312
- },
313
- {
314
- "source": "j2",
315
- "target": "s14",
316
- "kind": "process"
317
- },
318
- {
319
- "source": "s14",
320
- "target": "s11",
321
- "kind": "process"
322
- },
323
- {
324
- "source": "s11",
325
- "target": "s12",
326
- "kind": "process"
327
- },
328
- {
329
- "source": "s15",
330
- "target": "j1",
331
- "kind": "process"
332
- },
333
- {
334
- "source": "j1",
335
- "target": "s17",
336
- "kind": "process"
337
- },
338
- {
339
- "source": "s17",
340
- "target": "s8",
341
- "kind": "process"
342
- },
343
- {
344
- "source": "s21",
345
- "target": "s9",
346
- "kind": "process"
347
- },
348
- {
349
- "source": "s22",
350
- "target": "s1",
351
- "kind": "signal"
352
- },
353
- {
354
- "source": "j1",
355
- "target": "s2",
356
- "kind": "signal"
357
- },
358
- {
359
- "source": "s8",
360
- "target": "s6",
361
- "kind": "signal"
362
- },
363
- {
364
- "source": "s20",
365
- "target": "s6",
366
- "kind": "signal",
367
- "notes": "Mixed line styling: dashed from s20 to x\u22481914 at y\u22483730, solid thereafter to s6. Classified signal because of dashed source segment; process/signal semantics unresolved. Crossing with s21\u2013s9 is not connected (no dot or tee)."
368
- }
369
- ]
370
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
data/synth-0/out/nodes.csv CHANGED
@@ -1,24 +1,24 @@
1
  id,type,tag,x1,y1,x2,y2
2
- s1,control_valve,,5050,1895,5125,2035
3
- s2,vessel,,3105.112,1848.2240000000002,3261.4230000000002,2079.191
4
- s4,equipment,,6234.776,534.2570000000001,6475.075,662.572
5
- s5,equipment,,5616.531,1215.4930000000002,5821.835,1348.4740000000002
6
- s6,heat_exchanger,,4373.153,3647.455,4529.464,3810.7650000000003
7
- s7,fitting,,1236.49,2585.452,1322.8110000000001,2823.418
8
- s8,vessel,,4398.816,3299.838,4506.134,3479.4790000000003
9
- s9,off_page,,1838.4040000000002,4013.736,1987.7160000000001,4125.72
10
- s10,off_page,,5644.527,886.5400000000001,5798.505,993.8580000000001
11
- s11,equipment,,3771.239,2966.219,3864.559,3129.529
12
- s12,valve,,2475.202,3005.392,2622.181,3084.714
13
- s13,valve,,3130.775,2653.597,3235.76,2756.249
14
- s14,pump,,3780.571,2293.827,3855.227,2433.807
15
- s15,valve,,2503.1980000000003,2308.313,2594.1850000000004,2417.964
16
- s16,fitting,,6286.102,1929.391,6423.749,2001.7140000000002
17
- s17,heat_exchanger,,4415.147,1556.5990000000002,4487.47,1691.913
18
- s18,fitting,,578.5840000000001,905.2040000000001,711.565,975.1940000000001
19
- s19,fitting,,5019.283,907.537,5154.597,975.1940000000001
20
- s20,off_page,,618.245,3682.45,669.571,3780.436
21
- s21,fitting,G,1875.7320000000002,566.9190000000001,1952.7210000000002,629.9100000000001
22
- s22,equipment,,5005,1572,5155,1675
23
- j1,junction,,2540,1957,2556,1973
24
- j2,junction,,3175,2355,3191,2371
 
1
  id,type,tag,x1,y1,x2,y2
2
+ s1,vessel,,3105.112,1850.557,3261.4230000000002,2079.191
3
+ s2,equipment,,6237.109,534.2570000000001,6477.408,662.572
4
+ s3,equipment,,5618.864,1215.4930000000002,5824.168,1348.4740000000002
5
+ s4,equipment,,4373.153,3649.788,4529.464,3810.7650000000003
6
+ s5,fitting,,1236.49,2585.452,1322.8110000000001,2823.418
7
+ s6,equipment,,4396.483,3297.505,4506.134,3479.4790000000003
8
+ s7,off_page,,1838.4040000000002,4013.736,1987.7160000000001,4128.053
9
+ s8,instrument,,5005.285,1572.4420000000002,5168.595,1675.094
10
+ s9,equipment,,5644.527,888.873,5798.505,993.8580000000001
11
+ s10,equipment,,3771.239,2966.219,3864.559,3127.196
12
+ s11,valve,,2475.202,3008.213,2622.181,3085.202
13
+ s12,valve,,3133.108,2653.1090000000004,3235.76,2758.094
14
+ s13,equipment,,3780.571,2293.827,3852.8940000000002,2433.807
15
+ s14,fitting,,6286.102,1929.879,6423.749,2002.2020000000002
16
+ s15,valve,,2505.531,2307.825,2594.1850000000004,2417.476
17
+ s16,valve,,5051.945,1897.217,5121.935,2032.531
18
+ s17,instrument,,578.5840000000001,905.2040000000001,711.565,975.1940000000001
19
+ s18,fitting,,5019.283,905.2040000000001,5152.264,975.1940000000001
20
+ s19,fitting,,4417.48,1556.111,4485.137000000001,1691.4250000000002
21
+ s20,instrument,G,1875.7320000000002,566.9190000000001,1952.7210000000002,629.9100000000001
22
+ s21,off_page,,620.5780000000001,3682.45,669.571,3780.436
23
+ j1,junction,,3389.8113333333336,2339.7641666666664,3399.8113333333336,2349.7641666666664
24
+ j2,junction,,2924.2482,1288.0462000000002,2934.2482,1298.0462000000002
data/synth-0/out/notes.md DELETED
@@ -1,11 +0,0 @@
1
- # Connection pass and review
2
-
3
- All 12 marked tiles reviewed by row (0_0–0_3, 1_0–1_3, 2_0–2_3), with overlap continuations checked. Tile 2_3 blank.
4
-
5
- ## Traces
6
- Row 0: s21–s4–s16–s1; s18–s19–s10–s5. Split s1 oversized detection into lower control valve s1 and upper equipment s22, joined by dashed signal. Upper symbol type uncertain; no readable tag.
7
- Row 1: s5–s7–s13–j2; s2–j2–s14–s11–s12. j2 at (3183,2363) is a three-way process tee. Removed s3, a false detection around the upper leg of the pipe loop feeding s14. s15–j1–s17–s8; j1 at (2548,1965) is a takeoff with dashed signal to s2.
8
- Row 2: s8–s6 dashed signal. s21–s9 solid process continuation. s20–s6 route changes from dashed to solid at approximately (1914,3730); retained as signal with explicit mixed-style note. That four-way crossing has neither a dot nor a tee; not connected to the vertical s21–s9 route. At (1914,2705), the vertical has a clear gap; also not connected. Unmarked upper crossings are not tees.
9
-
10
- ## Limitations
11
- Printed annotations are unusual and their exact role/readings are uncertain; no guessed line identifiers added. s12 and s15 each have only one connected pipe as drawn; no fabricated second ports. s22 specific symbol identification unresolved. Mixed style on s20–s6 is documented in graph edge notes; binary kind is signal based on dashed origin, not a claim that all its segments are dashed. Edge orientation is tracing order, not verified flow direction.
 
 
 
 
 
 
 
 
 
 
 
 
data/synth-0/out/pid.sql CHANGED
@@ -1,47 +1,45 @@
1
  -- P&ID graph: SQLite and PostgreSQL compatible
2
  CREATE TABLE components (id TEXT PRIMARY KEY, type TEXT NOT NULL, tag TEXT, x1 REAL, y1 REAL, x2 REAL, y2 REAL);
3
  CREATE TABLE connections (source TEXT NOT NULL REFERENCES components(id), target TEXT NOT NULL REFERENCES components(id), kind TEXT NOT NULL, line TEXT);
4
- INSERT INTO components VALUES ('s1', 'control_valve', NULL, 5050, 1895, 5125, 2035);
5
- INSERT INTO components VALUES ('s2', 'vessel', NULL, 3105.112, 1848.2240000000002, 3261.4230000000002, 2079.191);
6
- INSERT INTO components VALUES ('s4', 'equipment', NULL, 6234.776, 534.2570000000001, 6475.075, 662.572);
7
- INSERT INTO components VALUES ('s5', 'equipment', NULL, 5616.531, 1215.4930000000002, 5821.835, 1348.4740000000002);
8
- INSERT INTO components VALUES ('s6', 'heat_exchanger', NULL, 4373.153, 3647.455, 4529.464, 3810.7650000000003);
9
- INSERT INTO components VALUES ('s7', 'fitting', NULL, 1236.49, 2585.452, 1322.8110000000001, 2823.418);
10
- INSERT INTO components VALUES ('s8', 'vessel', NULL, 4398.816, 3299.838, 4506.134, 3479.4790000000003);
11
- INSERT INTO components VALUES ('s9', 'off_page', NULL, 1838.4040000000002, 4013.736, 1987.7160000000001, 4125.72);
12
- INSERT INTO components VALUES ('s10', 'off_page', NULL, 5644.527, 886.5400000000001, 5798.505, 993.8580000000001);
13
- INSERT INTO components VALUES ('s11', 'equipment', NULL, 3771.239, 2966.219, 3864.559, 3129.529);
14
- INSERT INTO components VALUES ('s12', 'valve', NULL, 2475.202, 3005.392, 2622.181, 3084.714);
15
- INSERT INTO components VALUES ('s13', 'valve', NULL, 3130.775, 2653.597, 3235.76, 2756.249);
16
- INSERT INTO components VALUES ('s14', 'pump', NULL, 3780.571, 2293.827, 3855.227, 2433.807);
17
- INSERT INTO components VALUES ('s15', 'valve', NULL, 2503.1980000000003, 2308.313, 2594.1850000000004, 2417.964);
18
- INSERT INTO components VALUES ('s16', 'fitting', NULL, 6286.102, 1929.391, 6423.749, 2001.7140000000002);
19
- INSERT INTO components VALUES ('s17', 'heat_exchanger', NULL, 4415.147, 1556.5990000000002, 4487.47, 1691.913);
20
- INSERT INTO components VALUES ('s18', 'fitting', NULL, 578.5840000000001, 905.2040000000001, 711.565, 975.1940000000001);
21
- INSERT INTO components VALUES ('s19', 'fitting', NULL, 5019.283, 907.537, 5154.597, 975.1940000000001);
22
- INSERT INTO components VALUES ('s20', 'off_page', NULL, 618.245, 3682.45, 669.571, 3780.436);
23
- INSERT INTO components VALUES ('s21', 'fitting', 'G', 1875.7320000000002, 566.9190000000001, 1952.7210000000002, 629.9100000000001);
24
- INSERT INTO components VALUES ('s22', 'equipment', NULL, 5005, 1572, 5155, 1675);
25
- INSERT INTO components VALUES ('j1', 'junction', NULL, 2540, 1957, 2556, 1973);
26
- INSERT INTO components VALUES ('j2', 'junction', NULL, 3175, 2355, 3191, 2371);
27
- INSERT INTO connections VALUES ('s21', 's4', 'process', NULL);
28
- INSERT INTO connections VALUES ('s4', 's16', 'process', NULL);
29
- INSERT INTO connections VALUES ('s16', 's1', 'process', NULL);
30
- INSERT INTO connections VALUES ('s18', 's19', 'process', NULL);
31
- INSERT INTO connections VALUES ('s19', 's10', 'process', NULL);
32
- INSERT INTO connections VALUES ('s10', 's5', 'process', NULL);
33
- INSERT INTO connections VALUES ('s5', 's7', 'process', NULL);
34
- INSERT INTO connections VALUES ('s7', 's13', 'process', NULL);
35
- INSERT INTO connections VALUES ('s13', 'j2', 'process', NULL);
36
- INSERT INTO connections VALUES ('s2', 'j2', 'process', NULL);
37
- INSERT INTO connections VALUES ('j2', 's14', 'process', NULL);
38
- INSERT INTO connections VALUES ('s14', 's11', 'process', NULL);
39
- INSERT INTO connections VALUES ('s11', 's12', 'process', NULL);
40
- INSERT INTO connections VALUES ('s15', 'j1', 'process', NULL);
41
- INSERT INTO connections VALUES ('j1', 's17', 'process', NULL);
42
- INSERT INTO connections VALUES ('s17', 's8', 'process', NULL);
43
- INSERT INTO connections VALUES ('s21', 's9', 'process', NULL);
44
- INSERT INTO connections VALUES ('s22', 's1', 'signal', NULL);
45
- INSERT INTO connections VALUES ('j1', 's2', 'signal', NULL);
46
- INSERT INTO connections VALUES ('s8', 's6', 'signal', NULL);
47
- INSERT INTO connections VALUES ('s20', 's6', 'signal', NULL);
 
1
  -- P&ID graph: SQLite and PostgreSQL compatible
2
  CREATE TABLE components (id TEXT PRIMARY KEY, type TEXT NOT NULL, tag TEXT, x1 REAL, y1 REAL, x2 REAL, y2 REAL);
3
  CREATE TABLE connections (source TEXT NOT NULL REFERENCES components(id), target TEXT NOT NULL REFERENCES components(id), kind TEXT NOT NULL, line TEXT);
4
+ INSERT INTO components VALUES ('s1', 'vessel', NULL, 3105.112, 1850.557, 3261.4230000000002, 2079.191);
5
+ INSERT INTO components VALUES ('s2', 'equipment', NULL, 6237.109, 534.2570000000001, 6477.408, 662.572);
6
+ INSERT INTO components VALUES ('s3', 'equipment', NULL, 5618.864, 1215.4930000000002, 5824.168, 1348.4740000000002);
7
+ INSERT INTO components VALUES ('s4', 'equipment', NULL, 4373.153, 3649.788, 4529.464, 3810.7650000000003);
8
+ INSERT INTO components VALUES ('s5', 'fitting', NULL, 1236.49, 2585.452, 1322.8110000000001, 2823.418);
9
+ INSERT INTO components VALUES ('s6', 'equipment', NULL, 4396.483, 3297.505, 4506.134, 3479.4790000000003);
10
+ INSERT INTO components VALUES ('s7', 'off_page', NULL, 1838.4040000000002, 4013.736, 1987.7160000000001, 4128.053);
11
+ INSERT INTO components VALUES ('s8', 'instrument', NULL, 5005.285, 1572.4420000000002, 5168.595, 1675.094);
12
+ INSERT INTO components VALUES ('s9', 'equipment', NULL, 5644.527, 888.873, 5798.505, 993.8580000000001);
13
+ INSERT INTO components VALUES ('s10', 'equipment', NULL, 3771.239, 2966.219, 3864.559, 3127.196);
14
+ INSERT INTO components VALUES ('s11', 'valve', NULL, 2475.202, 3008.213, 2622.181, 3085.202);
15
+ INSERT INTO components VALUES ('s12', 'valve', NULL, 3133.108, 2653.1090000000004, 3235.76, 2758.094);
16
+ INSERT INTO components VALUES ('s13', 'equipment', NULL, 3780.571, 2293.827, 3852.8940000000002, 2433.807);
17
+ INSERT INTO components VALUES ('s14', 'fitting', NULL, 6286.102, 1929.879, 6423.749, 2002.2020000000002);
18
+ INSERT INTO components VALUES ('s15', 'valve', NULL, 2505.531, 2307.825, 2594.1850000000004, 2417.476);
19
+ INSERT INTO components VALUES ('s16', 'valve', NULL, 5051.945, 1897.217, 5121.935, 2032.531);
20
+ INSERT INTO components VALUES ('s17', 'instrument', NULL, 578.5840000000001, 905.2040000000001, 711.565, 975.1940000000001);
21
+ INSERT INTO components VALUES ('s18', 'fitting', NULL, 5019.283, 905.2040000000001, 5152.264, 975.1940000000001);
22
+ INSERT INTO components VALUES ('s19', 'fitting', NULL, 4417.48, 1556.111, 4485.137000000001, 1691.4250000000002);
23
+ INSERT INTO components VALUES ('s20', 'instrument', 'G', 1875.7320000000002, 566.9190000000001, 1952.7210000000002, 629.9100000000001);
24
+ INSERT INTO components VALUES ('s21', 'off_page', NULL, 620.5780000000001, 3682.45, 669.571, 3780.436);
25
+ INSERT INTO components VALUES ('j1', 'junction', NULL, 3389.8113333333336, 2339.7641666666664, 3399.8113333333336, 2349.7641666666664);
26
+ INSERT INTO components VALUES ('j2', 'junction', NULL, 2924.2482, 1288.0462000000002, 2934.2482, 1298.0462000000002);
27
+ INSERT INTO connections VALUES ('s1', 'j1', 'process', NULL);
28
+ INSERT INTO connections VALUES ('s12', 'j1', 'process', NULL);
29
+ INSERT INTO connections VALUES ('s13', 'j1', 'process', NULL);
30
+ INSERT INTO connections VALUES ('s10', 's11', 'process', NULL);
31
+ INSERT INTO connections VALUES ('s10', 's13', 'process', NULL);
32
+ INSERT INTO connections VALUES ('s12', 's5', 'process', NULL);
33
+ INSERT INTO connections VALUES ('s14', 's16', 'process', NULL);
34
+ INSERT INTO connections VALUES ('s14', 's2', 'process', NULL);
35
+ INSERT INTO connections VALUES ('s15', 's19', 'process', NULL);
36
+ INSERT INTO connections VALUES ('s17', 'j2', 'process', NULL);
37
+ INSERT INTO connections VALUES ('s18', 'j2', 'process', NULL);
38
+ INSERT INTO connections VALUES ('s20', 'j2', 'process', NULL);
39
+ INSERT INTO connections VALUES ('s3', 'j2', 'process', NULL);
40
+ INSERT INTO connections VALUES ('s5', 'j2', 'process', NULL);
41
+ INSERT INTO connections VALUES ('s18', 's9', 'process', NULL);
42
+ INSERT INTO connections VALUES ('s19', 's6', 'process', NULL);
43
+ INSERT INTO connections VALUES ('s2', 's20', 'process', NULL);
44
+ INSERT INTO connections VALUES ('s3', 's9', 'process', NULL);
45
+ INSERT INTO connections VALUES ('s4', 's7', 'process', NULL);
 
 
data/synth-0/out/validation.txt DELETED
@@ -1,3 +0,0 @@
1
- WARN node s21: unusual tag 'G' (retained as drawn)
2
- 23 nodes, 21 edges, 0 errors, 1 warnings
3
- OK
 
 
 
 
data/synth-1/graph.json CHANGED
@@ -11,9 +11,9 @@
11
  "tag": null,
12
  "bbox": [
13
  4076.862,
14
- 1083.0,
15
- 4230.84,
16
- 1358.294
17
  ]
18
  },
19
  {
@@ -21,10 +21,10 @@
21
  "type": "equipment",
22
  "tag": null,
23
  "bbox": [
24
- 5180.371,
25
  478.26500000000004,
26
- 5325.017,
27
- 718.5640000000001
28
  ]
29
  },
30
  {
@@ -32,10 +32,10 @@
32
  "type": "equipment",
33
  "tag": null,
34
  "bbox": [
35
- 1800.9650000000001,
36
  3346.498,
37
- 1966.6080000000002,
38
- 3544.803
39
  ]
40
  },
41
  {
@@ -44,9 +44,9 @@
44
  "tag": null,
45
  "bbox": [
46
  2902.141,
47
- 1134.326,
48
  3067.784,
49
- 1316.3
50
  ]
51
  },
52
  {
@@ -55,9 +55,9 @@
55
  "tag": null,
56
  "bbox": [
57
  2349.2200000000003,
58
- 3026.389,
59
  2519.529,
60
- 3178.034
61
  ]
62
  },
63
  {
@@ -77,9 +77,9 @@
77
  "tag": null,
78
  "bbox": [
79
  2349.2200000000003,
80
- 3661.4530000000004,
81
  2519.529,
82
- 3799.1000000000004
83
  ]
84
  },
85
  {
@@ -90,66 +90,77 @@
90
  4662.445,
91
  1717.576,
92
  4746.433,
93
- 1985.871
94
  ]
95
  },
96
  {
97
  "id": "s9",
98
- "type": "equipment",
99
  "tag": null,
100
  "bbox": [
101
- 5180.371,
102
- 1498.2740000000001,
103
- 5329.683,
104
- 1635.921
105
  ]
106
  },
107
  {
108
  "id": "s10",
109
- "type": "equipment",
110
  "tag": null,
111
  "bbox": [
112
- 2916.139,
113
- 1498.2740000000001,
114
- 3053.786,
115
- 1635.921
116
  ]
117
  },
118
  {
119
  "id": "s11",
120
- "type": "equipment",
121
  "tag": null,
122
  "bbox": [
123
- 3450.396,
124
- 1512.272,
125
- 3620.7050000000004,
126
- 1619.5900000000001
127
  ]
128
  },
129
  {
130
  "id": "s12",
131
- "type": "valve",
132
  "tag": null,
133
  "bbox": [
134
- 5751.845,
135
- 1764.236,
136
  5856.83,
137
  1936.8780000000002
138
  ]
139
  },
140
  {
141
  "id": "s13",
142
- "type": "fitting",
143
  "tag": null,
144
  "bbox": [
145
- 1245.8220000000001,
146
- 3677.784,
147
- 1416.131,
148
- 3780.436
149
  ]
150
  },
151
  {
152
  "id": "s14",
 
 
 
 
 
 
 
 
 
 
 
153
  "type": "equipment",
154
  "tag": null,
155
  "bbox": [
@@ -160,58 +171,47 @@
160
  ]
161
  },
162
  {
163
- "id": "s15",
164
- "type": "fitting",
165
  "tag": "Tb6VAhFrl",
166
  "bbox": [
167
  727.8960000000001,
168
- 515.5930000000001,
169
  835.214,
170
  667.238
171
  ]
172
  },
173
- {
174
- "id": "s16",
175
- "type": "off_page",
176
- "tag": null,
177
- "bbox": [
178
- 6279.103,
179
- 3393.1580000000004,
180
- 6433.081,
181
- 3498.143
182
- ]
183
- },
184
  {
185
  "id": "s17",
186
- "type": "fitting",
187
  "tag": null,
188
  "bbox": [
189
- 734.8950000000001,
190
- 860.8770000000001,
191
- 830.5480000000001,
192
- 1019.5210000000001
193
  ]
194
  },
195
  {
196
  "id": "s18",
197
- "type": "check_valve",
198
  "tag": null,
199
  "bbox": [
200
- 1294.815,
201
- 837.547,
202
- 1369.471,
203
- 1040.518
204
  ]
205
  },
206
  {
207
  "id": "s19",
208
- "type": "heat_exchanger",
209
- "tag": null,
210
  "bbox": [
211
- 4095.526,
212
- 2413.2980000000002,
213
- 4209.843,
214
- 2543.946
215
  ]
216
  },
217
  {
@@ -220,8 +220,8 @@
220
  "tag": null,
221
  "bbox": [
222
  5205.923,
223
- 2125.851,
224
- 5303.909,
225
  2258.8320000000003
226
  ]
227
  },
@@ -232,8 +232,8 @@
232
  "bbox": [
233
  3479.614,
234
  2149.181,
235
- 3589.265,
236
- 2235.5020000000004
237
  ]
238
  },
239
  {
@@ -241,10 +241,10 @@
241
  "type": "equipment",
242
  "tag": null,
243
  "bbox": [
244
- 4643.781,
245
- 1530.9360000000001,
246
  4762.764,
247
- 1600.926
248
  ]
249
  },
250
  {
@@ -252,10 +252,10 @@
252
  "type": "valve",
253
  "tag": null,
254
  "bbox": [
255
- 4128.188,
256
  2805.242,
257
- 4174.848,
258
- 2830.905
259
  ]
260
  },
261
  {
@@ -263,154 +263,98 @@
263
  "type": "junction",
264
  "tag": null,
265
  "bbox": [
266
- 5250,
267
- 1847,
268
- 5260,
269
- 1857
270
- ]
271
- },
272
- {
273
- "id": "j2",
274
- "type": "junction",
275
- "tag": null,
276
- "bbox": [
277
- 2429,
278
- 3442,
279
- 2439,
280
- 3452
281
  ]
282
  }
283
  ],
284
  "edges": [
285
  {
286
- "source": "s15",
287
  "target": "s17",
288
  "kind": "process"
289
  },
290
  {
291
- "source": "s17",
292
- "target": "s18",
293
- "kind": "process"
294
- },
295
- {
296
- "source": "s15",
297
- "target": "s2",
298
  "kind": "process"
299
  },
300
  {
301
- "source": "s2",
302
- "target": "s9",
303
  "kind": "process"
304
  },
305
  {
306
- "source": "s9",
307
- "target": "s22",
308
  "kind": "process"
309
  },
310
  {
311
- "source": "s4",
312
- "target": "s1",
313
  "kind": "process"
314
  },
315
  {
316
- "source": "s4",
317
- "target": "s10",
318
- "kind": "signal"
319
- },
320
- {
321
- "source": "s10",
322
- "target": "s11",
323
- "kind": "process",
324
- "line": "q=B81"
325
- },
326
- {
327
- "source": "s11",
328
  "target": "s21",
329
  "kind": "process"
330
  },
331
  {
332
- "source": "s21",
333
- "target": "s20",
334
  "kind": "process"
335
  },
336
  {
337
- "source": "s1",
338
- "target": "s19",
339
  "kind": "process"
340
  },
341
  {
342
- "source": "s19",
343
- "target": "s23",
344
- "kind": "process",
345
- "line": "c)5VDT"
346
- },
347
- {
348
- "source": "s23",
349
- "target": "s6",
350
- "kind": "process",
351
- "line": "z4=B("
352
- },
353
- {
354
- "source": "s22",
355
- "target": "s8",
356
- "kind": "signal"
357
- },
358
- {
359
- "source": "s8",
360
  "target": "j1",
361
- "kind": "signal"
362
- },
363
- {
364
- "source": "j1",
365
- "target": "s12",
366
- "kind": "signal"
367
- },
368
- {
369
- "source": "j1",
370
- "target": "s20",
371
- "kind": "signal"
372
  },
373
  {
374
- "source": "s18",
375
- "target": "s13",
376
  "kind": "process"
377
  },
378
  {
379
- "source": "s13",
380
- "target": "s7",
381
- "kind": "process",
382
- "line": "%d2!+t15r"
383
  },
384
  {
385
- "source": "s6",
386
- "target": "s3",
387
- "kind": "signal"
388
  },
389
  {
390
- "source": "s3",
391
- "target": "j2",
392
  "kind": "process"
393
  },
394
  {
395
- "source": "s5",
396
- "target": "j2",
397
- "kind": "signal"
398
  },
399
  {
400
- "source": "j2",
401
- "target": "s7",
402
  "kind": "process"
403
  },
404
  {
405
- "source": "j2",
406
- "target": "s16",
407
  "kind": "process"
408
  },
409
  {
410
- "source": "s16",
411
- "target": "s14",
412
- "kind": "process",
413
- "line": "=Lst@H"
414
  }
415
  ]
416
- }
 
11
  "tag": null,
12
  "bbox": [
13
  4076.862,
14
+ 1091.844,
15
+ 4228.507,
16
+ 1357.806
17
  ]
18
  },
19
  {
 
21
  "type": "equipment",
22
  "tag": null,
23
  "bbox": [
24
+ 5182.593,
25
  478.26500000000004,
26
+ 5327.239,
27
+ 716.2310000000001
28
  ]
29
  },
30
  {
 
32
  "type": "equipment",
33
  "tag": null,
34
  "bbox": [
35
+ 1798.7430000000002,
36
  3346.498,
37
+ 1966.719,
38
+ 3542.4700000000003
39
  ]
40
  },
41
  {
 
44
  "tag": null,
45
  "bbox": [
46
  2902.141,
47
+ 1136.171,
48
  3067.784,
49
+ 1313.479
50
  ]
51
  },
52
  {
 
55
  "tag": null,
56
  "bbox": [
57
  2349.2200000000003,
58
+ 3026.877,
59
  2519.529,
60
+ 3180.855
61
  ]
62
  },
63
  {
 
77
  "tag": null,
78
  "bbox": [
79
  2349.2200000000003,
80
+ 3659.12,
81
  2519.529,
82
+ 3801.433
83
  ]
84
  },
85
  {
 
90
  4662.445,
91
  1717.576,
92
  4746.433,
93
+ 1988.2040000000002
94
  ]
95
  },
96
  {
97
  "id": "s9",
98
+ "type": "valve",
99
  "tag": null,
100
  "bbox": [
101
+ 5182.593,
102
+ 1500.1190000000001,
103
+ 5329.572,
104
+ 1633.1000000000001
105
  ]
106
  },
107
  {
108
  "id": "s10",
109
+ "type": "fitting",
110
  "tag": null,
111
  "bbox": [
112
+ 1245.8220000000001,
113
+ 3677.784,
114
+ 1418.4640000000002,
115
+ 3780.436
116
  ]
117
  },
118
  {
119
  "id": "s11",
120
+ "type": "instrument",
121
  "tag": null,
122
  "bbox": [
123
+ 2918.472,
124
+ 1500.1190000000001,
125
+ 3051.4530000000004,
126
+ 1633.1000000000001
127
  ]
128
  },
129
  {
130
  "id": "s12",
131
+ "type": "equipment",
132
  "tag": null,
133
  "bbox": [
134
+ 5754.178,
135
+ 1766.569,
136
  5856.83,
137
  1936.8780000000002
138
  ]
139
  },
140
  {
141
  "id": "s13",
142
+ "type": "valve",
143
  "tag": null,
144
  "bbox": [
145
+ 3451.618,
146
+ 1514.1170000000002,
147
+ 3619.594,
148
+ 1616.7690000000002
149
  ]
150
  },
151
  {
152
  "id": "s14",
153
+ "type": "off_page",
154
+ "tag": null,
155
+ "bbox": [
156
+ 6279.103,
157
+ 3390.825,
158
+ 6435.414000000001,
159
+ 3498.143
160
+ ]
161
+ },
162
+ {
163
+ "id": "s15",
164
  "type": "equipment",
165
  "tag": null,
166
  "bbox": [
 
171
  ]
172
  },
173
  {
174
+ "id": "s16",
175
+ "type": "heat_exchanger",
176
  "tag": "Tb6VAhFrl",
177
  "bbox": [
178
  727.8960000000001,
179
+ 517.926,
180
  835.214,
181
  667.238
182
  ]
183
  },
 
 
 
 
 
 
 
 
 
 
 
184
  {
185
  "id": "s17",
186
+ "type": "heat_exchanger",
187
  "tag": null,
188
  "bbox": [
189
+ 4095.526,
190
+ 2412.8100000000004,
191
+ 4209.843,
192
+ 2543.458
193
  ]
194
  },
195
  {
196
  "id": "s18",
197
+ "type": "equipment",
198
  "tag": null,
199
  "bbox": [
200
+ 734.8950000000001,
201
+ 863.21,
202
+ 830.5480000000001,
203
+ 1017.1880000000001
204
  ]
205
  },
206
  {
207
  "id": "s19",
208
+ "type": "fitting",
209
+ "tag": "O0HA4j>C#",
210
  "bbox": [
211
+ 1297.1480000000001,
212
+ 839.8800000000001,
213
+ 1367.1380000000001,
214
+ 1040.518
215
  ]
216
  },
217
  {
 
220
  "tag": null,
221
  "bbox": [
222
  5205.923,
223
+ 2128.184,
224
+ 5301.576,
225
  2258.8320000000003
226
  ]
227
  },
 
232
  "bbox": [
233
  3479.614,
234
  2149.181,
235
+ 3586.932,
236
+ 2237.835
237
  ]
238
  },
239
  {
 
241
  "type": "equipment",
242
  "tag": null,
243
  "bbox": [
244
+ 4646.114,
245
+ 1532.7810000000002,
246
  4762.764,
247
+ 1598.105
248
  ]
249
  },
250
  {
 
252
  "type": "valve",
253
  "tag": null,
254
  "bbox": [
255
+ 4130.521,
256
  2805.242,
257
+ 4172.515,
258
+ 2833.2380000000003
259
  ]
260
  },
261
  {
 
263
  "type": "junction",
264
  "tag": null,
265
  "bbox": [
266
+ 3553.121333333333,
267
+ 3534.7481666666667,
268
+ 3563.121333333333,
269
+ 3544.7481666666667
 
 
 
 
 
 
 
 
 
 
 
270
  ]
271
  }
272
  ],
273
  "edges": [
274
  {
275
+ "source": "s1",
276
  "target": "s17",
277
  "kind": "process"
278
  },
279
  {
280
+ "source": "s1",
281
+ "target": "s4",
 
 
 
 
 
282
  "kind": "process"
283
  },
284
  {
285
+ "source": "s10",
286
+ "target": "s19",
287
  "kind": "process"
288
  },
289
  {
290
+ "source": "s10",
291
+ "target": "s7",
292
  "kind": "process"
293
  },
294
  {
295
+ "source": "s11",
296
+ "target": "s13",
297
  "kind": "process"
298
  },
299
  {
300
+ "source": "s13",
 
 
 
 
 
 
 
 
 
 
 
301
  "target": "s21",
302
  "kind": "process"
303
  },
304
  {
305
+ "source": "s14",
306
+ "target": "s15",
307
  "kind": "process"
308
  },
309
  {
310
+ "source": "s14",
311
+ "target": "j1",
312
  "kind": "process"
313
  },
314
  {
315
+ "source": "s3",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
316
  "target": "j1",
317
+ "kind": "process"
 
 
 
 
 
 
 
 
 
 
318
  },
319
  {
320
+ "source": "s7",
321
+ "target": "j1",
322
  "kind": "process"
323
  },
324
  {
325
+ "source": "s16",
326
+ "target": "s18",
327
+ "kind": "process"
 
328
  },
329
  {
330
+ "source": "s16",
331
+ "target": "s2",
332
+ "kind": "process"
333
  },
334
  {
335
+ "source": "s17",
336
+ "target": "s23",
337
  "kind": "process"
338
  },
339
  {
340
+ "source": "s18",
341
+ "target": "s19",
342
+ "kind": "process"
343
  },
344
  {
345
+ "source": "s2",
346
+ "target": "s9",
347
  "kind": "process"
348
  },
349
  {
350
+ "source": "s22",
351
+ "target": "s9",
352
  "kind": "process"
353
  },
354
  {
355
+ "source": "s23",
356
+ "target": "s6",
357
+ "kind": "process"
 
358
  }
359
  ]
360
+ }
data/synth-1/out/edges.csv CHANGED
@@ -1,26 +1,18 @@
1
  source,target,kind,line
2
- s15,s17,process,
3
- s17,s18,process,
4
- s15,s2,process,
 
 
 
 
 
 
 
 
 
 
 
5
  s2,s9,process,
6
- s9,s22,process,
7
- s4,s1,process,
8
- s4,s10,signal,
9
- s10,s11,process,q=B81
10
- s11,s21,process,
11
- s21,s20,process,
12
- s1,s19,process,
13
- s19,s23,process,c)5VDT
14
- s23,s6,process,z4=B(
15
- s22,s8,signal,
16
- s8,j1,signal,
17
- j1,s12,signal,
18
- j1,s20,signal,
19
- s18,s13,process,
20
- s13,s7,process,%d2!+t15r
21
- s6,s3,signal,
22
- s3,j2,process,
23
- s5,j2,signal,
24
- j2,s7,process,
25
- j2,s16,process,
26
- s16,s14,process,=Lst@H
 
1
  source,target,kind,line
2
+ s1,s17,process,
3
+ s1,s4,process,
4
+ s10,s19,process,
5
+ s10,s7,process,
6
+ s11,s13,process,
7
+ s13,s21,process,
8
+ s14,s15,process,
9
+ s14,j1,process,
10
+ s3,j1,process,
11
+ s7,j1,process,
12
+ s16,s18,process,
13
+ s16,s2,process,
14
+ s17,s23,process,
15
+ s18,s19,process,
16
  s2,s9,process,
17
+ s22,s9,process,
18
+ s23,s6,process,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
data/synth-1/out/graph.cypher CHANGED
@@ -1,50 +1,41 @@
1
- CREATE (:Component {id: 's1', type: 'vessel', x1: 4076.862, y1: 1083.0, x2: 4230.84, y2: 1358.294});
2
- CREATE (:Component {id: 's2', type: 'equipment', x1: 5180.371, y1: 478.26500000000004, x2: 5325.017, y2: 718.5640000000001});
3
- CREATE (:Component {id: 's3', type: 'equipment', x1: 1800.9650000000001, y1: 3346.498, x2: 1966.6080000000002, y2: 3544.803});
4
- CREATE (:Component {id: 's4', type: 'equipment', x1: 2902.141, y1: 1134.326, x2: 3067.784, y2: 1316.3});
5
- CREATE (:Component {id: 's5', type: 'equipment', x1: 2349.2200000000003, y1: 3026.389, x2: 2519.529, y2: 3178.034});
6
  CREATE (:Component {id: 's6', type: 'equipment', x1: 1794.0770000000002, y1: 2746.917, x2: 1971.3850000000002, y2: 2891.563});
7
- CREATE (:Component {id: 's7', type: 'equipment', x1: 2349.2200000000003, y1: 3661.4530000000004, x2: 2519.529, y2: 3799.1000000000004});
8
- CREATE (:Component {id: 's8', type: 'heat_exchanger', x1: 4662.445, y1: 1717.576, x2: 4746.433, y2: 1985.871});
9
- CREATE (:Component {id: 's9', type: 'equipment', x1: 5180.371, y1: 1498.2740000000001, x2: 5329.683, y2: 1635.921});
10
- CREATE (:Component {id: 's10', type: 'equipment', x1: 2916.139, y1: 1498.2740000000001, x2: 3053.786, y2: 1635.921});
11
- CREATE (:Component {id: 's11', type: 'equipment', x1: 3450.396, y1: 1512.272, x2: 3620.7050000000004, y2: 1619.5900000000001});
12
- CREATE (:Component {id: 's12', type: 'valve', x1: 5751.845, y1: 1764.236, x2: 5856.83, y2: 1936.8780000000002});
13
- CREATE (:Component {id: 's13', type: 'fitting', x1: 1245.8220000000001, y1: 3677.784, x2: 1416.131, y2: 3780.436});
14
- CREATE (:Component {id: 's14', type: 'equipment', x1: 6269.771000000001, y1: 4023.068, x2: 6440.08, y2: 4118.7210000000005});
15
- CREATE (:Component {id: 's15', type: 'fitting', tag: 'Tb6VAhFrl', x1: 727.8960000000001, y1: 515.5930000000001, x2: 835.214, y2: 667.238});
16
- CREATE (:Component {id: 's16', type: 'off_page', x1: 6279.103, y1: 3393.1580000000004, x2: 6433.081, y2: 3498.143});
17
- CREATE (:Component {id: 's17', type: 'fitting', x1: 734.8950000000001, y1: 860.8770000000001, x2: 830.5480000000001, y2: 1019.5210000000001});
18
- CREATE (:Component {id: 's18', type: 'check_valve', x1: 1294.815, y1: 837.547, x2: 1369.471, y2: 1040.518});
19
- CREATE (:Component {id: 's19', type: 'heat_exchanger', x1: 4095.526, y1: 2413.2980000000002, x2: 4209.843, y2: 2543.946});
20
- CREATE (:Component {id: 's20', type: 'equipment', x1: 5205.923, y1: 2125.851, x2: 5303.909, y2: 2258.8320000000003});
21
- CREATE (:Component {id: 's21', type: 'equipment', x1: 3479.614, y1: 2149.181, x2: 3589.265, y2: 2235.5020000000004});
22
- CREATE (:Component {id: 's22', type: 'equipment', x1: 4643.781, y1: 1530.9360000000001, x2: 4762.764, y2: 1600.926});
23
- CREATE (:Component {id: 's23', type: 'valve', x1: 4128.188, y1: 2805.242, x2: 4174.848, y2: 2830.905});
24
- CREATE (:Junction {id: 'j1', type: 'junction', x1: 5250, y1: 1847, x2: 5260, y2: 1857});
25
- CREATE (:Junction {id: 'j2', type: 'junction', x1: 2429, y1: 3442, x2: 2439, y2: 3452});
26
- MATCH (a {id: 's15'}), (b {id: 's17'}) CREATE (a)-[:PIPE]->(b);
27
- MATCH (a {id: 's17'}), (b {id: 's18'}) CREATE (a)-[:PIPE]->(b);
28
- MATCH (a {id: 's15'}), (b {id: 's2'}) CREATE (a)-[:PIPE]->(b);
 
 
 
 
 
 
 
 
 
 
29
  MATCH (a {id: 's2'}), (b {id: 's9'}) CREATE (a)-[:PIPE]->(b);
30
- MATCH (a {id: 's9'}), (b {id: 's22'}) CREATE (a)-[:PIPE]->(b);
31
- MATCH (a {id: 's4'}), (b {id: 's1'}) CREATE (a)-[:PIPE]->(b);
32
- MATCH (a {id: 's4'}), (b {id: 's10'}) CREATE (a)-[:SIGNAL]->(b);
33
- MATCH (a {id: 's10'}), (b {id: 's11'}) CREATE (a)-[:PIPE {line: 'q=B81'}]->(b);
34
- MATCH (a {id: 's11'}), (b {id: 's21'}) CREATE (a)-[:PIPE]->(b);
35
- MATCH (a {id: 's21'}), (b {id: 's20'}) CREATE (a)-[:PIPE]->(b);
36
- MATCH (a {id: 's1'}), (b {id: 's19'}) CREATE (a)-[:PIPE]->(b);
37
- MATCH (a {id: 's19'}), (b {id: 's23'}) CREATE (a)-[:PIPE {line: 'c)5VDT'}]->(b);
38
- MATCH (a {id: 's23'}), (b {id: 's6'}) CREATE (a)-[:PIPE {line: 'z4=B('}]->(b);
39
- MATCH (a {id: 's22'}), (b {id: 's8'}) CREATE (a)-[:SIGNAL]->(b);
40
- MATCH (a {id: 's8'}), (b {id: 'j1'}) CREATE (a)-[:SIGNAL]->(b);
41
- MATCH (a {id: 'j1'}), (b {id: 's12'}) CREATE (a)-[:SIGNAL]->(b);
42
- MATCH (a {id: 'j1'}), (b {id: 's20'}) CREATE (a)-[:SIGNAL]->(b);
43
- MATCH (a {id: 's18'}), (b {id: 's13'}) CREATE (a)-[:PIPE]->(b);
44
- MATCH (a {id: 's13'}), (b {id: 's7'}) CREATE (a)-[:PIPE {line: '%d2!+t15r'}]->(b);
45
- MATCH (a {id: 's6'}), (b {id: 's3'}) CREATE (a)-[:SIGNAL]->(b);
46
- MATCH (a {id: 's3'}), (b {id: 'j2'}) CREATE (a)-[:PIPE]->(b);
47
- MATCH (a {id: 's5'}), (b {id: 'j2'}) CREATE (a)-[:SIGNAL]->(b);
48
- MATCH (a {id: 'j2'}), (b {id: 's7'}) CREATE (a)-[:PIPE]->(b);
49
- MATCH (a {id: 'j2'}), (b {id: 's16'}) CREATE (a)-[:PIPE]->(b);
50
- MATCH (a {id: 's16'}), (b {id: 's14'}) CREATE (a)-[:PIPE {line: '=Lst@H'}]->(b);
 
1
+ CREATE (:Component {id: 's1', type: 'vessel', x1: 4076.862, y1: 1091.844, x2: 4228.507, y2: 1357.806});
2
+ CREATE (:Component {id: 's2', type: 'equipment', x1: 5182.593, y1: 478.26500000000004, x2: 5327.239, y2: 716.2310000000001});
3
+ CREATE (:Component {id: 's3', type: 'equipment', x1: 1798.7430000000002, y1: 3346.498, x2: 1966.719, y2: 3542.4700000000003});
4
+ CREATE (:Component {id: 's4', type: 'equipment', x1: 2902.141, y1: 1136.171, x2: 3067.784, y2: 1313.479});
5
+ CREATE (:Component {id: 's5', type: 'equipment', x1: 2349.2200000000003, y1: 3026.877, x2: 2519.529, y2: 3180.855});
6
  CREATE (:Component {id: 's6', type: 'equipment', x1: 1794.0770000000002, y1: 2746.917, x2: 1971.3850000000002, y2: 2891.563});
7
+ CREATE (:Component {id: 's7', type: 'equipment', x1: 2349.2200000000003, y1: 3659.12, x2: 2519.529, y2: 3801.433});
8
+ CREATE (:Component {id: 's8', type: 'heat_exchanger', x1: 4662.445, y1: 1717.576, x2: 4746.433, y2: 1988.2040000000002});
9
+ CREATE (:Component {id: 's9', type: 'valve', x1: 5182.593, y1: 1500.1190000000001, x2: 5329.572, y2: 1633.1000000000001});
10
+ CREATE (:Component {id: 's10', type: 'fitting', x1: 1245.8220000000001, y1: 3677.784, x2: 1418.4640000000002, y2: 3780.436});
11
+ CREATE (:Component {id: 's11', type: 'instrument', x1: 2918.472, y1: 1500.1190000000001, x2: 3051.4530000000004, y2: 1633.1000000000001});
12
+ CREATE (:Component {id: 's12', type: 'equipment', x1: 5754.178, y1: 1766.569, x2: 5856.83, y2: 1936.8780000000002});
13
+ CREATE (:Component {id: 's13', type: 'valve', x1: 3451.618, y1: 1514.1170000000002, x2: 3619.594, y2: 1616.7690000000002});
14
+ CREATE (:Component {id: 's14', type: 'off_page', x1: 6279.103, y1: 3390.825, x2: 6435.414000000001, y2: 3498.143});
15
+ CREATE (:Component {id: 's15', type: 'equipment', x1: 6269.771000000001, y1: 4023.068, x2: 6440.08, y2: 4118.7210000000005});
16
+ CREATE (:Component {id: 's16', type: 'heat_exchanger', tag: 'Tb6VAhFrl', x1: 727.8960000000001, y1: 517.926, x2: 835.214, y2: 667.238});
17
+ CREATE (:Component {id: 's17', type: 'heat_exchanger', x1: 4095.526, y1: 2412.8100000000004, x2: 4209.843, y2: 2543.458});
18
+ CREATE (:Component {id: 's18', type: 'equipment', x1: 734.8950000000001, y1: 863.21, x2: 830.5480000000001, y2: 1017.1880000000001});
19
+ CREATE (:Component {id: 's19', type: 'fitting', tag: 'O0HA4j>C#', x1: 1297.1480000000001, y1: 839.8800000000001, x2: 1367.1380000000001, y2: 1040.518});
20
+ CREATE (:Component {id: 's20', type: 'equipment', x1: 5205.923, y1: 2128.184, x2: 5301.576, y2: 2258.8320000000003});
21
+ CREATE (:Component {id: 's21', type: 'equipment', x1: 3479.614, y1: 2149.181, x2: 3586.932, y2: 2237.835});
22
+ CREATE (:Component {id: 's22', type: 'equipment', x1: 4646.114, y1: 1532.7810000000002, x2: 4762.764, y2: 1598.105});
23
+ CREATE (:Component {id: 's23', type: 'valve', x1: 4130.521, y1: 2805.242, x2: 4172.515, y2: 2833.2380000000003});
24
+ CREATE (:Junction {id: 'j1', type: 'junction', x1: 3553.121333333333, y1: 3534.7481666666667, x2: 3563.121333333333, y2: 3544.7481666666667});
25
+ MATCH (a {id: 's1'}), (b {id: 's17'}) CREATE (a)-[:PIPE]->(b);
26
+ MATCH (a {id: 's1'}), (b {id: 's4'}) CREATE (a)-[:PIPE]->(b);
27
+ MATCH (a {id: 's10'}), (b {id: 's19'}) CREATE (a)-[:PIPE]->(b);
28
+ MATCH (a {id: 's10'}), (b {id: 's7'}) CREATE (a)-[:PIPE]->(b);
29
+ MATCH (a {id: 's11'}), (b {id: 's13'}) CREATE (a)-[:PIPE]->(b);
30
+ MATCH (a {id: 's13'}), (b {id: 's21'}) CREATE (a)-[:PIPE]->(b);
31
+ MATCH (a {id: 's14'}), (b {id: 's15'}) CREATE (a)-[:PIPE]->(b);
32
+ MATCH (a {id: 's14'}), (b {id: 'j1'}) CREATE (a)-[:PIPE]->(b);
33
+ MATCH (a {id: 's3'}), (b {id: 'j1'}) CREATE (a)-[:PIPE]->(b);
34
+ MATCH (a {id: 's7'}), (b {id: 'j1'}) CREATE (a)-[:PIPE]->(b);
35
+ MATCH (a {id: 's16'}), (b {id: 's18'}) CREATE (a)-[:PIPE]->(b);
36
+ MATCH (a {id: 's16'}), (b {id: 's2'}) CREATE (a)-[:PIPE]->(b);
37
+ MATCH (a {id: 's17'}), (b {id: 's23'}) CREATE (a)-[:PIPE]->(b);
38
+ MATCH (a {id: 's18'}), (b {id: 's19'}) CREATE (a)-[:PIPE]->(b);
39
  MATCH (a {id: 's2'}), (b {id: 's9'}) CREATE (a)-[:PIPE]->(b);
40
+ MATCH (a {id: 's22'}), (b {id: 's9'}) CREATE (a)-[:PIPE]->(b);
41
+ MATCH (a {id: 's23'}), (b {id: 's6'}) CREATE (a)-[:PIPE]->(b);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
data/synth-1/out/graph.graphml CHANGED
@@ -12,37 +12,37 @@
12
  <node id="s1">
13
  <data key="node_type">vessel</data>
14
  <data key="node_x1">4076.862</data>
15
- <data key="node_y1">1083.0</data>
16
- <data key="node_x2">4230.84</data>
17
- <data key="node_y2">1358.294</data>
18
  </node>
19
  <node id="s2">
20
  <data key="node_type">equipment</data>
21
- <data key="node_x1">5180.371</data>
22
  <data key="node_y1">478.26500000000004</data>
23
- <data key="node_x2">5325.017</data>
24
- <data key="node_y2">718.5640000000001</data>
25
  </node>
26
  <node id="s3">
27
  <data key="node_type">equipment</data>
28
- <data key="node_x1">1800.9650000000001</data>
29
  <data key="node_y1">3346.498</data>
30
- <data key="node_x2">1966.6080000000002</data>
31
- <data key="node_y2">3544.803</data>
32
  </node>
33
  <node id="s4">
34
  <data key="node_type">equipment</data>
35
  <data key="node_x1">2902.141</data>
36
- <data key="node_y1">1134.326</data>
37
  <data key="node_x2">3067.784</data>
38
- <data key="node_y2">1316.3</data>
39
  </node>
40
  <node id="s5">
41
  <data key="node_type">equipment</data>
42
  <data key="node_x1">2349.2200000000003</data>
43
- <data key="node_y1">3026.389</data>
44
  <data key="node_x2">2519.529</data>
45
- <data key="node_y2">3178.034</data>
46
  </node>
47
  <node id="s6">
48
  <data key="node_type">equipment</data>
@@ -54,216 +54,181 @@
54
  <node id="s7">
55
  <data key="node_type">equipment</data>
56
  <data key="node_x1">2349.2200000000003</data>
57
- <data key="node_y1">3661.4530000000004</data>
58
  <data key="node_x2">2519.529</data>
59
- <data key="node_y2">3799.1000000000004</data>
60
  </node>
61
  <node id="s8">
62
  <data key="node_type">heat_exchanger</data>
63
  <data key="node_x1">4662.445</data>
64
  <data key="node_y1">1717.576</data>
65
  <data key="node_x2">4746.433</data>
66
- <data key="node_y2">1985.871</data>
67
  </node>
68
  <node id="s9">
69
- <data key="node_type">equipment</data>
70
- <data key="node_x1">5180.371</data>
71
- <data key="node_y1">1498.2740000000001</data>
72
- <data key="node_x2">5329.683</data>
73
- <data key="node_y2">1635.921</data>
74
  </node>
75
  <node id="s10">
76
- <data key="node_type">equipment</data>
77
- <data key="node_x1">2916.139</data>
78
- <data key="node_y1">1498.2740000000001</data>
79
- <data key="node_x2">3053.786</data>
80
- <data key="node_y2">1635.921</data>
81
  </node>
82
  <node id="s11">
83
- <data key="node_type">equipment</data>
84
- <data key="node_x1">3450.396</data>
85
- <data key="node_y1">1512.272</data>
86
- <data key="node_x2">3620.7050000000004</data>
87
- <data key="node_y2">1619.5900000000001</data>
88
  </node>
89
  <node id="s12">
90
- <data key="node_type">valve</data>
91
- <data key="node_x1">5751.845</data>
92
- <data key="node_y1">1764.236</data>
93
  <data key="node_x2">5856.83</data>
94
  <data key="node_y2">1936.8780000000002</data>
95
  </node>
96
  <node id="s13">
97
- <data key="node_type">fitting</data>
98
- <data key="node_x1">1245.8220000000001</data>
99
- <data key="node_y1">3677.784</data>
100
- <data key="node_x2">1416.131</data>
101
- <data key="node_y2">3780.436</data>
102
  </node>
103
  <node id="s14">
 
 
 
 
 
 
 
104
  <data key="node_type">equipment</data>
105
  <data key="node_x1">6269.771000000001</data>
106
  <data key="node_y1">4023.068</data>
107
  <data key="node_x2">6440.08</data>
108
  <data key="node_y2">4118.7210000000005</data>
109
  </node>
110
- <node id="s15">
111
- <data key="node_type">fitting</data>
112
  <data key="node_tag">Tb6VAhFrl</data>
113
  <data key="node_x1">727.8960000000001</data>
114
- <data key="node_y1">515.5930000000001</data>
115
  <data key="node_x2">835.214</data>
116
  <data key="node_y2">667.238</data>
117
  </node>
118
- <node id="s16">
119
- <data key="node_type">off_page</data>
120
- <data key="node_x1">6279.103</data>
121
- <data key="node_y1">3393.1580000000004</data>
122
- <data key="node_x2">6433.081</data>
123
- <data key="node_y2">3498.143</data>
124
- </node>
125
  <node id="s17">
126
- <data key="node_type">fitting</data>
127
- <data key="node_x1">734.8950000000001</data>
128
- <data key="node_y1">860.8770000000001</data>
129
- <data key="node_x2">830.5480000000001</data>
130
- <data key="node_y2">1019.5210000000001</data>
131
  </node>
132
  <node id="s18">
133
- <data key="node_type">check_valve</data>
134
- <data key="node_x1">1294.815</data>
135
- <data key="node_y1">837.547</data>
136
- <data key="node_x2">1369.471</data>
137
- <data key="node_y2">1040.518</data>
138
  </node>
139
  <node id="s19">
140
- <data key="node_type">heat_exchanger</data>
141
- <data key="node_x1">4095.526</data>
142
- <data key="node_y1">2413.2980000000002</data>
143
- <data key="node_x2">4209.843</data>
144
- <data key="node_y2">2543.946</data>
 
145
  </node>
146
  <node id="s20">
147
  <data key="node_type">equipment</data>
148
  <data key="node_x1">5205.923</data>
149
- <data key="node_y1">2125.851</data>
150
- <data key="node_x2">5303.909</data>
151
  <data key="node_y2">2258.8320000000003</data>
152
  </node>
153
  <node id="s21">
154
  <data key="node_type">equipment</data>
155
  <data key="node_x1">3479.614</data>
156
  <data key="node_y1">2149.181</data>
157
- <data key="node_x2">3589.265</data>
158
- <data key="node_y2">2235.5020000000004</data>
159
  </node>
160
  <node id="s22">
161
  <data key="node_type">equipment</data>
162
- <data key="node_x1">4643.781</data>
163
- <data key="node_y1">1530.9360000000001</data>
164
  <data key="node_x2">4762.764</data>
165
- <data key="node_y2">1600.926</data>
166
  </node>
167
  <node id="s23">
168
  <data key="node_type">valve</data>
169
- <data key="node_x1">4128.188</data>
170
  <data key="node_y1">2805.242</data>
171
- <data key="node_x2">4174.848</data>
172
- <data key="node_y2">2830.905</data>
173
  </node>
174
  <node id="j1">
175
  <data key="node_type">junction</data>
176
- <data key="node_x1">5250</data>
177
- <data key="node_y1">1847</data>
178
- <data key="node_x2">5260</data>
179
- <data key="node_y2">1857</data>
180
- </node>
181
- <node id="j2">
182
- <data key="node_type">junction</data>
183
- <data key="node_x1">2429</data>
184
- <data key="node_y1">3442</data>
185
- <data key="node_x2">2439</data>
186
- <data key="node_y2">3452</data>
187
  </node>
188
- <edge id="e0" source="s15" target="s17">
189
  <data key="edge_kind">process</data>
190
  </edge>
191
- <edge id="e1" source="s17" target="s18">
192
  <data key="edge_kind">process</data>
193
  </edge>
194
- <edge id="e2" source="s15" target="s2">
195
  <data key="edge_kind">process</data>
196
  </edge>
197
- <edge id="e3" source="s2" target="s9">
198
  <data key="edge_kind">process</data>
199
  </edge>
200
- <edge id="e4" source="s9" target="s22">
201
  <data key="edge_kind">process</data>
202
  </edge>
203
- <edge id="e5" source="s4" target="s1">
204
  <data key="edge_kind">process</data>
205
  </edge>
206
- <edge id="e6" source="s4" target="s10">
207
- <data key="edge_kind">signal</data>
208
- </edge>
209
- <edge id="e7" source="s10" target="s11">
210
  <data key="edge_kind">process</data>
211
- <data key="edge_line">q=B81</data>
212
  </edge>
213
- <edge id="e8" source="s11" target="s21">
214
  <data key="edge_kind">process</data>
215
  </edge>
216
- <edge id="e9" source="s21" target="s20">
217
  <data key="edge_kind">process</data>
218
  </edge>
219
- <edge id="e10" source="s1" target="s19">
220
  <data key="edge_kind">process</data>
221
  </edge>
222
- <edge id="e11" source="s19" target="s23">
223
  <data key="edge_kind">process</data>
224
- <data key="edge_line">c)5VDT</data>
225
  </edge>
226
- <edge id="e12" source="s23" target="s6">
227
  <data key="edge_kind">process</data>
228
- <data key="edge_line">z4=B(</data>
229
- </edge>
230
- <edge id="e13" source="s22" target="s8">
231
- <data key="edge_kind">signal</data>
232
- </edge>
233
- <edge id="e14" source="s8" target="j1">
234
- <data key="edge_kind">signal</data>
235
  </edge>
236
- <edge id="e15" source="j1" target="s12">
237
- <data key="edge_kind">signal</data>
238
- </edge>
239
- <edge id="e16" source="j1" target="s20">
240
- <data key="edge_kind">signal</data>
241
- </edge>
242
- <edge id="e17" source="s18" target="s13">
243
- <data key="edge_kind">process</data>
244
- </edge>
245
- <edge id="e18" source="s13" target="s7">
246
  <data key="edge_kind">process</data>
247
- <data key="edge_line">%d2!+t15r</data>
248
- </edge>
249
- <edge id="e19" source="s6" target="s3">
250
- <data key="edge_kind">signal</data>
251
  </edge>
252
- <edge id="e20" source="s3" target="j2">
253
  <data key="edge_kind">process</data>
254
  </edge>
255
- <edge id="e21" source="s5" target="j2">
256
- <data key="edge_kind">signal</data>
257
- </edge>
258
- <edge id="e22" source="j2" target="s7">
259
  <data key="edge_kind">process</data>
260
  </edge>
261
- <edge id="e23" source="j2" target="s16">
262
  <data key="edge_kind">process</data>
263
  </edge>
264
- <edge id="e24" source="s16" target="s14">
265
  <data key="edge_kind">process</data>
266
- <data key="edge_line">=Lst@H</data>
267
  </edge>
268
  </graph>
269
  </graphml>
 
12
  <node id="s1">
13
  <data key="node_type">vessel</data>
14
  <data key="node_x1">4076.862</data>
15
+ <data key="node_y1">1091.844</data>
16
+ <data key="node_x2">4228.507</data>
17
+ <data key="node_y2">1357.806</data>
18
  </node>
19
  <node id="s2">
20
  <data key="node_type">equipment</data>
21
+ <data key="node_x1">5182.593</data>
22
  <data key="node_y1">478.26500000000004</data>
23
+ <data key="node_x2">5327.239</data>
24
+ <data key="node_y2">716.2310000000001</data>
25
  </node>
26
  <node id="s3">
27
  <data key="node_type">equipment</data>
28
+ <data key="node_x1">1798.7430000000002</data>
29
  <data key="node_y1">3346.498</data>
30
+ <data key="node_x2">1966.719</data>
31
+ <data key="node_y2">3542.4700000000003</data>
32
  </node>
33
  <node id="s4">
34
  <data key="node_type">equipment</data>
35
  <data key="node_x1">2902.141</data>
36
+ <data key="node_y1">1136.171</data>
37
  <data key="node_x2">3067.784</data>
38
+ <data key="node_y2">1313.479</data>
39
  </node>
40
  <node id="s5">
41
  <data key="node_type">equipment</data>
42
  <data key="node_x1">2349.2200000000003</data>
43
+ <data key="node_y1">3026.877</data>
44
  <data key="node_x2">2519.529</data>
45
+ <data key="node_y2">3180.855</data>
46
  </node>
47
  <node id="s6">
48
  <data key="node_type">equipment</data>
 
54
  <node id="s7">
55
  <data key="node_type">equipment</data>
56
  <data key="node_x1">2349.2200000000003</data>
57
+ <data key="node_y1">3659.12</data>
58
  <data key="node_x2">2519.529</data>
59
+ <data key="node_y2">3801.433</data>
60
  </node>
61
  <node id="s8">
62
  <data key="node_type">heat_exchanger</data>
63
  <data key="node_x1">4662.445</data>
64
  <data key="node_y1">1717.576</data>
65
  <data key="node_x2">4746.433</data>
66
+ <data key="node_y2">1988.2040000000002</data>
67
  </node>
68
  <node id="s9">
69
+ <data key="node_type">valve</data>
70
+ <data key="node_x1">5182.593</data>
71
+ <data key="node_y1">1500.1190000000001</data>
72
+ <data key="node_x2">5329.572</data>
73
+ <data key="node_y2">1633.1000000000001</data>
74
  </node>
75
  <node id="s10">
76
+ <data key="node_type">fitting</data>
77
+ <data key="node_x1">1245.8220000000001</data>
78
+ <data key="node_y1">3677.784</data>
79
+ <data key="node_x2">1418.4640000000002</data>
80
+ <data key="node_y2">3780.436</data>
81
  </node>
82
  <node id="s11">
83
+ <data key="node_type">instrument</data>
84
+ <data key="node_x1">2918.472</data>
85
+ <data key="node_y1">1500.1190000000001</data>
86
+ <data key="node_x2">3051.4530000000004</data>
87
+ <data key="node_y2">1633.1000000000001</data>
88
  </node>
89
  <node id="s12">
90
+ <data key="node_type">equipment</data>
91
+ <data key="node_x1">5754.178</data>
92
+ <data key="node_y1">1766.569</data>
93
  <data key="node_x2">5856.83</data>
94
  <data key="node_y2">1936.8780000000002</data>
95
  </node>
96
  <node id="s13">
97
+ <data key="node_type">valve</data>
98
+ <data key="node_x1">3451.618</data>
99
+ <data key="node_y1">1514.1170000000002</data>
100
+ <data key="node_x2">3619.594</data>
101
+ <data key="node_y2">1616.7690000000002</data>
102
  </node>
103
  <node id="s14">
104
+ <data key="node_type">off_page</data>
105
+ <data key="node_x1">6279.103</data>
106
+ <data key="node_y1">3390.825</data>
107
+ <data key="node_x2">6435.414000000001</data>
108
+ <data key="node_y2">3498.143</data>
109
+ </node>
110
+ <node id="s15">
111
  <data key="node_type">equipment</data>
112
  <data key="node_x1">6269.771000000001</data>
113
  <data key="node_y1">4023.068</data>
114
  <data key="node_x2">6440.08</data>
115
  <data key="node_y2">4118.7210000000005</data>
116
  </node>
117
+ <node id="s16">
118
+ <data key="node_type">heat_exchanger</data>
119
  <data key="node_tag">Tb6VAhFrl</data>
120
  <data key="node_x1">727.8960000000001</data>
121
+ <data key="node_y1">517.926</data>
122
  <data key="node_x2">835.214</data>
123
  <data key="node_y2">667.238</data>
124
  </node>
 
 
 
 
 
 
 
125
  <node id="s17">
126
+ <data key="node_type">heat_exchanger</data>
127
+ <data key="node_x1">4095.526</data>
128
+ <data key="node_y1">2412.8100000000004</data>
129
+ <data key="node_x2">4209.843</data>
130
+ <data key="node_y2">2543.458</data>
131
  </node>
132
  <node id="s18">
133
+ <data key="node_type">equipment</data>
134
+ <data key="node_x1">734.8950000000001</data>
135
+ <data key="node_y1">863.21</data>
136
+ <data key="node_x2">830.5480000000001</data>
137
+ <data key="node_y2">1017.1880000000001</data>
138
  </node>
139
  <node id="s19">
140
+ <data key="node_type">fitting</data>
141
+ <data key="node_tag">O0HA4j&gt;C#</data>
142
+ <data key="node_x1">1297.1480000000001</data>
143
+ <data key="node_y1">839.8800000000001</data>
144
+ <data key="node_x2">1367.1380000000001</data>
145
+ <data key="node_y2">1040.518</data>
146
  </node>
147
  <node id="s20">
148
  <data key="node_type">equipment</data>
149
  <data key="node_x1">5205.923</data>
150
+ <data key="node_y1">2128.184</data>
151
+ <data key="node_x2">5301.576</data>
152
  <data key="node_y2">2258.8320000000003</data>
153
  </node>
154
  <node id="s21">
155
  <data key="node_type">equipment</data>
156
  <data key="node_x1">3479.614</data>
157
  <data key="node_y1">2149.181</data>
158
+ <data key="node_x2">3586.932</data>
159
+ <data key="node_y2">2237.835</data>
160
  </node>
161
  <node id="s22">
162
  <data key="node_type">equipment</data>
163
+ <data key="node_x1">4646.114</data>
164
+ <data key="node_y1">1532.7810000000002</data>
165
  <data key="node_x2">4762.764</data>
166
+ <data key="node_y2">1598.105</data>
167
  </node>
168
  <node id="s23">
169
  <data key="node_type">valve</data>
170
+ <data key="node_x1">4130.521</data>
171
  <data key="node_y1">2805.242</data>
172
+ <data key="node_x2">4172.515</data>
173
+ <data key="node_y2">2833.2380000000003</data>
174
  </node>
175
  <node id="j1">
176
  <data key="node_type">junction</data>
177
+ <data key="node_x1">3553.121333333333</data>
178
+ <data key="node_y1">3534.7481666666667</data>
179
+ <data key="node_x2">3563.121333333333</data>
180
+ <data key="node_y2">3544.7481666666667</data>
 
 
 
 
 
 
 
181
  </node>
182
+ <edge id="e0" source="s1" target="s17">
183
  <data key="edge_kind">process</data>
184
  </edge>
185
+ <edge id="e1" source="s1" target="s4">
186
  <data key="edge_kind">process</data>
187
  </edge>
188
+ <edge id="e2" source="s10" target="s19">
189
  <data key="edge_kind">process</data>
190
  </edge>
191
+ <edge id="e3" source="s10" target="s7">
192
  <data key="edge_kind">process</data>
193
  </edge>
194
+ <edge id="e4" source="s11" target="s13">
195
  <data key="edge_kind">process</data>
196
  </edge>
197
+ <edge id="e5" source="s13" target="s21">
198
  <data key="edge_kind">process</data>
199
  </edge>
200
+ <edge id="e6" source="s14" target="s15">
 
 
 
201
  <data key="edge_kind">process</data>
 
202
  </edge>
203
+ <edge id="e7" source="s14" target="j1">
204
  <data key="edge_kind">process</data>
205
  </edge>
206
+ <edge id="e8" source="s3" target="j1">
207
  <data key="edge_kind">process</data>
208
  </edge>
209
+ <edge id="e9" source="s7" target="j1">
210
  <data key="edge_kind">process</data>
211
  </edge>
212
+ <edge id="e10" source="s16" target="s18">
213
  <data key="edge_kind">process</data>
 
214
  </edge>
215
+ <edge id="e11" source="s16" target="s2">
216
  <data key="edge_kind">process</data>
 
 
 
 
 
 
 
217
  </edge>
218
+ <edge id="e12" source="s17" target="s23">
 
 
 
 
 
 
 
 
 
219
  <data key="edge_kind">process</data>
 
 
 
 
220
  </edge>
221
+ <edge id="e13" source="s18" target="s19">
222
  <data key="edge_kind">process</data>
223
  </edge>
224
+ <edge id="e14" source="s2" target="s9">
 
 
 
225
  <data key="edge_kind">process</data>
226
  </edge>
227
+ <edge id="e15" source="s22" target="s9">
228
  <data key="edge_kind">process</data>
229
  </edge>
230
+ <edge id="e16" source="s23" target="s6">
231
  <data key="edge_kind">process</data>
 
232
  </edge>
233
  </graph>
234
  </graphml>
data/synth-1/out/nodes.csv CHANGED
@@ -1,26 +1,25 @@
1
  id,type,tag,x1,y1,x2,y2
2
- s1,vessel,,4076.862,1083.0,4230.84,1358.294
3
- s2,equipment,,5180.371,478.26500000000004,5325.017,718.5640000000001
4
- s3,equipment,,1800.9650000000001,3346.498,1966.6080000000002,3544.803
5
- s4,equipment,,2902.141,1134.326,3067.784,1316.3
6
- s5,equipment,,2349.2200000000003,3026.389,2519.529,3178.034
7
  s6,equipment,,1794.0770000000002,2746.917,1971.3850000000002,2891.563
8
- s7,equipment,,2349.2200000000003,3661.4530000000004,2519.529,3799.1000000000004
9
- s8,heat_exchanger,,4662.445,1717.576,4746.433,1985.871
10
- s9,equipment,,5180.371,1498.2740000000001,5329.683,1635.921
11
- s10,equipment,,2916.139,1498.2740000000001,3053.786,1635.921
12
- s11,equipment,,3450.396,1512.272,3620.7050000000004,1619.5900000000001
13
- s12,valve,,5751.845,1764.236,5856.83,1936.8780000000002
14
- s13,fitting,,1245.8220000000001,3677.784,1416.131,3780.436
15
- s14,equipment,,6269.771000000001,4023.068,6440.08,4118.7210000000005
16
- s15,fitting,Tb6VAhFrl,727.8960000000001,515.5930000000001,835.214,667.238
17
- s16,off_page,,6279.103,3393.1580000000004,6433.081,3498.143
18
- s17,fitting,,734.8950000000001,860.8770000000001,830.5480000000001,1019.5210000000001
19
- s18,check_valve,,1294.815,837.547,1369.471,1040.518
20
- s19,heat_exchanger,,4095.526,2413.2980000000002,4209.843,2543.946
21
- s20,equipment,,5205.923,2125.851,5303.909,2258.8320000000003
22
- s21,equipment,,3479.614,2149.181,3589.265,2235.5020000000004
23
- s22,equipment,,4643.781,1530.9360000000001,4762.764,1600.926
24
- s23,valve,,4128.188,2805.242,4174.848,2830.905
25
- j1,junction,,5250,1847,5260,1857
26
- j2,junction,,2429,3442,2439,3452
 
1
  id,type,tag,x1,y1,x2,y2
2
+ s1,vessel,,4076.862,1091.844,4228.507,1357.806
3
+ s2,equipment,,5182.593,478.26500000000004,5327.239,716.2310000000001
4
+ s3,equipment,,1798.7430000000002,3346.498,1966.719,3542.4700000000003
5
+ s4,equipment,,2902.141,1136.171,3067.784,1313.479
6
+ s5,equipment,,2349.2200000000003,3026.877,2519.529,3180.855
7
  s6,equipment,,1794.0770000000002,2746.917,1971.3850000000002,2891.563
8
+ s7,equipment,,2349.2200000000003,3659.12,2519.529,3801.433
9
+ s8,heat_exchanger,,4662.445,1717.576,4746.433,1988.2040000000002
10
+ s9,valve,,5182.593,1500.1190000000001,5329.572,1633.1000000000001
11
+ s10,fitting,,1245.8220000000001,3677.784,1418.4640000000002,3780.436
12
+ s11,instrument,,2918.472,1500.1190000000001,3051.4530000000004,1633.1000000000001
13
+ s12,equipment,,5754.178,1766.569,5856.83,1936.8780000000002
14
+ s13,valve,,3451.618,1514.1170000000002,3619.594,1616.7690000000002
15
+ s14,off_page,,6279.103,3390.825,6435.414000000001,3498.143
16
+ s15,equipment,,6269.771000000001,4023.068,6440.08,4118.7210000000005
17
+ s16,heat_exchanger,Tb6VAhFrl,727.8960000000001,517.926,835.214,667.238
18
+ s17,heat_exchanger,,4095.526,2412.8100000000004,4209.843,2543.458
19
+ s18,equipment,,734.8950000000001,863.21,830.5480000000001,1017.1880000000001
20
+ s19,fitting,O0HA4j>C#,1297.1480000000001,839.8800000000001,1367.1380000000001,1040.518
21
+ s20,equipment,,5205.923,2128.184,5301.576,2258.8320000000003
22
+ s21,equipment,,3479.614,2149.181,3586.932,2237.835
23
+ s22,equipment,,4646.114,1532.7810000000002,4762.764,1598.105
24
+ s23,valve,,4130.521,2805.242,4172.515,2833.2380000000003
25
+ j1,junction,,3553.121333333333,3534.7481666666667,3563.121333333333,3544.7481666666667
 
data/synth-1/out/pid.sql CHANGED
@@ -1,53 +1,44 @@
1
  -- P&ID graph: SQLite and PostgreSQL compatible
2
  CREATE TABLE components (id TEXT PRIMARY KEY, type TEXT NOT NULL, tag TEXT, x1 REAL, y1 REAL, x2 REAL, y2 REAL);
3
  CREATE TABLE connections (source TEXT NOT NULL REFERENCES components(id), target TEXT NOT NULL REFERENCES components(id), kind TEXT NOT NULL, line TEXT);
4
- INSERT INTO components VALUES ('s1', 'vessel', NULL, 4076.862, 1083.0, 4230.84, 1358.294);
5
- INSERT INTO components VALUES ('s2', 'equipment', NULL, 5180.371, 478.26500000000004, 5325.017, 718.5640000000001);
6
- INSERT INTO components VALUES ('s3', 'equipment', NULL, 1800.9650000000001, 3346.498, 1966.6080000000002, 3544.803);
7
- INSERT INTO components VALUES ('s4', 'equipment', NULL, 2902.141, 1134.326, 3067.784, 1316.3);
8
- INSERT INTO components VALUES ('s5', 'equipment', NULL, 2349.2200000000003, 3026.389, 2519.529, 3178.034);
9
  INSERT INTO components VALUES ('s6', 'equipment', NULL, 1794.0770000000002, 2746.917, 1971.3850000000002, 2891.563);
10
- INSERT INTO components VALUES ('s7', 'equipment', NULL, 2349.2200000000003, 3661.4530000000004, 2519.529, 3799.1000000000004);
11
- INSERT INTO components VALUES ('s8', 'heat_exchanger', NULL, 4662.445, 1717.576, 4746.433, 1985.871);
12
- INSERT INTO components VALUES ('s9', 'equipment', NULL, 5180.371, 1498.2740000000001, 5329.683, 1635.921);
13
- INSERT INTO components VALUES ('s10', 'equipment', NULL, 2916.139, 1498.2740000000001, 3053.786, 1635.921);
14
- INSERT INTO components VALUES ('s11', 'equipment', NULL, 3450.396, 1512.272, 3620.7050000000004, 1619.5900000000001);
15
- INSERT INTO components VALUES ('s12', 'valve', NULL, 5751.845, 1764.236, 5856.83, 1936.8780000000002);
16
- INSERT INTO components VALUES ('s13', 'fitting', NULL, 1245.8220000000001, 3677.784, 1416.131, 3780.436);
17
- INSERT INTO components VALUES ('s14', 'equipment', NULL, 6269.771000000001, 4023.068, 6440.08, 4118.7210000000005);
18
- INSERT INTO components VALUES ('s15', 'fitting', 'Tb6VAhFrl', 727.8960000000001, 515.5930000000001, 835.214, 667.238);
19
- INSERT INTO components VALUES ('s16', 'off_page', NULL, 6279.103, 3393.1580000000004, 6433.081, 3498.143);
20
- INSERT INTO components VALUES ('s17', 'fitting', NULL, 734.8950000000001, 860.8770000000001, 830.5480000000001, 1019.5210000000001);
21
- INSERT INTO components VALUES ('s18', 'check_valve', NULL, 1294.815, 837.547, 1369.471, 1040.518);
22
- INSERT INTO components VALUES ('s19', 'heat_exchanger', NULL, 4095.526, 2413.2980000000002, 4209.843, 2543.946);
23
- INSERT INTO components VALUES ('s20', 'equipment', NULL, 5205.923, 2125.851, 5303.909, 2258.8320000000003);
24
- INSERT INTO components VALUES ('s21', 'equipment', NULL, 3479.614, 2149.181, 3589.265, 2235.5020000000004);
25
- INSERT INTO components VALUES ('s22', 'equipment', NULL, 4643.781, 1530.9360000000001, 4762.764, 1600.926);
26
- INSERT INTO components VALUES ('s23', 'valve', NULL, 4128.188, 2805.242, 4174.848, 2830.905);
27
- INSERT INTO components VALUES ('j1', 'junction', NULL, 5250, 1847, 5260, 1857);
28
- INSERT INTO components VALUES ('j2', 'junction', NULL, 2429, 3442, 2439, 3452);
29
- INSERT INTO connections VALUES ('s15', 's17', 'process', NULL);
30
- INSERT INTO connections VALUES ('s17', 's18', 'process', NULL);
31
- INSERT INTO connections VALUES ('s15', 's2', 'process', NULL);
 
 
 
 
 
 
 
 
 
 
32
  INSERT INTO connections VALUES ('s2', 's9', 'process', NULL);
33
- INSERT INTO connections VALUES ('s9', 's22', 'process', NULL);
34
- INSERT INTO connections VALUES ('s4', 's1', 'process', NULL);
35
- INSERT INTO connections VALUES ('s4', 's10', 'signal', NULL);
36
- INSERT INTO connections VALUES ('s10', 's11', 'process', 'q=B81');
37
- INSERT INTO connections VALUES ('s11', 's21', 'process', NULL);
38
- INSERT INTO connections VALUES ('s21', 's20', 'process', NULL);
39
- INSERT INTO connections VALUES ('s1', 's19', 'process', NULL);
40
- INSERT INTO connections VALUES ('s19', 's23', 'process', 'c)5VDT');
41
- INSERT INTO connections VALUES ('s23', 's6', 'process', 'z4=B(');
42
- INSERT INTO connections VALUES ('s22', 's8', 'signal', NULL);
43
- INSERT INTO connections VALUES ('s8', 'j1', 'signal', NULL);
44
- INSERT INTO connections VALUES ('j1', 's12', 'signal', NULL);
45
- INSERT INTO connections VALUES ('j1', 's20', 'signal', NULL);
46
- INSERT INTO connections VALUES ('s18', 's13', 'process', NULL);
47
- INSERT INTO connections VALUES ('s13', 's7', 'process', '%d2!+t15r');
48
- INSERT INTO connections VALUES ('s6', 's3', 'signal', NULL);
49
- INSERT INTO connections VALUES ('s3', 'j2', 'process', NULL);
50
- INSERT INTO connections VALUES ('s5', 'j2', 'signal', NULL);
51
- INSERT INTO connections VALUES ('j2', 's7', 'process', NULL);
52
- INSERT INTO connections VALUES ('j2', 's16', 'process', NULL);
53
- INSERT INTO connections VALUES ('s16', 's14', 'process', '=Lst@H');
 
1
  -- P&ID graph: SQLite and PostgreSQL compatible
2
  CREATE TABLE components (id TEXT PRIMARY KEY, type TEXT NOT NULL, tag TEXT, x1 REAL, y1 REAL, x2 REAL, y2 REAL);
3
  CREATE TABLE connections (source TEXT NOT NULL REFERENCES components(id), target TEXT NOT NULL REFERENCES components(id), kind TEXT NOT NULL, line TEXT);
4
+ INSERT INTO components VALUES ('s1', 'vessel', NULL, 4076.862, 1091.844, 4228.507, 1357.806);
5
+ INSERT INTO components VALUES ('s2', 'equipment', NULL, 5182.593, 478.26500000000004, 5327.239, 716.2310000000001);
6
+ INSERT INTO components VALUES ('s3', 'equipment', NULL, 1798.7430000000002, 3346.498, 1966.719, 3542.4700000000003);
7
+ INSERT INTO components VALUES ('s4', 'equipment', NULL, 2902.141, 1136.171, 3067.784, 1313.479);
8
+ INSERT INTO components VALUES ('s5', 'equipment', NULL, 2349.2200000000003, 3026.877, 2519.529, 3180.855);
9
  INSERT INTO components VALUES ('s6', 'equipment', NULL, 1794.0770000000002, 2746.917, 1971.3850000000002, 2891.563);
10
+ INSERT INTO components VALUES ('s7', 'equipment', NULL, 2349.2200000000003, 3659.12, 2519.529, 3801.433);
11
+ INSERT INTO components VALUES ('s8', 'heat_exchanger', NULL, 4662.445, 1717.576, 4746.433, 1988.2040000000002);
12
+ INSERT INTO components VALUES ('s9', 'valve', NULL, 5182.593, 1500.1190000000001, 5329.572, 1633.1000000000001);
13
+ INSERT INTO components VALUES ('s10', 'fitting', NULL, 1245.8220000000001, 3677.784, 1418.4640000000002, 3780.436);
14
+ INSERT INTO components VALUES ('s11', 'instrument', NULL, 2918.472, 1500.1190000000001, 3051.4530000000004, 1633.1000000000001);
15
+ INSERT INTO components VALUES ('s12', 'equipment', NULL, 5754.178, 1766.569, 5856.83, 1936.8780000000002);
16
+ INSERT INTO components VALUES ('s13', 'valve', NULL, 3451.618, 1514.1170000000002, 3619.594, 1616.7690000000002);
17
+ INSERT INTO components VALUES ('s14', 'off_page', NULL, 6279.103, 3390.825, 6435.414000000001, 3498.143);
18
+ INSERT INTO components VALUES ('s15', 'equipment', NULL, 6269.771000000001, 4023.068, 6440.08, 4118.7210000000005);
19
+ INSERT INTO components VALUES ('s16', 'heat_exchanger', 'Tb6VAhFrl', 727.8960000000001, 517.926, 835.214, 667.238);
20
+ INSERT INTO components VALUES ('s17', 'heat_exchanger', NULL, 4095.526, 2412.8100000000004, 4209.843, 2543.458);
21
+ INSERT INTO components VALUES ('s18', 'equipment', NULL, 734.8950000000001, 863.21, 830.5480000000001, 1017.1880000000001);
22
+ INSERT INTO components VALUES ('s19', 'fitting', 'O0HA4j>C#', 1297.1480000000001, 839.8800000000001, 1367.1380000000001, 1040.518);
23
+ INSERT INTO components VALUES ('s20', 'equipment', NULL, 5205.923, 2128.184, 5301.576, 2258.8320000000003);
24
+ INSERT INTO components VALUES ('s21', 'equipment', NULL, 3479.614, 2149.181, 3586.932, 2237.835);
25
+ INSERT INTO components VALUES ('s22', 'equipment', NULL, 4646.114, 1532.7810000000002, 4762.764, 1598.105);
26
+ INSERT INTO components VALUES ('s23', 'valve', NULL, 4130.521, 2805.242, 4172.515, 2833.2380000000003);
27
+ INSERT INTO components VALUES ('j1', 'junction', NULL, 3553.121333333333, 3534.7481666666667, 3563.121333333333, 3544.7481666666667);
28
+ INSERT INTO connections VALUES ('s1', 's17', 'process', NULL);
29
+ INSERT INTO connections VALUES ('s1', 's4', 'process', NULL);
30
+ INSERT INTO connections VALUES ('s10', 's19', 'process', NULL);
31
+ INSERT INTO connections VALUES ('s10', 's7', 'process', NULL);
32
+ INSERT INTO connections VALUES ('s11', 's13', 'process', NULL);
33
+ INSERT INTO connections VALUES ('s13', 's21', 'process', NULL);
34
+ INSERT INTO connections VALUES ('s14', 's15', 'process', NULL);
35
+ INSERT INTO connections VALUES ('s14', 'j1', 'process', NULL);
36
+ INSERT INTO connections VALUES ('s3', 'j1', 'process', NULL);
37
+ INSERT INTO connections VALUES ('s7', 'j1', 'process', NULL);
38
+ INSERT INTO connections VALUES ('s16', 's18', 'process', NULL);
39
+ INSERT INTO connections VALUES ('s16', 's2', 'process', NULL);
40
+ INSERT INTO connections VALUES ('s17', 's23', 'process', NULL);
41
+ INSERT INTO connections VALUES ('s18', 's19', 'process', NULL);
42
  INSERT INTO connections VALUES ('s2', 's9', 'process', NULL);
43
+ INSERT INTO connections VALUES ('s22', 's9', 'process', NULL);
44
+ INSERT INTO connections VALUES ('s23', 's6', 'process', NULL);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
data/synth-2/graph.json CHANGED
@@ -11,20 +11,20 @@
11
  "tag": null,
12
  "bbox": [
13
  3985.875,
14
- 3150.526,
15
  4142.186,
16
- 3495.8100000000004
17
  ]
18
  },
19
  {
20
  "id": "s2",
21
- "type": "tank",
22
  "tag": null,
23
  "bbox": [
24
  459.60100000000006,
25
  1077.846,
26
- 690.5680000000001,
27
- 1271.4850000000001
28
  ]
29
  },
30
  {
@@ -40,13 +40,13 @@
40
  },
41
  {
42
  "id": "s4",
43
- "type": "equipment",
44
  "tag": null,
45
  "bbox": [
46
  5287.578,
47
- 2284.983,
48
  5490.549,
49
- 2487.954
50
  ]
51
  },
52
  {
@@ -54,7 +54,7 @@
54
  "type": "equipment",
55
  "tag": null,
56
  "bbox": [
57
- 921.5350000000001,
58
  1647.586,
59
  1066.181,
60
  1915.881
@@ -66,18 +66,18 @@
66
  "tag": null,
67
  "bbox": [
68
  6111.127,
69
- 2034.3760000000002,
70
  6342.094,
71
- 2190.6870000000004
72
  ]
73
  },
74
  {
75
  "id": "s7",
76
- "type": "vessel",
77
  "tag": null,
78
  "bbox": [
79
- 4793.093,
80
- 2912.56,
81
  5005.396000000001,
82
  3071.204
83
  ]
@@ -85,71 +85,71 @@
85
  {
86
  "id": "s8",
87
  "type": "equipment",
88
- "tag": null,
89
  "bbox": [
90
  895.8720000000001,
91
  489.93000000000006,
92
  1091.844,
93
- 650.907
94
  ]
95
  },
96
  {
97
- "id": "s10",
98
- "type": "equipment",
99
  "tag": null,
100
  "bbox": [
101
- 4825.755,
102
- 2036.709,
103
- 4977.4,
104
- 2188.3540000000003
105
  ]
106
  },
107
  {
108
- "id": "s11",
109
  "type": "equipment",
110
  "tag": null,
111
  "bbox": [
112
  4384.818,
113
- 2658.263,
114
  4576.124,
115
- 2777.246
116
  ]
117
  },
118
  {
119
- "id": "s12",
120
  "type": "equipment",
121
  "tag": null,
122
  "bbox": [
123
- 4384.818,
124
- 3540.137,
125
- 4576.124,
126
- 3659.12
127
  ]
128
  },
129
  {
130
- "id": "s13",
131
  "type": "vessel",
132
  "tag": null,
133
  "bbox": [
134
- 5329.683,
135
- 2630.267,
136
- 5444.0,
137
- 2826.239
138
  ]
139
  },
140
  {
141
- "id": "s14",
142
- "type": "heat_exchanger",
143
  "tag": null,
144
  "bbox": [
145
- 5749.512000000001,
146
- 2282.65,
147
- 5866.162,
148
- 2473.956
149
  ]
150
  },
151
  {
152
- "id": "s15",
153
  "type": "equipment",
154
  "tag": null,
155
  "bbox": [
@@ -160,7 +160,7 @@
160
  ]
161
  },
162
  {
163
- "id": "s16",
164
  "type": "equipment",
165
  "tag": null,
166
  "bbox": [
@@ -171,40 +171,40 @@
171
  ]
172
  },
173
  {
174
- "id": "s17",
175
- "type": "equipment",
176
  "tag": null,
177
  "bbox": [
178
- 3105.112,
179
  3841.094,
180
  3207.764,
181
  4013.736
182
  ]
183
  },
184
  {
185
- "id": "s19",
186
  "type": "equipment",
187
  "tag": null,
188
  "bbox": [
189
- 3574.045,
190
- 3271.3540000000003,
191
- 3714.025,
192
- 3376.3390000000004
193
  ]
194
  },
195
  {
196
- "id": "s20",
197
  "type": "equipment",
198
  "tag": null,
199
  "bbox": [
200
- 1346.141,
201
- 846.879,
202
- 1479.122,
203
- 954.1970000000001
204
  ]
205
  },
206
  {
207
- "id": "s21",
208
  "type": "heat_exchanger",
209
  "tag": null,
210
  "bbox": [
@@ -215,18 +215,18 @@
215
  ]
216
  },
217
  {
218
- "id": "s22",
219
  "type": "equipment",
220
  "tag": null,
221
  "bbox": [
222
  1376.47,
223
- 1106.33,
224
- 1446.46,
225
- 1243.977
226
  ]
227
  },
228
  {
229
- "id": "s23",
230
  "type": "pump",
231
  "tag": null,
232
  "bbox": [
@@ -237,7 +237,7 @@
237
  ]
238
  },
239
  {
240
- "id": "s24",
241
  "type": "pump",
242
  "tag": null,
243
  "bbox": [
@@ -248,14 +248,14 @@
248
  ]
249
  },
250
  {
251
- "id": "s25",
252
  "type": "valve",
253
  "tag": null,
254
  "bbox": [
255
- 2297.8940000000002,
256
  2704.4350000000004,
257
  2339.888,
258
- 2730.098
259
  ]
260
  },
261
  {
@@ -263,10 +263,10 @@
263
  "type": "junction",
264
  "tag": null,
265
  "bbox": [
266
- 990,
267
- 1170,
268
- 1000,
269
- 1180
270
  ]
271
  },
272
  {
@@ -274,10 +274,10 @@
274
  "type": "junction",
275
  "tag": null,
276
  "bbox": [
277
- 1895,
278
- 1775,
279
- 1905,
280
- 1785
281
  ]
282
  },
283
  {
@@ -285,185 +285,123 @@
285
  "type": "junction",
286
  "tag": null,
287
  "bbox": [
288
- 2735,
289
- 1775,
290
- 2745,
291
- 1785
292
- ]
293
- },
294
- {
295
- "id": "j4",
296
- "type": "junction",
297
- "tag": null,
298
- "bbox": [
299
- 4475,
300
- 2975,
301
- 4485,
302
- 2985
303
- ]
304
- },
305
- {
306
- "id": "j5",
307
- "type": "junction",
308
- "tag": null,
309
- "bbox": [
310
- 4895,
311
- 2695,
312
- 4905,
313
- 2705
314
  ]
315
  }
316
  ],
317
  "edges": [
318
  {
319
- "source": "s20",
320
- "target": "s22",
321
  "kind": "process"
322
  },
323
  {
324
- "source": "s22",
325
  "target": "j1",
326
  "kind": "process"
327
  },
328
  {
329
- "source": "j1",
330
- "target": "s5",
331
- "kind": "process"
332
- },
333
- {
334
- "source": "s5",
335
- "target": "j2",
336
  "kind": "process"
337
  },
338
  {
339
- "source": "j2",
340
- "target": "j3",
341
  "kind": "process"
342
  },
343
  {
344
- "source": "j2",
345
- "target": "s21",
346
  "kind": "process"
347
  },
348
  {
349
- "source": "s21",
350
- "target": "s25",
351
  "kind": "process"
352
  },
353
  {
354
- "source": "s3",
355
- "target": "s23",
356
  "kind": "process"
357
  },
358
  {
359
- "source": "s23",
360
- "target": "j3",
361
  "kind": "process"
362
  },
363
  {
364
- "source": "j3",
365
- "target": "j4",
366
  "kind": "process"
367
  },
368
  {
369
- "source": "j4",
370
- "target": "s11",
371
  "kind": "process"
372
  },
373
  {
374
- "source": "j4",
375
- "target": "s7",
376
  "kind": "process"
377
  },
378
  {
379
- "source": "s11",
380
- "target": "j5",
381
  "kind": "process"
382
  },
383
  {
384
- "source": "j5",
385
- "target": "s7",
386
  "kind": "process"
387
  },
388
  {
389
- "source": "j5",
390
- "target": "s13",
391
  "kind": "process"
392
  },
393
  {
394
  "source": "s13",
395
- "target": "s4",
396
  "kind": "process"
397
  },
398
  {
399
- "source": "s4",
400
- "target": "s14",
401
  "kind": "process"
402
  },
403
  {
404
- "source": "s10",
405
  "target": "s6",
406
  "kind": "process"
407
  },
408
  {
409
- "source": "s19",
410
- "target": "s1",
411
  "kind": "process"
412
  },
413
  {
414
- "source": "s19",
415
- "target": "s24",
416
  "kind": "process"
417
  },
418
  {
419
- "source": "s24",
420
- "target": "s12",
421
  "kind": "process"
422
  },
423
  {
424
- "source": "s17",
425
- "target": "s16",
426
  "kind": "process"
427
  },
428
  {
429
- "source": "s16",
430
- "target": "s6",
431
  "kind": "process"
432
- },
433
- {
434
- "source": "s2",
435
- "target": "j1",
436
- "kind": "signal"
437
- },
438
- {
439
- "source": "s8",
440
- "target": "j1",
441
- "kind": "signal"
442
- },
443
- {
444
- "source": "s8",
445
- "target": "j2",
446
- "kind": "signal"
447
- },
448
- {
449
- "source": "j3",
450
- "target": "s15",
451
- "kind": "signal"
452
- },
453
- {
454
- "source": "s15",
455
- "target": "s17",
456
- "kind": "signal"
457
- },
458
- {
459
- "source": "s10",
460
- "target": "j5",
461
- "kind": "signal"
462
- },
463
- {
464
- "source": "j4",
465
- "target": "s12",
466
- "kind": "signal"
467
  }
468
  ]
469
- }
 
11
  "tag": null,
12
  "bbox": [
13
  3985.875,
14
+ 3152.859,
15
  4142.186,
16
+ 3493.477
17
  ]
18
  },
19
  {
20
  "id": "s2",
21
+ "type": "vessel",
22
  "tag": null,
23
  "bbox": [
24
  459.60100000000006,
25
  1077.846,
26
+ 692.9010000000001,
27
+ 1273.8180000000002
28
  ]
29
  },
30
  {
 
40
  },
41
  {
42
  "id": "s4",
43
+ "type": "vessel",
44
  "tag": null,
45
  "bbox": [
46
  5287.578,
47
+ 2284.495,
48
  5490.549,
49
+ 2487.4660000000003
50
  ]
51
  },
52
  {
 
54
  "type": "equipment",
55
  "tag": null,
56
  "bbox": [
57
+ 923.868,
58
  1647.586,
59
  1066.181,
60
  1915.881
 
66
  "tag": null,
67
  "bbox": [
68
  6111.127,
69
+ 2032.531,
70
  6342.094,
71
+ 2191.175
72
  ]
73
  },
74
  {
75
  "id": "s7",
76
+ "type": "equipment",
77
  "tag": null,
78
  "bbox": [
79
+ 4795.426,
80
+ 2914.893,
81
  5005.396000000001,
82
  3071.204
83
  ]
 
85
  {
86
  "id": "s8",
87
  "type": "equipment",
88
+ "tag": "gbEDg",
89
  "bbox": [
90
  895.8720000000001,
91
  489.93000000000006,
92
  1091.844,
93
+ 653.24
94
  ]
95
  },
96
  {
97
+ "id": "s9",
98
+ "type": "heat_exchanger",
99
  "tag": null,
100
  "bbox": [
101
+ 5747.179,
102
+ 2282.1620000000003,
103
+ 5866.162,
104
+ 2475.8010000000004
105
  ]
106
  },
107
  {
108
+ "id": "s10",
109
  "type": "equipment",
110
  "tag": null,
111
  "bbox": [
112
  4384.818,
113
+ 2657.775,
114
  4576.124,
115
+ 2776.758
116
  ]
117
  },
118
  {
119
+ "id": "s11",
120
  "type": "equipment",
121
  "tag": null,
122
  "bbox": [
123
+ 4825.755,
124
+ 2037.1970000000001,
125
+ 4975.067,
126
+ 2188.842
127
  ]
128
  },
129
  {
130
+ "id": "s12",
131
  "type": "vessel",
132
  "tag": null,
133
  "bbox": [
134
+ 5329.572,
135
+ 2629.7790000000005,
136
+ 5446.222,
137
+ 2823.418
138
  ]
139
  },
140
  {
141
+ "id": "s13",
142
+ "type": "equipment",
143
  "tag": null,
144
  "bbox": [
145
+ 4387.151,
146
+ 3540.137,
147
+ 4578.457,
148
+ 3656.7870000000003
149
  ]
150
  },
151
  {
152
+ "id": "s14",
153
  "type": "equipment",
154
  "tag": null,
155
  "bbox": [
 
160
  ]
161
  },
162
  {
163
+ "id": "s15",
164
  "type": "equipment",
165
  "tag": null,
166
  "bbox": [
 
171
  ]
172
  },
173
  {
174
+ "id": "s16",
175
+ "type": "compressor",
176
  "tag": null,
177
  "bbox": [
178
+ 3102.7790000000005,
179
  3841.094,
180
  3207.764,
181
  4013.736
182
  ]
183
  },
184
  {
185
+ "id": "s17",
186
  "type": "equipment",
187
  "tag": null,
188
  "bbox": [
189
+ 1343.808,
190
+ 844.546,
191
+ 1481.4550000000002,
192
+ 956.5300000000001
193
  ]
194
  },
195
  {
196
+ "id": "s18",
197
  "type": "equipment",
198
  "tag": null,
199
  "bbox": [
200
+ 3575.267,
201
+ 3271.842,
202
+ 3712.914,
203
+ 3374.494
204
  ]
205
  },
206
  {
207
+ "id": "s19",
208
  "type": "heat_exchanger",
209
  "tag": null,
210
  "bbox": [
 
215
  ]
216
  },
217
  {
218
+ "id": "s20",
219
  "type": "equipment",
220
  "tag": null,
221
  "bbox": [
222
  1376.47,
223
+ 1105.842,
224
+ 1448.7930000000001,
225
+ 1243.489
226
  ]
227
  },
228
  {
229
+ "id": "s21",
230
  "type": "pump",
231
  "tag": null,
232
  "bbox": [
 
237
  ]
238
  },
239
  {
240
+ "id": "s22",
241
  "type": "pump",
242
  "tag": null,
243
  "bbox": [
 
248
  ]
249
  },
250
  {
251
+ "id": "s23",
252
  "type": "valve",
253
  "tag": null,
254
  "bbox": [
255
+ 2300.227,
256
  2704.4350000000004,
257
  2339.888,
258
+ 2727.7650000000003
259
  ]
260
  },
261
  {
 
263
  "type": "junction",
264
  "tag": null,
265
  "bbox": [
266
+ 4917.926333333333,
267
+ 2807.3044999999997,
268
+ 4927.926333333333,
269
+ 2817.3044999999997
270
  ]
271
  },
272
  {
 
274
  "type": "junction",
275
  "tag": null,
276
  "bbox": [
277
+ 3023.3729166666667,
278
+ 2602.1135833333333,
279
+ 3033.3729166666667,
280
+ 2612.1135833333333
281
  ]
282
  },
283
  {
 
285
  "type": "junction",
286
  "tag": null,
287
  "bbox": [
288
+ 5522.877,
289
+ 2492.1868333333337,
290
+ 5532.877,
291
+ 2502.1868333333337
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
292
  ]
293
  }
294
  ],
295
  "edges": [
296
  {
297
+ "source": "s1",
298
+ "target": "s18",
299
  "kind": "process"
300
  },
301
  {
302
+ "source": "s10",
303
  "target": "j1",
304
  "kind": "process"
305
  },
306
  {
307
+ "source": "s12",
308
+ "target": "j1",
 
 
 
 
 
309
  "kind": "process"
310
  },
311
  {
312
+ "source": "s7",
313
+ "target": "j1",
314
  "kind": "process"
315
  },
316
  {
317
+ "source": "s10",
318
+ "target": "j2",
319
  "kind": "process"
320
  },
321
  {
322
+ "source": "s16",
323
+ "target": "j2",
324
  "kind": "process"
325
  },
326
  {
327
+ "source": "s19",
328
+ "target": "j2",
329
  "kind": "process"
330
  },
331
  {
332
+ "source": "s21",
333
+ "target": "j2",
334
  "kind": "process"
335
  },
336
  {
337
+ "source": "s5",
338
+ "target": "j2",
339
  "kind": "process"
340
  },
341
  {
342
+ "source": "s7",
343
+ "target": "j2",
344
  "kind": "process"
345
  },
346
  {
347
+ "source": "s11",
348
+ "target": "s6",
349
  "kind": "process"
350
  },
351
  {
352
+ "source": "s12",
353
+ "target": "j3",
354
  "kind": "process"
355
  },
356
  {
357
+ "source": "s4",
358
+ "target": "j3",
359
  "kind": "process"
360
  },
361
  {
362
+ "source": "s9",
363
+ "target": "j3",
364
  "kind": "process"
365
  },
366
  {
367
  "source": "s13",
368
+ "target": "s22",
369
  "kind": "process"
370
  },
371
  {
372
+ "source": "s15",
373
+ "target": "s16",
374
  "kind": "process"
375
  },
376
  {
377
+ "source": "s15",
378
  "target": "s6",
379
  "kind": "process"
380
  },
381
  {
382
+ "source": "s17",
383
+ "target": "s20",
384
  "kind": "process"
385
  },
386
  {
387
+ "source": "s18",
388
+ "target": "s22",
389
  "kind": "process"
390
  },
391
  {
392
+ "source": "s19",
393
+ "target": "s23",
394
  "kind": "process"
395
  },
396
  {
397
+ "source": "s20",
398
+ "target": "s5",
399
  "kind": "process"
400
  },
401
  {
402
+ "source": "s21",
403
+ "target": "s3",
404
  "kind": "process"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
405
  }
406
  ]
407
+ }
data/synth-2/out/edges.csv CHANGED
@@ -1,31 +1,23 @@
1
  source,target,kind,line
2
- s20,s22,process,
3
- s22,j1,process,
4
- j1,s5,process,
 
 
 
 
 
5
  s5,j2,process,
6
- j2,j3,process,
7
- j2,s21,process,
8
- s21,s25,process,
9
- s3,s23,process,
10
- s23,j3,process,
11
- j3,j4,process,
12
- j4,s11,process,
13
- j4,s7,process,
14
- s11,j5,process,
15
- j5,s7,process,
16
- j5,s13,process,
17
- s13,s4,process,
18
- s4,s14,process,
19
- s10,s6,process,
20
- s19,s1,process,
21
- s19,s24,process,
22
- s24,s12,process,
23
- s17,s16,process,
24
- s16,s6,process,
25
- s2,j1,signal,
26
- s8,j1,signal,
27
- s8,j2,signal,
28
- j3,s15,signal,
29
- s15,s17,signal,
30
- s10,j5,signal,
31
- j4,s12,signal,
 
1
  source,target,kind,line
2
+ s1,s18,process,
3
+ s10,j1,process,
4
+ s12,j1,process,
5
+ s7,j1,process,
6
+ s10,j2,process,
7
+ s16,j2,process,
8
+ s19,j2,process,
9
+ s21,j2,process,
10
  s5,j2,process,
11
+ s7,j2,process,
12
+ s11,s6,process,
13
+ s12,j3,process,
14
+ s4,j3,process,
15
+ s9,j3,process,
16
+ s13,s22,process,
17
+ s15,s16,process,
18
+ s15,s6,process,
19
+ s17,s20,process,
20
+ s18,s22,process,
21
+ s19,s23,process,
22
+ s20,s5,process,
23
+ s21,s3,process,
 
 
 
 
 
 
 
 
 
 
 
 
 
data/synth-2/out/graph.cypher CHANGED
@@ -1,58 +1,48 @@
1
- CREATE (:Component {id: 's1', type: 'column', x1: 3985.875, y1: 3150.526, x2: 4142.186, y2: 3495.8100000000004});
2
- CREATE (:Component {id: 's2', type: 'tank', x1: 459.60100000000006, y1: 1077.846, x2: 690.5680000000001, y2: 1271.4850000000001});
3
  CREATE (:Component {id: 's3', type: 'vessel', x1: 2185.91, y1: 1430.1290000000001, x2: 2454.205, y2: 1584.1070000000002});
4
- CREATE (:Component {id: 's4', type: 'equipment', x1: 5287.578, y1: 2284.983, x2: 5490.549, y2: 2487.954});
5
- CREATE (:Component {id: 's5', type: 'equipment', x1: 921.5350000000001, y1: 1647.586, x2: 1066.181, y2: 1915.881});
6
- CREATE (:Component {id: 's6', type: 'equipment', x1: 6111.127, y1: 2034.3760000000002, x2: 6342.094, y2: 2190.6870000000004});
7
- CREATE (:Component {id: 's7', type: 'vessel', x1: 4793.093, y1: 2912.56, x2: 5005.396000000001, y2: 3071.204});
8
- CREATE (:Component {id: 's8', type: 'equipment', x1: 895.8720000000001, y1: 489.93000000000006, x2: 1091.844, y2: 650.907});
9
- CREATE (:Component {id: 's10', type: 'equipment', x1: 4825.755, y1: 2036.709, x2: 4977.4, y2: 2188.3540000000003});
10
- CREATE (:Component {id: 's11', type: 'equipment', x1: 4384.818, y1: 2658.263, x2: 4576.124, y2: 2777.246});
11
- CREATE (:Component {id: 's12', type: 'equipment', x1: 4384.818, y1: 3540.137, x2: 4576.124, y2: 3659.12});
12
- CREATE (:Component {id: 's13', type: 'vessel', x1: 5329.683, y1: 2630.267, x2: 5444.0, y2: 2826.239});
13
- CREATE (:Component {id: 's14', type: 'heat_exchanger', x1: 5749.512000000001, y1: 2282.65, x2: 5866.162, y2: 2473.956});
14
- CREATE (:Component {id: 's15', type: 'equipment', x1: 3095.78, y1: 1698.912, x2: 3217.0960000000005, y2: 1864.555});
15
- CREATE (:Component {id: 's16', type: 'equipment', x1: 6171.785, y1: 3845.76, x2: 6281.436, y2: 4011.4030000000002});
16
- CREATE (:Component {id: 's17', type: 'equipment', x1: 3105.112, y1: 3841.094, x2: 3207.764, y2: 4013.736});
17
- CREATE (:Component {id: 's19', type: 'equipment', x1: 3574.045, y1: 3271.3540000000003, x2: 3714.025, y2: 3376.3390000000004});
18
- CREATE (:Component {id: 's20', type: 'equipment', x1: 1346.141, y1: 846.879, x2: 1479.122, y2: 954.1970000000001});
19
- CREATE (:Component {id: 's21', type: 'heat_exchanger', x1: 1847.736, y1: 2664.7740000000003, x2: 1952.7210000000002, y2: 2769.759});
20
- CREATE (:Component {id: 's22', type: 'equipment', x1: 1376.47, y1: 1106.33, x2: 1446.46, y2: 1243.977});
21
- CREATE (:Component {id: 's23', type: 'pump', x1: 2687.505, y1: 1460.458, x2: 2790.157, y2: 1551.4450000000002});
22
- CREATE (:Component {id: 's24', type: 'pump', x1: 3598.597, y1: 3554.135, x2: 3691.917, y2: 3642.789});
23
- CREATE (:Component {id: 's25', type: 'valve', x1: 2297.8940000000002, y1: 2704.4350000000004, x2: 2339.888, y2: 2730.098});
24
- CREATE (:Junction {id: 'j1', type: 'junction', x1: 990, y1: 1170, x2: 1000, y2: 1180});
25
- CREATE (:Junction {id: 'j2', type: 'junction', x1: 1895, y1: 1775, x2: 1905, y2: 1785});
26
- CREATE (:Junction {id: 'j3', type: 'junction', x1: 2735, y1: 1775, x2: 2745, y2: 1785});
27
- CREATE (:Junction {id: 'j4', type: 'junction', x1: 4475, y1: 2975, x2: 4485, y2: 2985});
28
- CREATE (:Junction {id: 'j5', type: 'junction', x1: 4895, y1: 2695, x2: 4905, y2: 2705});
29
- MATCH (a {id: 's20'}), (b {id: 's22'}) CREATE (a)-[:PIPE]->(b);
30
- MATCH (a {id: 's22'}), (b {id: 'j1'}) CREATE (a)-[:PIPE]->(b);
31
- MATCH (a {id: 'j1'}), (b {id: 's5'}) CREATE (a)-[:PIPE]->(b);
 
 
 
32
  MATCH (a {id: 's5'}), (b {id: 'j2'}) CREATE (a)-[:PIPE]->(b);
33
- MATCH (a {id: 'j2'}), (b {id: 'j3'}) CREATE (a)-[:PIPE]->(b);
34
- MATCH (a {id: 'j2'}), (b {id: 's21'}) CREATE (a)-[:PIPE]->(b);
35
- MATCH (a {id: 's21'}), (b {id: 's25'}) CREATE (a)-[:PIPE]->(b);
36
- MATCH (a {id: 's3'}), (b {id: 's23'}) CREATE (a)-[:PIPE]->(b);
37
- MATCH (a {id: 's23'}), (b {id: 'j3'}) CREATE (a)-[:PIPE]->(b);
38
- MATCH (a {id: 'j3'}), (b {id: 'j4'}) CREATE (a)-[:PIPE]->(b);
39
- MATCH (a {id: 'j4'}), (b {id: 's11'}) CREATE (a)-[:PIPE]->(b);
40
- MATCH (a {id: 'j4'}), (b {id: 's7'}) CREATE (a)-[:PIPE]->(b);
41
- MATCH (a {id: 's11'}), (b {id: 'j5'}) CREATE (a)-[:PIPE]->(b);
42
- MATCH (a {id: 'j5'}), (b {id: 's7'}) CREATE (a)-[:PIPE]->(b);
43
- MATCH (a {id: 'j5'}), (b {id: 's13'}) CREATE (a)-[:PIPE]->(b);
44
- MATCH (a {id: 's13'}), (b {id: 's4'}) CREATE (a)-[:PIPE]->(b);
45
- MATCH (a {id: 's4'}), (b {id: 's14'}) CREATE (a)-[:PIPE]->(b);
46
- MATCH (a {id: 's10'}), (b {id: 's6'}) CREATE (a)-[:PIPE]->(b);
47
- MATCH (a {id: 's19'}), (b {id: 's1'}) CREATE (a)-[:PIPE]->(b);
48
- MATCH (a {id: 's19'}), (b {id: 's24'}) CREATE (a)-[:PIPE]->(b);
49
- MATCH (a {id: 's24'}), (b {id: 's12'}) CREATE (a)-[:PIPE]->(b);
50
- MATCH (a {id: 's17'}), (b {id: 's16'}) CREATE (a)-[:PIPE]->(b);
51
- MATCH (a {id: 's16'}), (b {id: 's6'}) CREATE (a)-[:PIPE]->(b);
52
- MATCH (a {id: 's2'}), (b {id: 'j1'}) CREATE (a)-[:SIGNAL]->(b);
53
- MATCH (a {id: 's8'}), (b {id: 'j1'}) CREATE (a)-[:SIGNAL]->(b);
54
- MATCH (a {id: 's8'}), (b {id: 'j2'}) CREATE (a)-[:SIGNAL]->(b);
55
- MATCH (a {id: 'j3'}), (b {id: 's15'}) CREATE (a)-[:SIGNAL]->(b);
56
- MATCH (a {id: 's15'}), (b {id: 's17'}) CREATE (a)-[:SIGNAL]->(b);
57
- MATCH (a {id: 's10'}), (b {id: 'j5'}) CREATE (a)-[:SIGNAL]->(b);
58
- MATCH (a {id: 'j4'}), (b {id: 's12'}) CREATE (a)-[:SIGNAL]->(b);
 
1
+ CREATE (:Component {id: 's1', type: 'column', x1: 3985.875, y1: 3152.859, x2: 4142.186, y2: 3493.477});
2
+ CREATE (:Component {id: 's2', type: 'vessel', x1: 459.60100000000006, y1: 1077.846, x2: 692.9010000000001, y2: 1273.8180000000002});
3
  CREATE (:Component {id: 's3', type: 'vessel', x1: 2185.91, y1: 1430.1290000000001, x2: 2454.205, y2: 1584.1070000000002});
4
+ CREATE (:Component {id: 's4', type: 'vessel', x1: 5287.578, y1: 2284.495, x2: 5490.549, y2: 2487.4660000000003});
5
+ CREATE (:Component {id: 's5', type: 'equipment', x1: 923.868, y1: 1647.586, x2: 1066.181, y2: 1915.881});
6
+ CREATE (:Component {id: 's6', type: 'equipment', x1: 6111.127, y1: 2032.531, x2: 6342.094, y2: 2191.175});
7
+ CREATE (:Component {id: 's7', type: 'equipment', x1: 4795.426, y1: 2914.893, x2: 5005.396000000001, y2: 3071.204});
8
+ CREATE (:Component {id: 's8', type: 'equipment', tag: 'gbEDg', x1: 895.8720000000001, y1: 489.93000000000006, x2: 1091.844, y2: 653.24});
9
+ CREATE (:Component {id: 's9', type: 'heat_exchanger', x1: 5747.179, y1: 2282.1620000000003, x2: 5866.162, y2: 2475.8010000000004});
10
+ CREATE (:Component {id: 's10', type: 'equipment', x1: 4384.818, y1: 2657.775, x2: 4576.124, y2: 2776.758});
11
+ CREATE (:Component {id: 's11', type: 'equipment', x1: 4825.755, y1: 2037.1970000000001, x2: 4975.067, y2: 2188.842});
12
+ CREATE (:Component {id: 's12', type: 'vessel', x1: 5329.572, y1: 2629.7790000000005, x2: 5446.222, y2: 2823.418});
13
+ CREATE (:Component {id: 's13', type: 'equipment', x1: 4387.151, y1: 3540.137, x2: 4578.457, y2: 3656.7870000000003});
14
+ CREATE (:Component {id: 's14', type: 'equipment', x1: 3095.78, y1: 1698.912, x2: 3217.0960000000005, y2: 1864.555});
15
+ CREATE (:Component {id: 's15', type: 'equipment', x1: 6171.785, y1: 3845.76, x2: 6281.436, y2: 4011.4030000000002});
16
+ CREATE (:Component {id: 's16', type: 'compressor', x1: 3102.7790000000005, y1: 3841.094, x2: 3207.764, y2: 4013.736});
17
+ CREATE (:Component {id: 's17', type: 'equipment', x1: 1343.808, y1: 844.546, x2: 1481.4550000000002, y2: 956.5300000000001});
18
+ CREATE (:Component {id: 's18', type: 'equipment', x1: 3575.267, y1: 3271.842, x2: 3712.914, y2: 3374.494});
19
+ CREATE (:Component {id: 's19', type: 'heat_exchanger', x1: 1847.736, y1: 2664.7740000000003, x2: 1952.7210000000002, y2: 2769.759});
20
+ CREATE (:Component {id: 's20', type: 'equipment', x1: 1376.47, y1: 1105.842, x2: 1448.7930000000001, y2: 1243.489});
21
+ CREATE (:Component {id: 's21', type: 'pump', x1: 2687.505, y1: 1460.458, x2: 2790.157, y2: 1551.4450000000002});
22
+ CREATE (:Component {id: 's22', type: 'pump', x1: 3598.597, y1: 3554.135, x2: 3691.917, y2: 3642.789});
23
+ CREATE (:Component {id: 's23', type: 'valve', x1: 2300.227, y1: 2704.4350000000004, x2: 2339.888, y2: 2727.7650000000003});
24
+ CREATE (:Junction {id: 'j1', type: 'junction', x1: 4917.926333333333, y1: 2807.3044999999997, x2: 4927.926333333333, y2: 2817.3044999999997});
25
+ CREATE (:Junction {id: 'j2', type: 'junction', x1: 3023.3729166666667, y1: 2602.1135833333333, x2: 3033.3729166666667, y2: 2612.1135833333333});
26
+ CREATE (:Junction {id: 'j3', type: 'junction', x1: 5522.877, y1: 2492.1868333333337, x2: 5532.877, y2: 2502.1868333333337});
27
+ MATCH (a {id: 's1'}), (b {id: 's18'}) CREATE (a)-[:PIPE]->(b);
28
+ MATCH (a {id: 's10'}), (b {id: 'j1'}) CREATE (a)-[:PIPE]->(b);
29
+ MATCH (a {id: 's12'}), (b {id: 'j1'}) CREATE (a)-[:PIPE]->(b);
30
+ MATCH (a {id: 's7'}), (b {id: 'j1'}) CREATE (a)-[:PIPE]->(b);
31
+ MATCH (a {id: 's10'}), (b {id: 'j2'}) CREATE (a)-[:PIPE]->(b);
32
+ MATCH (a {id: 's16'}), (b {id: 'j2'}) CREATE (a)-[:PIPE]->(b);
33
+ MATCH (a {id: 's19'}), (b {id: 'j2'}) CREATE (a)-[:PIPE]->(b);
34
+ MATCH (a {id: 's21'}), (b {id: 'j2'}) CREATE (a)-[:PIPE]->(b);
35
  MATCH (a {id: 's5'}), (b {id: 'j2'}) CREATE (a)-[:PIPE]->(b);
36
+ MATCH (a {id: 's7'}), (b {id: 'j2'}) CREATE (a)-[:PIPE]->(b);
37
+ MATCH (a {id: 's11'}), (b {id: 's6'}) CREATE (a)-[:PIPE]->(b);
38
+ MATCH (a {id: 's12'}), (b {id: 'j3'}) CREATE (a)-[:PIPE]->(b);
39
+ MATCH (a {id: 's4'}), (b {id: 'j3'}) CREATE (a)-[:PIPE]->(b);
40
+ MATCH (a {id: 's9'}), (b {id: 'j3'}) CREATE (a)-[:PIPE]->(b);
41
+ MATCH (a {id: 's13'}), (b {id: 's22'}) CREATE (a)-[:PIPE]->(b);
42
+ MATCH (a {id: 's15'}), (b {id: 's16'}) CREATE (a)-[:PIPE]->(b);
43
+ MATCH (a {id: 's15'}), (b {id: 's6'}) CREATE (a)-[:PIPE]->(b);
44
+ MATCH (a {id: 's17'}), (b {id: 's20'}) CREATE (a)-[:PIPE]->(b);
45
+ MATCH (a {id: 's18'}), (b {id: 's22'}) CREATE (a)-[:PIPE]->(b);
46
+ MATCH (a {id: 's19'}), (b {id: 's23'}) CREATE (a)-[:PIPE]->(b);
47
+ MATCH (a {id: 's20'}), (b {id: 's5'}) CREATE (a)-[:PIPE]->(b);
48
+ MATCH (a {id: 's21'}), (b {id: 's3'}) CREATE (a)-[:PIPE]->(b);
 
 
 
 
 
 
 
 
 
 
 
 
 
data/synth-2/out/graph.graphml CHANGED
@@ -12,16 +12,16 @@
12
  <node id="s1">
13
  <data key="node_type">column</data>
14
  <data key="node_x1">3985.875</data>
15
- <data key="node_y1">3150.526</data>
16
  <data key="node_x2">4142.186</data>
17
- <data key="node_y2">3495.8100000000004</data>
18
  </node>
19
  <node id="s2">
20
- <data key="node_type">tank</data>
21
  <data key="node_x1">459.60100000000006</data>
22
  <data key="node_y1">1077.846</data>
23
- <data key="node_x2">690.5680000000001</data>
24
- <data key="node_y2">1271.4850000000001</data>
25
  </node>
26
  <node id="s3">
27
  <data key="node_type">vessel</data>
@@ -31,15 +31,15 @@
31
  <data key="node_y2">1584.1070000000002</data>
32
  </node>
33
  <node id="s4">
34
- <data key="node_type">equipment</data>
35
  <data key="node_x1">5287.578</data>
36
- <data key="node_y1">2284.983</data>
37
  <data key="node_x2">5490.549</data>
38
- <data key="node_y2">2487.954</data>
39
  </node>
40
  <node id="s5">
41
  <data key="node_type">equipment</data>
42
- <data key="node_x1">921.5350000000001</data>
43
  <data key="node_y1">1647.586</data>
44
  <data key="node_x2">1066.181</data>
45
  <data key="node_y2">1915.881</data>
@@ -47,253 +47,216 @@
47
  <node id="s6">
48
  <data key="node_type">equipment</data>
49
  <data key="node_x1">6111.127</data>
50
- <data key="node_y1">2034.3760000000002</data>
51
  <data key="node_x2">6342.094</data>
52
- <data key="node_y2">2190.6870000000004</data>
53
  </node>
54
  <node id="s7">
55
- <data key="node_type">vessel</data>
56
- <data key="node_x1">4793.093</data>
57
- <data key="node_y1">2912.56</data>
58
  <data key="node_x2">5005.396000000001</data>
59
  <data key="node_y2">3071.204</data>
60
  </node>
61
  <node id="s8">
62
  <data key="node_type">equipment</data>
 
63
  <data key="node_x1">895.8720000000001</data>
64
  <data key="node_y1">489.93000000000006</data>
65
  <data key="node_x2">1091.844</data>
66
- <data key="node_y2">650.907</data>
 
 
 
 
 
 
 
67
  </node>
68
  <node id="s10">
69
  <data key="node_type">equipment</data>
70
- <data key="node_x1">4825.755</data>
71
- <data key="node_y1">2036.709</data>
72
- <data key="node_x2">4977.4</data>
73
- <data key="node_y2">2188.3540000000003</data>
74
  </node>
75
  <node id="s11">
76
  <data key="node_type">equipment</data>
77
- <data key="node_x1">4384.818</data>
78
- <data key="node_y1">2658.263</data>
79
- <data key="node_x2">4576.124</data>
80
- <data key="node_y2">2777.246</data>
81
  </node>
82
  <node id="s12">
83
- <data key="node_type">equipment</data>
84
- <data key="node_x1">4384.818</data>
85
- <data key="node_y1">3540.137</data>
86
- <data key="node_x2">4576.124</data>
87
- <data key="node_y2">3659.12</data>
88
  </node>
89
  <node id="s13">
90
- <data key="node_type">vessel</data>
91
- <data key="node_x1">5329.683</data>
92
- <data key="node_y1">2630.267</data>
93
- <data key="node_x2">5444.0</data>
94
- <data key="node_y2">2826.239</data>
95
  </node>
96
  <node id="s14">
97
- <data key="node_type">heat_exchanger</data>
98
- <data key="node_x1">5749.512000000001</data>
99
- <data key="node_y1">2282.65</data>
100
- <data key="node_x2">5866.162</data>
101
- <data key="node_y2">2473.956</data>
102
- </node>
103
- <node id="s15">
104
  <data key="node_type">equipment</data>
105
  <data key="node_x1">3095.78</data>
106
  <data key="node_y1">1698.912</data>
107
  <data key="node_x2">3217.0960000000005</data>
108
  <data key="node_y2">1864.555</data>
109
  </node>
110
- <node id="s16">
111
  <data key="node_type">equipment</data>
112
  <data key="node_x1">6171.785</data>
113
  <data key="node_y1">3845.76</data>
114
  <data key="node_x2">6281.436</data>
115
  <data key="node_y2">4011.4030000000002</data>
116
  </node>
117
- <node id="s17">
118
- <data key="node_type">equipment</data>
119
- <data key="node_x1">3105.112</data>
120
  <data key="node_y1">3841.094</data>
121
  <data key="node_x2">3207.764</data>
122
  <data key="node_y2">4013.736</data>
123
  </node>
124
- <node id="s19">
125
  <data key="node_type">equipment</data>
126
- <data key="node_x1">3574.045</data>
127
- <data key="node_y1">3271.3540000000003</data>
128
- <data key="node_x2">3714.025</data>
129
- <data key="node_y2">3376.3390000000004</data>
130
  </node>
131
- <node id="s20">
132
  <data key="node_type">equipment</data>
133
- <data key="node_x1">1346.141</data>
134
- <data key="node_y1">846.879</data>
135
- <data key="node_x2">1479.122</data>
136
- <data key="node_y2">954.1970000000001</data>
137
  </node>
138
- <node id="s21">
139
  <data key="node_type">heat_exchanger</data>
140
  <data key="node_x1">1847.736</data>
141
  <data key="node_y1">2664.7740000000003</data>
142
  <data key="node_x2">1952.7210000000002</data>
143
  <data key="node_y2">2769.759</data>
144
  </node>
145
- <node id="s22">
146
  <data key="node_type">equipment</data>
147
  <data key="node_x1">1376.47</data>
148
- <data key="node_y1">1106.33</data>
149
- <data key="node_x2">1446.46</data>
150
- <data key="node_y2">1243.977</data>
151
  </node>
152
- <node id="s23">
153
  <data key="node_type">pump</data>
154
  <data key="node_x1">2687.505</data>
155
  <data key="node_y1">1460.458</data>
156
  <data key="node_x2">2790.157</data>
157
  <data key="node_y2">1551.4450000000002</data>
158
  </node>
159
- <node id="s24">
160
  <data key="node_type">pump</data>
161
  <data key="node_x1">3598.597</data>
162
  <data key="node_y1">3554.135</data>
163
  <data key="node_x2">3691.917</data>
164
  <data key="node_y2">3642.789</data>
165
  </node>
166
- <node id="s25">
167
  <data key="node_type">valve</data>
168
- <data key="node_x1">2297.8940000000002</data>
169
  <data key="node_y1">2704.4350000000004</data>
170
  <data key="node_x2">2339.888</data>
171
- <data key="node_y2">2730.098</data>
172
  </node>
173
  <node id="j1">
174
  <data key="node_type">junction</data>
175
- <data key="node_x1">990</data>
176
- <data key="node_y1">1170</data>
177
- <data key="node_x2">1000</data>
178
- <data key="node_y2">1180</data>
179
  </node>
180
  <node id="j2">
181
  <data key="node_type">junction</data>
182
- <data key="node_x1">1895</data>
183
- <data key="node_y1">1775</data>
184
- <data key="node_x2">1905</data>
185
- <data key="node_y2">1785</data>
186
  </node>
187
  <node id="j3">
188
  <data key="node_type">junction</data>
189
- <data key="node_x1">2735</data>
190
- <data key="node_y1">1775</data>
191
- <data key="node_x2">2745</data>
192
- <data key="node_y2">1785</data>
193
  </node>
194
- <node id="j4">
195
- <data key="node_type">junction</data>
196
- <data key="node_x1">4475</data>
197
- <data key="node_y1">2975</data>
198
- <data key="node_x2">4485</data>
199
- <data key="node_y2">2985</data>
200
- </node>
201
- <node id="j5">
202
- <data key="node_type">junction</data>
203
- <data key="node_x1">4895</data>
204
- <data key="node_y1">2695</data>
205
- <data key="node_x2">4905</data>
206
- <data key="node_y2">2705</data>
207
- </node>
208
- <edge id="e0" source="s20" target="s22">
209
  <data key="edge_kind">process</data>
210
  </edge>
211
- <edge id="e1" source="s22" target="j1">
212
  <data key="edge_kind">process</data>
213
  </edge>
214
- <edge id="e2" source="j1" target="s5">
215
  <data key="edge_kind">process</data>
216
  </edge>
217
- <edge id="e3" source="s5" target="j2">
218
  <data key="edge_kind">process</data>
219
  </edge>
220
- <edge id="e4" source="j2" target="j3">
221
  <data key="edge_kind">process</data>
222
  </edge>
223
- <edge id="e5" source="j2" target="s21">
224
  <data key="edge_kind">process</data>
225
  </edge>
226
- <edge id="e6" source="s21" target="s25">
227
  <data key="edge_kind">process</data>
228
  </edge>
229
- <edge id="e7" source="s3" target="s23">
230
  <data key="edge_kind">process</data>
231
  </edge>
232
- <edge id="e8" source="s23" target="j3">
233
  <data key="edge_kind">process</data>
234
  </edge>
235
- <edge id="e9" source="j3" target="j4">
236
  <data key="edge_kind">process</data>
237
  </edge>
238
- <edge id="e10" source="j4" target="s11">
239
  <data key="edge_kind">process</data>
240
  </edge>
241
- <edge id="e11" source="j4" target="s7">
242
  <data key="edge_kind">process</data>
243
  </edge>
244
- <edge id="e12" source="s11" target="j5">
245
  <data key="edge_kind">process</data>
246
  </edge>
247
- <edge id="e13" source="j5" target="s7">
248
  <data key="edge_kind">process</data>
249
  </edge>
250
- <edge id="e14" source="j5" target="s13">
251
  <data key="edge_kind">process</data>
252
  </edge>
253
- <edge id="e15" source="s13" target="s4">
254
  <data key="edge_kind">process</data>
255
  </edge>
256
- <edge id="e16" source="s4" target="s14">
257
  <data key="edge_kind">process</data>
258
  </edge>
259
- <edge id="e17" source="s10" target="s6">
260
  <data key="edge_kind">process</data>
261
  </edge>
262
- <edge id="e18" source="s19" target="s1">
263
  <data key="edge_kind">process</data>
264
  </edge>
265
- <edge id="e19" source="s19" target="s24">
266
  <data key="edge_kind">process</data>
267
  </edge>
268
- <edge id="e20" source="s24" target="s12">
269
  <data key="edge_kind">process</data>
270
  </edge>
271
- <edge id="e21" source="s17" target="s16">
272
  <data key="edge_kind">process</data>
273
  </edge>
274
- <edge id="e22" source="s16" target="s6">
275
- <data key="edge_kind">process</data>
276
- </edge>
277
- <edge id="e23" source="s2" target="j1">
278
- <data key="edge_kind">signal</data>
279
- </edge>
280
- <edge id="e24" source="s8" target="j1">
281
- <data key="edge_kind">signal</data>
282
- </edge>
283
- <edge id="e25" source="s8" target="j2">
284
- <data key="edge_kind">signal</data>
285
- </edge>
286
- <edge id="e26" source="j3" target="s15">
287
- <data key="edge_kind">signal</data>
288
- </edge>
289
- <edge id="e27" source="s15" target="s17">
290
- <data key="edge_kind">signal</data>
291
- </edge>
292
- <edge id="e28" source="s10" target="j5">
293
- <data key="edge_kind">signal</data>
294
- </edge>
295
- <edge id="e29" source="j4" target="s12">
296
- <data key="edge_kind">signal</data>
297
- </edge>
298
  </graph>
299
  </graphml>
 
12
  <node id="s1">
13
  <data key="node_type">column</data>
14
  <data key="node_x1">3985.875</data>
15
+ <data key="node_y1">3152.859</data>
16
  <data key="node_x2">4142.186</data>
17
+ <data key="node_y2">3493.477</data>
18
  </node>
19
  <node id="s2">
20
+ <data key="node_type">vessel</data>
21
  <data key="node_x1">459.60100000000006</data>
22
  <data key="node_y1">1077.846</data>
23
+ <data key="node_x2">692.9010000000001</data>
24
+ <data key="node_y2">1273.8180000000002</data>
25
  </node>
26
  <node id="s3">
27
  <data key="node_type">vessel</data>
 
31
  <data key="node_y2">1584.1070000000002</data>
32
  </node>
33
  <node id="s4">
34
+ <data key="node_type">vessel</data>
35
  <data key="node_x1">5287.578</data>
36
+ <data key="node_y1">2284.495</data>
37
  <data key="node_x2">5490.549</data>
38
+ <data key="node_y2">2487.4660000000003</data>
39
  </node>
40
  <node id="s5">
41
  <data key="node_type">equipment</data>
42
+ <data key="node_x1">923.868</data>
43
  <data key="node_y1">1647.586</data>
44
  <data key="node_x2">1066.181</data>
45
  <data key="node_y2">1915.881</data>
 
47
  <node id="s6">
48
  <data key="node_type">equipment</data>
49
  <data key="node_x1">6111.127</data>
50
+ <data key="node_y1">2032.531</data>
51
  <data key="node_x2">6342.094</data>
52
+ <data key="node_y2">2191.175</data>
53
  </node>
54
  <node id="s7">
55
+ <data key="node_type">equipment</data>
56
+ <data key="node_x1">4795.426</data>
57
+ <data key="node_y1">2914.893</data>
58
  <data key="node_x2">5005.396000000001</data>
59
  <data key="node_y2">3071.204</data>
60
  </node>
61
  <node id="s8">
62
  <data key="node_type">equipment</data>
63
+ <data key="node_tag">gbEDg</data>
64
  <data key="node_x1">895.8720000000001</data>
65
  <data key="node_y1">489.93000000000006</data>
66
  <data key="node_x2">1091.844</data>
67
+ <data key="node_y2">653.24</data>
68
+ </node>
69
+ <node id="s9">
70
+ <data key="node_type">heat_exchanger</data>
71
+ <data key="node_x1">5747.179</data>
72
+ <data key="node_y1">2282.1620000000003</data>
73
+ <data key="node_x2">5866.162</data>
74
+ <data key="node_y2">2475.8010000000004</data>
75
  </node>
76
  <node id="s10">
77
  <data key="node_type">equipment</data>
78
+ <data key="node_x1">4384.818</data>
79
+ <data key="node_y1">2657.775</data>
80
+ <data key="node_x2">4576.124</data>
81
+ <data key="node_y2">2776.758</data>
82
  </node>
83
  <node id="s11">
84
  <data key="node_type">equipment</data>
85
+ <data key="node_x1">4825.755</data>
86
+ <data key="node_y1">2037.1970000000001</data>
87
+ <data key="node_x2">4975.067</data>
88
+ <data key="node_y2">2188.842</data>
89
  </node>
90
  <node id="s12">
91
+ <data key="node_type">vessel</data>
92
+ <data key="node_x1">5329.572</data>
93
+ <data key="node_y1">2629.7790000000005</data>
94
+ <data key="node_x2">5446.222</data>
95
+ <data key="node_y2">2823.418</data>
96
  </node>
97
  <node id="s13">
98
+ <data key="node_type">equipment</data>
99
+ <data key="node_x1">4387.151</data>
100
+ <data key="node_y1">3540.137</data>
101
+ <data key="node_x2">4578.457</data>
102
+ <data key="node_y2">3656.7870000000003</data>
103
  </node>
104
  <node id="s14">
 
 
 
 
 
 
 
105
  <data key="node_type">equipment</data>
106
  <data key="node_x1">3095.78</data>
107
  <data key="node_y1">1698.912</data>
108
  <data key="node_x2">3217.0960000000005</data>
109
  <data key="node_y2">1864.555</data>
110
  </node>
111
+ <node id="s15">
112
  <data key="node_type">equipment</data>
113
  <data key="node_x1">6171.785</data>
114
  <data key="node_y1">3845.76</data>
115
  <data key="node_x2">6281.436</data>
116
  <data key="node_y2">4011.4030000000002</data>
117
  </node>
118
+ <node id="s16">
119
+ <data key="node_type">compressor</data>
120
+ <data key="node_x1">3102.7790000000005</data>
121
  <data key="node_y1">3841.094</data>
122
  <data key="node_x2">3207.764</data>
123
  <data key="node_y2">4013.736</data>
124
  </node>
125
+ <node id="s17">
126
  <data key="node_type">equipment</data>
127
+ <data key="node_x1">1343.808</data>
128
+ <data key="node_y1">844.546</data>
129
+ <data key="node_x2">1481.4550000000002</data>
130
+ <data key="node_y2">956.5300000000001</data>
131
  </node>
132
+ <node id="s18">
133
  <data key="node_type">equipment</data>
134
+ <data key="node_x1">3575.267</data>
135
+ <data key="node_y1">3271.842</data>
136
+ <data key="node_x2">3712.914</data>
137
+ <data key="node_y2">3374.494</data>
138
  </node>
139
+ <node id="s19">
140
  <data key="node_type">heat_exchanger</data>
141
  <data key="node_x1">1847.736</data>
142
  <data key="node_y1">2664.7740000000003</data>
143
  <data key="node_x2">1952.7210000000002</data>
144
  <data key="node_y2">2769.759</data>
145
  </node>
146
+ <node id="s20">
147
  <data key="node_type">equipment</data>
148
  <data key="node_x1">1376.47</data>
149
+ <data key="node_y1">1105.842</data>
150
+ <data key="node_x2">1448.7930000000001</data>
151
+ <data key="node_y2">1243.489</data>
152
  </node>
153
+ <node id="s21">
154
  <data key="node_type">pump</data>
155
  <data key="node_x1">2687.505</data>
156
  <data key="node_y1">1460.458</data>
157
  <data key="node_x2">2790.157</data>
158
  <data key="node_y2">1551.4450000000002</data>
159
  </node>
160
+ <node id="s22">
161
  <data key="node_type">pump</data>
162
  <data key="node_x1">3598.597</data>
163
  <data key="node_y1">3554.135</data>
164
  <data key="node_x2">3691.917</data>
165
  <data key="node_y2">3642.789</data>
166
  </node>
167
+ <node id="s23">
168
  <data key="node_type">valve</data>
169
+ <data key="node_x1">2300.227</data>
170
  <data key="node_y1">2704.4350000000004</data>
171
  <data key="node_x2">2339.888</data>
172
+ <data key="node_y2">2727.7650000000003</data>
173
  </node>
174
  <node id="j1">
175
  <data key="node_type">junction</data>
176
+ <data key="node_x1">4917.926333333333</data>
177
+ <data key="node_y1">2807.3044999999997</data>
178
+ <data key="node_x2">4927.926333333333</data>
179
+ <data key="node_y2">2817.3044999999997</data>
180
  </node>
181
  <node id="j2">
182
  <data key="node_type">junction</data>
183
+ <data key="node_x1">3023.3729166666667</data>
184
+ <data key="node_y1">2602.1135833333333</data>
185
+ <data key="node_x2">3033.3729166666667</data>
186
+ <data key="node_y2">2612.1135833333333</data>
187
  </node>
188
  <node id="j3">
189
  <data key="node_type">junction</data>
190
+ <data key="node_x1">5522.877</data>
191
+ <data key="node_y1">2492.1868333333337</data>
192
+ <data key="node_x2">5532.877</data>
193
+ <data key="node_y2">2502.1868333333337</data>
194
  </node>
195
+ <edge id="e0" source="s1" target="s18">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
  <data key="edge_kind">process</data>
197
  </edge>
198
+ <edge id="e1" source="s10" target="j1">
199
  <data key="edge_kind">process</data>
200
  </edge>
201
+ <edge id="e2" source="s12" target="j1">
202
  <data key="edge_kind">process</data>
203
  </edge>
204
+ <edge id="e3" source="s7" target="j1">
205
  <data key="edge_kind">process</data>
206
  </edge>
207
+ <edge id="e4" source="s10" target="j2">
208
  <data key="edge_kind">process</data>
209
  </edge>
210
+ <edge id="e5" source="s16" target="j2">
211
  <data key="edge_kind">process</data>
212
  </edge>
213
+ <edge id="e6" source="s19" target="j2">
214
  <data key="edge_kind">process</data>
215
  </edge>
216
+ <edge id="e7" source="s21" target="j2">
217
  <data key="edge_kind">process</data>
218
  </edge>
219
+ <edge id="e8" source="s5" target="j2">
220
  <data key="edge_kind">process</data>
221
  </edge>
222
+ <edge id="e9" source="s7" target="j2">
223
  <data key="edge_kind">process</data>
224
  </edge>
225
+ <edge id="e10" source="s11" target="s6">
226
  <data key="edge_kind">process</data>
227
  </edge>
228
+ <edge id="e11" source="s12" target="j3">
229
  <data key="edge_kind">process</data>
230
  </edge>
231
+ <edge id="e12" source="s4" target="j3">
232
  <data key="edge_kind">process</data>
233
  </edge>
234
+ <edge id="e13" source="s9" target="j3">
235
  <data key="edge_kind">process</data>
236
  </edge>
237
+ <edge id="e14" source="s13" target="s22">
238
  <data key="edge_kind">process</data>
239
  </edge>
240
+ <edge id="e15" source="s15" target="s16">
241
  <data key="edge_kind">process</data>
242
  </edge>
243
+ <edge id="e16" source="s15" target="s6">
244
  <data key="edge_kind">process</data>
245
  </edge>
246
+ <edge id="e17" source="s17" target="s20">
247
  <data key="edge_kind">process</data>
248
  </edge>
249
+ <edge id="e18" source="s18" target="s22">
250
  <data key="edge_kind">process</data>
251
  </edge>
252
+ <edge id="e19" source="s19" target="s23">
253
  <data key="edge_kind">process</data>
254
  </edge>
255
+ <edge id="e20" source="s20" target="s5">
256
  <data key="edge_kind">process</data>
257
  </edge>
258
+ <edge id="e21" source="s21" target="s3">
259
  <data key="edge_kind">process</data>
260
  </edge>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
261
  </graph>
262
  </graphml>
data/synth-2/out/graph.json DELETED
@@ -1,469 +0,0 @@
1
- {
2
- "image": {
3
- "file": "drawing.jpg",
4
- "width": 7000,
5
- "height": 4500
6
- },
7
- "nodes": [
8
- {
9
- "id": "s1",
10
- "type": "column",
11
- "tag": null,
12
- "bbox": [
13
- 3985.875,
14
- 3150.526,
15
- 4142.186,
16
- 3495.8100000000004
17
- ]
18
- },
19
- {
20
- "id": "s2",
21
- "type": "tank",
22
- "tag": null,
23
- "bbox": [
24
- 459.60100000000006,
25
- 1077.846,
26
- 690.5680000000001,
27
- 1271.4850000000001
28
- ]
29
- },
30
- {
31
- "id": "s3",
32
- "type": "vessel",
33
- "tag": null,
34
- "bbox": [
35
- 2185.91,
36
- 1430.1290000000001,
37
- 2454.205,
38
- 1584.1070000000002
39
- ]
40
- },
41
- {
42
- "id": "s4",
43
- "type": "equipment",
44
- "tag": null,
45
- "bbox": [
46
- 5287.578,
47
- 2284.983,
48
- 5490.549,
49
- 2487.954
50
- ]
51
- },
52
- {
53
- "id": "s5",
54
- "type": "equipment",
55
- "tag": null,
56
- "bbox": [
57
- 921.5350000000001,
58
- 1647.586,
59
- 1066.181,
60
- 1915.881
61
- ]
62
- },
63
- {
64
- "id": "s6",
65
- "type": "equipment",
66
- "tag": null,
67
- "bbox": [
68
- 6111.127,
69
- 2034.3760000000002,
70
- 6342.094,
71
- 2190.6870000000004
72
- ]
73
- },
74
- {
75
- "id": "s7",
76
- "type": "vessel",
77
- "tag": null,
78
- "bbox": [
79
- 4793.093,
80
- 2912.56,
81
- 5005.396000000001,
82
- 3071.204
83
- ]
84
- },
85
- {
86
- "id": "s8",
87
- "type": "equipment",
88
- "tag": null,
89
- "bbox": [
90
- 895.8720000000001,
91
- 489.93000000000006,
92
- 1091.844,
93
- 650.907
94
- ]
95
- },
96
- {
97
- "id": "s10",
98
- "type": "equipment",
99
- "tag": null,
100
- "bbox": [
101
- 4825.755,
102
- 2036.709,
103
- 4977.4,
104
- 2188.3540000000003
105
- ]
106
- },
107
- {
108
- "id": "s11",
109
- "type": "equipment",
110
- "tag": null,
111
- "bbox": [
112
- 4384.818,
113
- 2658.263,
114
- 4576.124,
115
- 2777.246
116
- ]
117
- },
118
- {
119
- "id": "s12",
120
- "type": "equipment",
121
- "tag": null,
122
- "bbox": [
123
- 4384.818,
124
- 3540.137,
125
- 4576.124,
126
- 3659.12
127
- ]
128
- },
129
- {
130
- "id": "s13",
131
- "type": "vessel",
132
- "tag": null,
133
- "bbox": [
134
- 5329.683,
135
- 2630.267,
136
- 5444.0,
137
- 2826.239
138
- ]
139
- },
140
- {
141
- "id": "s14",
142
- "type": "heat_exchanger",
143
- "tag": null,
144
- "bbox": [
145
- 5749.512000000001,
146
- 2282.65,
147
- 5866.162,
148
- 2473.956
149
- ]
150
- },
151
- {
152
- "id": "s15",
153
- "type": "equipment",
154
- "tag": null,
155
- "bbox": [
156
- 3095.78,
157
- 1698.912,
158
- 3217.0960000000005,
159
- 1864.555
160
- ]
161
- },
162
- {
163
- "id": "s16",
164
- "type": "equipment",
165
- "tag": null,
166
- "bbox": [
167
- 6171.785,
168
- 3845.76,
169
- 6281.436,
170
- 4011.4030000000002
171
- ]
172
- },
173
- {
174
- "id": "s17",
175
- "type": "equipment",
176
- "tag": null,
177
- "bbox": [
178
- 3105.112,
179
- 3841.094,
180
- 3207.764,
181
- 4013.736
182
- ]
183
- },
184
- {
185
- "id": "s19",
186
- "type": "equipment",
187
- "tag": null,
188
- "bbox": [
189
- 3574.045,
190
- 3271.3540000000003,
191
- 3714.025,
192
- 3376.3390000000004
193
- ]
194
- },
195
- {
196
- "id": "s20",
197
- "type": "equipment",
198
- "tag": null,
199
- "bbox": [
200
- 1346.141,
201
- 846.879,
202
- 1479.122,
203
- 954.1970000000001
204
- ]
205
- },
206
- {
207
- "id": "s21",
208
- "type": "heat_exchanger",
209
- "tag": null,
210
- "bbox": [
211
- 1847.736,
212
- 2664.7740000000003,
213
- 1952.7210000000002,
214
- 2769.759
215
- ]
216
- },
217
- {
218
- "id": "s22",
219
- "type": "equipment",
220
- "tag": null,
221
- "bbox": [
222
- 1376.47,
223
- 1106.33,
224
- 1446.46,
225
- 1243.977
226
- ]
227
- },
228
- {
229
- "id": "s23",
230
- "type": "pump",
231
- "tag": null,
232
- "bbox": [
233
- 2687.505,
234
- 1460.458,
235
- 2790.157,
236
- 1551.4450000000002
237
- ]
238
- },
239
- {
240
- "id": "s24",
241
- "type": "pump",
242
- "tag": null,
243
- "bbox": [
244
- 3598.597,
245
- 3554.135,
246
- 3691.917,
247
- 3642.789
248
- ]
249
- },
250
- {
251
- "id": "s25",
252
- "type": "valve",
253
- "tag": null,
254
- "bbox": [
255
- 2297.8940000000002,
256
- 2704.4350000000004,
257
- 2339.888,
258
- 2730.098
259
- ]
260
- },
261
- {
262
- "id": "j1",
263
- "type": "junction",
264
- "tag": null,
265
- "bbox": [
266
- 990,
267
- 1170,
268
- 1000,
269
- 1180
270
- ]
271
- },
272
- {
273
- "id": "j2",
274
- "type": "junction",
275
- "tag": null,
276
- "bbox": [
277
- 1895,
278
- 1775,
279
- 1905,
280
- 1785
281
- ]
282
- },
283
- {
284
- "id": "j3",
285
- "type": "junction",
286
- "tag": null,
287
- "bbox": [
288
- 2735,
289
- 1775,
290
- 2745,
291
- 1785
292
- ]
293
- },
294
- {
295
- "id": "j4",
296
- "type": "junction",
297
- "tag": null,
298
- "bbox": [
299
- 4475,
300
- 2975,
301
- 4485,
302
- 2985
303
- ]
304
- },
305
- {
306
- "id": "j5",
307
- "type": "junction",
308
- "tag": null,
309
- "bbox": [
310
- 4895,
311
- 2695,
312
- 4905,
313
- 2705
314
- ]
315
- }
316
- ],
317
- "edges": [
318
- {
319
- "source": "s20",
320
- "target": "s22",
321
- "kind": "process"
322
- },
323
- {
324
- "source": "s22",
325
- "target": "j1",
326
- "kind": "process"
327
- },
328
- {
329
- "source": "j1",
330
- "target": "s5",
331
- "kind": "process"
332
- },
333
- {
334
- "source": "s5",
335
- "target": "j2",
336
- "kind": "process"
337
- },
338
- {
339
- "source": "j2",
340
- "target": "j3",
341
- "kind": "process"
342
- },
343
- {
344
- "source": "j2",
345
- "target": "s21",
346
- "kind": "process"
347
- },
348
- {
349
- "source": "s21",
350
- "target": "s25",
351
- "kind": "process"
352
- },
353
- {
354
- "source": "s3",
355
- "target": "s23",
356
- "kind": "process"
357
- },
358
- {
359
- "source": "s23",
360
- "target": "j3",
361
- "kind": "process"
362
- },
363
- {
364
- "source": "j3",
365
- "target": "j4",
366
- "kind": "process"
367
- },
368
- {
369
- "source": "j4",
370
- "target": "s11",
371
- "kind": "process"
372
- },
373
- {
374
- "source": "j4",
375
- "target": "s7",
376
- "kind": "process"
377
- },
378
- {
379
- "source": "s11",
380
- "target": "j5",
381
- "kind": "process"
382
- },
383
- {
384
- "source": "j5",
385
- "target": "s7",
386
- "kind": "process"
387
- },
388
- {
389
- "source": "j5",
390
- "target": "s13",
391
- "kind": "process"
392
- },
393
- {
394
- "source": "s13",
395
- "target": "s4",
396
- "kind": "process"
397
- },
398
- {
399
- "source": "s4",
400
- "target": "s14",
401
- "kind": "process"
402
- },
403
- {
404
- "source": "s10",
405
- "target": "s6",
406
- "kind": "process"
407
- },
408
- {
409
- "source": "s19",
410
- "target": "s1",
411
- "kind": "process"
412
- },
413
- {
414
- "source": "s19",
415
- "target": "s24",
416
- "kind": "process"
417
- },
418
- {
419
- "source": "s24",
420
- "target": "s12",
421
- "kind": "process"
422
- },
423
- {
424
- "source": "s17",
425
- "target": "s16",
426
- "kind": "process"
427
- },
428
- {
429
- "source": "s16",
430
- "target": "s6",
431
- "kind": "process"
432
- },
433
- {
434
- "source": "s2",
435
- "target": "j1",
436
- "kind": "signal"
437
- },
438
- {
439
- "source": "s8",
440
- "target": "j1",
441
- "kind": "signal"
442
- },
443
- {
444
- "source": "s8",
445
- "target": "j2",
446
- "kind": "signal"
447
- },
448
- {
449
- "source": "j3",
450
- "target": "s15",
451
- "kind": "signal"
452
- },
453
- {
454
- "source": "s15",
455
- "target": "s17",
456
- "kind": "signal"
457
- },
458
- {
459
- "source": "s10",
460
- "target": "j5",
461
- "kind": "signal"
462
- },
463
- {
464
- "source": "j4",
465
- "target": "s12",
466
- "kind": "signal"
467
- }
468
- ]
469
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
data/synth-2/out/nodes.csv CHANGED
@@ -1,29 +1,27 @@
1
  id,type,tag,x1,y1,x2,y2
2
- s1,column,,3985.875,3150.526,4142.186,3495.8100000000004
3
- s2,tank,,459.60100000000006,1077.846,690.5680000000001,1271.4850000000001
4
  s3,vessel,,2185.91,1430.1290000000001,2454.205,1584.1070000000002
5
- s4,equipment,,5287.578,2284.983,5490.549,2487.954
6
- s5,equipment,,921.5350000000001,1647.586,1066.181,1915.881
7
- s6,equipment,,6111.127,2034.3760000000002,6342.094,2190.6870000000004
8
- s7,vessel,,4793.093,2912.56,5005.396000000001,3071.204
9
- s8,equipment,,895.8720000000001,489.93000000000006,1091.844,650.907
10
- s10,equipment,,4825.755,2036.709,4977.4,2188.3540000000003
11
- s11,equipment,,4384.818,2658.263,4576.124,2777.246
12
- s12,equipment,,4384.818,3540.137,4576.124,3659.12
13
- s13,vessel,,5329.683,2630.267,5444.0,2826.239
14
- s14,heat_exchanger,,5749.512000000001,2282.65,5866.162,2473.956
15
- s15,equipment,,3095.78,1698.912,3217.0960000000005,1864.555
16
- s16,equipment,,6171.785,3845.76,6281.436,4011.4030000000002
17
- s17,equipment,,3105.112,3841.094,3207.764,4013.736
18
- s19,equipment,,3574.045,3271.3540000000003,3714.025,3376.3390000000004
19
- s20,equipment,,1346.141,846.879,1479.122,954.1970000000001
20
- s21,heat_exchanger,,1847.736,2664.7740000000003,1952.7210000000002,2769.759
21
- s22,equipment,,1376.47,1106.33,1446.46,1243.977
22
- s23,pump,,2687.505,1460.458,2790.157,1551.4450000000002
23
- s24,pump,,3598.597,3554.135,3691.917,3642.789
24
- s25,valve,,2297.8940000000002,2704.4350000000004,2339.888,2730.098
25
- j1,junction,,990,1170,1000,1180
26
- j2,junction,,1895,1775,1905,1785
27
- j3,junction,,2735,1775,2745,1785
28
- j4,junction,,4475,2975,4485,2985
29
- j5,junction,,4895,2695,4905,2705
 
1
  id,type,tag,x1,y1,x2,y2
2
+ s1,column,,3985.875,3152.859,4142.186,3493.477
3
+ s2,vessel,,459.60100000000006,1077.846,692.9010000000001,1273.8180000000002
4
  s3,vessel,,2185.91,1430.1290000000001,2454.205,1584.1070000000002
5
+ s4,vessel,,5287.578,2284.495,5490.549,2487.4660000000003
6
+ s5,equipment,,923.868,1647.586,1066.181,1915.881
7
+ s6,equipment,,6111.127,2032.531,6342.094,2191.175
8
+ s7,equipment,,4795.426,2914.893,5005.396000000001,3071.204
9
+ s8,equipment,gbEDg,895.8720000000001,489.93000000000006,1091.844,653.24
10
+ s9,heat_exchanger,,5747.179,2282.1620000000003,5866.162,2475.8010000000004
11
+ s10,equipment,,4384.818,2657.775,4576.124,2776.758
12
+ s11,equipment,,4825.755,2037.1970000000001,4975.067,2188.842
13
+ s12,vessel,,5329.572,2629.7790000000005,5446.222,2823.418
14
+ s13,equipment,,4387.151,3540.137,4578.457,3656.7870000000003
15
+ s14,equipment,,3095.78,1698.912,3217.0960000000005,1864.555
16
+ s15,equipment,,6171.785,3845.76,6281.436,4011.4030000000002
17
+ s16,compressor,,3102.7790000000005,3841.094,3207.764,4013.736
18
+ s17,equipment,,1343.808,844.546,1481.4550000000002,956.5300000000001
19
+ s18,equipment,,3575.267,3271.842,3712.914,3374.494
20
+ s19,heat_exchanger,,1847.736,2664.7740000000003,1952.7210000000002,2769.759
21
+ s20,equipment,,1376.47,1105.842,1448.7930000000001,1243.489
22
+ s21,pump,,2687.505,1460.458,2790.157,1551.4450000000002
23
+ s22,pump,,3598.597,3554.135,3691.917,3642.789
24
+ s23,valve,,2300.227,2704.4350000000004,2339.888,2727.7650000000003
25
+ j1,junction,,4917.926333333333,2807.3044999999997,4927.926333333333,2817.3044999999997
26
+ j2,junction,,3023.3729166666667,2602.1135833333333,3033.3729166666667,2612.1135833333333
27
+ j3,junction,,5522.877,2492.1868333333337,5532.877,2502.1868333333337
 
 
data/synth-2/out/pid.sql CHANGED
@@ -1,61 +1,51 @@
1
  -- P&ID graph: SQLite and PostgreSQL compatible
2
  CREATE TABLE components (id TEXT PRIMARY KEY, type TEXT NOT NULL, tag TEXT, x1 REAL, y1 REAL, x2 REAL, y2 REAL);
3
  CREATE TABLE connections (source TEXT NOT NULL REFERENCES components(id), target TEXT NOT NULL REFERENCES components(id), kind TEXT NOT NULL, line TEXT);
4
- INSERT INTO components VALUES ('s1', 'column', NULL, 3985.875, 3150.526, 4142.186, 3495.8100000000004);
5
- INSERT INTO components VALUES ('s2', 'tank', NULL, 459.60100000000006, 1077.846, 690.5680000000001, 1271.4850000000001);
6
  INSERT INTO components VALUES ('s3', 'vessel', NULL, 2185.91, 1430.1290000000001, 2454.205, 1584.1070000000002);
7
- INSERT INTO components VALUES ('s4', 'equipment', NULL, 5287.578, 2284.983, 5490.549, 2487.954);
8
- INSERT INTO components VALUES ('s5', 'equipment', NULL, 921.5350000000001, 1647.586, 1066.181, 1915.881);
9
- INSERT INTO components VALUES ('s6', 'equipment', NULL, 6111.127, 2034.3760000000002, 6342.094, 2190.6870000000004);
10
- INSERT INTO components VALUES ('s7', 'vessel', NULL, 4793.093, 2912.56, 5005.396000000001, 3071.204);
11
- INSERT INTO components VALUES ('s8', 'equipment', NULL, 895.8720000000001, 489.93000000000006, 1091.844, 650.907);
12
- INSERT INTO components VALUES ('s10', 'equipment', NULL, 4825.755, 2036.709, 4977.4, 2188.3540000000003);
13
- INSERT INTO components VALUES ('s11', 'equipment', NULL, 4384.818, 2658.263, 4576.124, 2777.246);
14
- INSERT INTO components VALUES ('s12', 'equipment', NULL, 4384.818, 3540.137, 4576.124, 3659.12);
15
- INSERT INTO components VALUES ('s13', 'vessel', NULL, 5329.683, 2630.267, 5444.0, 2826.239);
16
- INSERT INTO components VALUES ('s14', 'heat_exchanger', NULL, 5749.512000000001, 2282.65, 5866.162, 2473.956);
17
- INSERT INTO components VALUES ('s15', 'equipment', NULL, 3095.78, 1698.912, 3217.0960000000005, 1864.555);
18
- INSERT INTO components VALUES ('s16', 'equipment', NULL, 6171.785, 3845.76, 6281.436, 4011.4030000000002);
19
- INSERT INTO components VALUES ('s17', 'equipment', NULL, 3105.112, 3841.094, 3207.764, 4013.736);
20
- INSERT INTO components VALUES ('s19', 'equipment', NULL, 3574.045, 3271.3540000000003, 3714.025, 3376.3390000000004);
21
- INSERT INTO components VALUES ('s20', 'equipment', NULL, 1346.141, 846.879, 1479.122, 954.1970000000001);
22
- INSERT INTO components VALUES ('s21', 'heat_exchanger', NULL, 1847.736, 2664.7740000000003, 1952.7210000000002, 2769.759);
23
- INSERT INTO components VALUES ('s22', 'equipment', NULL, 1376.47, 1106.33, 1446.46, 1243.977);
24
- INSERT INTO components VALUES ('s23', 'pump', NULL, 2687.505, 1460.458, 2790.157, 1551.4450000000002);
25
- INSERT INTO components VALUES ('s24', 'pump', NULL, 3598.597, 3554.135, 3691.917, 3642.789);
26
- INSERT INTO components VALUES ('s25', 'valve', NULL, 2297.8940000000002, 2704.4350000000004, 2339.888, 2730.098);
27
- INSERT INTO components VALUES ('j1', 'junction', NULL, 990, 1170, 1000, 1180);
28
- INSERT INTO components VALUES ('j2', 'junction', NULL, 1895, 1775, 1905, 1785);
29
- INSERT INTO components VALUES ('j3', 'junction', NULL, 2735, 1775, 2745, 1785);
30
- INSERT INTO components VALUES ('j4', 'junction', NULL, 4475, 2975, 4485, 2985);
31
- INSERT INTO components VALUES ('j5', 'junction', NULL, 4895, 2695, 4905, 2705);
32
- INSERT INTO connections VALUES ('s20', 's22', 'process', NULL);
33
- INSERT INTO connections VALUES ('s22', 'j1', 'process', NULL);
34
- INSERT INTO connections VALUES ('j1', 's5', 'process', NULL);
 
 
 
35
  INSERT INTO connections VALUES ('s5', 'j2', 'process', NULL);
36
- INSERT INTO connections VALUES ('j2', 'j3', 'process', NULL);
37
- INSERT INTO connections VALUES ('j2', 's21', 'process', NULL);
38
- INSERT INTO connections VALUES ('s21', 's25', 'process', NULL);
39
- INSERT INTO connections VALUES ('s3', 's23', 'process', NULL);
40
- INSERT INTO connections VALUES ('s23', 'j3', 'process', NULL);
41
- INSERT INTO connections VALUES ('j3', 'j4', 'process', NULL);
42
- INSERT INTO connections VALUES ('j4', 's11', 'process', NULL);
43
- INSERT INTO connections VALUES ('j4', 's7', 'process', NULL);
44
- INSERT INTO connections VALUES ('s11', 'j5', 'process', NULL);
45
- INSERT INTO connections VALUES ('j5', 's7', 'process', NULL);
46
- INSERT INTO connections VALUES ('j5', 's13', 'process', NULL);
47
- INSERT INTO connections VALUES ('s13', 's4', 'process', NULL);
48
- INSERT INTO connections VALUES ('s4', 's14', 'process', NULL);
49
- INSERT INTO connections VALUES ('s10', 's6', 'process', NULL);
50
- INSERT INTO connections VALUES ('s19', 's1', 'process', NULL);
51
- INSERT INTO connections VALUES ('s19', 's24', 'process', NULL);
52
- INSERT INTO connections VALUES ('s24', 's12', 'process', NULL);
53
- INSERT INTO connections VALUES ('s17', 's16', 'process', NULL);
54
- INSERT INTO connections VALUES ('s16', 's6', 'process', NULL);
55
- INSERT INTO connections VALUES ('s2', 'j1', 'signal', NULL);
56
- INSERT INTO connections VALUES ('s8', 'j1', 'signal', NULL);
57
- INSERT INTO connections VALUES ('s8', 'j2', 'signal', NULL);
58
- INSERT INTO connections VALUES ('j3', 's15', 'signal', NULL);
59
- INSERT INTO connections VALUES ('s15', 's17', 'signal', NULL);
60
- INSERT INTO connections VALUES ('s10', 'j5', 'signal', NULL);
61
- INSERT INTO connections VALUES ('j4', 's12', 'signal', NULL);
 
1
  -- P&ID graph: SQLite and PostgreSQL compatible
2
  CREATE TABLE components (id TEXT PRIMARY KEY, type TEXT NOT NULL, tag TEXT, x1 REAL, y1 REAL, x2 REAL, y2 REAL);
3
  CREATE TABLE connections (source TEXT NOT NULL REFERENCES components(id), target TEXT NOT NULL REFERENCES components(id), kind TEXT NOT NULL, line TEXT);
4
+ INSERT INTO components VALUES ('s1', 'column', NULL, 3985.875, 3152.859, 4142.186, 3493.477);
5
+ INSERT INTO components VALUES ('s2', 'vessel', NULL, 459.60100000000006, 1077.846, 692.9010000000001, 1273.8180000000002);
6
  INSERT INTO components VALUES ('s3', 'vessel', NULL, 2185.91, 1430.1290000000001, 2454.205, 1584.1070000000002);
7
+ INSERT INTO components VALUES ('s4', 'vessel', NULL, 5287.578, 2284.495, 5490.549, 2487.4660000000003);
8
+ INSERT INTO components VALUES ('s5', 'equipment', NULL, 923.868, 1647.586, 1066.181, 1915.881);
9
+ INSERT INTO components VALUES ('s6', 'equipment', NULL, 6111.127, 2032.531, 6342.094, 2191.175);
10
+ INSERT INTO components VALUES ('s7', 'equipment', NULL, 4795.426, 2914.893, 5005.396000000001, 3071.204);
11
+ INSERT INTO components VALUES ('s8', 'equipment', 'gbEDg', 895.8720000000001, 489.93000000000006, 1091.844, 653.24);
12
+ INSERT INTO components VALUES ('s9', 'heat_exchanger', NULL, 5747.179, 2282.1620000000003, 5866.162, 2475.8010000000004);
13
+ INSERT INTO components VALUES ('s10', 'equipment', NULL, 4384.818, 2657.775, 4576.124, 2776.758);
14
+ INSERT INTO components VALUES ('s11', 'equipment', NULL, 4825.755, 2037.1970000000001, 4975.067, 2188.842);
15
+ INSERT INTO components VALUES ('s12', 'vessel', NULL, 5329.572, 2629.7790000000005, 5446.222, 2823.418);
16
+ INSERT INTO components VALUES ('s13', 'equipment', NULL, 4387.151, 3540.137, 4578.457, 3656.7870000000003);
17
+ INSERT INTO components VALUES ('s14', 'equipment', NULL, 3095.78, 1698.912, 3217.0960000000005, 1864.555);
18
+ INSERT INTO components VALUES ('s15', 'equipment', NULL, 6171.785, 3845.76, 6281.436, 4011.4030000000002);
19
+ INSERT INTO components VALUES ('s16', 'compressor', NULL, 3102.7790000000005, 3841.094, 3207.764, 4013.736);
20
+ INSERT INTO components VALUES ('s17', 'equipment', NULL, 1343.808, 844.546, 1481.4550000000002, 956.5300000000001);
21
+ INSERT INTO components VALUES ('s18', 'equipment', NULL, 3575.267, 3271.842, 3712.914, 3374.494);
22
+ INSERT INTO components VALUES ('s19', 'heat_exchanger', NULL, 1847.736, 2664.7740000000003, 1952.7210000000002, 2769.759);
23
+ INSERT INTO components VALUES ('s20', 'equipment', NULL, 1376.47, 1105.842, 1448.7930000000001, 1243.489);
24
+ INSERT INTO components VALUES ('s21', 'pump', NULL, 2687.505, 1460.458, 2790.157, 1551.4450000000002);
25
+ INSERT INTO components VALUES ('s22', 'pump', NULL, 3598.597, 3554.135, 3691.917, 3642.789);
26
+ INSERT INTO components VALUES ('s23', 'valve', NULL, 2300.227, 2704.4350000000004, 2339.888, 2727.7650000000003);
27
+ INSERT INTO components VALUES ('j1', 'junction', NULL, 4917.926333333333, 2807.3044999999997, 4927.926333333333, 2817.3044999999997);
28
+ INSERT INTO components VALUES ('j2', 'junction', NULL, 3023.3729166666667, 2602.1135833333333, 3033.3729166666667, 2612.1135833333333);
29
+ INSERT INTO components VALUES ('j3', 'junction', NULL, 5522.877, 2492.1868333333337, 5532.877, 2502.1868333333337);
30
+ INSERT INTO connections VALUES ('s1', 's18', 'process', NULL);
31
+ INSERT INTO connections VALUES ('s10', 'j1', 'process', NULL);
32
+ INSERT INTO connections VALUES ('s12', 'j1', 'process', NULL);
33
+ INSERT INTO connections VALUES ('s7', 'j1', 'process', NULL);
34
+ INSERT INTO connections VALUES ('s10', 'j2', 'process', NULL);
35
+ INSERT INTO connections VALUES ('s16', 'j2', 'process', NULL);
36
+ INSERT INTO connections VALUES ('s19', 'j2', 'process', NULL);
37
+ INSERT INTO connections VALUES ('s21', 'j2', 'process', NULL);
38
  INSERT INTO connections VALUES ('s5', 'j2', 'process', NULL);
39
+ INSERT INTO connections VALUES ('s7', 'j2', 'process', NULL);
40
+ INSERT INTO connections VALUES ('s11', 's6', 'process', NULL);
41
+ INSERT INTO connections VALUES ('s12', 'j3', 'process', NULL);
42
+ INSERT INTO connections VALUES ('s4', 'j3', 'process', NULL);
43
+ INSERT INTO connections VALUES ('s9', 'j3', 'process', NULL);
44
+ INSERT INTO connections VALUES ('s13', 's22', 'process', NULL);
45
+ INSERT INTO connections VALUES ('s15', 's16', 'process', NULL);
46
+ INSERT INTO connections VALUES ('s15', 's6', 'process', NULL);
47
+ INSERT INTO connections VALUES ('s17', 's20', 'process', NULL);
48
+ INSERT INTO connections VALUES ('s18', 's22', 'process', NULL);
49
+ INSERT INTO connections VALUES ('s19', 's23', 'process', NULL);
50
+ INSERT INTO connections VALUES ('s20', 's5', 'process', NULL);
51
+ INSERT INTO connections VALUES ('s21', 's3', 'process', NULL);
 
 
 
 
 
 
 
 
 
 
 
 
 
index.html CHANGED
@@ -4,7 +4,7 @@
4
  <meta charset="utf-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
  <title>pid-parser showcase</title>
7
- <meta name="description" content="P&ID image to tables and graph with a vision-language model: precomputed results on synthetic PID2Graph sheets.">
8
  <script src="https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.30.2/cytoscape.min.js"></script>
9
  <style>
10
  :root {
@@ -54,7 +54,7 @@ footer { margin-top: 28px; font-size: 13px; color: var(--muted); }
54
  <body>
55
  <main>
56
  <h1>pid-parser</h1>
57
- <p class="muted">A P&amp;ID image in, tables and a graph out. A vision-language model reads the drawing; small scripts tile it, check the graph and export it for SQL or a graph database. No GPU, no training.</p>
58
  <pre>npx skills add dzakybd/pid-parser</pre>
59
  <p class="muted" style="margin-top:8px">Works in Claude Code, Codex and other skill-aware agents, or as a LangChain Deep Agent. Source: <a href="https://github.com/dzakybd/pid-parser">github.com/dzakybd/pid-parser</a>. How it works, step by step: <a href="https://dzaky.ai.id/en/blog/pid-parser-pid-to-graph">the write-up</a>. These results were computed ahead of time; this page calls no model.</p>
60
 
@@ -69,7 +69,7 @@ footer { margin-top: 28px; font-size: 13px; color: var(--muted); }
69
  <label><input type="checkbox" id="showEdge" checked> connections</label>
70
  </div>
71
  <svg id="drawing" role="img" aria-label="P&amp;ID drawing with detected symbols and connections"></svg>
72
- <div class="legend"><span><i style="background:var(--sym)"></i>symbol box</span><span><i style="background:var(--process)"></i>process pipe</span><span><i style="background:var(--signal)"></i>signal line</span></div>
73
  </section>
74
  <section class="panel">
75
  <h2>Graph</h2>
@@ -184,7 +184,7 @@ async function show(i) {
184
  [pct(sc.symbols.f1), `symbol F1 (${sc.symbols.matched}/${sc.symbols.gt} found)`],
185
  [pct(sc.connections.f1), `connection F1 (P ${pct(sc.connections.precision)}, R ${pct(sc.connections.recall)})`],
186
  [graph.nodes.length + " / " + graph.edges.length, "nodes / edges"],
187
- [Math.round(sheet.seconds / 60) + " min", `${sheet.model}, effort ${sheet.effort}`],
188
  ].map(([b, s]) => `<div class="stat"><b>${b}</b><span>${s}</span></div>`).join("");
189
  drawSvg(sheet, graph);
190
  drawGraph(graph);
 
4
  <meta charset="utf-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
  <title>pid-parser showcase</title>
7
+ <meta name="description" content="P&ID image to tables and graph with a vision-language model for the symbols and pixels for the connections: precomputed results on synthetic PID2Graph sheets.">
8
  <script src="https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.30.2/cytoscape.min.js"></script>
9
  <style>
10
  :root {
 
54
  <body>
55
  <main>
56
  <h1>pid-parser</h1>
57
+ <p class="muted">A P&amp;ID image in, tables and a graph out. A vision-language model finds the symbols tile by tile; the connections are read from the pixels (no model); small scripts check the graph and export it for SQL or a graph database. No GPU, no training.</p>
58
  <pre>npx skills add dzakybd/pid-parser</pre>
59
  <p class="muted" style="margin-top:8px">Works in Claude Code, Codex and other skill-aware agents, or as a LangChain Deep Agent. Source: <a href="https://github.com/dzakybd/pid-parser">github.com/dzakybd/pid-parser</a>. How it works, step by step: <a href="https://dzaky.ai.id/en/blog/pid-parser-pid-to-graph">the write-up</a>. These results were computed ahead of time; this page calls no model.</p>
60
 
 
69
  <label><input type="checkbox" id="showEdge" checked> connections</label>
70
  </div>
71
  <svg id="drawing" role="img" aria-label="P&amp;ID drawing with detected symbols and connections"></svg>
72
+ <div class="legend"><span><i style="background:var(--sym)"></i>symbol box</span><span><i style="background:var(--process)"></i>process pipe</span></div>
73
  </section>
74
  <section class="panel">
75
  <h2>Graph</h2>
 
184
  [pct(sc.symbols.f1), `symbol F1 (${sc.symbols.matched}/${sc.symbols.gt} found)`],
185
  [pct(sc.connections.f1), `connection F1 (P ${pct(sc.connections.precision)}, R ${pct(sc.connections.recall)})`],
186
  [graph.nodes.length + " / " + graph.edges.length, "nodes / edges"],
187
+ [sheet.seconds + " s", `${sheet.model}, effort ${sheet.effort}`],
188
  ].map(([b, s]) => `<div class="stat"><b>${b}</b><span>${s}</span></div>`).join("");
189
  drawSvg(sheet, graph);
190
  drawGraph(graph);