1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
//! VGI (Virtual Graph Interface) - 虚拟图接口层
//!
//! 提供统一的图抽象接口,支持多种后端实现和插件系统
//!
//! # Architecture
//!
//! ```text
//! ┌─────────────────────────────────────────────────────────────┐
//! │ Application Layer │
//! └─────────────────────────────────────────────────────────────┘
//! │
//! ▼
//! ┌─────────────────────────────────────────────────────────────┐
//! │ Plugin System Layer │
//! │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
//! │ │ Algorithm │ │ Analyzer │ │ Visualizer │ ... │
//! │ │ Plugin │ │ Plugin │ │ Plugin │ │
//! │ └─────────────┘ └─────────────┘ └─────────────┘ │
//! └─────────────────────────────────────────────────────────────┘
//! │
//! ▼
//! ┌─────────────────────────────────────────────────────────────┐
//! │ Virtual Graph Interface (VGI) │
//! │ ┌─────────────────────────────────────────────────────┐ │
//! │ │ VirtualGraph Trait │ │
//! │ │ - nodes() / edges() │ │
//! │ │ - add_node() / add_edge() │ │
//! │ │ - neighbors() / incident_edges() │ │
//! │ │ - metadata() / capabilities() │ │
//! │ └─────────────────────────────────────────────────────┘ │
//! └─────────────────────────────────────────────────────────────┘
//! │
//! ▼
//! ┌─────────────────────────────────────────────────────────────┐
//! │ Backend Layer │
//! │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
//! │ │ Single │ │ Distributed│ │ External │ │
//! │ │ Machine │ │ Cluster │ │ Database │ │
//! │ └─────────────┘ └─────────────┘ └─────────────┘ │
//! └─────────────────────────────────────────────────────────────┘
//! ```
//!
//! # Trait Hierarchy
//!
//! VGI 采用分层设计,降低学习成本:
//!
//! ```text
//! GraphRead (只读查询)
//! ↓
//! GraphUpdate (增量更新)
//! ↓
//! GraphAdvanced (高级操作)
//! ↓
//! VirtualGraph (完整功能 = GraphRead + GraphUpdate + GraphAdvanced)
//! ```
//!
//! # 使用指南
//!
//! ## 场景 1: 只读算法
//!
//! ```rust
//! use god_graph::vgi::traits::GraphRead;
//!
//! fn analyze<G: GraphRead>(graph: &G) {
//! println!("Nodes: {}", graph.node_count());
//! }
//! ```
//!
//! ## 场景 2: 图构建
//!
//! ```rust
//! use god_graph::vgi::traits::GraphUpdate;
//!
//! fn build<G: GraphUpdate>(graph: &mut G) {
//! let n = graph.add_node("data".to_string()).unwrap();
//! }
//! ```
//!
//! ## 场景 3: 完整功能
//!
//! ```rust
//! use god_graph::vgi::VirtualGraph;
//!
//! fn process<G: VirtualGraph>(graph: &mut G) {
//! // 使用所有功能
//! }
//! ```
pub use GraphBuilder;
pub use ;
pub use ;
pub use SimpleGraph;
pub use ;