We present ProvBook, an extension of Jupyter Notebook, to capture and view the provenance over the course of time. It also allows the user to share a notebook along with its provenance in RDF and also convert it back to a notebook. We use the REPRODUCE-ME ontology extended from PROV-O and P-Plan to describe the provenance of a notebook. This helps the scientists to compare their previous results with the current ones, check whether the experiments produce the results as expected and query the sequence of executions using SPARQL. The notebook data in RDF can be used in combination with the experiments that used them and help to get a track of the complete path of the scientific experiments.
This extension displays the provenance of each notebook cell. Every cell is extended with a provenance area with a slider. The provenance area shows the history of the execution of each code cells. As you move the slider, you could see the start and end time of each execution, how long it took to execute, the number of runs, the source and output of each execution. It also shows the provenance of text cells where it shows the the modified time and the source.
ProvBook provides three features:
1. provbook : Displays the provenance of a Jupyter Notebook.
2. notebook_rdf : Convert Jupyter Notebooks to RDF and the converted RDF back to Jupyter Notebooks.
3. provbookdiff : The provenance difference of any two executions of a code cell of a Jupyter Notebook.
A Jupyter Notebook code cell with the provenance data of its executions.
A Jupyter Notebook can be downloaded as RDF along with its provenance.
A user can select two different executions to see the difference in the input and the output.
Provenance Difference of two executions of a Jupyter Notebook code cell.
Source Code: https://github.com/Sheeba-Samuel/ProvBook
Publication: ProvBook: Provenance-based Semantic Enrichment of Interactive Notebooks for Reproducibility, Sheeba Samuel, Birgitta König-Ries, The 17th International Semantic Web Conference (ISWC) 2018 Demo Track, 8-12 October, 2018, Monterey, California, USA (Demo, Link)