You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

The next major release of Vitro / VIVO contains an upgrade of Jena - from 2.10.1, to Jena 3.x (3.1.1 at time of writing). Whilst development is still progressing, in order to maximise amount of testing of this core upgrade, a beta has been released.

What has changed

Jena 3 improves Jena's RDF 1.1 compatibility. Specifically, literal values always have datatypes. "Untyped" string literals are the same as the identical value typed as xsd:string. See the following document for more information

https://jena.apache.org/documentation/migrate_jena2_jena3.html

Upgrading your triple stores

It is required that you reload any SDB and TDB triple stores when upgrading to Jena 3 using the procedure and tools described below.

Warning

VIVO/Vitro uses two triple stores – a configuration triple store typically stored using TDB in <home>/tdbModels, and a content triple store typically stored using SDB in MySQL.  The procedures described below assume that you are running this standard configuration.  If you are not, you will need a custom procedure for upgrading your triple stores.


Step 1: Export the triple stores

  • To export successfully, you need to ensure no other programs are accessing your triple stores.
  • Your file system must have the space available and be capable of storing files large enough to contain your entire triple store serialisation.

First you need to export your existing Jena 2 triple stores. To do so, shutdown Tomcat, and use the jena2tools utility provided with VIVO 1.10, specifying the export command.

java -jar jena2tools.jar -d <vivo home dir> -e

Arguments:

-d - the location of the Vitro/VIVO home directory

-e - run in export mode

On execution, the program will find your Vitro or VIVO configuration within the vivo/vitro home directory, and get the necessary information to connect to your configuration triple store (usually <home>/tdbModels), and your content triple store (usually in SDB). If your triple store(s) are not SDB or TDB backed, then it will simply skip them.

It will then extract the contents of the available triple stores, and dump them to <vivo home dir>/dumps in TriG format.


jena2tools will be present in <vivo home dir>/bin when you install the 1.10.0 beta. Alternatively, it can be downloaded here  GitHub.

Before executing, ensure that your triple stores are empty. That means dropping all the tables in the SDB schema, and deleting any files in the TDB directory

Importing the triple stores

Having exported your Jena 2 triple stores, you can reload them using jena3tools, specifying the import command.

java -jar jena3tools.jar -d <vivo home dir> -i

Arguments:

-d - the location of the Vitro/VIVO home directory

-i - run in import mode


On execution, the program will find your Vitro or VIVO configuration within the home directory, as well as the dumps that you have created with jena2tools. It will import them into SDB or TDB triple stores, based on the configuration of your Vitro / VIVO instance.

jena3tools will be present in <vivo home dir>/bin when you install the 1.10.0 beta. Alternatively, it can be downloaded here GitHub.

Testing notes

The most important thing to test is the upgrade process of Jena 2 to Jena 3. After upgrading, does the application behave as expected? Can you see everything in VIVO, log in, edit content, etc.

When restarting the application server, does Vitro / VIVO start as expected? In particular, when you make no changes to the RDF file graphs, does the application start without isomorphism failures and reloading RDF? (It may be the case that it does so on the first time you start).

Reporting

If you are testing the Vitro / VIVO alpha release, can I please ask that you report your findings - good or bad. In all cases, can you say:

  • What version of Vitro / VIVO you upgraded from?
  • What storage was used for the content triple store (SDB or TDB)?
  • Did it work as expected? If not, what happened?

You can either report your findings on the vivo-tech mailing list, or send them directly to Graham Triggs.

Files

https://github.com/vivo-project/VIVO/releases


  • No labels