datasynth_graph/exporters/
common.rs1use std::collections::HashMap;
4
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Clone)]
9pub struct CommonExportConfig {
10 pub export_node_features: bool,
12 pub export_edge_features: bool,
14 pub export_node_labels: bool,
16 pub export_edge_labels: bool,
18 pub export_masks: bool,
20 pub train_ratio: f64,
22 pub val_ratio: f64,
24 pub seed: u64,
26}
27
28impl Default for CommonExportConfig {
29 fn default() -> Self {
30 Self {
31 export_node_features: true,
32 export_edge_features: true,
33 export_node_labels: true,
34 export_edge_labels: true,
35 export_masks: true,
36 train_ratio: 0.7,
37 val_ratio: 0.15,
38 seed: 42,
39 }
40 }
41}
42
43#[derive(Debug, Clone, Serialize, Deserialize)]
45pub struct CommonGraphMetadata {
46 pub name: String,
48 pub num_nodes: usize,
50 pub num_edges: usize,
52 pub node_feature_dim: usize,
54 pub edge_feature_dim: usize,
56 pub num_node_classes: usize,
58 pub num_edge_classes: usize,
60 pub node_types: HashMap<String, usize>,
62 pub edge_types: HashMap<String, usize>,
64 pub is_directed: bool,
66 pub files: Vec<String>,
68 pub statistics: HashMap<String, f64>,
70}