Skip to main content
An edge in a causal graph goes from a cause to an effect. It’s directed. It carries information about how strong the relationship is and how it works.

Creating an edge

Two ways:
  • Drag from one variable’s edge handle to another.
  • Click the graph, + Edge, then pick source and target.

Edge attributes

  • Direction — always from cause to effect. Reversing an edge changes its meaning entirely.
  • Sign — positive (cause increases → effect increases), negative (cause increases → effect decreases), or unknown.
  • Strength — small / medium / large. Or a numeric value if you have one from data.
  • Mechanism — a one-line explanation. Optional but strongly recommended for the “why”.
  • Evidence — link to a document, dataset, or previous analysis that supports the edge.
  • Confidence — how sure you are. Affects verification behavior.

The DAG constraint

The graph must be acyclic. If you try to add an edge that would create a cycle (A→B and later B→A directly or transitively), the editor rejects it with a diagram of the offending path. If two variables really do influence each other in both directions, this is usually a sign you need a third variable representing the interaction, or a time-lagged version (A_tB_{t+1}A_{t+2}).

Confounders and colliders

The graph editor helps you avoid two classic mistakes:
  • Confounders — a third variable causing both A and B. If you draw A→B without accounting for a confounder, downstream analysis will be wrong. The editor flags likely confounders (based on the other edges in your graph) as suggestions.
  • Colliders — a variable caused by both A and B. Conditioning on a collider creates spurious correlations. The editor warns when a query conditions on a collider.
You can ignore both warnings — sometimes they’re wrong — but they surface issues before they mislead reasoning.

Bidirectional relationships (approximate)

If A and B genuinely co-vary without a clear causal direction, model them as linked by a shared latent variable — e.g., introduce a both_driven_by_C node with edges C→A and C→B. Preserves the DAG.

Edge weights from data

If you have a dataset that measures both cause and effect variables, Nora can estimate edge strength directly:
  • Data source — attach a document or table with the observations.
  • Estimator — regression, correlation, or a small causal-inference model.
  • Result — coefficient + confidence interval + p-value, stored on the edge.
Data-derived edges are marked visually so you can tell them from expert-authored ones.

Managing many edges

  • Auto-layout — snaps the graph into a readable arrangement using hierarchical topology.
  • Filter by strength — hide weak edges to focus on the backbone.
  • Filter by confidence — hide low-confidence edges when reviewing what you’d trust for verification.
  • Search — find any edge by variable name.

Testing an edge

Right-click an edge → Test. Nora runs a quick sanity check:
  • Does the sign match observations in attached data?
  • Do documents cited as evidence actually support this edge?
  • Does removing this edge change downstream verification results significantly?
Useful for pruning weak or misleading edges before they affect production behavior.