Different representations of a resource are intended to make the data accessible to different clients. They are not intended to return different amounts of data. The only exception to this that I have seen is when a resource accessed by an authenticated
user it may return additional information.
The translation from resource to representation should be a mechanical one. It should not introduce more or less information depending on the representation type.
As hongmei mentioned you can use the query string to identify a new resource that has a different subset of the data, but you should not use the same URI. Doing so would seriously limit your ability to do caching and reduces your ability to include
hyperlinks that point to the exact resource that you want to present.
There is also nothing wrong with doing http://site/data/all http://site/data/small and http://site/data/medium