EKOSdocs
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).