Dear all, now with the 3.1 release out I have finally spent some time on working on MARMOTTA-85, the long awaited exchangeable Sesame backends. I have just committed a first development prototype of this functionality to the develop branch. Please feel free to try it out. For now, I have implemented the following example backends: - marmotta-backend-kiwi - this is the old database based backend) - marmotta-backend-native - this backend is based on a Sesame NativeStore located in the MARMOTTA_HOME, 80% finished and untested - marmotta-backend-bigdata - this backend is based on the BigData triple store; since this triple store is licensed under GPL, these modules are not built by default, you need to run Maven with the profile "-Pnon-free"
Exchanging backends is not completely trivial, because not all backends support all kinds of functionalities in the same way. For now, I have decided to use Maven to resolve the dependencies in a proper way. This means you cannot change backends at runtime. Instead, you need to create custom launchers with the configuration you want. You can find an example in launchers/marmotta-webapp-bigdata You can switch to this directory and simply run "mvn clean tomcat7:run -Pcleanall" to experiment with this bundle (after installing all of Marmotta with "mvn clean install -Pnon-free"). A note on the BigData backend: this is a bit of a mess, because: - BigData only supports the Sesame 2.6 API, so I had to wrap it with the new Sesame 2.7 methods (HACK!) - BigData essentially ignores the Sail stack concept of Sesame, but we make heavy use of it in Marmotta, so I designed the wrapper classes in a way that the stack will work in most situations - the exception will probably be SPARQL where BigData uses its own direct access Feel free to try this out, especially if you have the requirement to work with bigger amounts of data. But no guarantees from me :-) Greetings, Sebastian
