32 lines
618 B
Python
32 lines
618 B
Python
from dataclasses import dataclass
|
|
|
|
|
|
@dataclass
|
|
class GraphNode:
|
|
id: str
|
|
type: str # capability, module, entity, integration, ...
|
|
label: str
|
|
status: str # FileStatus or "unknown"
|
|
group_id: str
|
|
|
|
|
|
@dataclass
|
|
class GraphEdge:
|
|
source: str
|
|
target: str
|
|
relation: str # traces_to, depends_on, owns, integrates_with, ...
|
|
|
|
|
|
@dataclass
|
|
class GraphGroup:
|
|
id: str
|
|
label: str
|
|
layer: str # business, application, data, technology, cross-layer
|
|
|
|
|
|
@dataclass
|
|
class GraphView:
|
|
nodes: list[GraphNode]
|
|
edges: list[GraphEdge]
|
|
groups: list[GraphGroup]
|