Una solución simple sería que además de contener referencias directas, almacenase referencias indirectas (simple, dobles o triples).