Expand description
§synth-graph
Graph/network export library for synthetic accounting data.
This crate provides:
- Graph models for representing accounting data as networks
- Builders for creating transaction, approval, and entity graphs
- Exporters for PyTorch Geometric, Neo4j, and DGL formats
- ML utilities for feature extraction and dataset splitting
§Graph Types
- Transaction Network: Accounts/entities as nodes, transactions as edges
- Approval Network: Users as nodes, approvals as edges (for SoD detection)
- Entity Relationship: Legal entities with ownership edges
§Export Formats
- PyTorch Geometric: node_features.pt, edge_index.pt, edge_attr.pt
- Neo4j: CSV files with Cypher import scripts
- DGL: Compatible format for Deep Graph Library
Re-exports§
pub use builders::AccountLinkInput;pub use builders::ApprovalGraphBuilder;pub use builders::ApprovalGraphConfig;pub use builders::BankingGraphBuilder;pub use builders::BankingGraphConfig;pub use builders::ComplianceGraphBuilder;pub use builders::ComplianceGraphConfig;pub use builders::ControlLinkInput;pub use builders::CrossReferenceEdgeInput;pub use builders::EntityGraphBuilder;pub use builders::EntityGraphConfig;pub use builders::FilingNodeInput;pub use builders::FindingNodeInput;pub use builders::HypergraphBuilder;pub use builders::HypergraphConfig;pub use builders::JurisdictionMappingInput;pub use builders::JurisdictionNodeInput;pub use builders::OwnershipHierarchy;pub use builders::OwnershipHierarchyNode;pub use builders::ProcedureNodeInput;pub use builders::SimpleApproval;pub use builders::StandardNodeInput;pub use builders::SupersessionEdgeInput;pub use builders::TransactionGraphBuilder;pub use builders::TransactionGraphConfig;pub use exporters::CommonExportConfig;pub use exporters::CommonGraphMetadata;pub use exporters::CypherQueryBuilder;pub use exporters::DGLExportConfig;pub use exporters::DGLExporter;pub use exporters::DGLMetadata;pub use exporters::HypergraphExportConfig;pub use exporters::HypergraphExporter;pub use exporters::Neo4jExportConfig;pub use exporters::Neo4jExporter;pub use exporters::Neo4jMetadata;pub use exporters::PyGExportConfig;pub use exporters::PyGExporter;pub use exporters::PyGMetadata;pub use exporters::RawUnifiedEdge;pub use exporters::RawUnifiedHyperedge;pub use exporters::RawUnifiedNode;pub use exporters::RustGraphEdgeMetadata;pub use exporters::RustGraphEdgeOutput;pub use exporters::RustGraphExportConfig;pub use exporters::RustGraphExporter;pub use exporters::RustGraphMetadata;pub use exporters::RustGraphNodeMetadata;pub use exporters::RustGraphNodeOutput;pub use exporters::RustGraphOutputFormat;pub use exporters::RustGraphUnifiedExporter;pub use exporters::UnifiedExportConfig;pub use exporters::UnifiedHypergraphMetadata;pub use models::AccountNode;pub use models::AggregationStrategy;pub use models::ApprovalEdge;pub use models::CompanyNode;pub use models::CrossLayerEdge;pub use models::EdgeDirection;pub use models::EdgeId;pub use models::EdgeProperty;pub use models::EdgeType;pub use models::Graph;pub use models::GraphEdge;pub use models::GraphMetadata;pub use models::GraphNode;pub use models::GraphType;pub use models::HeterogeneousGraph;pub use models::Hyperedge;pub use models::HyperedgeParticipant;pub use models::Hypergraph;pub use models::HypergraphLayer;pub use models::HypergraphMetadata;pub use models::HypergraphNode;pub use models::NodeBudget;pub use models::NodeBudgetReport;pub use models::NodeId;pub use models::NodeProperty;pub use models::NodeType;pub use models::OwnershipEdge;pub use models::TransactionEdge;pub use models::UserNode;pub use ml::*;