That is too limiting - people want to write backends that are not file based. And they need to be able to produce a subsection of all possible data available. But maybe this is handled higher up in the stack.