By the naming convention, I think there may be a logic issue making this more difficult to think about. Your field in the table is called IDStallion_IsFatherID. I am not saying you are doing this, but that leads me to believe you are pointing to a child not that records parent. My assumption may be wrong but hopefully that value points to the current records parent.
If that is the case as I said there are three options
1) Do not require the IsFatherID and leave it blank for a unknown Parent. This represents a top level
2) Require the isFatherID and if it is unknown the FK and PK would be the same.
3) Require the isFatherID and enter a Dummy stallion. For the Dummy record/s set the PK and FK to be the same. Reference stallions with unknown parents (not in database) to the dummy or dummies
I do not see the need for 3, but there may be utility.
I think I understood you. It is more useful if I show you the conceptual schemas of this Database, as the previous collegue, you are pointing toward the relationships of this table. U are asking me, if you could not find a stallion's father in your stable, then what do you do ? Correct, and relevant question. Because of course there is an issue about stallions that don't have father known in this stable, however these stallions have all a father,
but an unknown father, that we could not know. An unknown father, that are not present in the stable,
means the stallions have or maybe not a father in this stable. In this case the maybe changes all. Did I understand you correctly ?
Below here is my conceptual schemas about the database :