Cook's Note: It's important to make sure that your ricotta is dry. If there is lots of moisture, line a colander with cheesecloth, put the ricotta in and rest over a bowl. Let it drain overnight in the fridge. If the ricotta is too moist, you'll have to add more flour, which will make your ndunderi too heavy.
Combine the ricotta, semolina flour and eggs in a mixing bowl and work into a dough. Mix in the Parmigiano-Reggiano, and then the all-purpose flour a little at a time, while kneading the dough into a beautiful, even consistency.
Roll a handful of the dough into an approximately 1-inch-thick log, and then slice into 1-inch pieces to create your ndunderi. Repeat with the remaining dough. Take each piece and lightly press with your thumb, and then roll them down the back of a fork or against a cheese grater to create ridges.
Bring a pot of salted water to a boil, and then add the ndunderi and cook until they rise to the surface, about 3 minutes. Drain well, reserving 4 tablespoons of the cooking liquid.
Meanwhile, melt the butter in a sauce pan, and then stir in the cream and lemon juice and zest. Cook until the sauce reduces and thickens.
Add the ndunderi into the sauce with the cooking liquid and cook altogether until the sauce thickens and clings to the ndunderi, about 3 minutes.
Remove from the heat, season with salt and sprinkle with Parmigiano-Reggiano.