Related to the subject of sets of resources as discussed in the last ROC newsletter is the important topic of feeds.

Following the HATEOAS principle of REST in practice, seems to me at least, to mean the use of feeds as resource representations of collections (sets) of information. such as in AtomPub and now other RESTful generic data standards like OData derived from it.

Presenting large XML files as a query response seems to often overwhelm browsers, not so much in the parsing but more in an attempt to display it all. A feed seems to be a practical means to allow any client to decide how many 'entries' in the feed it will attempt to handle (display or otherwise) at once, retrieving feed-entry resources individually by following the links presented in the feed.

NK seems to offer great possibilities in this approach by caching both the representation of the feed resource and its hyper-linked feed-entry resources and providing automatic cache expiry of the feed when an entry is added or deleted from its set.

Of course, the general philosophy of building generic clients capable of handling a wide range of data sets via this feed approach is a desirable thing ("data browsers"), but if you just want to return a set of resources rather than a set of links to resources, then using a subset as the initial response to an unfiltered query seems to me to be following the spirit of HATEOAS if it in turn contains links to the remaining subsets. This would allow a client to present the option of retrieving any or all of the subsets to the user without having to understand the logic/grammar of any query parameters.

Using SQL as an exemplar in a RESTful scenario is not that helpful IMHO, due to the permanent connectivity aspect of RDBMS clients and hence the availability of a cursor, so allowing the client to step through the records as it desires, and the total number of records returned not being such a issue as in REST systems.

My practical experience of this is that its a common problem for use of XML as a data representation format (and one not really solved by EXI), using feeds seems to go along way to help though.