2
2
3
3
# Ingestion Service Flow Diagram
4
4
5
-
6
- ``` {mermaid}
5
+ ``` {mermaid}
7
6
sequenceDiagram
8
7
%% Client/User on the left
9
8
box MistyRose Client
@@ -12,27 +11,14 @@ sequenceDiagram
12
11
13
12
box Thistle Producer
14
13
participant API as Producer API
15
- participant Validator as Producer Validator
16
- participant Publisher as Producer RabbitMQ Publisher
14
+ participant Validator as Shared.py
15
+ participant Publisher as RabbitMQ Publisher
17
16
end
18
17
19
- box LightGoldenRodYellow RabbitMQ Queue
18
+ box LightGoldenRodYellow RabbitMQ
20
19
participant RabbitMQ as RabbitMQ Queue
21
20
end
22
21
23
- box HoneyDew Consumer
24
- participant Consumer as Worker Consumer/Listener
25
- participant Processor as Worker Processor
26
- end
27
-
28
- box AliceBlue Query Service
29
- participant QueryService as Query Service
30
- end
31
-
32
- box Wheat Graph Database
33
- participant GraphDB as Graph Database
34
- end
35
-
36
22
%% Client submits data
37
23
Client->>API: 1. POST data (JSON-LD, TTL, etc.)
38
24
activate API
@@ -54,25 +40,49 @@ sequenceDiagram
54
40
API-->>Client: 400 Bad Request
55
41
end
56
42
deactivate API
43
+ ```
44
+
45
+ ``` {mermaid}
46
+ sequenceDiagram
47
+ %% Client/User on the left
48
+
49
+ box LightGoldenRodYellow RabbitMQ
50
+ participant RabbitMQ as RabbitMQ Queue
51
+ end
52
+
53
+ box HoneyDew Consumer
54
+ participant Consumer as Listener
55
+ participant Processor as Shared.py
56
+ end
57
+
58
+ box AliceBlue Query Service
59
+ participant QueryService as Query Service
60
+ end
61
+
62
+ box Wheat Graph Database
63
+ participant GraphDB as Graph Database
64
+ end
65
+
66
+
57
67
58
68
%% Worker service processes the message
59
- RabbitMQ->>Consumer: 5 . Consume message
69
+ RabbitMQ->>Consumer: 1 . Consume message
60
70
activate Consumer
61
- Consumer->>Processor: 6 . Process data
71
+ Consumer->>Processor: 2 . Process data
62
72
activate Processor
63
73
64
74
%% Processing steps
65
- Processor->>Processor: 7 . Add provenance metadata
75
+ Processor->>Processor: 3 . Add provenance metadata
66
76
67
77
%% Acknowledge message
68
78
Processor-->>Consumer: Processing complete, provenance attached
69
79
70
80
%% Send to query service
71
- Consumer->>QueryService: 8 . Send processed data
81
+ Consumer->>QueryService: 4 . Send processed data
72
82
activate QueryService
73
83
74
84
%% Store in database
75
- QueryService->>GraphDB: 9 . Store in graph database
85
+ QueryService->>GraphDB: 5 . Store in graph database
76
86
activate GraphDB
77
87
GraphDB-->>QueryService: Storage confirmation
78
88
deactivate GraphDB
@@ -83,6 +93,6 @@ sequenceDiagram
83
93
%% Acknowledge message
84
94
Processor-->>Consumer: Processing complete
85
95
deactivate Processor
86
- Consumer->>RabbitMQ: 10 . Acknowledge message
96
+ Consumer-- >>RabbitMQ: 6 . Acknowledge message
87
97
deactivate Consumer
88
98
```
0 commit comments