Given a set of nodes and directed edges (from parent to child node), is it possible to construct an indexed set S_Children(i_node) that contains all children of the specified node?

With all children I mean the set of all reachable nodes, starting from i_node.

For example:

s_Nodes := {A, B, C}

s_Edges := {(A, B), (B, C)}

Then I would want:

s_Children(A) := {B, C}

Edit:

The edges are actually defined through a binary parameter. i.e.

`p01_edge(A, := 1;`

`p01_edge(B, C) := 1;`