| Crates.io | icentral-subgraph |
| lib.rs | icentral-subgraph |
| version | 0.1.0 |
| created_at | 2025-04-04 21:07:35.611617+00 |
| updated_at | 2025-04-04 21:07:35.611617+00 |
| description | Efficient management and computation of subgraphs with a focus on betweenness centrality metrics in Rust. |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1620758 |
| size | 111,899 |
icentral-subgraph is a Rust library designed to facilitate efficient management and computation of subgraphs within a broader graph context, with a primary focus on betweenness centrality metrics. It leverages specific algorithmic structures to compute shortest paths, manage node connectivity, update dependency metrics, and more, through a rich set of traits and methods defined within the SubGraph structure.
SubGraph and associated utilities.MucComputeNewPathCountsAndPaths: Define operations for computing new path counts based on node connectivity.MucAugment, MucAttenuate, MucUpdate: Handle path and dependency augmentations and attenuations.UpdateSigmas: Manage the sigma values contributing to betweenness centrality calculations.SubGraph: Encapsulates the logic for handling a graph's substructure. Provides implementations for various traits to manage node interactions and path-based metrics.SubGraphDebugger: Provides debugging functionality to inspect the state of a SubGraph, optionally including node information.To utilize this crate, instantiate a SubGraph and perform operations that fit your application's needs, such as updating sigmas or managing path dependencies. Utilize exported macros for delegating functionality where necessary:
// Example of creating a new SubGraph
let mut subgraph = SubGraph::empty("example_subgraph");
subgraph.insert_edge_between_nodes(src_node_id, dst_node_id).unwrap();
subgraph.muc_compute_new_path_counts_and_paths(src_node_id, dst_node_id);
Compile the crate in a no_std environment for embedded applications if necessary, or integrate it with a broader system as part of a dependency in your project's Cargo.toml.
Note: This README was generated by an AI model and may not be 100% accurate. However, it should provide a comprehensive overview.
This crate is in the process of being translated from c++ to rust. Currently, it still needs exhaustive testing. It is likely there currently exist many glitches which need to be fixed before proper usage. This crate is based on the original icentral program developed by Fuad Jamor. Please see the following repository for details: https://github.com/fjamour/icentral.
For progress updates, see the workspacer rust project.