Heat 1 tablespoon of the olive oil in a medium saute pan over medium heat. When it is hot, add the onion, cumin, coriander, salt, and pepper and cook until the onion is soft and lightly caramelized, about 3 minutes. Add the garlic and cook until fragrant, about 30 seconds. Remove the pan from the heat and set aside to cool.
In a medium mixing bowl, mash the black beans well with the back of a fork. The bean mixture should be relatively smooth, with no whole beans remaining. Stir in the cooled onion mixture, 2 tablespoons cilantro, beaten egg, half of the lime juice, and hot sauce and mix well. Add the flour to the mixture, as needed, until the mixture binds.
Heat 6 tablespoons of the olive oil in a medium non-stick frying pan over medium heat. When the oil is hot, make 8 patties and transfer the bean patties to the pan. Cook's Note: the cakes will be delicate.
Cook the cakes until golden brown on both sides and heated through, about 2 minutes per side.
Combine the tomatoes, the remaining lime juice, the remaining tablespoon of olive oil, and coriander, to taste. Garnish the bean cakes with yogurt and tomato relish and serve immediately. Drizzle with chipotle chilli oil, if desired.
For the Chipotle Chilli Oil:
Steep the crushed chipotle peppers in hot vegetable oil, then cool and decant into a jar or bottle for storage.