use thiserror::Error;
pub type GraphDBResult<T> = Result<T, GraphDBError>;
#[derive(Error, Debug)]
pub enum GraphDBError {
#[error("Failed to initialize database: {0}")]
InitializationError(String),
#[error("Query execution failed: {0}")]
QueryError(String),
#[error("Node operation failed: {0}")]
NodeError(String),
#[error("Edge operation failed: {0}")]
EdgeError(String),
#[error("Serialization error: {0}")]
SerializationError(#[from] serde_json::Error),
#[error("Connection error: {0}")]
ConnectionError(String),
#[error("Database error: {0}")]
DatabaseError(String),
}