Docs / Concepts Learn
Relationships
Relationships are first-class, evidenced edges between objects — not just foreign keys.
| Kind | Meaning |
|---|---|
DependsOn |
A needs B (declared dependency, import, reference) |
Calls |
A function calls B (real call graph for Rust, Python, Elixir, JavaScript, .NET) |
ForeignKey |
Table/column reference |
Extends |
Class or type inheritance |
Contains |
Structural containment (module → symbol, directory → file) |
References |
Mentions or links (e.g. document → object) |
OwnedBy |
Authorship or ownership |
CoupledWith |
Coupling between objects |
SameAs (custom) |
Candidate or confirmed identity match |
Each relationship has an id, a kind, from, to, properties, evidence, and an optional validity window.
Traversals use them directly: ekos_dependents (who points at X), ekos_impact (multi-hop, direction- and kind-filtered), ekos_neighborhood (BFS).