Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

In addition, many dependencies and components have been updated - this includes Freemarker, commons-* libraries, jQuery and associated plugins.

Reloading the triple store

As described in the Jena upgrade document, it is advisable to reload any SDB and TDB triple stores when upgrading to Jena 3. Whilst there are command line utilities to do this provided as part of Jena, these have shortcomings with scalability. Plus, they are inconvenient to use as you need to know how to connect to your triple stores to use them. To make this process easier, the VIVO team has developed a couple of tools to handle this process.

Dumping the triple stores

First you need to dump your existing Jena 2 triple stores. To do so, use the jena2tools utility, specifying the export command.

Code Block
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 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.

...


jena2tools will be present in <vivo home dir>/bin when you install the 1.10.0 alpha. Alternatively, it can be downloaded here  Jena 3 Beta Testing.

Reloading the triple stores

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

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

Arguments:

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

-i - run in import

Warning

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

...

jena3tools will be present in <vivo home dir>/bin when you install the 1.10.0 alpha. Alternatively, it can be downloaded here Jena 3 Beta Testing.

Testing notes

The most important thing to test is the upgrade process of Jena 2 to Jena 3. After upgrading, does the default functionality of 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:

...

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

...