Isanchez,
Since you already have other apparently working solutions, I think you have domestic_animal backwards. I would think that it should be 1 0 instead of 0 1. The first number is supposed to be the index and the second is supposed to be the parent - both dog and domestic_animal have the same parent, but there is no item in the list of 1 for the index.
I figured this might help if you were trying to track down a bug.
Cheers - L~R