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.