Hi Lisa
I hadn't replied as Christian is handling the same issue, but I see it is not resolved yet, so let me share some thoughts.
There are three parts to this.
1. The data structure.
2. The data entry.
3. The data presentation.
As I mentioned above, Types relationships don't currently let you set up such "self join" relationships, although support for that is planned to be added before too long, which doesn't help you right now.
There is, unfortunately, no alternative to entering the complete family tree as custom fields for each horse.
So if you had already entered details for Zan It, specifying Hollywood Dun It and Sparkles La Zanna as its parents, well, when you enter TT Sliding Gun you are going to have to reproduce that data, you will just be storing this info as simple text fields.
So if you have a horse custom post type, you'll need to create custom fields for "sire", "dam", "sire's sire", "sire's sire's sire" etc., i.e. one for each node on that family tree.
Let's skip 2 for the moment and look at presentation, assuming you have entered all the fields for some horses.
Then in the template to display those horses you will need to use a table, which is somewhat complex because of vertical merging of cells which requires using rowspans.
So this is what you'll need.
<table>
<tr>
<td rowspan="4">Sire</td>
<td rowspan="2">Sire's Sire</td>
<td>Sire's Sire's Sire</td>
</tr>
<tr>
<td>Sire's Sire's Dam</td>
</tr>
<tr>
<td rowspan="2">Sire's Dam</td>
<td>Sire's Dam's Sire</td>
</tr>
<tr>
<td>Sire's Dam's Dam</td>
</tr>
<tr>
<td rowspan="4">Dam</td>
<td rowspan="2">Dam's Sire</td>
<td>Dam's Sire's Sire</td>
</tr>
<tr>
<td>Dam's Sire's Dam</td>
</tr>
<tr>
<td rowspan="2">Dam's Dam</td>
<td>Dam's Dam's Sire</td>
</tr>
<tr>
<td>Dam's Dam's Dam</td>
</tr>
</table>
You can verify that looks right here: hidden link
You'll need to replace my text labels (e.g. "Dam's Dam's Sire") with the relevant custom fields (you'll insert the shortcodes for them using the Fields and Views button when editing the template), as well as handling styling.
Now, returning to 2., entering the data.
Your form will need to include all of the fields for each node in the family tree.
I would create a form to add a new horse and include all of the required fields. If you then switch to expert mode you will then have complete control over the HTML for the form markup, and so you could edit it in such a way as to use a similar table layout as used above, so that the family tree entries are displayed in the same way.
I haven't tried anything like that, but there's no reason it shouldn't work in principle.