pub struct CausalGraph {
pub variables: Vec<CausalVariable>,
pub edges: Vec<CausalEdge>,
}Expand description
A causal directed acyclic graph (DAG).
Fields§
§variables: Vec<CausalVariable>§edges: Vec<CausalEdge>Implementations§
Source§impl CausalGraph
impl CausalGraph
pub fn new() -> Self
pub fn add_variable(&mut self, var: CausalVariable)
pub fn add_edge(&mut self, edge: CausalEdge)
Sourcepub fn variable_names(&self) -> Vec<&str>
pub fn variable_names(&self) -> Vec<&str>
Get variable names.
Sourcepub fn get_variable(&self, name: &str) -> Option<&CausalVariable>
pub fn get_variable(&self, name: &str) -> Option<&CausalVariable>
Get variable by name.
Sourcepub fn parent_edges(&self, variable: &str) -> Vec<&CausalEdge>
pub fn parent_edges(&self, variable: &str) -> Vec<&CausalEdge>
Get all edges pointing TO a given variable (its parents).
Sourcepub fn validate(&self) -> Result<(), String>
pub fn validate(&self) -> Result<(), String>
Validate the graph: check acyclicity, no self-loops, all referenced vars exist.
Sourcepub fn topological_order(&self) -> Result<Vec<String>, String>
pub fn topological_order(&self) -> Result<Vec<String>, String>
Compute topological ordering of variables. Returns error if cyclic.
Sourcepub fn fraud_detection_template() -> Self
pub fn fraud_detection_template() -> Self
Built-in fraud detection SCM template.
Sourcepub fn revenue_cycle_template() -> Self
pub fn revenue_cycle_template() -> Self
Built-in revenue cycle SCM template.
Trait Implementations§
Source§impl Clone for CausalGraph
impl Clone for CausalGraph
Source§fn clone(&self) -> CausalGraph
fn clone(&self) -> CausalGraph
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CausalGraph
impl Debug for CausalGraph
Source§impl Default for CausalGraph
impl Default for CausalGraph
Source§impl<'de> Deserialize<'de> for CausalGraph
impl<'de> Deserialize<'de> for CausalGraph
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CausalGraph
impl RefUnwindSafe for CausalGraph
impl Send for CausalGraph
impl Sync for CausalGraph
impl Unpin for CausalGraph
impl UnwindSafe for CausalGraph
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more