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

Compare with Current View Page History

« Previous Version 10 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

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.

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.

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

  • 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.


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

Reloading the triple stores

Having dumped 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

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


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 alpha. 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