MATIH Platform is in active MVP development. Documentation reflects current implementation status.
15. Workbench Architecture
Lineage Viewer

Lineage Viewer

The Lineage components at frontend/data-workbench/src/components/Lineage/ provide interactive data lineage visualization at table, column, and pipeline levels.


Components

ComponentFilePurpose
LineageViewerLineageViewer.tsxMain lineage graph viewer
ColumnLineageGraphColumnLineageGraph.tsxColumn-level lineage
DataFlowViewDataFlowView.tsxData flow visualization
LineageNodeLineageNode.tsxCustom graph node for assets
NodeDetailPanelNodeDetailPanel.tsxAsset detail side panel
LayerFilterLayerFilter.tsxLayer/depth filtering

Types

// frontend/data-workbench/src/components/Lineage/types.ts
interface LineageGraphData {
  nodes: LineageNodeData[];
  edges: LineageEdgeData[];
}
 
interface LineageNodeData {
  id: string;
  name: string;
  type: 'table' | 'view' | 'pipeline' | 'model' | 'dashboard';
  database?: string;
  schema?: string;
  columns?: LineageColumnData[];
  position?: { x: number; y: number };
}

LineageViewer

The main viewer uses React Flow for graph rendering with auto-layout via Dagre:

  • Upstream and downstream lineage exploration
  • Depth-based filtering (1-5 levels)
  • Impact analysis highlighting
  • Column-level lineage drill-down
  • Pipeline step expansion
  • Integration with useLineage hook from shared library