# Edge-related APIs
## Bigraph or Hypergraph, Directed or Undirected
- `edges_from(node_id) -> iter(edge_id)`
- for Directed, returns all {,hyper}edges outgoing from `node_id`
- for Undirected, returns all {,hyper}edges connected with `node_id`
- `edges_of(node_id) -> iter(edge_id)`
- returns all connecting edges with `node_id` for both Directed and Undirected
- `successors(node_id) -> iter(node_id)`
- for both Directed and Undirected, returns nodes connected directly from given `node_id`
- `incidents(node_id) -> iter(node_id)`
- for both Directed and Undirected, returns nodes connected directly with given `node_id`
## Only in Directed
- `edges_to(node_id) -> iter(edge_id)`
- returns edges incoming to `node_id`
- `predecessors(node_id) -> iter(node_id)`
- returns nodes that is oredecessors of `node_id`
- `edge_heads(edge_id) -> iter(node_id)`
- returns heads of given `edge_id`
- `edge_tails(edge_id) -> iter(node_id)`
- returns tails of given `edge_id`
# Only in Bigraph & Directed
- `edge_head(edge_id) -> node_id`
- `edge_tail(edge_id) -> node_id`