-
Notifications
You must be signed in to change notification settings - Fork 42
Installation
To build ProvToolbox, you need the following to be available in your executable PATH:
-
xmllint
: the xmllint, xml schema validator, needs to be in the path for prov-xml to compile -
dot
: the dot executable (graphviz) needs to be in the path for prov-dot to compile -
provconvert
: the provconvert executable (generated by this package) is required to be on the path to execute tutorial6. See binary install, see travis configuration file. - mongodb running on the default port. I run it in Docker with the following command.
docker run --name mongo0 -v ${HOME}/docker/mongo0:/data/db -p 27017:27017 -d mongo:latest
- redis running on the default port. I run it in Docker with the following command.
docker run --name redis0 -v ${HOME}/docker/redis0:/data -p 6379:6379 -d redis redis-server --appendonly yes
- json-ld (version 3.0.2)
gem install json-ld -v 3.0.2
On linux:
-
rpm
: to create rpm files -
genisoimage
: to create dmg image for macos x
The Travis configuration file lists explicit dependencies for a successful build https://github.com/lucmoreau/ProvToolbox/blob/master/.travis.yml
To install from source, you need to checkout the source code and compile it as follows.
ProvToolbox compiles with the recent versions of JDK 21 and 22. However, the template compiler relies on jsweet, a transpiler to generate TypeScript and Javascript libraries, which necessitates a much older version of the JDK.
ProvToolbox can then be built with the following command, which explicitly passes a path to a JDK 12.
mvn -Djava12.home=/usr/local/java/jdk-12.0.1.jdk/Contents/Home/ clean install
.
Installation on MacOSX requires the following configuration:
$ export MAVEN_OPTS=-Xmx512m
$ mvn install
Thanks to Satra (see https://github.com/lucmoreau/ProvToolbox/issues/44#issuecomment-11319862)
Examples below assume release 0.9.29
, see also [[Releases]].
rpm -U https://repo1.maven.org/maven2/org/openprovenance/prov/provconvert/0.9.29/provconvert-0.9.29.rpm
(TODO: Update RPM to 0.9.5)
wget https://repo1.maven.org/maven2/org/openprovenance/prov/provconvert/0.9.29/provconvert-0.9.29.deb
followed by:
dpkg --install provconvert-0.9.29.deb
no longer supported
Otherwise, there is no installer per se, but there is a zip archive, containing a binary executable provconvert
in the bin/ subdirectory. The latest binary release can be found at:
While installation on Windows is not yet officially supported (#166), a guide to installing ProvToolbox in Windows details the steps required, including installation of OpenJDK and Graphviz.
A service wrapping ProvToolbox and provconvert and offering a REST API to access the functionality
https://github.com/lucmoreau/ProvToolbox/wiki/provconvert
ProvToolbox is now deployed on Maven central. There is no need to configure repositories.
For desired version use the equivalent of the below in your pom.xml
:
<dependencies>
<dependency>
<groupId>org.openprovenance.prov</groupId>
<artifactId>prov-model</artifactId>
<version>0.9.29</version>
</dependency>
<dependency>
<groupId>org.openprovenance.prov</groupId>
<artifactId>prov-interop</artifactId>
<version>0.9.29</version>
</dependency>
</dependencies>
- For the XML representation, ProvToolbox relies on JAXB converting beans to xml and vice-versa.
- For the RDF representation, ProvToolbox relies on Sesame
- For the PROV-N representation, ProvToolbox relies on ANTLR, a parser generator converting a [Grammar for PROV-N] (https://github.com/lucmoreau/ProvToolbox/blob/master/prov-n/src/main/antlr3/org/openprovenance/prov/notation/PROV_N.g) into a Java parser.
- For the JSON conversion, ProvToolbox relies on GSON to convert to prov-json, further a JSON Schema has been developed.