Tag: Prov toolbox
Installing ProvToolbox on macOS
ProvToolbox is a useful command line tool for validating and visualizing PROV documents, but unfortunately it can be a bit of a challenge to install on Windows and on macOS because of its dependency requirements.
This post suggests three step-by-step methods of installing ProvToolbox on your Mac – you should follow the method you feel most comfortable with, but can try the other methods in case of problems.
Table of content Overview of requirements Software packaging for macOS Conda Installing Graphviz and OpenJDK with Conda HomeBrew Installing Graphviz with HomeBrew Installing OpenJDK with HomeBrew Installing manually Installing AdoptOpenJDK manually Installing Graphviz manually Installing ProvToolbox Using ProvToolbox from VSCode Overview of requirements As of 2020-08, ProvToolbox 0.
Installing ProvToolbox in Windows
While there are several tools available for validating and visualizing PROV, the ProvToolbox is perhaps the most useful for validating PROV-N syntax. However, the normal releases does not run in Windows due to a operating system restriction for command line and folder path length.
We have suggested a fix, but while we wait for that, here we describe a patch build that should work on Windows. We also show how to install dependencies: Java for executing ProvToolbox, and Graphviz for visualization.
Validating and visualising PROV
This blog post gives a gentle PROV-N introdction and then explores tools for validating and visualising PROV.
One of the advantages of W3C PROV having a common data model is that it can be serialized, or written out, in multiple file formats. The PROV family of W3C specifications describe mappings PROV-XML and PROV-O (which, being based on OWL2 itself has multiple serializations, for Linked Data including RDF formats Turtle and JSON-LD.
Locating provenance for a RESTful web service
This blog post shows how RESTful web services can provide, and link to, provenance data for their exposed resources by using the PROV-AQ mechanism of HTTP Link headers. This is demonstrated by showing how to update a hello world REST service implemented with Java and JAX-RS 2.0 to provide these links.
The PROV-AQ HTTP mechanism is easiest explained by an example:
GET http://example.com/resource.html HTTP/1.1 Accept: text/html HTTP/1.1 200 OK Content-type: text/html Link: <http://example.