Core concepts
Relationships
Reference for all 32 directed relationship types in the Software Graph, grouped by domain.
Call graph
Edges that represent runtime interactions between code nodes — function calls, return types, error propagation, and instantiation.
- CALLS — function or method invokes another
- RETURNS — function returns a type or value
- THROWS — function throws an exception
- CREATES — factory or constructor instantiates a class
Module system
Edges that represent the module dependency graph — imports, exports, containment, and public API exposure.
- IMPORTS — module imports from another module
- EXPORTS — module exports a symbol
- CONTAINS — parent contains a child (package→module, class→method)
- EXPOSES — a package or module exposes a public API
Type system
Edges that represent type hierarchy and metaprogramming relationships.
- IMPLEMENTS — class implements an interface
- EXTENDS — class or interface extends another
- DECORATES — decorator applied to a target
Data flow
Edges that represent how data moves through the codebase — usage, reads, writes, references, and dependency.
- DEPENDS_ON — structural dependency between nodes
- USES — code uses a symbol or service
- READS — code reads from a data source
- WRITES — code writes to a data source
- REFERENCES — code references a symbol without direct dependency
Architecture
Edges that represent architectural patterns — dependency injection, registration, routing, and service provisioning.
- INJECTS — dependency injection of a provider
- REGISTERED_IN — provider registered in a module or container
- REGISTERS — module registers a provider
- DECLARES — module declares a component
- MOUNTS — application mounts a route or middleware
- PROVIDES — service provides a capability
- CONSUMES — service consumes a capability
Configuration and execution
Edges that represent configuration, orchestration, and authorization relationships.
- CONFIGURES — configuration targets a module or service
- EXECUTES — workflow or pipeline executes a task
- GENERATES — build step generates an output
- HANDLES — controller or handler processes a route or event
- OVERRIDES — configuration or method overrides another
- AUTHORIZES — guard or middleware authorizes access
Events and ownership
Edges that represent event-driven communication and organizational ownership.
- PUBLISHES — code publishes an event
- SUBSCRIBES — code subscribes to an event
- BELONGS_TO — node belongs to a team or domain