This looks good and is good timing.
The SPARQL features support has grown organically as new SPARQL features have become available. Pulling these together into coherent client-facing API would be very useful. There's bits in Fuseki (e.g. DatasetAccessor) as well which have not had time to migrate to the right place. As SPARQL access has evolved, the Dataset interface has become the object around which the various API use. The query execution factory or update execution factory uses the kind of Dataset to route to the right code.
This abstraction isn't complete (no concept of "create Dataset").
Keeping the new API as a separate module for better release cycles than core ARQ seems to me to be the way forward. We can then deliver in various forms. When we repackage under the org.apache.jena root, we have a chance to make API chanages and one thing to consider is having less of a separation of SPARQL and the Jena core API. Maybe move Dataset, DatasetGraph, Quad into just two packages (API, SPI).
I don't have answers to your questions at , just some thoughts:
On "Should the API be based Graph/Triple or Model/Statement objects?", I'd design the API to be related to Model/Statement but keeping an eye open to the graph level. We could make Graph/Triple/... more of an official API after a bit of clearing up like better naming, and refactoring out unused stuff.
On "GSP and quads", I'm inclined just do the REST-thing GET/PUT/POST at the quads level.
Final comment - "small steps". A partial API and implementation that covers the natural core of this, and made available labelled "experimental - for feedback" (another argument to me for being separate for now). Howabout the pure SPARQL bit for now?
Sort of related, but not enough to link the JIRA to them, are JENA-189 (Jena3 technical) and
JENA-190 (Jena delivery); JENA-189 because of getting streaming to work end-to-end and misc consolidation of the Graph API and JENA-190 because we can put this API bundled with other code in a single "development jar" to make it eaiser to use Jena.