1Put the ribs in a large pot and add enough water to cover them. Bring to a boil over high heat and skim off any gray scum that floats up.
2Reduce the heat to low. Simmer, uncovered, until the ribs are tender, about 1 hour.
3While the ribs are cooking, put the beets in a saucepan and add enough water to cover them. Bring to a boil over high heat. Reduce the heat to medium and simmer until tender, about 45 minutes.
4Drain the beets. Set them aside until they are cool enough to handle. Peel and chop the beets, then set aside.
5Remove the ribs from the pot, reserving the cooking water in the pot. Using a fork or knife, pull or cut the meat from the bones and chop into bite-size chunks. Return the pork to the pot.
6Add the carrots, onion, green beans, cabbage, tomato juice and vinegar. Bring to a boil over high heat, then reduce the heat to medium-low. Simmer, uncovered, until all the vegetables are tender, 20 to 30 minutes.
7Add the boiled beets and salt and pepper to taste. Ladle the soup into bowls, and swirl in a few spoonfuls of sour cream.