Skip to content

Latest commit

 

History

History
71 lines (40 loc) · 3.42 KB

File metadata and controls

71 lines (40 loc) · 3.42 KB
graph LR
    GraphNode["GraphNode"]
    Edge["Edge"]
    GraphClass["GraphClass"]
    Dag["Dag"]
    GeneralGraph["GeneralGraph"]
    GraphClass -- "utilizes" --> GraphNode
    GraphClass -- "utilizes" --> Edge
    Dag -- "is a" --> GraphClass
    Dag -- "utilizes" --> GraphNode
    Dag -- "utilizes" --> Edge
    GeneralGraph -- "is a" --> GraphClass
    GeneralGraph -- "utilizes" --> GraphNode
    GeneralGraph -- "utilizes" --> Edge
Loading

CodeBoardingDemoContact

Details

The Graph Representation Layer subsystem provides the foundational data structures and interfaces for defining, storing, and managing various types of causal graphs, including their nodes and edges.

GraphNode

Manages the identity (name) and attributes of a graph node. It serves as the atomic unit for representing entities within any graph structure.

Related Classes/Methods:

Edge

Defines the two endpoints of a connection and its directionality (e.g., directed, undirected, bi-directed). It represents the relationships between GraphNode instances.

Related Classes/Methods:

GraphClass

Serves as a foundational abstract base for various graph types, offering common functionalities such as identifying edge types, determining adjacency, detecting structural patterns (e.g., unshielded triples), finding conditioning sets, and converting to NetworkX graph formats. It establishes the common interface for all graph implementations.

Related Classes/Methods:

Dag

Manages the structure and properties unique to Directed Acyclic Graphs (DAGs). This includes operations like adding/removing nodes and edges while preserving acyclicity, computing node degrees, identifying ancestors and descendants, checking d-separation, and converting the DAG to a Partial Ancestral Graph (PAG).

Related Classes/Methods:

GeneralGraph

Provides functionalities for managing general graph structures, which can contain both directed and undirected edges, and cycles. This includes adding/removing nodes and edges, computing degrees, identifying ancestors and descendants, and checking d-separation. It offers a more flexible graph representation than Dag.

Related Classes/Methods: