Current implementations of ISparqlDataset are limited in that they require graphs to be loaded into memory for various operations. It would be much nicer for some kinds of stores if we had a more quad oriented view where we just maintained the list of active and default graph URIs and made calls of the form GetQuadsWithXY(Uri graphUri, INode x, INode y) instead.
We could also then handle all the returning of graphs by wrapping the dataset in a triple collection of some sort. The only tricky bits start to become handling the modification related operations so maybe in an initial release this dataset implementation would be read-only.