On 23 May 2013 23:03, Sebastian Schaffert <sebastian.schaff...@gmail.com>wrote:
> Hi Raffaele, > > the idea was anyways to allow different backends besides KiWi, because each > has its advantages and disadvantages (KiWi's advantages are the versioning > and the reasoner). The issue is documented under > > https://issues.apache.org/jira/browse/MARMOTTA-85 > > and the individual backends have subsequent numbers. See e.g. > > https://issues.apache.org/jira/browse/MARMOTTA-89 > > for the SDB backend implementation. > > Changing backends is currently not possible, but it is foreseen in the > architecture and it would take me about one day of work to change the > platform in a way that other backends can be used. The main change will be > in the SesameServiceImpl which sets up the underlying triple store. The > initialisation method for this service stacks together different sails > depending on the configuration and is already very modular. The only thing > that is currently hardcoded there is the initialisation of a new KiWiStore, > but in principle it could be any Sesame Sail. > > But there are some consequences and dependencies, e.g. the > marmotta-versioning and marmotta-reasoner modules cannot be used if the > backend is not KiWi, and I need to find a clean way to model these > dependencies (Maven is unfortunately probably not enough, because several > backends could be on the classpath and only one backend selected - on the > other hand we could simply create different backend configurations in Maven > that only include one backend to be used - we will see). > > If you want to try with SDB and TDB, the first step would be to implement a > clean wrapper that allows accessing Jena through the Sesame SAIL API. Peter > Ansell has already worked on such adapters: > > https://github.com/ansell/JenaSesame > That project was created originally by Andy to focus on Jena access to Sesame Repositories. The sesame-jena module was created by me but it only wraps Jena Models as Sesame Graphs (that could be updated to Sesame Model now but I haven't had a chance to do it). I am not sure what would be required to wrap Jena Models as Sesame Sails/Repositories. I haven't worked with it in production before so I am not sure what the performance cost is. There is likely to be some noticeable performance cost with creation of temporary objects as there is no caching at the boundary right now. So far I have only been using it to test out the use of the Jena-based SPIN-API in a Sesame application. Jerven Bolleman has recently started working on a SPIN-to-SPARQL parser for Sesame [1] so I may not need it anymore for that usecase. I am still happy to accept Pull Requests. Ideally Andy will also accept Pull Requests back to his repository, although the last one stalled for almost a year so I closed it myself [2]. Cheers, Peter [1] https://bitbucket.org/jbollema/sesame/commits/branch/SPIN [2] https://github.com/afs/JenaSesame/pull/3