RUNA-2: a directional typed biosemiotic knowledge-graph embedding for European ecology (v2.0.0)
Description
RUNA-2 is a directional revision of RUNA-1, a typed biosemiotic knowledge-graph embedding (BoxE, PyKEEN) of European ecological interactions.
What changed (v1.4 → v2.0): RUNA-1 was direction-blind on its most important relations — it scored reversed trophic triples higher than correct ones (overall directionality 0.53, barely above chance; preysOn 0.26, eats 0.45, pollinates 0.24). The root cause, verified from the shipped model, was training with create_inverse_triples=True, which symmetrizes the per-relation boxes and destroys direction. Retraining with create_inverse_triples=False restores directionality to 0.98 (preysOn 0.96, eats 0.99, pollinates 1.00) with no hard negatives and no architecture change, and with no regression on already-correct symmetric relations.
Provenance: the retrain, the leak-free MRR benchmark, the per-relation directionality figures and the architecture sweep were produced by the model-training session (RTX 5090) and are documented in RUNA_v2_recommendation.md in the bundle; they are reported as-measured by that session. The directionality battery in RUNA_v2_verification_and_generation.md was independently run against the live v2.0 endpoint.
Ranking is unchanged. On an honest leak-free split (split by unordered entity-pair), v1.4 scores MRR 0.114 and v2.0 scores 0.118 — the same ranker. v1.4's originally-reported ~0.30 MRR was measured on a leaky random split that both inflated MRR and hid the direction flaw. An architecture sweep (RotatE, PairRE) confirms the ~0.12 MRR is a data ceiling, not an architecture limit.
Use: v2.0 fixes direction, not ranking — score_interaction is now directionally trustworthy, but RUNA remains a candidate seeder, not an arbiter. A confident forward>reverse margin means the model is sure which way the arrow points, not that the edge is real; candidates must still be gated by external evidence. This deposit includes the retrained model, the full retrain/diagnosis writeup, an independent verification battery against the live endpoint, and a directed candidate-generation report.