Marmotta Kiwi Repository Service
The org.apache.stanbol.commons.marmotta.kiwi
module allows to use the
Marmota KiWi TripleStore within an OSGI environment.
Configuration
The configuration of a KiWi TripleStore is done by an OSGI Component that configures the Kiwi Configuration based on the provided OSGI configuration. The following figure shows the configuration dialog.
org.openrdf.repository.Repository.id
: The id of the Repository. Intended to be used by other components to track a specific repository instance.marmotta.kiwi.dialect
: The KiWi Database dialect. Currently Marmotta supports theH2Dialect
,PostgreSQLDialect
andMySQLDialect
. Note that the selected dialect will select different database driver. If those are not available the activation will throw an exception. PostgreSQL driver are embedded. H2 drivers are included in the default Marmotta Kiwi Bundlelist used by Stanbol. For MySQL the according dependency needs to be uncommented in the Marmotta Kiwi Bundlelist.marmotta.kiwi.dburl
: This property can be used to directly configure the DB URL. If present this is preferred over the configuration of thehost
,port
,database
andoptions
parameters.marmotta.kiwi.host
: The host of the database (a file path in case of H2)marmotta.kiwi.port
: The port of the database (ignored in case of H2)marmotta.kiwi.user
: The database usermarmotta.kiwi.password
: The password for the configured usermarmotta.kiwi.options
: Additional database optionsmarmotta.kiwi.cluster
: defines the name of the cluster. Different KiWi Repositories might use clusters with different names. If not present or empty clustering will be deactivated.marmotta.kiwi.cluster.address
: The multicast IP Address used for the cluster. Ignored if clustering is deactivated.marmotta.kiwi.cluster.port
: The port used for the cluster. Ignored if clustering is deactivated. A value <= 0 will use the default port.marmotta.kiwi.cluster.cachemode
: The Mode of the Cache. Supported values includeLOCAL
,REPLICATED
,DISTRIBUTED
marmotta.kiwi.cluster.cachingbackend
: The Caching Backend used by the KiWi Triplestore. Supported areGUAVA
(local only),EHCACHE
(local only),HAZELCAST
(distributed only),INFINISPAN_CLUSTERED
(distributed or replicated) andINFINISPAN_HOTROD
(client/server). Please note the Marmotta KiWi documentation for details. Caching backend implementations do have additional dependencies.GUAVA
andHAZELCAST
are included in Stanbol. For the other please have a look for commented dependencies in the Marmotta Kiwi Bundlelist
Repository Service
Providing a OSGI configuration for the KiWiRepositoryService
component will cause a
KiWi Repository to be configured during activation. This Sesame Repository will get
registered as OSGI service with the parameters as shown in the following figure.
The marked org.openrdf.repository.Repository.id
property is of special interest as it
can be used to track for a Sesame Repository with a specific name. As an Example the
Repository with the name dummy
can be tracked with the Filter
(&(objectClass=org.openrdf.repository.Repository)(org.openrdf.repository.Repository.id=dummy))