How to externalize typed literals in the content graph (stored using TDB Storage Provider)

Introduction

Since the issue CLEREZZA-286 (https://issues.apache.org/jira/browse/CLEREZZA-286) typed literals of data type "base64" ("http://www.w3.org/2001/XMLSchema#base64Binary") are no longer stored in the triple store, but externally on the hard drive. This howto provides a step by step guide to externalize the typed literals in the content graph that were stored in the triple store before the issue CLEREZZA-286 came up. This guide assumes that you use the TDB Storage Provider.

Step by Step Guide

If the externalizing storage is already installed on your platform, start the guide directly at step 5.

  1. Start you Clerezza platform.
  2. Install org.apache.clerezza.rdf.storage.externalizer which can be found in the Apache Clerezza subversion repository.
  3. Set its startlevel to 3. (the felix command is "bundlelevel 3 [BundleID]")
  4. Shutdown Clerezza.
  5. Go to the bundle folder of the TDB Storage Provider in the felix-cache of your Clerezza Platform. If you don't know the bundle ID of your storage provider bundle, start the platform and look it up in the list of installed bundles.
  6. (Shutdown your Clerezza Platform, if still running)
  7. In the bundle folder go to the sub-folder "./data/tdb-data/mgraph".
  8. Rename the folder "http%3A%2F%2Ftpf.localhost%2Fcontent.graph" to "http%3A%2F%2Ftpf.localhost%2Fcontent.graph.temp"
  9. Start your Clerezza Platform.
  10. After completing the start-up sequence, shutdown the plaform.
  11. Delete the folder "http%3A%2F%2Ftpf.localhost%2Fcontent.graph-externalizedliterals", which was newly created in the "mgraph" folder.
  12. Rename "http%3A%2F%2Ftpf.localhost%2Fcontent.graph.temp" to "http%3A%2F%2Ftpf.localhost%2Fcontent.graph-externalizedliterals".
  13. Start you Clerezza Platform.
  14. Install and start the bundle "org.trialox.literalexternalizer". This project is available under the "custom" category in the trialox mercurial repository. The externalizing process may take several minutes.
  15. Uninstall the literalexternalizer after the externalizing process is finished (see the console output).
  16. That's it. Thanks!

Labels

 
(None)