Just to wrap-up all this new stuff, for those who are currently
upgrading to 3.2.0-SNAPSHOT they would face with broken dependencies.
You need to change your dependencies to something like the attached patch.
FMPOV the current bundling is a kind of mess, not only for some modules
of the platform, but specially regarding the launchers. So we must find
a better solution with Maven...
On 03/10/13 17:43, Sebastian Schaffert wrote:
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
--
Sergio Fernández
Senior Researcher
Knowledge and Media Technologies
Salzburg Research Forschungsgesellschaft mbH
Jakob-Haringer-Straße 5/3 | 5020 Salzburg, Austria
T: +43 662 2288 318 | M: +43 660 2747 925
[email protected]
http://www.salzburgresearch.at
diff -r 8ddf0822b596 parent/pom.xml
--- a/parent/pom.xml Wed Nov 20 20:56:40 2013 +0100
+++ b/parent/pom.xml Thu Nov 21 12:38:00 2013 +0100
@@ -602,27 +602,27 @@
<!-- Apache Marmotta -->
<dependency>
<groupId>org.apache.marmotta</groupId>
<artifactId>marmotta-core</artifactId>
<version>${marmotta.version}</version>
</dependency>
<dependency>
<groupId>org.apache.marmotta</groupId>
- <artifactId>marmotta-ldcache</artifactId>
+ <artifactId>marmotta-ldcache-kiwi</artifactId>
<version>${marmotta.version}</version>
</dependency>
<dependency>
<groupId>org.apache.marmotta</groupId>
<artifactId>marmotta-ldpath</artifactId>
<version>${marmotta.version}</version>
</dependency>
<dependency>
<groupId>org.apache.marmotta</groupId>
- <artifactId>marmotta-reasoner</artifactId>
+ <artifactId>marmotta-reasoner-kiwi</artifactId>
<version>${marmotta.version}</version>
</dependency>
<dependency>
<groupId>org.apache.marmotta</groupId>
<artifactId>marmotta-security</artifactId>
<version>${marmotta.version}</version>
</dependency>
<dependency>
@@ -632,17 +632,17 @@
</dependency>
<dependency>
<groupId>org.apache.marmotta</groupId>
<artifactId>marmotta-user</artifactId>
<version>${marmotta.version}</version>
</dependency>
<dependency>
<groupId>org.apache.marmotta</groupId>
- <artifactId>marmotta-versioning</artifactId>
+ <artifactId>marmotta-versioning-kiwi</artifactId>
<version>${marmotta.version}</version>
</dependency>
<dependency>
<groupId>org.apache.marmotta</groupId>
<artifactId>marmotta-commons</artifactId>
<version>${marmotta.version}</version>
</dependency>
<dependency>