diff --git a/README.md b/README.md index 4143d4b..2dfc710 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ The [tests](tests/) directory demonstrates the three standalone scripts run agai * `case_prov_dot` - This script takes as input one or more PROV-O graph files, and outputs a Dot render. * `case_prov_check` - This script takes as input one or more graph files, and reviews data for OWL consistency according to PROV-O (e.g. ensuring no one graph individual is a member of two PROV-O disjoint sets), and for breaks in chain of custody. -On using `case_prov_rdf.py` to create a PROV-O graph, it is possible to provide that graph to a PROV-O consumer, such as a [PROV-CONSTRAINTS](https://www.w3.org/TR/prov-constraints/) validator. This CASE project runs a Python package listed on the [W3C 2013 implementations report](https://www.w3.org/TR/2013/NOTE-prov-implementations-20130430/), [`prov-check`](https://github.com/pgroth/prov-check), as part of its sample output. For instance, the [CASE-Examples repository](https://github.com/casework/CASE-Examples) is analyzed [here](tests/CASE-Examples/examples/prov-constraints.log). +On using `case_prov_rdf.py` to create a PROV-O graph, it is possible to provide that graph to a PROV-O consumer, such as a [PROV-CONSTRAINTS](https://www.w3.org/TR/prov-constraints/) validator. This CASE project runs a Python package listed on the [W3C 2013 implementations report](https://www.w3.org/TR/2013/NOTE-prov-implementations-20130430/), [`prov-check`](https://github.com/pgroth/prov-check), as part of its sample output. For instance, the [CASE website](https://github.com/casework/casework.github.io)'s examples are analyzed [here](tests/casework.github.io/examples/prov-constraints.log). All of the demonstration rendering (to PROV-O and to SVG images) can be run by cloning this repository and running (optionally with `-j`): diff --git a/tests/casework.github.io/examples/Makefile b/tests/casework.github.io/examples/Makefile index a3b3ba8..2d09dce 100644 --- a/tests/casework.github.io/examples/Makefile +++ b/tests/casework.github.io/examples/Makefile @@ -28,6 +28,8 @@ clean_targets := $(foreach exdir,$(exdirs),clean-$(exdir)) all: \ $(all_targets) + $(MAKE) \ + --file postvisit.mk all-%: $(MAKE) \ @@ -39,6 +41,9 @@ check: \ <(ls */prov-constraints.log | while read x; do dirname $$x ; done) \ <(cd $(examples_srcdir) ; ls */*.json | while read x; do dirname $$x ; done | sort | uniq) \ || (echo "ERROR:Makefile:The illustrations listed above do not have evaluation directories under $(top_srcdir)/tests/casework.github.io/examples." >&2 ; exit 1) + $(MAKE) \ + --file postvisit.mk \ + check check-%: $(MAKE) \ @@ -47,6 +52,9 @@ check-%: clean: \ $(clean_targets) + @$(MAKE) \ + --file postvisit.mk \ + clean clean-%: @$(MAKE) \ diff --git a/tests/casework.github.io/examples/postvisit.mk b/tests/casework.github.io/examples/postvisit.mk new file mode 100644 index 0000000..305f3c7 --- /dev/null +++ b/tests/casework.github.io/examples/postvisit.mk @@ -0,0 +1,44 @@ +#!/usr/bin/make -f + +# Portions of this file contributed by NIST are governed by the +# following statement: +# +# This software was developed at the National Institute of Standards +# and Technology by employees of the Federal Government in the course +# of their official duties. Pursuant to Title 17 Section 105 of the +# United States Code, this software is not subject to copyright +# protection within the United States. NIST assumes no responsibility +# whatsoever for its use by other parties, and makes no guarantees, +# expressed or implied, about its quality, reliability, or any other +# characteristic. +# +# We would appreciate acknowledgement if the software is used. + +SHELL := /bin/bash + +top_srcdir := $(shell cd ../../.. ; pwd) + +exdirs := $(shell find * -maxdepth 0 -type d | sort | egrep -v '^src$$') + +ttl_files := $(foreach exdir,$(exdirs),$(exdir)/$(exdir)-prov.ttl) + +all: + +check: \ + prov-constraints.log + +clean: + @rm -f \ + _* \ + prov-constraints.log + +prov-constraints.log: \ + $(top_srcdir)/dependencies/prov-check/provcheck/provconstraints.py \ + $(ttl_files) + source $(top_srcdir)/tests/venv/bin/activate \ + && python3 $(top_srcdir)/dependencies/prov-check/provcheck/provconstraints.py \ + --debug \ + $(ttl_files) \ + > _$@ \ + 2>&1 + mv _$@ $@ diff --git a/tests/casework.github.io/examples/prov-constraints.log b/tests/casework.github.io/examples/prov-constraints.log new file mode 100644 index 0000000..ec0e7ba --- /dev/null +++ b/tests/casework.github.io/examples/prov-constraints.log @@ -0,0 +1,6 @@ +asgard/asgard-prov.ttl True +crossover_heist/crossover_heist-prov.ttl True +crossover_wmd/crossover_wmd-prov.ttl True +hardware_duplicator/hardware_duplicator-prov.ttl True +owl_trafficking/owl_trafficking-prov.ttl True +urgent_evidence/urgent_evidence-prov.ttl True