Juan Martin del Potro plays Robin Soderling for a place in the final of the World Tour Finals in London against Nikolay Davydenko.