Question: why did the bfg take sophie?
Answer: The BFG takes Sophie back to his cave to show her his dream collection, but soon, the giants are running past the cave. It's people-eating time. They shout to the BFG that they're going to England to eat schoolchildren. This, for obvious reasons, upsets Sophie.