pub const EDGE_TYPE_RULES: &[(&str, &[&str], &[&str])];
(relation, valid_source_types, valid_target_types) Empty slice = no constraint for that side.