Aklakan commented on PR #3511:
URL: https://github.com/apache/jena/pull/3511#issuecomment-3951190915

   > I'm still unsure why there is indirection via "Deferred" and then again 
via SparqlAdapterRegister/SparqlAdpaterProvider.
   
   The rationale is:
   
   * `QueryExecDatasetBuilderDeferred`: This builder does not know for which 
dataset implementation it is being built - the builder's dataset may always be 
changed via calls to `dataset(dsg)`.
   
   * Upon `QueryExecBuilder.build()`: The physical `QueryExecBuilder` for the 
dataset implementation is obtained from the `SparqlAdapterRegistry`, and the 
settings of the deferred builder are transferred to the physical (possibly 
vendor-specific) builder.
   
   
   A note about `SparqlAdapter`:  This interface combines query and update 
aspects. I think I'll drop this interface in favor of a separation similar to 
`{Query|Update}EngineFactory`.
   The current `SparqlAdapterRegistry` will remain the central registry, but 
there will be separate `add{Query|Update}ExecBuilderProvider` methods instead 
of the single `addProvider(SparqlAdapterProvider)` method.
   This should be easier to evolve - because what's still missing are support 
for custom (vendor-specific) adapters for streaming updates and GSP.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to