From: Bryan T. <br...@sy...> - 2015-04-16 15:30:13
|
The transaction management API is logically scoped to the database, not the namespace. Therefore we need to pass in the RemoteRepositoryManager object to the BigdataSailRemoteRepository so we can access the transaction management API. I just want to bring this up since there is ongoing confusion in the semantics of classes that attempt to simplify life for the "just one namespace" users (blueprints, sail factory). That simplification is still possible of course, but internally we need a RemoteRepositoryManager (which currently extends RemoteRepository). That extended subclass provides the "default" namespace. I think it would make sense to make the RemoteRepository a parallel class and then always use a method to obtain a RemoteRepository for either the default namespace or a specific namespace: public RemoteRepository getRepositoryForDefaultNamespace() // proposed method public RemoteRepository getRepositoryForNamespace(final String namespace) // existing method. See http://wiki.blazegraph.com/wiki/index.php/NanoSparqlServer#Transaction_Management for the proposed transaction management API. Bryan |