PROV-N Cheat Sheet
This is a quick “cheat sheet” for the PROV-N syntax.
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.
Attribution vs association
A valid question when writing provenance in responsibility view and process view is. Should we attribute contributors from entities, isn’t that what the activities are showing? In this blog post we explore the different options. Specially with roles it may seem unnecessary to also declare wasAttributedTo statements. It is true that you can conclude from: wasAttributed(ex:entity, ex:agent) then there was some activity X such that: wasGeneratedBy(ex:entity, X) wasAssociatedWith(X, ex:entity) This conclusion follows from the constraint on agents and the definition of wasAttributedTo.
Multiple agents sharing roles
Assuming the task of writing provenance for a student group exercise, consider the question: Do we need to assign everyone in the group a specific role since in our group we found that for many of the tasks, everyone worked together to complete it? MSc Student in Understanding Data and their Environment, University of Manchester, 2020 This blog post explores the different PROV patterns that could describe this scenario.
What are good PROV-N prefixes?
In this blog post we explore the role of PROV-N prefixes and how to decide on a good namespace to use your own custom provenance terms. Most examples of PROV-N use example prefixes like: prefix ex <http://example.com/> prefix exg <http://example.org/government> These example domains are explicitly reserved globally for all kinds of examples and training material, and deliberately do not have any content, advertisement or affiliations. Assume you are writing the provenance of a student group exercise, should you be using the prefix/namespace ex and example.
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.
Wf4Ever project
Wf4Ever was a research object funded by EU Framework 7 to investigate how scientific workflows and their data could be better preserved for reproducibility, reuse and resiliance against workflow decay.