How to list node parent's children
To list all nodes of the parent, i.e. siblings.

// Node ID to to search by
$nid = 1;

// Load Node
$node = node_load($nid);

// Get Node's Content Type
$type = $node-&gt;type;

// Search for siblings
$query = new EntityFieldQuery();
$query-&gt;entityCondition('entity_type', 'node')
  -&gt;propertyCondition('type', $type)
  -&gt;propertyCondition('status', TRUE); // Get only active nodes
$result = $query-&gt;execute();

// Load Sibling Nids
$nids = array();
if (isset($result['node'])) {
  foreach ($result['node'] as $node) {
    $nids[] = $node-&gt;nid;
  }
}

// Load Sibling Nodes
$nodes = node_load_multiple($nids);


Building relationships

In regards to structuring a 3 tier relationship, I personally use Entity API and simply reference Nodes to Terms. In cases where I need to create a relationship between Nodes only, I've used an Entity Reference module, or now, I just create a module, which attaches a field with an option to enter a referencing node.

You may also want to check out a Relation module, which has a more complex use to it.