From ad783d53dd96f1183887092e1613ea5995560a49 Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Fri, 20 Feb 2026 09:31:24 -0500 Subject: [PATCH 1/2] Replace broken link with other prov-constraints aggregation A follow-on patch will regenerate Make-managed files. References: * https://github.com/casework/CASE-Implementation-PROV-O/issues/132 Signed-off-by: Alex Nelson --- README.md | 2 +- tests/casework.github.io/examples/Makefile | 8 ++++ .../casework.github.io/examples/postvisit.mk | 44 +++++++++++++++++++ 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 tests/casework.github.io/examples/postvisit.mk 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 _$@ $@ From 7aeb31c032dd3f197ab8d2ac09ab18952dcafac6 Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Fri, 20 Feb 2026 09:31:43 -0500 Subject: [PATCH 2/2] Regenerate Make-managed files References: * https://github.com/casework/CASE-Implementation-PROV-O/issues/132 Signed-off-by: Alex Nelson --- tests/casework.github.io/examples/prov-constraints.log | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 tests/casework.github.io/examples/prov-constraints.log 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