use std::collections::HashMap;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone)]
pub struct CommonExportConfig {
pub export_node_features: bool,
pub export_edge_features: bool,
pub export_node_labels: bool,
pub export_edge_labels: bool,
pub export_masks: bool,
pub train_ratio: f64,
pub val_ratio: f64,
pub seed: u64,
}
impl Default for CommonExportConfig {
fn default() -> Self {
Self {
export_node_features: true,
export_edge_features: true,
export_node_labels: true,
export_edge_labels: true,
export_masks: true,
train_ratio: 0.7,
val_ratio: 0.15,
seed: 42,
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CommonGraphMetadata {
pub name: String,
pub num_nodes: usize,
pub num_edges: usize,
pub node_feature_dim: usize,
pub edge_feature_dim: usize,
pub num_node_classes: usize,
pub num_edge_classes: usize,
pub node_types: HashMap<String, usize>,
pub edge_types: HashMap<String, usize>,
pub is_directed: bool,
pub files: Vec<String>,
pub statistics: HashMap<String, f64>,
}