From a715af3f870dd8abeaf9b401c493582c3c727a03 Mon Sep 17 00:00:00 2001
From: Meng Li <34143965+Meng6@users.noreply.github.com>
Date: Sun, 1 Oct 2023 11:40:20 -0500
Subject: [PATCH 01/22] Fix typos: trace-vocab.jsonld
Remove duplicates: trace-vocab.jsonld
Update vocab: use rdfs:Class instead
---
exports/trace-vocab.jsonld | 25 +++++++++----------------
1 file changed, 9 insertions(+), 16 deletions(-)
diff --git a/exports/trace-vocab.jsonld b/exports/trace-vocab.jsonld
index 4cfc372..4e47bfe 100644
--- a/exports/trace-vocab.jsonld
+++ b/exports/trace-vocab.jsonld
@@ -9,57 +9,50 @@
{
"@id": "trov:TrustedResearchElement",
- "@type": "rdf:Class",
+ "@type": "rdfs:Class",
"rdfs:label": "TrustedResearchElement",
"rdfs:comment": "Common base class for TRSs, TRPs, and TROs."
},
{
"@id": "trov:TrustedResearchSystem",
- "@type": "rdf:Class",
+ "@type": "rdfs:Class",
"rdfs:subClassOf": { "@id": "trov:TrustedResearchElement" },
"rdfs:label": "TrustedResearchSystem",
"rdfs:comment": "A system certified to perform TRPs and assemble TROs."
},
{
"@id": "trov:TrustedResearchPerformance",
- "@type": "rdf:Class",
+ "@type": "rdfs:Class",
"rdfs:subClassOf": { "@id": "trov:TrustedResearchElement" },
"rdfs:label": "TrustedResearchPerformance",
"rdfs:comment": "A set of research operations performed by a TRS."
},
{
"@id": "trov:TransparentResearchObject",
- "@type": "rdf:Class",
+ "@type": "rdfs:Class",
"rdfs:subClassOf": { "@id": "trov:TrustedResearchElement" },
"rdfs:label": "TransparentResearchObject",
"rdfs:comment": "A set of research artifacts produced by a TRP and signed by the performing TRS."
},
{
"@id": "trov:TimeStampingAuthority",
- "@type": "rdf:Class",
+ "@type": "rdfs:Class",
"rdfs:subClassOf": { "@id": "trov:TrustedResearchElement" },
"rdfs:label": "TimeStampingAuthority",
"rdfs:comment": "A timestamping authority trusted by a TRS."
},
{
"@id": "trov:TREAttribute",
- "@type": "rdf:Class",
+ "@type": "rdfs:Class",
"rdfs:label": "TREAttribute",
"rdfs:comment": "An attribute of a TRS, TRP, or TRO."
},
- {
- "@id": "trov:TRSAttribute",
- "@type": "rdf:Class",
- "rdfs:subClassOf": { "@id": "trov:TREAttribute" },
- "rdfs:label": "TRSAttribute",
- "rdfs:comment": "An attribute of a TRS."
- },
{
"@id": "trov:TRSCapability",
"@type": "rdfs:Class",
"rdfs:label": "TRSCapability",
"rdfs:subClassOf": { "@id": "trov:TRSAttribute" },
- "rdfs:comment": "A policy always enforced by a particular TRS."
+ "rdfs:comment": "A capability of a TRS."
},
{
"@id": "trov:CanProvideInternetIsolation",
@@ -80,7 +73,7 @@
"@type": "rdfs:Class",
"rdfs:label": "EnforcesInternetIsolation",
"rdfs:subClassOf": { "@id": "trov:TRSPolicy" },
- "rdfs:comment": "The policy of always preeventing Internet access during a TRP."
+ "rdfs:comment": "The policy of always preventing Internet access during a TRP."
},
{
"@id": "trov:TROAttribute",
@@ -94,7 +87,7 @@
"@type": "rdfs:Class",
"rdfs:label": "TRSAttribute",
"rdfs:subClassOf": { "@id": "trov:TREAttribute" },
- "rdfs:comment": "A property of a particular TRS."
+ "rdfs:comment": "An attribute of a TRS."
},
{
"@id": "trov:IncludesAllInputData",
From db69db700c8d08381427a1e10b4d1fa901e655cf Mon Sep 17 00:00:00 2001
From: Meng Li <34143965+Meng6@users.noreply.github.com>
Date: Wed, 4 Oct 2023 14:45:24 -0500
Subject: [PATCH 02/22] Add a tag for geist installation
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index ec97f3d..ac4dabf 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8,4 +8,4 @@ rdfvr
jinja2
jinja2_simple_tags
tabulate
-geist-p@git+https://github.com/CIRSS/geist-p
\ No newline at end of file
+geist-p@git+https://github.com/CIRSS/geist-p@v0.0.1
\ No newline at end of file
From e955d034ac22e8e27befea55ddbcca40c2df740d Mon Sep 17 00:00:00 2001
From: Meng Li <34143965+Meng6@users.noreply.github.com>
Date: Fri, 6 Oct 2023 10:12:31 -0500
Subject: [PATCH 03/22] Update demos
---
.gitignore | 3 +-
.../01-two-artifacts-no-trp/products/img.gv | 22 +
.../01-two-artifacts-no-trp/products/img.svg | 188 ++
.../products/report_subclass.html | 62 +
.../01-two-artifacts-no-trp/run.txt | 218 ++-
.../products/img.gv | 22 +
.../products/img.svg | 188 ++
.../products/report_subclass.html | 62 +
.../02-three-artifacts-one-trp/run.txt | 218 ++-
.../03-skope-lbda-processing/products/img.gv | 22 +
.../03-skope-lbda-processing/products/img.svg | 188 ++
.../products/report_subclass.html | 62 +
.../overall_tro_graph.html | 20 -
.../report_inline_graph2/tro.svg | 1678 -----------------
.../03-skope-lbda-processing/run.sh | 24 -
.../03-skope-lbda-processing/run.txt | 264 ++-
.../03-skope-lbda-processing/templates.geist | 9 -
demo/01-trov-examples/common/query-tro.sh | 125 ++
.../common/templates.geist} | 51 +-
.../01-generate-key}/Makefile | 0
.../01-generate-key/run.sh | 21 +-
.../01-generate-key/run.txt | 38 -
.../02-simple-tro}/Makefile | 0
.../02-simple-tro/data/private.asc | 20 +
.../02-simple-tro/data/public.gpg | 12 +
.../01-gpg-runtime/02-simple-tro/run.sh | 63 +
.../01-gpg-runtime/02-simple-tro/run.txt | 74 +
.../{03-type-b2 => 01-gpg-runtime}/Makefile | 0
demo/02-explorations/01-minimal/data/query | 7 -
demo/02-explorations/01-minimal/run.sh | 65 -
demo/02-explorations/01-minimal/run.txt | 317 ----
.../01-generate-key}/Makefile | 0
.../01-generate-key/run.sh | 24 +-
.../01-generate-key/run.txt | 45 +-
.../02-simple-tro}/Makefile | 0
.../02-gpg-api/02-simple-tro/data/private.asc | 20 +
.../02-gpg-api/02-simple-tro/data/public.gpg | 12 +
.../02-simple-tro/run.sh | 68 +-
.../02-gpg-api/02-simple-tro/run.txt | 92 +
.../01-generate-key => 02-gpg-api}/Makefile | 0
demo/02-explorations/02-type-a/run.sh | 39 -
demo/02-explorations/02-type-a/run.txt | 294 ---
.../Makefile | 0
.../data/file1.csv | 0
.../data/file2.csv | 0
.../products/after.csv | 0
.../products/before.csv | 0
.../products/fingerprint_state.csv | 0
.../run.sh | 0
.../run.txt | 0
.../runtime/file1.csv | 0
.../runtime/file3.csv | 0
.../test.py | 0
demo/02-explorations/03-type-b2/run.sh | 30 -
demo/02-explorations/03-type-b2/run.txt | 190 --
.../04-report-subclass-graph/base.gv | 5 -
.../04-report-subclass-graph/graphviz.jinja | 34 -
.../04-report-subclass-graph/products/img.gv | 14 -
.../04-report-subclass-graph/products/img.jpg | Bin 11138 -> 0 bytes
.../04-report-subclass-graph/products/img.svg | 52 -
.../04-report-subclass-graph/report.html | 48 -
.../04-report-subclass-graph/run.sh | 203 --
.../04-report-subclass-graph/run.txt | 349 ----
.../Makefile | 0
.../04-timestamp/data/digest.yaml | 2 +
.../04-timestamp/data/file.tsq | Bin 0 -> 91 bytes
.../data/signature.asc | 0
.../{10-timestamp => 04-timestamp}/run.sh | 2 +-
.../{10-timestamp => 04-timestamp}/run.txt | 2 +-
.../02-explorations/05-report-policies/run.sh | 109 --
.../05-report-policies/run.txt | 138 --
.../Makefile | 0
.../data/mappings.json | 2 +-
.../data/tro.schema.ttl | 0
.../data/tro1.jsonld | 2 +-
.../data/tro2.jsonld | 2 +-
.../data/tro3.jsonld | 2 +-
.../data/tro4.jsonld | 2 +-
.../data/tro5.jsonld | 2 +-
.../products/tro1.gv | 0
.../products/tro1.png | Bin
.../products/tro2.gv | 0
.../products/tro2.png | Bin
.../products/tro3.gv | 0
.../products/tro3.png | Bin
.../products/tro4.gv | 0
.../products/tro4.png | Bin
.../products/tro5.gv | 0
.../products/tro5.png | Bin
.../run.sh | 0
.../run.txt | 0
.../02-simple-tro/data/message/bar.txt | 1 -
.../02-simple-tro/data/message/foo.txt | 1 -
.../02-simple-tro/data/private.asc | 20 -
.../02-simple-tro/data/public.gpg | 12 -
.../02-simple-tro/products/digest.txt | 1 -
.../02-simple-tro/products/message.tar.gz | Bin 172 -> 0 bytes
.../02-simple-tro/products/tro.jsonld | 16 -
.../06-gpg-runtime-demos/02-simple-tro/run.sh | 126 --
.../02-simple-tro/run.txt | 148 --
.../07-gpg-api-demos/02-simple-tro/Makefile | 1 -
.../02-simple-tro/data/message/bar.txt | 1 -
.../02-simple-tro/data/message/foo.txt | 1 -
.../02-simple-tro/data/private.asc | 20 -
.../02-simple-tro/data/public.gpg | 12 -
.../02-simple-tro/products/message.tar.gz | Bin 172 -> 0 bytes
.../02-simple-tro/products/tro.jsonld | 19 -
.../07-gpg-api-demos/02-simple-tro/run.txt | 137 --
.../02-explorations/07-gpg-api-demos/Makefile | 1 -
.../08-tro-fingerprint/Makefile | 1 -
.../08-tro-fingerprint/data/message/bar.txt | 1 -
.../data/message/baz/baz.txt | 1 -
.../08-tro-fingerprint/data/message/foo.txt | 1 -
.../message_with_diff_filenames/test1.txt | 1 -
.../message_with_diff_filenames/test2.txt | 1 -
.../test3/test3.txt | 1 -
.../08-tro-fingerprint/products/tro.jsonld | 18 -
.../02-explorations/08-tro-fingerprint/run.sh | 255 ---
.../08-tro-fingerprint/run.txt | 348 ----
.../09-tro-fingerprint-state/Makefile | 1 -
demo/02-explorations/10-timestamp/Makefile | 1 -
.../10-timestamp/data/digest.yaml | 2 -
.../10-timestamp/data/file.tsq | Bin 91 -> 0 bytes
demo/02-explorations/11-jsonld2csv/Makefile | 1 -
.../11-jsonld2csv/data/tro2.jsonld | 132 --
.../11-jsonld2csv/data/tro3.jsonld | 260 ---
.../tro1#composition_and_arrangement.csv | 3 -
.../tro2#composition_and_arrangement.csv | 4 -
.../tro2#tro_attribute_justification.csv | 2 -
.../products/tro2#trp_and_arrangement.csv | 2 -
.../tro3#composition_and_arrangement.csv | 7 -
.../tro3#tro_attribute_justification.csv | 4 -
.../products/tro3#trp_and_arrangement.csv | 4 -
demo/02-explorations/11-jsonld2csv/run.sh | 33 -
demo/02-explorations/11-jsonld2csv/run.txt | 59 -
.../12-validate-jsonld/01-jsonschema/Makefile | 1 -
.../01-jsonschema/data/tro1_c.jsonld | 76 -
.../01-jsonschema/data/tro1_w.jsonld | 70 -
.../12-validate-jsonld/01-jsonschema/run.sh | 27 -
.../12-validate-jsonld/01-jsonschema/run.txt | 152 --
.../01-jsonschema/tro.schema.json | 171 --
.../02-rdflib-owlrl/Makefile | 1 -
.../02-rdflib-owlrl/data/tro1.jsonld | 76 -
.../02-rdflib-owlrl/data/tro2.jsonld | 102 -
.../12-validate-jsonld/02-rdflib-owlrl/run.sh | 282 ---
.../02-rdflib-owlrl/run.txt | 1075 -----------
.../12-validate-jsonld/03-pyshacl/Makefile | 1 -
.../12-validate-jsonld/03-pyshacl/run.sh | 474 -----
.../12-validate-jsonld/03-pyshacl/run.txt | 574 ------
.../04-report-yfiles/Makefile | 1 -
.../04-report-yfiles/data/tro.jsonld | 51 -
.../04-report-yfiles/products/triples.csv | 20 -
.../04-report-yfiles/run.sh | 55 -
.../04-report-yfiles/run.txt | 54 -
.../04-report-yfiles/visualize_triples.ipynb | 128 --
.../05-report-pygraphviz/Makefile | 1 -
.../05-report-pygraphviz/data/tro.jsonld | 51 -
.../05-report-pygraphviz/data/tro.schema.ttl | 128 --
.../products/scratch_report.gv | 24 -
.../products/scratch_report.png | Bin 149736 -> 0 bytes
.../products/tool_report.png | Bin 120341 -> 0 bytes
.../products/tool_report.txt | 4 -
.../05-report-pygraphviz/run.sh | 115 --
.../05-report-pygraphviz/run.txt | 111 --
.../06-test-tro-wrong-cases/Makefile | 1 -
.../data/tro.schema.ttl | 128 --
.../06-test-tro-wrong-cases/data/tro2.jsonld | 76 -
.../06-test-tro-wrong-cases/data/tro4.jsonld | 44 -
.../06-test-tro-wrong-cases/data/tro5.jsonld | 46 -
.../06-test-tro-wrong-cases/products/tro1.gv | 80 -
.../06-test-tro-wrong-cases/products/tro1.png | Bin 120341 -> 0 bytes
.../06-test-tro-wrong-cases/products/tro2.png | Bin 318189 -> 0 bytes
.../06-test-tro-wrong-cases/products/tro3.gv | 215 ---
.../06-test-tro-wrong-cases/products/tro3.png | Bin 391915 -> 0 bytes
.../06-test-tro-wrong-cases/products/tro4.gv | 58 -
.../06-test-tro-wrong-cases/products/tro4.png | Bin 84092 -> 0 bytes
.../06-test-tro-wrong-cases/products/tro5.gv | 71 -
.../06-test-tro-wrong-cases/products/tro5.png | Bin 118819 -> 0 bytes
.../06-test-tro-wrong-cases/products/tro5.txt | 4 -
.../06-test-tro-wrong-cases/run.sh | 95 -
.../06-test-tro-wrong-cases/run.txt | 914 ---------
.../07-report-rdfvr/Makefile | 1 -
.../07-report-rdfvr/data/tro.schema.ttl | 128 --
.../07-report-rdfvr/data/tro1.jsonld | 51 -
.../07-report-rdfvr/data/tro3.jsonld | 102 -
.../07-report-rdfvr/products/tro2.gv | 168 --
.../12-validate-jsonld/Makefile | 1 -
.../02-explorations/common/trace-vocab.jsonld | 102 -
.../common/tro-01-from-minimal-trs.jsonld | 14 -
.../common/tro-02-from-type-a-trs.jsonld | 21 -
.../common/tro-03-from-type-b2-trs.jsonld | 21 -
demo/02-explorations/common/tro/file1 | 1 +
demo/02-explorations/common/tro/file2 | 1 +
.../tro1.jsonld => common/tro/tro.jsonld} | 0
.../common/trs-01-minimal.jsonld | 15 -
.../common/trs-02-type-a.jsonld | 34 -
.../common/trs-03-type-b2.jsonld | 35 -
demo/02-explorations/common/trs-queries.sh | 144 --
pyproject.toml | 6 -
src/trace_model/format_string.py | 36 -
src/trace_model/jsonld2csv.py | 79 -
src/trace_model/tro_fingerprint.py | 51 -
src/trace_model/validate_jsonld.py | 30 -
src/trace_model/validate_tro.py | 200 --
204 files changed, 1921 insertions(+), 12364 deletions(-)
create mode 100644 demo/01-trov-examples/01-two-artifacts-no-trp/products/img.gv
create mode 100644 demo/01-trov-examples/01-two-artifacts-no-trp/products/img.svg
create mode 100644 demo/01-trov-examples/01-two-artifacts-no-trp/products/report_subclass.html
create mode 100644 demo/01-trov-examples/02-three-artifacts-one-trp/products/img.gv
create mode 100644 demo/01-trov-examples/02-three-artifacts-one-trp/products/img.svg
create mode 100644 demo/01-trov-examples/02-three-artifacts-one-trp/products/report_subclass.html
create mode 100644 demo/01-trov-examples/03-skope-lbda-processing/products/img.gv
create mode 100644 demo/01-trov-examples/03-skope-lbda-processing/products/img.svg
create mode 100644 demo/01-trov-examples/03-skope-lbda-processing/products/report_subclass.html
delete mode 100644 demo/01-trov-examples/03-skope-lbda-processing/report_inline_graph2/overall_tro_graph.html
delete mode 100644 demo/01-trov-examples/03-skope-lbda-processing/report_inline_graph2/tro.svg
rename demo/{02-explorations/04-report-subclass-graph/graphviz.geist => 01-trov-examples/common/templates.geist} (61%)
rename demo/02-explorations/{01-minimal => 01-gpg-runtime/01-generate-key}/Makefile (100%)
rename demo/02-explorations/{06-gpg-runtime-demos => 01-gpg-runtime}/01-generate-key/run.sh (75%)
rename demo/02-explorations/{06-gpg-runtime-demos => 01-gpg-runtime}/01-generate-key/run.txt (61%)
rename demo/02-explorations/{02-type-a => 01-gpg-runtime/02-simple-tro}/Makefile (100%)
create mode 100644 demo/02-explorations/01-gpg-runtime/02-simple-tro/data/private.asc
create mode 100644 demo/02-explorations/01-gpg-runtime/02-simple-tro/data/public.gpg
create mode 100644 demo/02-explorations/01-gpg-runtime/02-simple-tro/run.sh
create mode 100644 demo/02-explorations/01-gpg-runtime/02-simple-tro/run.txt
rename demo/02-explorations/{03-type-b2 => 01-gpg-runtime}/Makefile (100%)
delete mode 100644 demo/02-explorations/01-minimal/data/query
delete mode 100644 demo/02-explorations/01-minimal/run.sh
delete mode 100644 demo/02-explorations/01-minimal/run.txt
rename demo/02-explorations/{04-report-subclass-graph => 02-gpg-api/01-generate-key}/Makefile (100%)
rename demo/02-explorations/{07-gpg-api-demos => 02-gpg-api}/01-generate-key/run.sh (76%)
rename demo/02-explorations/{07-gpg-api-demos => 02-gpg-api}/01-generate-key/run.txt (52%)
rename demo/02-explorations/{05-report-policies => 02-gpg-api/02-simple-tro}/Makefile (100%)
create mode 100644 demo/02-explorations/02-gpg-api/02-simple-tro/data/private.asc
create mode 100644 demo/02-explorations/02-gpg-api/02-simple-tro/data/public.gpg
rename demo/02-explorations/{07-gpg-api-demos => 02-gpg-api}/02-simple-tro/run.sh (52%)
create mode 100644 demo/02-explorations/02-gpg-api/02-simple-tro/run.txt
rename demo/02-explorations/{06-gpg-runtime-demos/01-generate-key => 02-gpg-api}/Makefile (100%)
delete mode 100644 demo/02-explorations/02-type-a/run.sh
delete mode 100644 demo/02-explorations/02-type-a/run.txt
rename demo/02-explorations/{06-gpg-runtime-demos/02-simple-tro => 03-tro-fingerprint-state}/Makefile (100%)
rename demo/02-explorations/{09-tro-fingerprint-state => 03-tro-fingerprint-state}/data/file1.csv (100%)
rename demo/02-explorations/{09-tro-fingerprint-state => 03-tro-fingerprint-state}/data/file2.csv (100%)
rename demo/02-explorations/{09-tro-fingerprint-state => 03-tro-fingerprint-state}/products/after.csv (100%)
rename demo/02-explorations/{09-tro-fingerprint-state => 03-tro-fingerprint-state}/products/before.csv (100%)
rename demo/02-explorations/{09-tro-fingerprint-state => 03-tro-fingerprint-state}/products/fingerprint_state.csv (100%)
rename demo/02-explorations/{09-tro-fingerprint-state => 03-tro-fingerprint-state}/run.sh (100%)
rename demo/02-explorations/{09-tro-fingerprint-state => 03-tro-fingerprint-state}/run.txt (100%)
rename demo/02-explorations/{09-tro-fingerprint-state => 03-tro-fingerprint-state}/runtime/file1.csv (100%)
rename demo/02-explorations/{09-tro-fingerprint-state => 03-tro-fingerprint-state}/runtime/file3.csv (100%)
rename demo/02-explorations/{09-tro-fingerprint-state => 03-tro-fingerprint-state}/test.py (100%)
delete mode 100644 demo/02-explorations/03-type-b2/run.sh
delete mode 100644 demo/02-explorations/03-type-b2/run.txt
delete mode 100644 demo/02-explorations/04-report-subclass-graph/base.gv
delete mode 100644 demo/02-explorations/04-report-subclass-graph/graphviz.jinja
delete mode 100644 demo/02-explorations/04-report-subclass-graph/products/img.gv
delete mode 100644 demo/02-explorations/04-report-subclass-graph/products/img.jpg
delete mode 100644 demo/02-explorations/04-report-subclass-graph/products/img.svg
delete mode 100644 demo/02-explorations/04-report-subclass-graph/report.html
delete mode 100644 demo/02-explorations/04-report-subclass-graph/run.sh
delete mode 100644 demo/02-explorations/04-report-subclass-graph/run.txt
rename demo/02-explorations/{06-gpg-runtime-demos => 04-timestamp}/Makefile (100%)
create mode 100644 demo/02-explorations/04-timestamp/data/digest.yaml
create mode 100644 demo/02-explorations/04-timestamp/data/file.tsq
rename demo/02-explorations/{10-timestamp => 04-timestamp}/data/signature.asc (100%)
rename demo/02-explorations/{10-timestamp => 04-timestamp}/run.sh (95%)
rename demo/02-explorations/{10-timestamp => 04-timestamp}/run.txt (96%)
delete mode 100644 demo/02-explorations/05-report-policies/run.sh
delete mode 100644 demo/02-explorations/05-report-policies/run.txt
rename demo/02-explorations/{07-gpg-api-demos/01-generate-key => 05-validate-tro-declaration}/Makefile (100%)
rename demo/02-explorations/{12-validate-jsonld/07-report-rdfvr => 05-validate-tro-declaration}/data/mappings.json (78%)
rename demo/02-explorations/{12-validate-jsonld/03-pyshacl => 05-validate-tro-declaration}/data/tro.schema.ttl (100%)
rename demo/02-explorations/{12-validate-jsonld/06-test-tro-wrong-cases => 05-validate-tro-declaration}/data/tro1.jsonld (95%)
rename demo/02-explorations/{12-validate-jsonld/07-report-rdfvr => 05-validate-tro-declaration}/data/tro2.jsonld (98%)
rename demo/02-explorations/{12-validate-jsonld/06-test-tro-wrong-cases => 05-validate-tro-declaration}/data/tro3.jsonld (98%)
rename demo/02-explorations/{12-validate-jsonld/07-report-rdfvr => 05-validate-tro-declaration}/data/tro4.jsonld (94%)
rename demo/02-explorations/{12-validate-jsonld/07-report-rdfvr => 05-validate-tro-declaration}/data/tro5.jsonld (95%)
rename demo/02-explorations/{12-validate-jsonld/07-report-rdfvr => 05-validate-tro-declaration}/products/tro1.gv (100%)
rename demo/02-explorations/{12-validate-jsonld/07-report-rdfvr => 05-validate-tro-declaration}/products/tro1.png (100%)
rename demo/02-explorations/{12-validate-jsonld/06-test-tro-wrong-cases => 05-validate-tro-declaration}/products/tro2.gv (100%)
rename demo/02-explorations/{12-validate-jsonld/07-report-rdfvr => 05-validate-tro-declaration}/products/tro2.png (100%)
rename demo/02-explorations/{12-validate-jsonld/07-report-rdfvr => 05-validate-tro-declaration}/products/tro3.gv (100%)
rename demo/02-explorations/{12-validate-jsonld/07-report-rdfvr => 05-validate-tro-declaration}/products/tro3.png (100%)
rename demo/02-explorations/{12-validate-jsonld/07-report-rdfvr => 05-validate-tro-declaration}/products/tro4.gv (100%)
rename demo/02-explorations/{12-validate-jsonld/07-report-rdfvr => 05-validate-tro-declaration}/products/tro4.png (100%)
rename demo/02-explorations/{12-validate-jsonld/07-report-rdfvr => 05-validate-tro-declaration}/products/tro5.gv (100%)
rename demo/02-explorations/{12-validate-jsonld/07-report-rdfvr => 05-validate-tro-declaration}/products/tro5.png (100%)
rename demo/02-explorations/{12-validate-jsonld/07-report-rdfvr => 05-validate-tro-declaration}/run.sh (100%)
rename demo/02-explorations/{12-validate-jsonld/07-report-rdfvr => 05-validate-tro-declaration}/run.txt (100%)
delete mode 100644 demo/02-explorations/06-gpg-runtime-demos/02-simple-tro/data/message/bar.txt
delete mode 100644 demo/02-explorations/06-gpg-runtime-demos/02-simple-tro/data/message/foo.txt
delete mode 100644 demo/02-explorations/06-gpg-runtime-demos/02-simple-tro/data/private.asc
delete mode 100644 demo/02-explorations/06-gpg-runtime-demos/02-simple-tro/data/public.gpg
delete mode 100644 demo/02-explorations/06-gpg-runtime-demos/02-simple-tro/products/digest.txt
delete mode 100644 demo/02-explorations/06-gpg-runtime-demos/02-simple-tro/products/message.tar.gz
delete mode 100644 demo/02-explorations/06-gpg-runtime-demos/02-simple-tro/products/tro.jsonld
delete mode 100644 demo/02-explorations/06-gpg-runtime-demos/02-simple-tro/run.sh
delete mode 100644 demo/02-explorations/06-gpg-runtime-demos/02-simple-tro/run.txt
delete mode 100644 demo/02-explorations/07-gpg-api-demos/02-simple-tro/Makefile
delete mode 100644 demo/02-explorations/07-gpg-api-demos/02-simple-tro/data/message/bar.txt
delete mode 100644 demo/02-explorations/07-gpg-api-demos/02-simple-tro/data/message/foo.txt
delete mode 100644 demo/02-explorations/07-gpg-api-demos/02-simple-tro/data/private.asc
delete mode 100644 demo/02-explorations/07-gpg-api-demos/02-simple-tro/data/public.gpg
delete mode 100644 demo/02-explorations/07-gpg-api-demos/02-simple-tro/products/message.tar.gz
delete mode 100644 demo/02-explorations/07-gpg-api-demos/02-simple-tro/products/tro.jsonld
delete mode 100644 demo/02-explorations/07-gpg-api-demos/02-simple-tro/run.txt
delete mode 100644 demo/02-explorations/07-gpg-api-demos/Makefile
delete mode 100644 demo/02-explorations/08-tro-fingerprint/Makefile
delete mode 100644 demo/02-explorations/08-tro-fingerprint/data/message/bar.txt
delete mode 100644 demo/02-explorations/08-tro-fingerprint/data/message/baz/baz.txt
delete mode 100644 demo/02-explorations/08-tro-fingerprint/data/message/foo.txt
delete mode 100644 demo/02-explorations/08-tro-fingerprint/data/message_with_diff_filenames/test1.txt
delete mode 100644 demo/02-explorations/08-tro-fingerprint/data/message_with_diff_filenames/test2.txt
delete mode 100644 demo/02-explorations/08-tro-fingerprint/data/message_with_diff_filenames/test3/test3.txt
delete mode 100644 demo/02-explorations/08-tro-fingerprint/products/tro.jsonld
delete mode 100644 demo/02-explorations/08-tro-fingerprint/run.sh
delete mode 100644 demo/02-explorations/08-tro-fingerprint/run.txt
delete mode 100644 demo/02-explorations/09-tro-fingerprint-state/Makefile
delete mode 100644 demo/02-explorations/10-timestamp/Makefile
delete mode 100644 demo/02-explorations/10-timestamp/data/digest.yaml
delete mode 100644 demo/02-explorations/10-timestamp/data/file.tsq
delete mode 100644 demo/02-explorations/11-jsonld2csv/Makefile
delete mode 100644 demo/02-explorations/11-jsonld2csv/data/tro2.jsonld
delete mode 100644 demo/02-explorations/11-jsonld2csv/data/tro3.jsonld
delete mode 100644 demo/02-explorations/11-jsonld2csv/products/tro1#composition_and_arrangement.csv
delete mode 100644 demo/02-explorations/11-jsonld2csv/products/tro2#composition_and_arrangement.csv
delete mode 100644 demo/02-explorations/11-jsonld2csv/products/tro2#tro_attribute_justification.csv
delete mode 100644 demo/02-explorations/11-jsonld2csv/products/tro2#trp_and_arrangement.csv
delete mode 100644 demo/02-explorations/11-jsonld2csv/products/tro3#composition_and_arrangement.csv
delete mode 100644 demo/02-explorations/11-jsonld2csv/products/tro3#tro_attribute_justification.csv
delete mode 100644 demo/02-explorations/11-jsonld2csv/products/tro3#trp_and_arrangement.csv
delete mode 100644 demo/02-explorations/11-jsonld2csv/run.sh
delete mode 100644 demo/02-explorations/11-jsonld2csv/run.txt
delete mode 100644 demo/02-explorations/12-validate-jsonld/01-jsonschema/Makefile
delete mode 100644 demo/02-explorations/12-validate-jsonld/01-jsonschema/data/tro1_c.jsonld
delete mode 100644 demo/02-explorations/12-validate-jsonld/01-jsonschema/data/tro1_w.jsonld
delete mode 100644 demo/02-explorations/12-validate-jsonld/01-jsonschema/run.sh
delete mode 100644 demo/02-explorations/12-validate-jsonld/01-jsonschema/run.txt
delete mode 100644 demo/02-explorations/12-validate-jsonld/01-jsonschema/tro.schema.json
delete mode 100644 demo/02-explorations/12-validate-jsonld/02-rdflib-owlrl/Makefile
delete mode 100644 demo/02-explorations/12-validate-jsonld/02-rdflib-owlrl/data/tro1.jsonld
delete mode 100644 demo/02-explorations/12-validate-jsonld/02-rdflib-owlrl/data/tro2.jsonld
delete mode 100644 demo/02-explorations/12-validate-jsonld/02-rdflib-owlrl/run.sh
delete mode 100644 demo/02-explorations/12-validate-jsonld/02-rdflib-owlrl/run.txt
delete mode 100644 demo/02-explorations/12-validate-jsonld/03-pyshacl/Makefile
delete mode 100644 demo/02-explorations/12-validate-jsonld/03-pyshacl/run.sh
delete mode 100644 demo/02-explorations/12-validate-jsonld/03-pyshacl/run.txt
delete mode 100644 demo/02-explorations/12-validate-jsonld/04-report-yfiles/Makefile
delete mode 100644 demo/02-explorations/12-validate-jsonld/04-report-yfiles/data/tro.jsonld
delete mode 100644 demo/02-explorations/12-validate-jsonld/04-report-yfiles/products/triples.csv
delete mode 100644 demo/02-explorations/12-validate-jsonld/04-report-yfiles/run.sh
delete mode 100644 demo/02-explorations/12-validate-jsonld/04-report-yfiles/run.txt
delete mode 100644 demo/02-explorations/12-validate-jsonld/04-report-yfiles/visualize_triples.ipynb
delete mode 100644 demo/02-explorations/12-validate-jsonld/05-report-pygraphviz/Makefile
delete mode 100644 demo/02-explorations/12-validate-jsonld/05-report-pygraphviz/data/tro.jsonld
delete mode 100644 demo/02-explorations/12-validate-jsonld/05-report-pygraphviz/data/tro.schema.ttl
delete mode 100644 demo/02-explorations/12-validate-jsonld/05-report-pygraphviz/products/scratch_report.gv
delete mode 100644 demo/02-explorations/12-validate-jsonld/05-report-pygraphviz/products/scratch_report.png
delete mode 100644 demo/02-explorations/12-validate-jsonld/05-report-pygraphviz/products/tool_report.png
delete mode 100644 demo/02-explorations/12-validate-jsonld/05-report-pygraphviz/products/tool_report.txt
delete mode 100644 demo/02-explorations/12-validate-jsonld/05-report-pygraphviz/run.sh
delete mode 100644 demo/02-explorations/12-validate-jsonld/05-report-pygraphviz/run.txt
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/Makefile
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/data/tro.schema.ttl
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/data/tro2.jsonld
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/data/tro4.jsonld
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/data/tro5.jsonld
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/products/tro1.gv
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/products/tro1.png
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/products/tro2.png
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/products/tro3.gv
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/products/tro3.png
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/products/tro4.gv
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/products/tro4.png
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/products/tro5.gv
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/products/tro5.png
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/products/tro5.txt
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/run.sh
delete mode 100644 demo/02-explorations/12-validate-jsonld/06-test-tro-wrong-cases/run.txt
delete mode 100644 demo/02-explorations/12-validate-jsonld/07-report-rdfvr/Makefile
delete mode 100644 demo/02-explorations/12-validate-jsonld/07-report-rdfvr/data/tro.schema.ttl
delete mode 100644 demo/02-explorations/12-validate-jsonld/07-report-rdfvr/data/tro1.jsonld
delete mode 100644 demo/02-explorations/12-validate-jsonld/07-report-rdfvr/data/tro3.jsonld
delete mode 100644 demo/02-explorations/12-validate-jsonld/07-report-rdfvr/products/tro2.gv
delete mode 100644 demo/02-explorations/12-validate-jsonld/Makefile
delete mode 100644 demo/02-explorations/common/trace-vocab.jsonld
delete mode 100644 demo/02-explorations/common/tro-01-from-minimal-trs.jsonld
delete mode 100644 demo/02-explorations/common/tro-02-from-type-a-trs.jsonld
delete mode 100644 demo/02-explorations/common/tro-03-from-type-b2-trs.jsonld
create mode 100644 demo/02-explorations/common/tro/file1
create mode 100644 demo/02-explorations/common/tro/file2
rename demo/02-explorations/{11-jsonld2csv/data/tro1.jsonld => common/tro/tro.jsonld} (100%)
delete mode 100644 demo/02-explorations/common/trs-01-minimal.jsonld
delete mode 100644 demo/02-explorations/common/trs-02-type-a.jsonld
delete mode 100644 demo/02-explorations/common/trs-03-type-b2.jsonld
delete mode 100644 demo/02-explorations/common/trs-queries.sh
delete mode 100644 src/trace_model/format_string.py
delete mode 100644 src/trace_model/jsonld2csv.py
delete mode 100644 src/trace_model/tro_fingerprint.py
delete mode 100644 src/trace_model/validate_jsonld.py
delete mode 100644 src/trace_model/validate_tro.py
diff --git a/.gitignore b/.gitignore
index 2bf72dd..411b5d7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,4 +2,5 @@ build
dist
*.pyc
*.egg-info
-.*
\ No newline at end of file
+.*
+__pycache__
\ No newline at end of file
diff --git a/demo/01-trov-examples/01-two-artifacts-no-trp/products/img.gv b/demo/01-trov-examples/01-two-artifacts-no-trp/products/img.gv
new file mode 100644
index 0000000..9b2aad2
--- /dev/null
+++ b/demo/01-trov-examples/01-two-artifacts-no-trp/products/img.gv
@@ -0,0 +1,22 @@
+
+ digraph subclass_vocab_graph {
+ rankdir=LR
+ fontname=Courier; fontsize=12; labelloc=t
+ label="Subclass Vocab Graph"
+ node[shape=box style="filled, rounded" fillcolor="#b3e2cd" peripheries=1 fontname=Courier]
+
+ "ArtifactCollection" -> "ArtifactComposition"
+ "ArtifactCollection" -> "ArtifactLocus"
+ "TREAttribute" -> "TROAttribute"
+ "TREAttribute" -> "TRSAttribute"
+ "TROAttribute" -> "IncludesAllInputData"
+ "TRSAttribute" -> "TRSCapability"
+ "TRSCapability" -> "CanProvideInternetIsolation"
+ "TRSCapability" -> "TRSPolicy"
+ "TRSPolicy" -> "EnforcesInternetIsolation"
+ "TrustedResearchElement" -> "TimeStampingAuthority"
+ "TrustedResearchElement" -> "TransparentResearchObject"
+ "TrustedResearchElement" -> "TrustedResearchPerformance"
+ "TrustedResearchElement" -> "TrustedResearchSystem"
+
+ }
\ No newline at end of file
diff --git a/demo/01-trov-examples/01-two-artifacts-no-trp/products/img.svg b/demo/01-trov-examples/01-two-artifacts-no-trp/products/img.svg
new file mode 100644
index 0000000..1137c3b
--- /dev/null
+++ b/demo/01-trov-examples/01-two-artifacts-no-trp/products/img.svg
@@ -0,0 +1,188 @@
+
+
+
+
+
diff --git a/demo/01-trov-examples/01-two-artifacts-no-trp/products/report_subclass.html b/demo/01-trov-examples/01-two-artifacts-no-trp/products/report_subclass.html
new file mode 100644
index 0000000..abb0246
--- /dev/null
+++ b/demo/01-trov-examples/01-two-artifacts-no-trp/products/report_subclass.html
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+ Subclass Report
+
+ Visualize subclass of the vocabularies
+ 1. SVG
+
+ 2. GV
+
+ digraph subclass_vocab_graph {
+ rankdir=LR
+ fontname=Courier; fontsize=12; labelloc=t
+ label="Subclass Vocab Graph"
+ node[shape=box style="filled, rounded" fillcolor="#b3e2cd" peripheries=1 fontname=Courier]
+
+ "ArtifactCollection" -> "ArtifactComposition"
+ "ArtifactCollection" -> "ArtifactLocus"
+ "TREAttribute" -> "TROAttribute"
+ "TREAttribute" -> "TRSAttribute"
+ "TROAttribute" -> "IncludesAllInputData"
+ "TRSAttribute" -> "TRSCapability"
+ "TRSCapability" -> "CanProvideInternetIsolation"
+ "TRSCapability" -> "TRSPolicy"
+ "TRSPolicy" -> "EnforcesInternetIsolation"
+ "TrustedResearchElement" -> "TimeStampingAuthority"
+ "TrustedResearchElement" -> "TransparentResearchObject"
+ "TrustedResearchElement" -> "TrustedResearchPerformance"
+ "TrustedResearchElement" -> "TrustedResearchSystem"
+
+ }
+ 3. Table
+
+ | ParentLabel | ChildLabel |
+
+ | "ArtifactCollection" | "ArtifactComposition" |
+
| "ArtifactCollection" | "ArtifactLocus" |
+
| "TREAttribute" | "TROAttribute" |
+
| "TREAttribute" | "TRSAttribute" |
+
| "TROAttribute" | "IncludesAllInputData" |
+
| "TRSAttribute" | "TRSCapability" |
+
| "TRSCapability" | "CanProvideInternetIsolation" |
+
| "TRSCapability" | "TRSPolicy" |
+
| "TRSPolicy" | "EnforcesInternetIsolation" |
+
| "TrustedResearchElement" | "TimeStampingAuthority" |
+
| "TrustedResearchElement" | "TransparentResearchObject" |
+
| "TrustedResearchElement" | "TrustedResearchPerformance" |
+
| "TrustedResearchElement" | "TrustedResearchSystem" |
+
+
+
diff --git a/demo/01-trov-examples/01-two-artifacts-no-trp/run.txt b/demo/01-trov-examples/01-two-artifacts-no-trp/run.txt
index 95ad208..01b3fda 100644
--- a/demo/01-trov-examples/01-two-artifacts-no-trp/run.txt
+++ b/demo/01-trov-examples/01-two-artifacts-no-trp/run.txt
@@ -40,7 +40,7 @@ geist export --dataset kb --outputformat nt | sort | grep trov
"CompositionFingerprint" .
.
.
- "The policy of always preeventing Internet access during a TRP." .
+ "The policy of always preventing Internet access during a TRP." .
"EnforcesInternetIsolation" .
.
.
@@ -57,7 +57,7 @@ geist export --dataset kb --outputformat nt | sort | grep trov
"A research artifact described by a TRO." .
"ResearchArtifact" .
.
- .
+ .
"An attribute of a TRS, TRP, or TRO." .
"TREAttribute" .
.
@@ -66,15 +66,13 @@ geist export --dataset kb --outputformat nt | sort | grep trov
"TROAttribute" .
.
.
- .
.
- "A property of a particular TRS." .
"An attribute of a TRS." .
"TRSAttribute" .
.
.
.
- "A policy always enforced by a particular TRS." .
+ "A capability of a TRS." .
"TRSCapability" .
.
.
@@ -86,28 +84,27 @@ geist export --dataset kb --outputformat nt | sort | grep trov
.
.
.
- .
+ .
"A timestamping authority trusted by a TRS." .
"TimeStampingAuthority" .
.
.
- .
+ .
"A set of research artifacts produced by a TRP and signed by the performing TRS." .
"TransparentResearchObject" .
.
.
- .
+ .
"Common base class for TRSs, TRPs, and TROs." .
"TrustedResearchElement" .
.
- .
.
"A set of research operations performed by a TRS." .
"An execution of a research process" .
"TrustedResearchPerformance" .
.
.
- .
+ .
"A system certified to perform TRPs and assemble TROs." .
"TrustedResearchSystem" .
.
@@ -189,9 +186,6 @@ geist load --dataset kb --inputformat json-ld --inputfile tro/tro.jsonld
# Import TRO and TRS as JSON-LD and export as N-TRIPLES
geist export --dataset kb --outputformat nt | sort | grep trov-example
-# Destroy the dataset
-geist destroy --dataset kb
-
----------------------------------------------------------- cell outputs -----------------------------------------------------------
.
.
@@ -238,3 +232,201 @@ geist destroy --dataset kb
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+================================================= bash cell | query tro attributes =================================================
+
+# What subclasses of TROAttribute have been defined?
+
+geist query --dataset kb << __END_QUERY__
+
+ PREFIX rdfs:
+ PREFIX trov:
+
+ SELECT DISTINCT ?attribute ?attributeLabel ?attributeComment
+ WHERE {
+ ?attribute rdfs:subClassOf trov:TROAttribute .
+ ?attribute rdfs:label ?attributeLabel .
+ ?attribute rdfs:comment ?attributeComment .
+ } ORDER BY ?attribute ?attributeLabel ?attributeComment
+
+__END_QUERY__
+
+----------------------------------------------------------- cell outputs -----------------------------------------------------------
+| | attribute | attributeLabel | attributeComment |
+|---:|:-----------------------------------------------------------|:-----------------------|:------------------------------------------------------------------------|
+| 0 | | "IncludesAllInputData" | "TRO composition includes all input data employed in creating the TRO." |
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+================================================= bash cell | query trs attributes =================================================
+
+# What subclasses of TRSAttribute have been defined?
+
+geist query --dataset kb << __END_QUERY__
+
+ PREFIX rdfs:
+ PREFIX trov:
+
+ SELECT DISTINCT ?attribute ?attributeLabel ?attributeComment
+ WHERE {
+ ?attribute rdfs:subClassOf trov:TRSAttribute .
+ ?attribute rdfs:label ?attributeLabel .
+ ?attribute rdfs:comment ?attributeComment .
+ } ORDER BY ?attribute ?attributeLabel ?attributeComment
+
+__END_QUERY__
+
+----------------------------------------------------------- cell outputs -----------------------------------------------------------
+| | attribute | attributeLabel | attributeComment |
+|---:|:------------------------------------------------------------------|:------------------------------|:----------------------------------------------------------------|
+| 0 | | "CanProvideInternetIsolation" | "The capability to prevent Internet access during a TRP." |
+| 1 | | "EnforcesInternetIsolation" | "The policy of always preventing Internet access during a TRP." |
+| 2 | | "TRSCapability" | "A capability of a TRS." |
+| 3 | | "TRSPolicy" | "A policy always enforced by a particular TRS." |
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+====================================== bash cell | reload trov vocabulary without inferences =======================================
+
+# Destroy the dataset
+geist destroy --dataset kb
+
+# Import TRACE vocabulary and TRO Manifest and export as N-TRIPLES
+geist create --dataset kb --inputformat json-ld --inputfile /mnt/trace-model/exports/trace-vocab.jsonld --infer none
+
+----------------------------------------------------------- cell outputs -----------------------------------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+================================================= bash cell | query subclass vocab =================================================
+
+# What (ParentClass, ChildClass) pairs does trov vocabulary have?
+
+geist report --outputroot products << END_TEMPLATE
+
+{%- use "../common/templates.geist" %}
+{%- query isfilepath=False as query_subclass_vocab_str %}
+ PREFIX rdf:
+ PREFIX rdfs:
+
+ SELECT DISTINCT ?ParentLabel ?ChildLabel
+ WHERE {
+ ?ParentClass rdf:type rdfs:Class ;
+ rdfs:label ?ParentLabel .
+
+ ?ChildClass rdfs:subClassOf ?ParentClass ;
+ rdf:type rdfs:Class ;
+ rdfs:label ?ChildLabel .
+
+ FILTER (?ParentLabel != ?ChildLabel)
+ }
+ ORDER BY ?ParentLabel ?ChildLabel
+{% endquery %}
+{%- set query_subclass_vocab = query_subclass_vocab_str | json2df %}
+
+{%- html "report_subclass.html" %}
+{%- head "Subclass Report" %}
+
+ Visualize subclass of the vocabularies
+ 1. SVG
+ {% img src="img.svg", width="80%" %}
+ {%- gv_graph "subclass_vocab_graph", "LR" %}
+ {%- gv_title "Subclass Vocab Graph" %}
+
+ node[shape=box style="filled, rounded" fillcolor="#b3e2cd" peripheries=1 fontname=Courier]
+ {% for _, row in query_subclass_vocab.iterrows() %}
+ {% gv_edge row["ParentLabel"], row["ChildLabel"] %}
+ {% endfor %}
+
+ {% gv_end %}
+ {% endimg %}
+
+ 2. GV
+ {% img src="img.gv" %}
+ {%- gv_graph "subclass_vocab_graph", "LR" %}
+ {%- gv_title "Subclass Vocab Graph" %}
+
+ node[shape=box style="filled, rounded" fillcolor="#b3e2cd" peripheries=1 fontname=Courier]
+ {% for _, row in query_subclass_vocab.iterrows() %}
+ {% gv_edge row["ParentLabel"], row["ChildLabel"] %}
+ {% endfor %}
+
+ {% gv_end %}
+ {% endimg %}
+
+ 3. Table
+ {%- table %}
+ {{ query_subclass_vocab_str }}
+ {% endtable %}
+
+{% endhtml %}
+{%- destroy %}
+
+END_TEMPLATE
+
+----------------------------------------------------------- cell outputs -----------------------------------------------------------
+
+
+
+
+
+
+
+
+ Subclass Report
+
+ Visualize subclass of the vocabularies
+ 1. SVG
+
+ 2. GV
+
+ digraph subclass_vocab_graph {
+ rankdir=LR
+ fontname=Courier; fontsize=12; labelloc=t
+ label="Subclass Vocab Graph"
+ node[shape=box style="filled, rounded" fillcolor="#b3e2cd" peripheries=1 fontname=Courier]
+
+ "ArtifactCollection" -> "ArtifactComposition"
+ "ArtifactCollection" -> "ArtifactLocus"
+ "TREAttribute" -> "TROAttribute"
+ "TREAttribute" -> "TRSAttribute"
+ "TROAttribute" -> "IncludesAllInputData"
+ "TRSAttribute" -> "TRSCapability"
+ "TRSCapability" -> "CanProvideInternetIsolation"
+ "TRSCapability" -> "TRSPolicy"
+ "TRSPolicy" -> "EnforcesInternetIsolation"
+ "TrustedResearchElement" -> "TimeStampingAuthority"
+ "TrustedResearchElement" -> "TransparentResearchObject"
+ "TrustedResearchElement" -> "TrustedResearchPerformance"
+ "TrustedResearchElement" -> "TrustedResearchSystem"
+
+ }
+ 3. Table
+
+ | ParentLabel | ChildLabel |
+
+ | "ArtifactCollection" | "ArtifactComposition" |
+
| "ArtifactCollection" | "ArtifactLocus" |
+
| "TREAttribute" | "TROAttribute" |
+
| "TREAttribute" | "TRSAttribute" |
+
| "TROAttribute" | "IncludesAllInputData" |
+
| "TRSAttribute" | "TRSCapability" |
+
| "TRSCapability" | "CanProvideInternetIsolation" |
+
| "TRSCapability" | "TRSPolicy" |
+
| "TRSPolicy" | "EnforcesInternetIsolation" |
+
| "TrustedResearchElement" | "TimeStampingAuthority" |
+
| "TrustedResearchElement" | "TransparentResearchObject" |
+
| "TrustedResearchElement" | "TrustedResearchPerformance" |
+
| "TrustedResearchElement" | "TrustedResearchSystem" |
+
+
+
+
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
diff --git a/demo/01-trov-examples/02-three-artifacts-one-trp/products/img.gv b/demo/01-trov-examples/02-three-artifacts-one-trp/products/img.gv
new file mode 100644
index 0000000..9b2aad2
--- /dev/null
+++ b/demo/01-trov-examples/02-three-artifacts-one-trp/products/img.gv
@@ -0,0 +1,22 @@
+
+ digraph subclass_vocab_graph {
+ rankdir=LR
+ fontname=Courier; fontsize=12; labelloc=t
+ label="Subclass Vocab Graph"
+ node[shape=box style="filled, rounded" fillcolor="#b3e2cd" peripheries=1 fontname=Courier]
+
+ "ArtifactCollection" -> "ArtifactComposition"
+ "ArtifactCollection" -> "ArtifactLocus"
+ "TREAttribute" -> "TROAttribute"
+ "TREAttribute" -> "TRSAttribute"
+ "TROAttribute" -> "IncludesAllInputData"
+ "TRSAttribute" -> "TRSCapability"
+ "TRSCapability" -> "CanProvideInternetIsolation"
+ "TRSCapability" -> "TRSPolicy"
+ "TRSPolicy" -> "EnforcesInternetIsolation"
+ "TrustedResearchElement" -> "TimeStampingAuthority"
+ "TrustedResearchElement" -> "TransparentResearchObject"
+ "TrustedResearchElement" -> "TrustedResearchPerformance"
+ "TrustedResearchElement" -> "TrustedResearchSystem"
+
+ }
\ No newline at end of file
diff --git a/demo/01-trov-examples/02-three-artifacts-one-trp/products/img.svg b/demo/01-trov-examples/02-three-artifacts-one-trp/products/img.svg
new file mode 100644
index 0000000..1137c3b
--- /dev/null
+++ b/demo/01-trov-examples/02-three-artifacts-one-trp/products/img.svg
@@ -0,0 +1,188 @@
+
+
+
+
+
diff --git a/demo/01-trov-examples/02-three-artifacts-one-trp/products/report_subclass.html b/demo/01-trov-examples/02-three-artifacts-one-trp/products/report_subclass.html
new file mode 100644
index 0000000..abb0246
--- /dev/null
+++ b/demo/01-trov-examples/02-three-artifacts-one-trp/products/report_subclass.html
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+ Subclass Report
+
+ Visualize subclass of the vocabularies
+ 1. SVG
+
+ 2. GV
+
+ digraph subclass_vocab_graph {
+ rankdir=LR
+ fontname=Courier; fontsize=12; labelloc=t
+ label="Subclass Vocab Graph"
+ node[shape=box style="filled, rounded" fillcolor="#b3e2cd" peripheries=1 fontname=Courier]
+
+ "ArtifactCollection" -> "ArtifactComposition"
+ "ArtifactCollection" -> "ArtifactLocus"
+ "TREAttribute" -> "TROAttribute"
+ "TREAttribute" -> "TRSAttribute"
+ "TROAttribute" -> "IncludesAllInputData"
+ "TRSAttribute" -> "TRSCapability"
+ "TRSCapability" -> "CanProvideInternetIsolation"
+ "TRSCapability" -> "TRSPolicy"
+ "TRSPolicy" -> "EnforcesInternetIsolation"
+ "TrustedResearchElement" -> "TimeStampingAuthority"
+ "TrustedResearchElement" -> "TransparentResearchObject"
+ "TrustedResearchElement" -> "TrustedResearchPerformance"
+ "TrustedResearchElement" -> "TrustedResearchSystem"
+
+ }
+ 3. Table
+
+ | ParentLabel | ChildLabel |
+
+ | "ArtifactCollection" | "ArtifactComposition" |
+
| "ArtifactCollection" | "ArtifactLocus" |
+
| "TREAttribute" | "TROAttribute" |
+
| "TREAttribute" | "TRSAttribute" |
+
| "TROAttribute" | "IncludesAllInputData" |
+
| "TRSAttribute" | "TRSCapability" |
+
| "TRSCapability" | "CanProvideInternetIsolation" |
+
| "TRSCapability" | "TRSPolicy" |
+
| "TRSPolicy" | "EnforcesInternetIsolation" |
+
| "TrustedResearchElement" | "TimeStampingAuthority" |
+
| "TrustedResearchElement" | "TransparentResearchObject" |
+
| "TrustedResearchElement" | "TrustedResearchPerformance" |
+
| "TrustedResearchElement" | "TrustedResearchSystem" |
+
+
+
diff --git a/demo/01-trov-examples/02-three-artifacts-one-trp/run.txt b/demo/01-trov-examples/02-three-artifacts-one-trp/run.txt
index 4f31f87..58bc476 100644
--- a/demo/01-trov-examples/02-three-artifacts-one-trp/run.txt
+++ b/demo/01-trov-examples/02-three-artifacts-one-trp/run.txt
@@ -40,7 +40,7 @@ geist export --dataset kb --outputformat nt | sort | grep trov
"CompositionFingerprint" .
.
.
- "The policy of always preeventing Internet access during a TRP." .
+ "The policy of always preventing Internet access during a TRP." .
"EnforcesInternetIsolation" .
.
.
@@ -57,7 +57,7 @@ geist export --dataset kb --outputformat nt | sort | grep trov
"A research artifact described by a TRO." .
"ResearchArtifact" .
.
- .
+ .
"An attribute of a TRS, TRP, or TRO." .
"TREAttribute" .
.
@@ -66,15 +66,13 @@ geist export --dataset kb --outputformat nt | sort | grep trov
"TROAttribute" .
.
.
- .
.
- "A property of a particular TRS." .
"An attribute of a TRS." .
"TRSAttribute" .
.
.
.
-