From 50d45da216248d0cb3047a8add9f152356493f4a Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Thu, 10 Nov 2022 19:41:56 -0500 Subject: [PATCH 01/15] Use any existing TIME hints in graph to do further ordering. Signed-off-by: Alex Nelson --- case_prov/case_prov_dot.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/case_prov/case_prov_dot.py b/case_prov/case_prov_dot.py index 951177b..e080c94 100644 --- a/case_prov/case_prov_dot.py +++ b/case_prov/case_prov_dot.py @@ -43,6 +43,7 @@ NS_PROV = rdflib.Namespace("http://www.w3.org/ns/prov#") NS_RDFS = rdflib.RDFS +NS_TIME = rdflib.TIME # This one isn't among the prov constants. PROV_COLLECTION = NS_PROV.Collection @@ -772,6 +773,43 @@ def _render_edges( dot_edge = pydot.Edge(node_id_1, node_id_2, **kwargs) dot_graph.add_edge(dot_edge) + # Include any temporal ordering among the filtered nodes as hidden edges to impose ordering. + # This sorting assumes the non-normative alignment of TIME and PROV-O, available at: + # https://github.com/w3c/sdw/blob/gh-pages/time/rdf/time-prov.ttl + invisible_edge_node_pairs: typing.Set[ + typing.Tuple[rdflib.URIRef, rdflib.URIRef] + ] = set() + n_predicate: rdflib.URIRef + order: str + for (n_predicate, order) in { + (NS_TIME.after, "rtl"), + (NS_TIME.before, "ltr"), + (NS_TIME.intervalAfter, "rtl"), + (NS_TIME.intervalBefore, "ltr"), + }: + for triple in graph.triples((None, n_predicate, None)): + if str(triple[0]) not in iris_used: + continue + if str(triple[2]) not in iris_used: + continue + if not isinstance(triple[0], rdflib.URIRef): + continue + if not isinstance(triple[2], rdflib.URIRef): + continue + + if order == "ltr": + invisible_edge_node_pairs.add((triple[0], triple[2])) + else: + invisible_edge_node_pairs.add((triple[2], triple[0])) + _logger.debug( + "len(invisible_edge_node_pairs) = %d.", len(invisible_edge_node_pairs) + ) + for invisible_edge_node_pair in invisible_edge_node_pairs: + node_id_1 = record[0] + node_id_2 = record[1] + dot_edge = pydot.Edge(node_id_1, node_id_2, style="invis") + dot_graph.add_edge(dot_edge) + dot_graph.write_raw(args.out_dot) From cc74f049e5162e37ff8ad3b21a98d735b5fe7e04 Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Fri, 12 May 2023 16:30:33 -0400 Subject: [PATCH 02/15] Fix variable reference No effects were observed on Make-managed files. Signed-off-by: Alex Nelson --- case_prov/case_prov_dot.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/case_prov/case_prov_dot.py b/case_prov/case_prov_dot.py index 03168c2..2f7b2d7 100644 --- a/case_prov/case_prov_dot.py +++ b/case_prov/case_prov_dot.py @@ -839,7 +839,7 @@ def _render_edges( ] = set() n_predicate: rdflib.URIRef order: str - for (n_predicate, order) in { + for n_predicate, order in { (NS_TIME.after, "rtl"), (NS_TIME.before, "ltr"), (NS_TIME.intervalAfter, "rtl"), @@ -863,8 +863,8 @@ def _render_edges( "len(invisible_edge_node_pairs) = %d.", len(invisible_edge_node_pairs) ) for invisible_edge_node_pair in invisible_edge_node_pairs: - node_id_1 = record[0] - node_id_2 = record[1] + node_id_1 = iri_to_gv_node_id(invisible_edge_node_pair[0]) + node_id_2 = iri_to_gv_node_id(invisible_edge_node_pair[1]) dot_edge = pydot.Edge(node_id_1, node_id_2, style="invis") dot_graph.add_edge(dot_edge) From bbf89eb78df49a0cd7d5ea4bbe10b433fc647dca Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Tue, 16 May 2023 14:51:05 -0400 Subject: [PATCH 03/15] Add data for Allen relations' demonstration References: * https://www.w3.org/TR/owl-time/#fig-thirteen-elementary-possible-relations-between-time-periods-af-97 Signed-off-by: Alex Nelson --- figures/readme-allen-relations.ttl | 203 +++++++++++++++++++++++++++++ 1 file changed, 203 insertions(+) create mode 100644 figures/readme-allen-relations.ttl diff --git a/figures/readme-allen-relations.ttl b/figures/readme-allen-relations.ttl new file mode 100644 index 0000000..f5add45 --- /dev/null +++ b/figures/readme-allen-relations.ttl @@ -0,0 +1,203 @@ +@prefix kb: . +@prefix owl: . +@prefix prov: . +@prefix rdf: . +@prefix rdfs: . +@prefix time: . +@prefix xsd: . + +kb:after-i + a + time:ProperInterval , + prov:Activity + ; + . + +kb:after-j + a + time:ProperInterval , + prov:Activity + ; + time:intervalAfter kb:after-i ; + . + +kb:before-i + a + time:ProperInterval , + prov:Activity + ; + time:intervalBefore kb:before-j ; + . + +kb:before-j + a + time:ProperInterval , + prov:Activity + ; + . + +kb:contains-i + a + time:ProperInterval , + prov:Activity + ; + . + +kb:contains-j + a + time:ProperInterval , + prov:Activity + ; + time:intervalContains kb:contains-i ; + . + +kb:during-i + a + time:ProperInterval , + prov:Activity + ; + time:intervalDuring kb:during-j ; + . + +kb:during-j + a + time:ProperInterval , + prov:Activity + ; + . + +kb:equals-i + a + time:ProperInterval , + prov:Activity + ; + time:intervalEquals kb:equals-j ; + . + +kb:equals-j + a + time:ProperInterval , + prov:Activity + ; + . + +kb:finishedBy-i + a + time:ProperInterval , + prov:Activity + ; + . + +kb:finishedBy-j + a + time:ProperInterval , + prov:Activity + ; + time:intervalFinishedBy kb:finishedBy-i ; + . + +kb:finishes-i + a + time:ProperInterval , + prov:Activity + ; + time:intervalFinishes kb:finishes-j ; + . + +kb:finishes-j + a + time:ProperInterval , + prov:Activity + ; + . + +kb:meets-i + a + time:ProperInterval , + prov:Activity + ; + time:intervalMeets kb:meets-j ; + . + +kb:meets-j + a + time:ProperInterval , + prov:Activity + ; + . + +kb:metBy-i + a + time:ProperInterval , + prov:Activity + ; + . + +kb:metBy-j + a + time:ProperInterval , + prov:Activity + ; + time:intervalMetBy kb:metBy-i ; + . + +kb:overlappedBy-i + a + time:ProperInterval , + prov:Activity + ; + . + +kb:overlappedBy-j + a + time:ProperInterval , + prov:Activity + ; + time:intervalOverlappedBy kb:overlappedBy-i ; + . + +kb:overlaps-i + a + time:ProperInterval , + prov:Activity + ; + time:intervalOverlaps kb:overlaps-j ; + . + +kb:overlaps-j + a + time:ProperInterval , + prov:Activity + ; + . + +kb:startedBy-i + a + time:ProperInterval , + prov:Activity + ; + . + +kb:startedBy-j + a + time:ProperInterval , + prov:Activity + ; + time:intervalStartedBy kb:startedBy-i ; + . + +kb:starts-i + a + time:ProperInterval , + prov:Activity + ; + time:intervalStarts kb:starts-j ; + . + +kb:starts-j + a + time:ProperInterval , + prov:Activity + ; + . + From e1dc47b4c087fe0b8d4f9d3d866f4dd629119656 Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Mon, 5 Jun 2023 09:46:22 -0400 Subject: [PATCH 04/15] Reverse time-edge order No effects were observed on Make-managed files. Signed-off-by: Alex Nelson --- case_prov/case_prov_dot.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/case_prov/case_prov_dot.py b/case_prov/case_prov_dot.py index 284f536..6c2cf9c 100644 --- a/case_prov/case_prov_dot.py +++ b/case_prov/case_prov_dot.py @@ -1034,7 +1034,12 @@ def _render_edges( for invisible_edge_node_pair in invisible_edge_node_pairs: node_id_1 = iri_to_gv_node_id(invisible_edge_node_pair[0]) node_id_2 = iri_to_gv_node_id(invisible_edge_node_pair[1]) - dot_edge = pydot.Edge(node_id_1, node_id_2, style="invis") + # Edge direction is "backwards" in time, favoring use of the + # "inverse" Allen relationship. This is so time will flow + # downwards with the case_prov_dot chart directionality. This + # is in alignment with the PROV-O edges' directions being in + # direction of dependency (& thus reverse of time flow). + dot_edge = pydot.Edge(node_id_2, node_id_1, style="invis") dot_graph.add_edge(dot_edge) dot_graph.write_raw(args.out_dot) From 26123581bb4758aeb30731f1d25382bbf6526a1a Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Mon, 5 Jun 2023 09:48:02 -0400 Subject: [PATCH 05/15] Add initial render of Allen interval-relations This figure shows only two of the Allen interval-relations are handled by the ordering logic now. However, the figure does show time flowing "downward" by seeing the before & after `*-i` intervals are above the `*-j` intervals. A follow-on patch will regenerate Make-managed files. Signed-off-by: Alex Nelson --- figures/Makefile | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/figures/Makefile b/figures/Makefile index 933717b..c12c84c 100644 --- a/figures/Makefile +++ b/figures/Makefile @@ -17,11 +17,13 @@ top_srcdir := $(shell cd .. ; pwd) all: \ readme-activities.svg \ + readme-allen-relations.svg \ readme-attribution.svg \ readme-provenance-records.svg .PRECIOUS: \ readme-activities.dot \ + readme-allen-relations.dot \ readme-attribution.dot \ readme-provenance-records.dot @@ -46,6 +48,19 @@ readme-activities.dot: \ $< mv _$@ $@ +readme-allen-relations.dot: \ + readme-allen-relations.ttl \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_dot.py \ + $(top_srcdir)/tests/.venv.done.log + source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --debug \ + --omit-empty-set \ + _$@ \ + $< + mv _$@ $@ + readme-attribution.dot: \ readme-attribution.ttl \ $(top_srcdir)/case_prov/case_prov_dot.py \ From 18cc4ca45c345dd7c1d7b17c11b44987a71f2ccd Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Mon, 5 Jun 2023 09:48:27 -0400 Subject: [PATCH 06/15] Regenerate Make-managed files Signed-off-by: Alex Nelson --- figures/readme-allen-relations.svg | 249 +++++++++++++++++++++++++++++ 1 file changed, 249 insertions(+) create mode 100644 figures/readme-allen-relations.svg diff --git a/figures/readme-allen-relations.svg b/figures/readme-allen-relations.svg new file mode 100644 index 0000000..29e1af2 --- /dev/null +++ b/figures/readme-allen-relations.svg @@ -0,0 +1,249 @@ + + + + + + +PROV-O render + + + +_420614c229241b80b8075b64f694c06191c7b4ea5e666e734eb9b5ae946ae59f + + +ID - kb:after-i + + + + + +_8d8af6aad08e2d51f293e6dfc5478934949f4eb1a4ede3b1b83615be44a4cf25 + + +ID - kb:after-j + + + + + + +_6df40c4d98ba4ae1818a8974df560cdb07cfad84ae9a3039cc2c794715cf89e5 + + +ID - kb:before-i + + + + + +_d926ffb1ce3ff25d81181cde7b120388f9aa385e75fb587a8702d758fe33bded + + +ID - kb:before-j + + + + + + +_674d07af6841676ac3270af69c2a738de4e9b719e9b9c8e88542543675559c75 + + +ID - kb:contains-i + + + + + +_e5558355618af87a4751e2eb0ad6324abd595685dc321d1064fc670f5115be78 + + +ID - kb:contains-j + + + + + +_c717dace67b13784c456e2db5c55d3aa90cc998b63973c5a5e8740498ed1c02d + + +ID - kb:during-i + + + + + +_143543d310af2cabed2fc03468cd19abca1a8b217f8840a728796167e7b6214c + + +ID - kb:during-j + + + + + +_fd95b92baeb836e000dd655d4e6df03f75d1c8d1b7056918a084a41e3994d325 + + +ID - kb:equals-i + + + + + +_d7ca4dfb8f35cfa5b75291c902c54d3338784febd3121fed7c6b3a104cc93cd9 + + +ID - kb:equals-j + + + + + +_c1abe2a630eb1eb936940f3b0b600026fe4b4b3dab3f51275b4a29f679ec161f + + +ID - kb:finishedBy-i + + + + + +_5c53afdfc06e1fe7e5706d1fd879b2ff799dcfb8898f847f25ec2a6b07439e48 + + +ID - kb:finishedBy-j + + + + + +_0b1601596d60a2ebcc5087f319c7d2ff4dacc33f6885d5ccc7cefe136de651b1 + + +ID - kb:finishes-i + + + + + +_169431ec6be8cf6588214cf2f82dbf04550a6d96e61d0391b2c7d14372975244 + + +ID - kb:finishes-j + + + + + +_db2d84171da93cdd0cf0a8cedcf48b905b9ef522bb97dd72a9722a749bf9a8b4 + + +ID - kb:meets-i + + + + + +_cca45a3d3a1f06e8617a3bedb625f381c11dbaade0464d576a2ed04a058f3ec9 + + +ID - kb:meets-j + + + + + +_cd71a86ebc4b5d3cf7149412db5a0f6884d738254dc8d8065ee5c09d8b8b6607 + + +ID - kb:metBy-i + + + + + +_32f4a5a312d34307c574545ebf628b59839f8c0c87928fa09b279811636f86b4 + + +ID - kb:metBy-j + + + + + +_08fed2f00d201af49f91aa2798fd2c2e2c4d66a6113935fd4c0b679dd0396025 + + +ID - kb:overlappedBy-i + + + + + +_4a8479baca078f820cd70a56c526a34e26788d013b886e32cfba82ec7332e70a + + +ID - kb:overlappedBy-j + + + + + +_e525822a15afd9cc7bc1a20a341a5ac3abe93d426f8b5e4ae8d3be54b5594004 + + +ID - kb:overlaps-i + + + + + +_34cc2a91dcb3a52e2f4b9a1ad4cee3f014d4cf50463c4e2565d58f5aa1661e0c + + +ID - kb:overlaps-j + + + + + +_351e4e6d52d963d965daa0539216009f093ed24be20135d121674d38d9929caa + + +ID - kb:startedBy-i + + + + + +_a31e2a2e8803799c43025ab6c55a05d7857e9ff31e93f636c97435950a52cf7e + + +ID - kb:startedBy-j + + + + + +_0e9e0607a0257a6fc12d892c4a886a7286079471a9dff65d604e27b02f5624f1 + + +ID - kb:starts-i + + + + + +_3d95bc00c0e59c58b9332400383b889844a735677a5311eb210c5dc0dc54d9c8 + + +ID - kb:starts-j + + + + + From 0fa6b89b5529c58a92c4c366ac11008490e54cfa Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Tue, 6 Jun 2023 23:20:26 -0400 Subject: [PATCH 07/15] Enable doctests; add function documentation This patch enables `pytest`'s doctest mode and adds a first doctest to ensure `pytest` doesn't fail due to finding no tests to run. Follow-on patches will add new functions with more demanding doctests. No effects were observed on Make-managed files. References: * https://docs.pytest.org/en/7.1.x/how-to/doctest.html * https://github.com/casework/CASE-Utilities-Python/pull/111 Signed-off-by: Alex Nelson --- case_prov/case_prov_dot.py | 7 +++++++ tests/Makefile | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/case_prov/case_prov_dot.py b/case_prov/case_prov_dot.py index 6c2cf9c..27b9203 100644 --- a/case_prov/case_prov_dot.py +++ b/case_prov/case_prov_dot.py @@ -68,6 +68,13 @@ def clone_style(prov_constant: rdflib.URIRef) -> typing.Dict[str, str]: def iri_to_gv_node_id(n_thing: rdflib.term.IdentifiedNode) -> str: + """ + This function returns a string safe to use as a Dot node identifier. The main concern addressed is Dot syntax errors caused by use of colons in IRIs. + + >>> x = rdflib.URIRef("urn:example:kb:x") + >>> iri_to_gv_node_id(x) + '_b42f80365d50f29359b0a4d682366646248b4939a2b291e821a0f8bdaae4cd2a' + """ hasher = hashlib.sha256() hasher.update(str(n_thing).encode()) return "_" + hasher.hexdigest() diff --git a/tests/Makefile b/tests/Makefile index eb3b2fc..8a0d176 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -28,6 +28,7 @@ all: \ all-casework.github.io \ check-CASE-Examples \ check-casework.github.io \ + check-doctest \ check-mypy \ clean-CASE-Examples \ clean-casework.github.io \ @@ -64,6 +65,7 @@ all-casework.github.io: \ check: \ check-mypy \ + check-doctest \ check-CASE-Examples \ check-casework.github.io @@ -79,6 +81,14 @@ check-casework.github.io: \ --directory casework.github.io/examples \ check +check-doctest: \ + .venv.done.log + source venv/bin/activate \ + && pytest \ + --doctest-modules \ + --log-level=DEBUG \ + $(top_srcdir)/case_prov + check-mypy: \ .venv.done.log source venv/bin/activate \ From e0026edbfa32c5ce04d11e9ab09479bfd39abeb4 Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Tue, 6 Jun 2023 23:25:22 -0400 Subject: [PATCH 08/15] Add and test function to convert XSD dateTimes to dateTimeStamps This function is added independently, without usage yet, to isolate test effects. No effects were observed on Make-managed files. Signed-off-by: Alex Nelson --- case_prov/__init__.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/case_prov/__init__.py b/case_prov/__init__.py index 139dc85..40a2fa9 100644 --- a/case_prov/__init__.py +++ b/case_prov/__init__.py @@ -12,3 +12,38 @@ # We would appreciate acknowledgement if the software is used. __version__ = "0.7.0" + +import datetime +import typing +import warnings + +import rdflib +from case_utils.namespace import NS_XSD + + +def xsd_datetime_to_xsd_datetimestamp( + l_literal: rdflib.term.Literal, + *args: typing.Any, + **kwargs: typing.Any, +) -> typing.Optional[rdflib.term.Literal]: + """ + This function converts a `rdflib.Literal` with datatype of xsd:dateTime to one with xsd:dateTimeStamp, unless the conditions of a dateTimeStamp can't be met (such as the input `rdflib.Literal` not having a timezone). + + >>> x = rdflib.Literal("2020-01-02T03:04:05", datatype=rdflib.XSD.dateTime) + >>> xsd_datetime_to_xsd_datetimestamp(x) # Note: returns None + >>> y = rdflib.Literal("2020-01-02T03:04:05Z", datatype=rdflib.XSD.dateTime) + >>> xsd_datetime_to_xsd_datetimestamp(y) + rdflib.term.Literal('2020-01-02T03:04:05+00:00', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#dateTimeStamp')) + >>> z = rdflib.Literal("2020-01-02T03:04:05+01:00", datatype=rdflib.XSD.dateTime) + >>> xsd_datetime_to_xsd_datetimestamp(z) + rdflib.term.Literal('2020-01-02T03:04:05+01:00', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#dateTimeStamp')) + """ + _datetime = l_literal.toPython() + if not isinstance(_datetime, datetime.datetime): + warnings.warn( + "Literal %r did not cast as datetime.datetime Python object." % l_literal + ) + return None + if _datetime.tzinfo is None: + return None + return rdflib.term.Literal(_datetime, datatype=NS_XSD.dateTimeStamp) From 931af455a613b9eba63bf48dc96609899d2f0590 Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Tue, 6 Jun 2023 23:28:28 -0400 Subject: [PATCH 09/15] Add and test function to report if a temporal interval ends This function is added independently, without usage yet, to isolate test effects. No effects were observed on Make-managed files. Signed-off-by: Alex Nelson --- case_prov/__init__.py | 178 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 177 insertions(+), 1 deletion(-) diff --git a/case_prov/__init__.py b/case_prov/__init__.py index 40a2fa9..9de298f 100644 --- a/case_prov/__init__.py +++ b/case_prov/__init__.py @@ -18,7 +18,183 @@ import warnings import rdflib -from case_utils.namespace import NS_XSD +from case_utils.namespace import NS_UCO_ACTION, NS_XSD + +NS_PROV = rdflib.PROV +NS_TIME = rdflib.TIME + +# This module returns sets of triples that might or might not be +# serialized into a graph. +# +# case_prov_dot augments the input graph with temporary triples that +# will not typically be serialized into a separate graph. (If +# requested, they will be serialized into a debug graph.) Because these +# temporary nodes only need to exist long enough to make a Dot source +# file, they are permitted to be blank nodes. The type used for this is +# `case_prov.TmpTriplesType`. Compare this with +# `case_prov_rdf.TmpPersistableTriplesType`, where blank nodes are +# excluded to avoid creating new nodes that would need to be reconciled +# later with mechanisms similar to `owl:sameAs`. +TmpTriplesType = typing.Set[ + typing.Tuple[rdflib.term.IdentifiedNode, rdflib.URIRef, rdflib.term.Node] +] + + +def interval_end_should_exist( + graph: rdflib.Graph, + n_interval: rdflib.term.IdentifiedNode, + *args: typing.Any, + **kwargs: typing.Any, +) -> typing.Optional[bool]: + """ + This function reviews the input graph to see if the requested interval uses a property that indicates an end is known to exist, such as a DatatypeProperty recording an ending timestamp, or a relationship with another interval that depends on a defined end. Inverse relationships are also reviewed. + :param n_interval: A RDFLib Node (URIRef or Blank Node) that represents a time:ProperInterval, prov:Activity, or uco-action:Action. + :returns: Returns True if an interval end is implied to exist. Returns None if existence can't be inferred with the information in the graph. In accordance with the Open World assumption, False is not currently returned. + + >>> g = rdflib.Graph() + >>> i = rdflib.BNode() + >>> j = rdflib.BNode() + >>> g.add((i, rdflib.TIME.intervalBefore, j)) + )> + >>> interval_end_should_exist(g, i) + True + >>> interval_end_should_exist(g, j) + >>> x = rdflib.BNode() + >>> y = rdflib.BNode() + >>> g.add((x, rdflib.TIME.intervalAfter, y)) + )> + >>> interval_end_should_exist(g, x) + >>> interval_end_should_exist(g, y) + True + >>> # Assert the two intervals with ends of previously unknown + >>> # existence are equal, which implies that while the ends are not + >>> # yet described absolutely in time-position, they are now known + >>> # to exist and be equal in time-position to one another. + >>> # The beginnings were already believed to exist, but now they + >>> # are also believed to be equal in time-position. + >>> g.add((j, rdflib.TIME.intervalEquals, x)) + )> + >>> interval_end_should_exist(g, j) + True + >>> interval_end_should_exist(g, x) + True + >>> # The general time:after relator implies the existence of an + >>> # ending instant when any temporal entity comes after an + >>> # interval. + >>> # Be aware that it is somewhat out of scope of this function to + >>> # determine if the nodes being related with time:before and + >>> # time:after are time:ProperIntervals. This information might + >>> # not always be available (e.g. it might require RDFS or OWL + >>> # inferencing first). + >>> i = rdflib.BNode() + >>> j = rdflib.BNode() + >>> _ = g.add((i, rdflib.RDF.type, rdflib.TIME.ProperInterval)) + >>> _ = g.add((j, rdflib.TIME.after, i)) + >>> interval_end_should_exist(g, i) + True + >>> i = rdflib.BNode() + >>> j = rdflib.BNode() + >>> _ = g.add((i, rdflib.RDF.type, rdflib.TIME.ProperInterval)) + >>> _ = g.add((i, rdflib.TIME.before, j)) + >>> interval_end_should_exist(g, i) + True + >>> # The remainder of this docstring shows how each OWL-Time time + >>> # interval relator affects whether an ending instant is + >>> # expected. + >>> # Note the "inverse" relators test j, following the notation of + >>> # this figure: + >>> # https://www.w3.org/TR/owl-time/#fig-thirteen-elementary-possible-relations-between-time-periods-af-97 + >>> i = rdflib.BNode() + >>> _ = g.add((i, rdflib.TIME.intervalBefore, rdflib.BNode())) + >>> interval_end_should_exist(g, i) + True + >>> i = rdflib.BNode() + >>> _ = g.add((i, rdflib.TIME.intervalMeets, rdflib.BNode())) + >>> interval_end_should_exist(g, i) + True + >>> i = rdflib.BNode() + >>> _ = g.add((i, rdflib.TIME.intervalOverlaps, rdflib.BNode())) + >>> interval_end_should_exist(g, i) + True + >>> i = rdflib.BNode() + >>> _ = g.add((i, rdflib.TIME.intervalStarts, rdflib.BNode())) + >>> interval_end_should_exist(g, i) + True + >>> i = rdflib.BNode() + >>> _ = g.add((i, rdflib.TIME.intervalDuring, rdflib.BNode())) + >>> interval_end_should_exist(g, i) + True + >>> i = rdflib.BNode() + >>> _ = g.add((i, rdflib.TIME.intervalFinishes, rdflib.BNode())) + >>> interval_end_should_exist(g, i) + True + >>> i = rdflib.BNode() + >>> _ = g.add((i, rdflib.TIME.intervalEquals, rdflib.BNode())) + >>> interval_end_should_exist(g, i) + True + >>> i = rdflib.BNode() + >>> _ = g.add((i, rdflib.TIME.intervalIn, rdflib.BNode())) + >>> interval_end_should_exist(g, i) + True + >>> i = rdflib.BNode() + >>> _ = g.add((i, rdflib.TIME.intervalDisjoint, rdflib.BNode())) + >>> interval_end_should_exist(g, i) + True + >>> j = rdflib.BNode() + >>> _ = g.add((j, rdflib.TIME.intervalAfter, rdflib.BNode())) + >>> interval_end_should_exist(g, j) + >>> j = rdflib.BNode() + >>> _ = g.add((j, rdflib.TIME.intervalMetBy, rdflib.BNode())) + >>> interval_end_should_exist(g, j) + >>> j = rdflib.BNode() + >>> _ = g.add((j, rdflib.TIME.intervalOverlappedBy, rdflib.BNode())) + >>> interval_end_should_exist(g, j) + >>> j = rdflib.BNode() + >>> _ = g.add((j, rdflib.TIME.intervalStartedBy, rdflib.BNode())) + >>> interval_end_should_exist(g, j) + >>> j = rdflib.BNode() + >>> _ = g.add((j, rdflib.TIME.intervalContains, rdflib.BNode())) + >>> interval_end_should_exist(g, j) + >>> j = rdflib.BNode() + >>> _ = g.add((j, rdflib.TIME.intervalFinishedBy, rdflib.BNode())) + >>> interval_end_should_exist(g, j) + True + >>> j = rdflib.BNode() + >>> _ = g.add((j, rdflib.TIME.intervalEquals, rdflib.BNode())) + >>> interval_end_should_exist(g, j) + True + """ + for n_predicate in { + NS_PROV.endedAtTime, + NS_TIME.before, + NS_TIME.intervalBefore, + NS_TIME.intervalDisjoint, + NS_TIME.intervalDuring, + NS_TIME.intervalEquals, + NS_TIME.intervalFinishedBy, + NS_TIME.intervalFinishes, + NS_TIME.intervalIn, + NS_TIME.intervalMeets, + NS_TIME.intervalOverlaps, + NS_TIME.intervalStarts, + NS_UCO_ACTION.endTime, + }: + for n_object in graph.objects(n_interval, n_predicate): + return True + for n_predicate in { + NS_TIME.after, + NS_TIME.intervalAfter, + NS_TIME.intervalContains, + NS_TIME.intervalEquals, + NS_TIME.intervalFinishedBy, + NS_TIME.intervalFinishes, + NS_TIME.intervalMetBy, + NS_TIME.intervalOverlappedBy, + NS_TIME.intervalStartedBy, + }: + for n_inverse_subject in graph.subjects(n_predicate, n_interval): + return True + return None def xsd_datetime_to_xsd_datetimestamp( From a7ac37ffaba5e4d8bd8e52fba2497d13515f7a05 Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Tue, 6 Jun 2023 23:31:28 -0400 Subject: [PATCH 10/15] Implement time interval boundary-based sorting This patch adds inferential analysis to define temporal interval boundaries and apply timeline sorting, both topologically and lexicographically. CASE Investigative Actions are already inferred by current `case_prov_rdf` and `case_prov_dot` practice to be PROV Activities. This patch takes inference further to interpret PROV Activities as OWL-Time Proper Intervals. Further, PROV Instantaneous Events are inferred to be OWL-Time Instants, and their relationships to Entities and Activities are used to establish topological order according to PROV (English) definitions. All OWL-Time Instants, and nodes inferred to be OWL-Time Instants, are assigned `xsd:dateTimeStamp` values in GMT (where possible) to enable a timeline based on lexicographic sorting. Figures' and tests' Makefiles are updated to add new graphs to display. A follow-on patch will regenerate Make-managed files, and track new figures. The last planned follow-on patch will add OWL-Time documentation to the top README. Signed-off-by: Alex Nelson --- README.md | 5 +- README_PyPI.md | 2 +- case_prov/__init__.py | 148 +- case_prov/case_prov_dot.py | 1186 ++++++++++++++++- case_prov/case_prov_rdf.py | 708 +++++++--- figures/Makefile | 52 +- .../illustrations/src/illustration.mk | 148 +- tests/Makefile | 1 - .../examples/src/example.mk | 117 ++ .../examples/urgent_evidence/Makefile | 17 +- 10 files changed, 2108 insertions(+), 276 deletions(-) diff --git a/README.md b/README.md index 3dd43e7..05b1887 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # CASE Implementation: PROV-O -This repository maps [CASE](https://caseontology.org/) to [W3C PROV-O](https://www.w3.org/TR/prov-o/), and provides a provenance review mechanism. Note that contrary to other CASE implementations, this maps CASE out to another data model, instead of mapping another data model or tool into CASE. +This repository maps [CASE](https://caseontology.org/) to [W3C PROV-O](https://www.w3.org/TR/prov-o/) and [OWL-Time](https://www.w3.org/TR/owl-time/), and provides a provenance review mechanism. Note that contrary to other CASE implementations, this maps CASE out to another data model, instead of mapping another data model or tool into CASE. ## Disclaimer @@ -118,7 +118,7 @@ The `case_prov_dot` module adopts the design vocabulary used by Trung Dong Huynh The version of `prov` that `case_prov_dot` draws its designs from is tracked as a Git submodule. This tracking is not for any purpose of importing code. The [`prov.dot` package](https://github.com/trungdong/prov/blob/2.0.0/src/prov/dot.py) is imported as a library for its styling dictionaries, though this CASE project implements its own dot-formatted render to implement some extending design decisions, some of which are specific to CASE concepts. -[Conventions provided by the W3C](https://www.w3.org/2011/prov/wiki/Diagrams) were found after initial design of this section. Color selection has not been compared, but directional flow has been adopted. Notably, **time flows from up to down**, and when compared, **left to right**. *(Note, though, that left-to-right temporal flow is not yet implemented.)* +[Conventions provided by the W3C](https://www.w3.org/2011/prov/wiki/Diagrams) were found after initial design of this section. Color selection has not been compared, but directional flow has been adopted. Notably, **time flows from up to down**, and "Arrows point 'back into the past.'" ### Departures from original visual-design vocabularies @@ -189,6 +189,7 @@ To illustrate the difference in projective capability of the subject CASE instan ![Qualified vs. unqualified relationship illustration](figures/readme-attribution.svg) + ## Licensing This repository is licensed under the Apache 2.0 License. See [LICENSE](LICENSE). diff --git a/README_PyPI.md b/README_PyPI.md index f375959..cbb0a56 100644 --- a/README_PyPI.md +++ b/README_PyPI.md @@ -1,5 +1,5 @@ # CASE Implementation: PROV-O -This repository maps [CASE](https://caseontology.org/) to [W3C PROV-O](https://www.w3.org/TR/prov-o/). Note that contrary to other CASE implementations, this maps CASE out to another data model, instead of mapping another data model or tool into CASE. +This repository maps [CASE](https://caseontology.org/) to [W3C PROV-O](https://www.w3.org/TR/prov-o/) and [OWL-Time](https://www.w3.org/TR/owl-time/). Note that contrary to other CASE implementations, this maps CASE out to another data model, instead of mapping another data model or tool into CASE. Full documentation is available at the [project homepage](https://github.com/casework/CASE-Implementation-PROV-O). diff --git a/case_prov/__init__.py b/case_prov/__init__.py index 9de298f..1df23a7 100644 --- a/case_prov/__init__.py +++ b/case_prov/__init__.py @@ -15,10 +15,13 @@ import datetime import typing +import uuid import warnings +import case_utils.inherent_uuid +import case_utils.local_uuid import rdflib -from case_utils.namespace import NS_UCO_ACTION, NS_XSD +from case_utils.namespace import NS_RDF, NS_UCO_ACTION, NS_XSD NS_PROV = rdflib.PROV NS_TIME = rdflib.TIME @@ -197,6 +200,149 @@ def interval_end_should_exist( return None +def infer_prov_instantaneous_influence_event( + in_graph: rdflib.Graph, + n_prov_thing: rdflib.term.IdentifiedNode, + n_predicate: rdflib.URIRef, + n_prov_related_thing: rdflib.term.IdentifiedNode, + rdf_namespace: rdflib.Namespace, + *args: typing.Any, + use_deterministic_uuids: bool = False, + **kwargs: typing.Any, +) -> typing.Tuple[rdflib.term.IdentifiedNode, TmpTriplesType]: + """ + PROV InstantaneousEvents that are also Influences need to be defined inhering in the two things related by the unqualified property. + + :returns: Returns a node N matching the pattern 'n_prov_thing n_predicate N', as well as a supplemental set of triples. If a node N is not found in the graph, a node is created and linked in the supplemental triples; hence the length of the supplemental triples being >0 can be used as an indicator that the node was created. + """ + slug = { + NS_PROV.qualifiedCommunication: "Communication-", + NS_PROV.qualifiedDerivation: "Derivation-", + NS_PROV.qualifiedGeneration: "Generation-", + NS_PROV.qualifiedInvalidation: "Invalidation-", + NS_PROV.qualifiedUsage: "Usage-", + }[n_predicate] + + ret_triples: TmpTriplesType = set() + n_instantaneous_event: typing.Optional[rdflib.IdentifiedNode] = None + for n_value in in_graph.objects(n_prov_thing, n_predicate): + assert isinstance(n_value, rdflib.term.IdentifiedNode) + n_instantaneous_event = n_value + break + if n_instantaneous_event is None: + # Define event node. + if isinstance(n_prov_thing, rdflib.URIRef) and isinstance( + n_prov_related_thing, rdflib.URIRef + ): + if use_deterministic_uuids: + prov_thing_uuid_namespace = case_utils.inherent_uuid.inherence_uuid( + n_prov_thing + ) + predicated_uuid_namespace = uuid.uuid5( + prov_thing_uuid_namespace, str(n_predicate) + ) + node_uuid = str( + uuid.uuid5(predicated_uuid_namespace, str(n_prov_related_thing)) + ) + else: + node_uuid = case_utils.local_uuid.local_uuid() + n_instantaneous_event = rdf_namespace[slug + node_uuid] + else: + n_instantaneous_event = rdflib.BNode() + # Link event node. + ret_triples.add((n_prov_thing, n_predicate, n_instantaneous_event)) + # Type event node. + n_instantaneous_event_type = { + NS_PROV.qualifiedCommunication: NS_PROV.Communication, + NS_PROV.qualifiedDerivation: NS_PROV.Derivation, + NS_PROV.qualifiedGeneration: NS_PROV.Generation, + NS_PROV.qualifiedInvalidation: NS_PROV.Invalidation, + NS_PROV.qualifiedUsage: NS_PROV.Usage, + }[n_predicate] + ret_triples.add( + (n_instantaneous_event, NS_RDF.type, n_instantaneous_event_type) + ) + # Port timestamp to event node. + if n_instantaneous_event_type == NS_PROV.Generation: + for l_object in in_graph.objects(n_prov_thing, NS_PROV.generatedAtTime): + assert isinstance(l_object, rdflib.Literal) + ret_triples.add((n_instantaneous_event, NS_PROV.atTime, l_object)) + elif n_instantaneous_event_type == NS_PROV.Invalidation: + for l_object in in_graph.objects(n_prov_thing, NS_PROV.invalidatedAtTime): + assert isinstance(l_object, rdflib.Literal) + ret_triples.add((n_instantaneous_event, NS_PROV.atTime, l_object)) + # Link provenentially-tied node to event node. + n_inherent_influence_predicate = { + NS_PROV.qualifiedCommunication: NS_PROV.activity, + NS_PROV.qualifiedDerivation: NS_PROV.entity, + NS_PROV.qualifiedGeneration: NS_PROV.activity, + NS_PROV.qualifiedInvalidation: NS_PROV.activity, + NS_PROV.qualifiedUsage: NS_PROV.entity, + }[n_predicate] + ret_triples.add( + ( + n_instantaneous_event, + n_inherent_influence_predicate, + n_prov_related_thing, + ) + ) + return (n_instantaneous_event, ret_triples) + + +def infer_interval_terminus( + in_graph: rdflib.Graph, + n_proper_interval: rdflib.term.IdentifiedNode, + n_predicate: rdflib.URIRef, + rdf_namespace: rdflib.Namespace, + *args: typing.Any, + use_deterministic_uuids: bool = False, + **kwargs: typing.Any, +) -> typing.Tuple[typing.Optional[rdflib.term.IdentifiedNode], TmpTriplesType]: + """ + :returns: Returns a node N matching the pattern 'n_proper_interval n_predicate N', as well as a supplemental set of triples. If a node N is not found in the graph, and a node should exist (which is relevant when considering ends), a node is created and linked in the supplemental triples; hence the length of the supplemental triples being >0 can be used as an indicator that the node was created. If the requested property indicates a search for an end, the graph is first reviewed to see if an end should exist. + """ + slug = { + NS_PROV.qualifiedEnd: "End-", + NS_PROV.qualifiedStart: "Start-", + NS_TIME.hasBeginning: "Instant-", + NS_TIME.hasEnd: "Instant-", + }[n_predicate] + + # See if we should even check for an end. + if n_predicate in {NS_PROV.qualifiedEnd, NS_TIME.hasEnd}: + if not interval_end_should_exist(in_graph, n_proper_interval): + return (None, set()) + + ret_triples: TmpTriplesType = set() + n_terminus: typing.Optional[rdflib.IdentifiedNode] = None + for n_value in in_graph.objects(n_proper_interval, n_predicate): + assert isinstance(n_value, rdflib.term.IdentifiedNode) + n_terminus = n_value + break + if n_terminus is None: + # Define instant node. + if isinstance(n_proper_interval, rdflib.URIRef): + uuid_namespace = case_utils.inherent_uuid.inherence_uuid(n_proper_interval) + if use_deterministic_uuids: + node_uuid = str(uuid.uuid5(uuid_namespace, str(n_predicate))) + else: + node_uuid = case_utils.local_uuid.local_uuid() + n_terminus = rdf_namespace[slug + node_uuid] + else: + n_terminus = rdflib.BNode() + # Link instant node. + ret_triples.add((n_proper_interval, n_predicate, n_terminus)) + # Type instant node. + n_instant_type = { + NS_PROV.qualifiedEnd: NS_PROV.End, + NS_PROV.qualifiedStart: NS_PROV.Start, + NS_TIME.hasBeginning: NS_TIME.Instant, + NS_TIME.hasEnd: NS_TIME.Instant, + }[n_predicate] + ret_triples.add((n_terminus, NS_RDF.type, n_instant_type)) + return (n_terminus, ret_triples) + + def xsd_datetime_to_xsd_datetimestamp( l_literal: rdflib.term.Literal, *args: typing.Any, diff --git a/case_prov/case_prov_dot.py b/case_prov/case_prov_dot.py index 27b9203..47eeee5 100644 --- a/case_prov/case_prov_dot.py +++ b/case_prov/case_prov_dot.py @@ -13,6 +13,12 @@ """ This script renders PROV-O elements of a graph according to the graphic design elements suggested by the PROV-O documentation page, Figure 1. + +Any temporal ordering among the visible nodes is included as hidden (unless --display-time-links is passed) edges to impose topological, and generally downward-displaying, ordering. This sorting assumes the non-normative alignment of TIME and PROV-O, available at: + +https://github.com/w3c/sdw/blob/gh-pages/time/rdf/time-prov.ttl + +prov:Activities and uco-action:Actions are further assumed to be time:ProperIntervals. """ # TODO - The label adjustment with "ID - " is a hack. A hyphen forces @@ -31,15 +37,20 @@ import os import textwrap import typing +import uuid +import case_utils.local_uuid import prov.constants # type: ignore import prov.dot # type: ignore import pydot # type: ignore import rdflib.plugins.sparql -from case_utils.namespace import NS_CASE_INVESTIGATION, NS_RDFS, NS_UCO_CORE +from case_utils.namespace import NS_CASE_INVESTIGATION, NS_RDF, NS_RDFS, NS_UCO_CORE + +import case_prov _logger = logging.getLogger(os.path.basename(__file__)) +NS_EPHEMERAL = rdflib.Namespace("urn:example:ephemeral:") NS_PROV = rdflib.PROV NS_TIME = rdflib.TIME @@ -67,6 +78,52 @@ def clone_style(prov_constant: rdflib.URIRef) -> typing.Dict[str, str]: return retval +def get_interval_boundary_instants( + graph: rdflib.Graph, + n_interval: rdflib.term.IdentifiedNode, + beginning: bool, + *args: typing.Any, + **kwargs: typing.Any, +) -> typing.Set[rdflib.term.IdentifiedNode]: + """ + This method is designed to be compatible with owl:sameAs. + """ + n_boundary_instants: typing.Set[rdflib.term.IdentifiedNode] = set() + n_predicate = NS_TIME.hasBeginning if beginning else NS_TIME.hasEnd + for n_object in graph.objects(n_interval, n_predicate): + assert isinstance(n_object, rdflib.term.IdentifiedNode) + n_boundary_instants.add(n_object) + return n_boundary_instants + + +def get_beginnings( + graph: rdflib.Graph, + n_interval: rdflib.term.IdentifiedNode, + *args: typing.Any, + **kwargs: typing.Any, +) -> typing.Set[rdflib.term.IdentifiedNode]: + """ + Get all instants asserted to be the beginning of the requested time:Interval. + + This method is designed to be compatible with owl:sameAs. + """ + return get_interval_boundary_instants(graph, n_interval, True) + + +def get_ends( + graph: rdflib.Graph, + n_interval: rdflib.term.IdentifiedNode, + *args: typing.Any, + **kwargs: typing.Any, +) -> typing.Set[rdflib.term.IdentifiedNode]: + """ + Get all instants asserted to be the end of the requested time:Interval. + + This method is designed to be compatible with owl:sameAs. + """ + return get_interval_boundary_instants(graph, n_interval, False) + + def iri_to_gv_node_id(n_thing: rdflib.term.IdentifiedNode) -> str: """ This function returns a string safe to use as a Dot node identifier. The main concern addressed is Dot syntax errors caused by use of colons in IRIs. @@ -80,14 +137,490 @@ def iri_to_gv_node_id(n_thing: rdflib.term.IdentifiedNode) -> str: return "_" + hasher.hexdigest() +def linked_temporal_entities( + graph: rdflib.Graph, + n_predicate: rdflib.URIRef, + n_inverse_predicate: typing.Optional[rdflib.URIRef] = None, +) -> typing.Set[typing.Tuple[rdflib.term.IdentifiedNode, rdflib.term.IdentifiedNode]]: + """ + Get all time:TemporalEntitys linked by the requested predicate. The inverse, if supplied, will augment the returned set as though the inverse were OWL-expanded in the graph. + """ + linked_temporal_entities: typing.Set[ + typing.Tuple[rdflib.term.IdentifiedNode, rdflib.term.IdentifiedNode] + ] = set() + for triple in graph.triples((None, n_predicate, None)): + assert isinstance(triple[0], rdflib.term.IdentifiedNode) + assert isinstance(triple[2], rdflib.term.IdentifiedNode) + linked_temporal_entities.add((triple[0], triple[2])) + if n_inverse_predicate is not None: + for triple in graph.triples((None, n_inverse_predicate, None)): + assert isinstance(triple[0], rdflib.term.IdentifiedNode) + assert isinstance(triple[2], rdflib.term.IdentifiedNode) + linked_temporal_entities.add((triple[2], triple[0])) + return linked_temporal_entities + + +def expand_prov_activities_with_owl_time( + graph: rdflib.Graph, + ns_kb: rdflib.Namespace, + use_deterministic_uuids: bool, + *args: typing.Any, + debug_graph_fh: typing.Optional[typing.TextIO] = None, + **kwargs: typing.Any, +) -> None: + """ + This procedure takes a graph and guarantees all time:ProperIntervals have reified Instant nodes as their beginnings and ends. Following guidance from the non-normative time-prov alignment, prov:Activities are also inferred to be time:ProperIntervals, and prov:InstantaneousEvents (especially prov:Start and prov:End nodes) are inferred to be time:Instants. prov:startedAtTime and prov:endedAtTime are used to infer time:Instant nodes as a last fallback. + + While most of this is done with SPARQL CONSTRUCT queries, there is a step in converting from xsd:dateTime to xsd:dateTimeStamp that, at this time, appears to require data validation that is more difficult to perform in SPARQL than in Python. + """ + + debug_graph = rdflib.Graph() + + def _dump_augments( + tmp_triples: typing.Union[rdflib.Graph, case_prov.TmpTriplesType] + ) -> None: + """ + Macro: Copy tmp_triples into graph and debug graph. + """ + _logger.debug("len(tmp_triples) = %d.", len(tmp_triples)) + if isinstance(tmp_triples, rdflib.Graph): + for triple in tmp_triples.triples((None, None, None)): + graph.add(triple) + debug_graph.add(triple) + else: + for triple in tmp_triples: + # _logger.debug("triple = %r.", triple) + graph.add(triple) + debug_graph.add(triple) + + def _build_augments_from_query(query: str) -> None: + # _logger.debug("query = %r.", query) + tmp_triples: case_prov.TmpTriplesType = set() + for result in graph.query(query): + # _logger.debug(result) + assert isinstance(result, tuple) + assert isinstance(result[0], rdflib.term.IdentifiedNode) + assert isinstance(result[1], rdflib.URIRef) + assert isinstance(result[2], rdflib.term.Node) + tmp_triples.add((result[0], result[1], result[2])) + _dump_augments(tmp_triples) + + # Do some manual domain inference. (This subroutine depends on + # prov:Activity types being explicit for some queries binding new + # blank nodes.) + query = """\ +CONSTRUCT { + ?nActivity a prov:Activity . +} +WHERE { + { ?nActivity prov:endedAtTime ?x . } + UNION + { ?nActivity prov:qualifiedEnd ?x . } + UNION + { ?nActivity prov:qualifiedStart ?x . } + UNION + { ?nActivity prov:startedAtTime ?x . } +} +""" + _build_augments_from_query(query) + + n_activities: typing.Set[rdflib.term.IdentifiedNode] = set() + for n_subject in graph.subjects(NS_RDF.type, NS_PROV.Activity): + assert isinstance(n_subject, rdflib.term.IdentifiedNode) + n_activities.add(n_subject) + + # Ensure each prov:Activity has qualifiedStart---and where + # appropriate, qualifiedEnd---populated. + + # Extend existing TIME individuals into PROV qualified Starts and + # Ends. + query = """\ +CONSTRUCT { + ?nActivity prov:qualifiedStart ?nInstantaneousEvent . + ?nInstantaneousEvent a prov:Start . +} +WHERE { + FILTER NOT EXISTS { + ?nActivity prov:qualifiedStart ?nStart . + } + ?nActivity time:hasBeginning ?nInstantaneousEvent . +} +""" + _build_augments_from_query(query) + + query = """\ +CONSTRUCT { + ?nActivity prov:qualifiedEnd ?nInstantaneousEvent . + ?nInstantaneousEvent a prov:End . +} +WHERE { + FILTER NOT EXISTS { + ?nActivity prov:qualifiedEnd ?nEnd . + } + ?nActivity time:hasEnd ?nInstantaneousEvent . +} +""" + _build_augments_from_query(query) + + # Guarantee all prov:Activities have a qualified Start node, and if + # there is an indicator they end, an End node. + + for n_activity in sorted(n_activities): + (_, start_graph) = case_prov.infer_interval_terminus( + graph, + n_activity, + NS_PROV.qualifiedStart, + ns_kb, + use_deterministic_uuids=use_deterministic_uuids, + ) + _dump_augments(start_graph) + del start_graph + + if case_prov.interval_end_should_exist(graph, n_activity): + (_, end_graph) = case_prov.infer_interval_terminus( + graph, + n_activity, + NS_PROV.qualifiedEnd, + ns_kb, + use_deterministic_uuids=use_deterministic_uuids, + ) + _dump_augments(end_graph) + del end_graph + + def _fail_on_find(query: str) -> None: + for result in graph.query(query): + _logger.debug(query) + _logger.debug(result) + raise ValueError("Found result indicating process failure.") + + query = """\ +SELECT ?nActivity +WHERE { + ?nActivity a prov:Activity . + FILTER NOT EXISTS { + ?nActivity prov:qualifiedStart ?nStart . + } +} +""" + _fail_on_find(query) + + # Do TIME-PROV entailments. + + # First, entail superclasses, which is what RDFS inferencing would + # devise with these axioms: + # + # prov:Activity + # rdfs:subClassOf time:ProperInterval ; + # . + # prov:InstantaneousEvent + # rdfs:subClassOf time:Instant ; + # . + # + query = """\ +CONSTRUCT { + ?nActivity a time:ProperInterval . +} WHERE { + ?nActivity a prov:Activity . +} +""" + _build_augments_from_query(query) + + # This includes one level of PROV-based RDFS entailment, based on + # the five explicit subclasses of prov:InstantaneousEvent. + query = """\ +CONSTRUCT { + ?nInstantaneousEvent a time:Instant . +} WHERE { + { ?nInstantaneousEvent a prov:InstantaneousEvent . } + UNION + { ?nInstantaneousEvent a prov:End . } + UNION + { ?nInstantaneousEvent a prov:Generation . } + UNION + { ?nInstantaneousEvent a prov:Invalidation . } + UNION + { ?nInstantaneousEvent a prov:Start . } + UNION + { ?nInstantaneousEvent a prov:Usage . } +} +""" + _build_augments_from_query(query) + + # Augment links between prov:Activities and their Starts and Ends + # with corresponding predicates from TIME. + # This is what RDFS inference would devise with these axioms: + # + # prov:qualifiedEnd + # rdfs:subPropertyOf time:hasEnd ; + # . + # prov:qualifiedStart + # rdfs:subPropertyOf time:hasBeginning ; + # . + # + query = """\ +CONSTRUCT { + ?nActivity + time:hasBeginning ?nStart ; + time:hasEnd ?nEnd ; + . +} +WHERE { + ?nActivity prov:qualifiedStart ?nStart . + OPTIONAL { + ?nActivity prov:qualifiedEnd ?nEnd . + } +} +""" + _build_augments_from_query(query) + + # Find all time:Instants without inXSDDateTimeStamp populated, and + # assign values based on available data. + + def _build_datetimestamp_augments_from_query(query: str) -> None: + _logger.debug("query = %r.", query) + tmp_triples: case_prov.TmpTriplesType = set() + for result in graph.query(query): + assert isinstance(result, rdflib.query.ResultRow) + assert isinstance(result[0], rdflib.term.IdentifiedNode) + assert isinstance(result[1], rdflib.term.Literal) + l_datetimestamp = case_prov.xsd_datetime_to_xsd_datetimestamp(result[1]) + if l_datetimestamp is not None: + tmp_triples.add( + ( + result[0], + NS_TIME.inXSDDateTimeStamp, + l_datetimestamp, + ) + ) + _dump_augments(tmp_triples) + + # Find from prov literal values in Event. + query = """\ +SELECT ?nStart ?lAtTime +WHERE { + ?nStart prov:atTime ?lAtTime . + FILTER NOT EXISTS { + ?nStart time:inXSDDateTimeStamp ?lDateTimeStamp . + } +} +""" + _build_datetimestamp_augments_from_query(query) + + query = """\ +SELECT ?nEnd ?lAtTime +WHERE { + ?nEnd prov:atTime ?lAtTime . + FILTER NOT EXISTS { + ?nEnd time:inXSDDateTimeStamp ?lDateTimeStamp . + } +} +""" + _build_datetimestamp_augments_from_query(query) + + # Find from prov literal values on Activity. + query = """\ +SELECT ?nStart ?lStartedAtTime +WHERE { + ?nActivity prov:startedAtTime ?lStartedAtTime . + ?nActivity time:hasBeginning ?nStart . + FILTER NOT EXISTS { + ?nStart time:inXSDDateTimeStamp ?lDateTimeStamp . + } +} +""" + _build_datetimestamp_augments_from_query(query) + + query = """\ +SELECT ?nEnd ?lEndedAtTime +WHERE { + ?nActivity prov:endedAtTime ?lEndedAtTime . + ?nActivity time:hasEnd ?nEnd . + FILTER NOT EXISTS { + ?nEnd time:inXSDDateTimeStamp ?lDateTimeStamp . + } +} +""" + _build_datetimestamp_augments_from_query(query) + + n_proper_intervals: typing.Set[rdflib.term.IdentifiedNode] = set() + for n_subject in graph.subjects(NS_RDF.type, NS_TIME.ProperInterval): + assert isinstance(n_subject, rdflib.term.IdentifiedNode) + n_proper_intervals.add(n_subject) + + # For remaining time:ProperIntervals, guarantee they have beginning + # and, if appropriate, ending nodes. + for n_proper_interval in sorted(n_proper_intervals): + (_, start_graph) = case_prov.infer_interval_terminus( + graph, + n_proper_interval, + NS_TIME.hasBeginning, + ns_kb, + use_deterministic_uuids=use_deterministic_uuids, + ) + _dump_augments(start_graph) + del start_graph + + if case_prov.interval_end_should_exist(graph, n_proper_interval): + (_, end_graph) = case_prov.infer_interval_terminus( + graph, + n_proper_interval, + NS_TIME.hasEnd, + ns_kb, + use_deterministic_uuids=use_deterministic_uuids, + ) + _dump_augments(end_graph) + del end_graph + + # Infer time:inside relationships for Entities' InstantaneousEvents. + + query = """\ +CONSTRUCT { + ?nActivity time:inside ?nGeneration . +} +WHERE { + ?nGeneration + a prov:Generation ; + prov:activity ?nActivity ; + . +} +""" + _build_augments_from_query(query) + + query = """\ +CONSTRUCT { + ?nActivity time:inside ?nInvalidation . +} +WHERE { + ?nInvalidation + a prov:Invalidation ; + prov:activity ?nActivity ; + . +} +""" + _build_augments_from_query(query) + + query = """\ +CONSTRUCT { + ?nActivity time:inside ?nUsage . +} +WHERE { + ?nActivity + prov:qualifiedUsage ?nUsage ; + . +} +""" + _build_augments_from_query(query) + + # Infer "Witness" Instants for the three pairs of interval relations + # that are visually affected by the latter interval having an ending + # or not. E.g., take Overlaps(i,j): + # + # i_b i i_e + # |---------------| + # j_b j j_e + # |---------------| + # xxxxxxxxxxx + # + # If the end of interval j (j_e) does not exist---say, because an + # Activity is known to not have ended yet---then the rendered + # Instant i_e cannot be related to anything about j except for j_b. + # But because the assertion Overlaps(i,j) is in the graph, a + # "witness" instant somewhere in j is known to exist and follow i_e, + # somewhere in the region illustrated above with 'x's. + + def _define_witnesses( + n_terminus_instant: rdflib.term.IdentifiedNode, + n_wrapping_interval: rdflib.term.IdentifiedNode, + n_relating_predicate: rdflib.term.URIRef, + ) -> case_prov.TmpTriplesType: + tmp_triples: case_prov.TmpTriplesType = set() + n_witness: rdflib.term.IdentifiedNode + if isinstance(n_terminus_instant, rdflib.URIRef) and isinstance( + n_wrapping_interval, rdflib.URIRef + ): + if use_deterministic_uuids: + base_uuid_namespace = case_utils.inherent_uuid.inherence_uuid( + n_wrapping_interval + ) + uuid_namespace = base_uuid_namespace + for n_thing in [ + n_relating_predicate, + n_terminus_instant, + NS_TIME.after, + ]: + uuid_namespace = uuid.uuid5(uuid_namespace, n_thing) + node_uuid = str(uuid_namespace) + else: + node_uuid = case_utils.local_uuid.local_uuid() + n_witness = ns_kb["Instant-" + node_uuid] + else: + n_witness = rdflib.BNode() + tmp_triples.add((n_witness, NS_RDF.type, NS_TIME.Instant)) + tmp_triples.add((n_witness, NS_RDF.type, NS_EPHEMERAL.WitnessInstant)) + tmp_triples.add((n_wrapping_interval, NS_TIME.inside, n_witness)) + tmp_triples.add((n_witness, NS_TIME.after, n_terminus_instant)) + tmp_triples.add((n_witness, NS_EPHEMERAL.witnesses, n_terminus_instant)) + return tmp_triples + + witness_tmp_triples: case_prov.TmpTriplesType = set() + for n_predicate, n_inverse_predicate in [ + (NS_TIME.intervalOverlaps, NS_TIME.intervalOverlappedBy), + (NS_TIME.intervalStarts, NS_TIME.intervalStartedBy), + (NS_TIME.intervalDuring, NS_TIME.intervalContains), + ]: + for n_interval_i, n_interval_j in sorted( + linked_temporal_entities(graph, n_predicate, n_inverse_predicate) + ): + n_instant_j_es = get_ends(graph, n_interval_j) + if len(n_instant_j_es) == 0: + # Interval j has no end. Define "witness" Instants that + # follows the end(s) of i. + n_instant_i_es = get_ends(graph, n_interval_i) + for n_instant_i_e in sorted(n_instant_i_es): + predicate_tmp_triples = _define_witnesses( + n_instant_i_e, n_interval_j, n_predicate + ) + witness_tmp_triples |= predicate_tmp_triples + _dump_augments(witness_tmp_triples) + + if debug_graph_fh is not None: + debug_graph_fh.write(debug_graph.serialize(format="longturtle")) + + def main() -> None: parser = argparse.ArgumentParser() parser.add_argument("--debug", action="store_true") + parser.add_argument("--debug-graph", type=argparse.FileType("x")) parser.add_argument( "--dash-unqualified", action="store_true", help="Use dash-style edges for graph nodes not also related by qualifying Influences.", ) + parser.add_argument( + "--display-time-intervals", + action="store_true", + help="Display time:ProperIntervals whether or not they are `prov:Activity`s. Without this flag, intervals are present for on-canvas sorting, but invisible.", + ) + parser.add_argument( + "--display-time-links", + action="store_true", + help="Use dotted-style edges for graph nodes linked by time: relations. Without this flag, time links are present for on-canvas sorting, but invisible. Implies --display-time-intervals.", + ) + parser.add_argument( + "--kb-iri", + default="http://example.org/kb/", + help="Fallback IRI to use for the knowledge base namespace.", + ) + parser.add_argument( + "--kb-prefix", + default="kb", + help="Knowledge base prefix for compacted IRI form. If this prefix is already in the input graph, --kb-iri will be ignored.", + ) + parser.add_argument( + "--use-deterministic-uuids", + action="store_true", + help="Use UUIDs computed using the case_utils.inherent_uuid module. This will stabilize generated Dot output when time:Instants are inferred.", + ) parser.add_argument( "--query-ancestry", help="Visualize the ancestry of the nodes returned by the SPARQL query in this file. Query must be a SELECT that returns non-blank nodes.", @@ -129,15 +662,28 @@ def main() -> None: logging.basicConfig(level=logging.DEBUG if args.debug else logging.INFO) + case_utils.local_uuid.configure() + graph = rdflib.Graph() for in_graph_filename in args.in_graph: graph.parse(in_graph_filename) graph.bind("case-investigation", NS_CASE_INVESTIGATION) graph.bind("prov", NS_PROV) + graph.bind("time", NS_TIME) nsdict = {k: v for (k, v) in graph.namespace_manager.namespaces()} + # Determine knowledge base prefix for new inherent nodes. + if args.kb_prefix in nsdict: + NS_KB = rdflib.Namespace(nsdict[args.kb_prefix]) + elif args.kb_iri in nsdict.values(): + NS_KB = rdflib.Namespace(args.kb_iri) + else: + NS_KB = rdflib.Namespace(args.kb_iri) + + use_deterministic_uuids = args.use_deterministic_uuids is True + # Add a few axioms from PROV-O. graph.add((NS_PROV.Collection, NS_RDFS.subClassOf, NS_PROV.Entity)) graph.add((NS_PROV.Person, NS_RDFS.subClassOf, NS_PROV.Agent)) @@ -145,12 +691,15 @@ def main() -> None: # The rest of this script follows this flow: # S1. Build the sets of PROV Things. - # S2. Build the ways in which PROV Things that will be displayed - # will be displayed [sic.]. - # S3. Build the sets of Things to display. This is done after - # building how-to-display details in S2 in order to reuse query - # results from S2. - # S4. Load the Things that will be displayed into a Pydot Graph. + # S2. Build the sets of TIME Things. + # S3. Build the ways in which Things that will be displayed will be + # displayed [sic.]. + # S3.1. Build for PROV Things. + # S3.2. Build for TIME Things. + # S4. Build the sets of Things to display. This is done after + # building how-to-display details in S3 in order to reuse query + # results from S3. + # S5. Load the Things that will be displayed into a Pydot Graph. # S1. # Define sets of instances of the "Starting Point" PROV classes, @@ -238,6 +787,48 @@ def main() -> None: _logger.debug("len(n_prov_basis_things) = %d.", len(n_prov_basis_things)) # S2. + # Define the sets of TIME Things. + + # Expand the PROV things to also be TIME things. + # Infer boundary Instants for time:ProperIntervals. + expand_prov_activities_with_owl_time( + graph, NS_KB, use_deterministic_uuids, debug_graph_fh=args.debug_graph + ) + + # "Interval" in variable names within this script is shorthand for + # time:ProperInterval. + n_instants: typing.Set[rdflib.term.IdentifiedNode] = set() + n_intervals: typing.Set[rdflib.term.IdentifiedNode] = set() + + # Some instants are the beginning or end of a time:ProperInterval, + # and will be rendered differently from other instants that will + # otherwise be inside intervals. + # Likewise, prov:Entitys will render similarly with their Generation + # and Invalidation events. + n_terminus_instants: typing.Set[rdflib.term.IdentifiedNode] = set() + + for n_subject in graph.subjects(NS_RDF.type, NS_TIME.Instant): + assert isinstance(n_subject, rdflib.term.IdentifiedNode) + n_instants.add(n_subject) + + for n_subject in graph.subjects(NS_RDF.type, NS_TIME.ProperInterval): + assert isinstance(n_subject, rdflib.term.IdentifiedNode) + n_intervals.add(n_subject) + for n_predicate in {NS_TIME.hasBeginning, NS_TIME.hasEnd}: + for n_object in graph.objects(n_subject, n_predicate): + assert isinstance(n_object, rdflib.term.IdentifiedNode) + n_terminus_instants.add(n_object) + + for n_instantaneous_event_type in {NS_PROV.Generation, NS_PROV.Invalidation}: + for n_subject in graph.subjects(NS_RDF.type, n_instantaneous_event_type): + assert isinstance(n_subject, rdflib.term.IdentifiedNode) + n_terminus_instants.add(n_subject) + + _logger.debug("len(n_intervals) = %d.", len(n_intervals)) + _logger.debug("len(n_instants) = %d.", len(n_instants)) + _logger.debug("len(n_terminus_instants) = %d.", len(n_terminus_instants)) + + # S3. # Define dicts to hold 1-to-manies of various string Literals - # comments, labels, names, descriptions, and exhibit numbers. These # Literals will be rendered into the Dot label string. @@ -275,6 +866,7 @@ def main() -> None: assert isinstance(triple[2], rdflib.Literal) n_uco_object_to_l_uco_name[triple[0]].add(triple[2]) + # S3.1. # Stash display data for PROV Things. # SPARQL queries are used to find these PROV classes rather than the @@ -782,21 +1374,350 @@ def _render_edges( ) _logger.debug("len(edges) = %d.", len(edges)) - # S3. + # S3.2. + # Stash display data for TIME Things. + + # The set time_edge_node_pairs stores ordered pairs of + # `time:TemporalEntity`s that precede each other in logical sequence. + # I.e. (X,Y) being in the set means X sequentiallyPrecedes Y. Here + # is how Instants and Intervals work with sequentiallyPrecedes: + # * An Instant sequentiallyPrecedes all Instants inside an Interval + # after the Interval's beginning Instant. + # * All Instants inside an interval before the Interval's ending + # Instant sequentiallyPrecede an Instant. + # * An Interval X sequentiallyPrecedes an Interval Y if and only if + # one of the "Allen algebra" relations Before(X,Y), Meets(X,Y), + # After(Y,X), or MetBy(Y,X) are true. + # This definition is similar to `time:before`, except for the + # boundary condition: Before(T_1,T_2) states "the end of T_1 is + # before the beginning of T_2". SequentiallyPrecedes(T_1,T_2) (with + # T_1 and Instant, T_2 an Interval) lets T_1 potentially be equal to + # the beginning of T_2. + time_edge_node_pairs: typing.Set[ + typing.Tuple[rdflib.term.IdentifiedNode, rdflib.term.IdentifiedNode] + ] = set() + + # These variables are "subscripted" i and j in keeping with Figure 2 + # on the OWL-Time documentation page: + # https://www.w3.org/TR/2022/CRD-owl-time-20221115/#fig-thirteen-elementary-possible-relations-between-time-periods-af-97 + # The further "subscripts" b and e are interval beginnings and + # endings. + n_instant_i_b: typing.Optional[rdflib.term.IdentifiedNode] + n_instant_i_e: typing.Optional[rdflib.term.IdentifiedNode] + n_instant_j_b: typing.Optional[rdflib.term.IdentifiedNode] + n_instant_j_e: typing.Optional[rdflib.term.IdentifiedNode] + n_interval_i: rdflib.term.IdentifiedNode + n_interval_j: rdflib.term.IdentifiedNode + + # Sequence all Intervals with their boundary Instants. + for n_interval in n_intervals: + for n_object in graph.objects(n_interval, NS_TIME.hasBeginning): + assert isinstance(n_object, rdflib.term.IdentifiedNode) + time_edge_node_pairs.add((n_object, n_interval)) + for n_object in graph.objects(n_interval, NS_TIME.hasEnd): + assert isinstance(n_object, rdflib.term.IdentifiedNode) + time_edge_node_pairs.add((n_interval, n_object)) + + # Add tooltips for instants of intervals that aren't PROV + # Activities. (These tooltips are already kind-of provided by an + # above loop for Activities.) + for n_interval in n_intervals - n_activities: + # Add to tooltips of associated Instants. + for n_predicate, template in { + (NS_TIME.hasBeginning, "Beginning of %s"), + (NS_TIME.hasEnd, "End of %s"), + }: + for n_instant in graph.objects(n_interval, n_predicate): + assert isinstance(n_instant, rdflib.term.IdentifiedNode) + n_instant_to_tooltips[n_instant].add(template % n_interval) + # _logger.debug("n_instant_to_tooltips = %s." % pprint.pformat(n_instant_to_tooltips)) + for triple in graph.triples((None, NS_EPHEMERAL.witnesses, None)): + assert isinstance(triple[0], rdflib.term.IdentifiedNode) + assert isinstance(triple[2], rdflib.term.IdentifiedNode) + n_witness = triple[0] + n_terminus_instant = triple[2] + for n_subject in graph.subjects(NS_TIME.inside, n_witness): + n_instant_to_tooltips[n_witness].add( + "Instant in %s known to follow %s." % (n_subject, n_terminus_instant) + ) + + # Loop through the thirteen Allen Algebra relations. Using + # relationship-inverses, they break down into seven logic blocks. + + for n_interval_i, n_interval_j in linked_temporal_entities( + graph, NS_TIME.intervalBefore, NS_TIME.intervalAfter + ): + n_instant_i_bs = get_beginnings(graph, n_interval_i) + n_instant_i_es = get_ends(graph, n_interval_i) + n_instant_j_bs = get_beginnings(graph, n_interval_j) + n_instant_j_es = get_ends(graph, n_interval_j) + for n_instant_i_b in n_instant_i_bs: + time_edge_node_pairs.add((n_instant_i_b, n_interval_i)) + for n_instant_i_e in n_instant_i_es: + time_edge_node_pairs.add((n_interval_i, n_instant_i_e)) + for n_instant_j_b in n_instant_j_bs: + time_edge_node_pairs.add((n_instant_j_b, n_interval_j)) + for n_instant_j_e in n_instant_j_es: + time_edge_node_pairs.add((n_interval_j, n_instant_j_e)) + for n_instant_i_e in n_instant_i_es: + for n_instant_j_b in n_instant_j_bs: + time_edge_node_pairs.add((n_instant_i_e, n_instant_j_b)) + + for n_interval_i, n_interval_j in linked_temporal_entities( + graph, NS_TIME.intervalMeets, NS_TIME.intervalMetBy + ): + n_instant_i_bs = get_beginnings(graph, n_interval_i) + n_instant_i_es = get_ends(graph, n_interval_i) + n_instant_j_bs = get_beginnings(graph, n_interval_j) + n_instant_j_es = get_ends(graph, n_interval_j) + for n_instant_i_b in n_instant_i_bs: + time_edge_node_pairs.add((n_instant_i_b, n_interval_i)) + for n_instant_j_e in n_instant_j_es: + time_edge_node_pairs.add((n_interval_j, n_instant_j_e)) + for n_instant_joint in n_instant_i_es | n_instant_j_bs: + time_edge_node_pairs.add((n_interval_i, n_instant_joint)) + time_edge_node_pairs.add((n_instant_joint, n_interval_j)) + + for n_interval_i, n_interval_j in linked_temporal_entities( + graph, NS_TIME.intervalOverlaps, NS_TIME.intervalOverlappedBy + ): + n_instant_i_bs = get_beginnings(graph, n_interval_i) + n_instant_i_es = get_ends(graph, n_interval_i) + n_instant_j_bs = get_beginnings(graph, n_interval_j) + n_instant_j_es = get_ends(graph, n_interval_j) + for n_instant_i_b in n_instant_i_bs: + time_edge_node_pairs.add((n_instant_i_b, n_interval_i)) + for n_instant_i_e in n_instant_i_es: + time_edge_node_pairs.add((n_interval_i, n_instant_i_e)) + for n_instant_j_b in n_instant_j_bs: + time_edge_node_pairs.add((n_instant_j_b, n_interval_j)) + for n_instant_j_e in n_instant_j_es: + time_edge_node_pairs.add((n_interval_j, n_instant_j_e)) + for n_instant_j_b in n_instant_j_bs: + for n_instant_i_e in n_instant_i_es: + time_edge_node_pairs.add((n_instant_j_b, n_instant_i_e)) + + for n_interval_i, n_interval_j in linked_temporal_entities( + graph, NS_TIME.intervalStarts, NS_TIME.intervalStartedBy + ): + n_instant_i_bs = get_beginnings(graph, n_interval_i) + n_instant_i_es = get_ends(graph, n_interval_i) + n_instant_j_bs = get_beginnings(graph, n_interval_j) + n_instant_j_es = get_ends(graph, n_interval_j) + for n_instant_joint in n_instant_i_bs | n_instant_j_bs: + time_edge_node_pairs.add((n_instant_joint, n_interval_i)) + time_edge_node_pairs.add((n_instant_joint, n_interval_j)) + for n_instant_i_e in n_instant_i_es: + time_edge_node_pairs.add((n_interval_i, n_instant_i_e)) + for n_instant_j_e in n_instant_j_es: + time_edge_node_pairs.add((n_interval_j, n_instant_j_e)) + for n_instant_i_e in n_instant_i_es: + for n_instant_j_e in n_instant_j_es: + time_edge_node_pairs.add((n_instant_i_e, n_instant_j_e)) + + for n_interval_i, n_interval_j in linked_temporal_entities( + graph, NS_TIME.intervalDuring, NS_TIME.intervalContains + ): + n_instant_i_bs = get_beginnings(graph, n_interval_i) + n_instant_i_es = get_ends(graph, n_interval_i) + n_instant_j_bs = get_beginnings(graph, n_interval_j) + n_instant_j_es = get_ends(graph, n_interval_j) + for n_instant_i_b in n_instant_i_bs: + time_edge_node_pairs.add((n_instant_i_b, n_interval_i)) + for n_instant_i_e in n_instant_i_es: + time_edge_node_pairs.add((n_interval_i, n_instant_i_e)) + for n_instant_j_b in n_instant_j_bs: + time_edge_node_pairs.add((n_instant_j_b, n_interval_j)) + for n_instant_j_e in n_instant_j_es: + time_edge_node_pairs.add((n_interval_j, n_instant_j_e)) + for n_instant_j_b in n_instant_j_bs: + for n_instant_i_b in n_instant_i_bs: + time_edge_node_pairs.add((n_instant_j_b, n_instant_i_b)) + for n_instant_i_e in n_instant_i_es: + for n_instant_j_e in n_instant_j_es: + time_edge_node_pairs.add((n_instant_i_e, n_instant_j_e)) + + for n_interval_i, n_interval_j in linked_temporal_entities( + graph, NS_TIME.intervalFinishes, NS_TIME.intervalFinishedBy + ): + n_instant_i_bs = get_beginnings(graph, n_interval_i) + n_instant_i_es = get_ends(graph, n_interval_i) + n_instant_j_bs = get_beginnings(graph, n_interval_j) + n_instant_j_es = get_ends(graph, n_interval_j) + for n_instant_i_b in n_instant_i_bs: + time_edge_node_pairs.add((n_instant_i_b, n_interval_i)) + for n_instant_j_b in n_instant_j_bs: + time_edge_node_pairs.add((n_instant_j_b, n_interval_j)) + for n_instant_joint in n_instant_i_es | n_instant_j_es: + time_edge_node_pairs.add((n_interval_i, n_instant_joint)) + time_edge_node_pairs.add((n_interval_j, n_instant_joint)) + for n_instant_j_b in n_instant_j_bs: + for n_instant_i_b in n_instant_i_bs: + time_edge_node_pairs.add((n_instant_j_b, n_instant_i_b)) + + for n_interval_i, n_interval_j in linked_temporal_entities( + graph, NS_TIME.intervalEquals + ): + n_instant_i_bs = get_beginnings(graph, n_interval_i) + n_instant_i_es = get_ends(graph, n_interval_i) + n_instant_j_bs = get_beginnings(graph, n_interval_j) + n_instant_j_es = get_ends(graph, n_interval_j) + for n_instant_joint in n_instant_i_bs | n_instant_j_bs: + time_edge_node_pairs.add((n_instant_joint, n_interval_i)) + time_edge_node_pairs.add((n_instant_joint, n_interval_j)) + for n_instant_joint in n_instant_i_es | n_instant_j_es: + time_edge_node_pairs.add((n_interval_i, n_instant_joint)) + time_edge_node_pairs.add((n_interval_j, n_instant_joint)) + + # Consider PROV Entities to have a temporal sequencing related to + # their Generation and Invalidation events. + # Entities' Usages can also be related to their Generation and + # Invalidation events. + + for triple in graph.triples((None, NS_PROV.qualifiedGeneration, None)): + assert isinstance(triple[0], rdflib.URIRef) + assert isinstance(triple[2], rdflib.term.IdentifiedNode) + n_entity = triple[0] + n_generation = triple[2] + time_edge_node_pairs.add((n_generation, n_entity)) + for n_object in graph.objects(n_entity, NS_PROV.qualifiedUsage): + assert isinstance(n_object, rdflib.term.IdentifiedNode) + n_usage = n_object + time_edge_node_pairs.add((n_generation, n_usage)) + + for triple in graph.triples((None, NS_PROV.qualifiedInvalidation, None)): + assert isinstance(triple[0], rdflib.URIRef) + assert isinstance(triple[2], rdflib.term.IdentifiedNode) + n_entity = triple[0] + n_invalidation = triple[2] + time_edge_node_pairs.add((n_entity, n_invalidation)) + for n_object in graph.objects(n_entity, NS_PROV.qualifiedUsage): + assert isinstance(n_object, rdflib.term.IdentifiedNode) + n_usage = n_object + time_edge_node_pairs.add((n_usage, n_invalidation)) + + # time:inside relates Intervals to Instants within them. Note that + # even though an Instant inside an Interval is defined in TIME as + # 'intended to include beginnings and ends of intervals,' we can + # infer a discrete order between the Interval's starting and ending + # Instants and the Instant inside the interval, if the Interval is + # also a PROV Activity: + # + # * The definition of `prov:Start` includes "Any usage, generation, + # or invalidation involving an activity follows the activity's + # start." (And likewise for `prov:End`: those + # `prov:InstantaneousEvent`s precede the `prov:End` Instant.) + # * A `time:Instant` asserted to be inside this `prov:Activity` is + # consistent with the `prov:Activity` being aligned with + # `time:ProperInterval` (as opposed to `time:Interval`s that can + # be 0-length). + for triple in graph.triples((None, NS_TIME.inside, None)): + assert isinstance(triple[0], rdflib.term.IdentifiedNode) + assert isinstance(triple[2], rdflib.term.IdentifiedNode) + n_interval = triple[0] + if n_interval not in n_activities: + continue + n_interval_bs = get_beginnings(graph, n_interval) + n_interval_es = get_ends(graph, n_interval) + + n_instant = triple[2] + + for n_interval_b in n_interval_bs: + time_edge_node_pairs.add((n_interval_b, n_instant)) + time_edge_node_pairs.add((n_interval_b, n_interval)) + for n_interval_e in n_interval_es: + time_edge_node_pairs.add((n_instant, n_interval_e)) + time_edge_node_pairs.add((n_interval, n_interval_e)) + + # Sequence time:before and time:after, which will mean handling the + # mixes of `time:Instant`s and `time:Interval`s. + # _logger.debug( + # "len(_linked_temporal_entities(NS_TIME.before, NS_TIME.after)) = %d.", + # len(_linked_temporal_entities(NS_TIME.before, NS_TIME.after)), + # ) + for n_entity_i, n_entity_j in linked_temporal_entities( + graph, NS_TIME.before, NS_TIME.after + ): + n_type_i: rdflib.URIRef + n_type_j: rdflib.URIRef + + if (n_entity_i, NS_RDF.type, NS_TIME.Instant) in graph: + n_type_i = NS_TIME.Instant + elif (n_entity_i, NS_RDF.type, NS_TIME.ProperInterval) in graph: + n_type_i = NS_TIME.ProperInterval + else: + continue + + if (n_entity_j, NS_RDF.type, NS_TIME.Instant) in graph: + n_type_j = NS_TIME.Instant + elif (n_entity_j, NS_RDF.type, NS_TIME.ProperInterval) in graph: + n_type_j = NS_TIME.ProperInterval + else: + continue + + if n_type_i == NS_TIME.Instant and n_type_j == NS_TIME.Instant: + time_edge_node_pairs.add((n_entity_i, n_entity_j)) + elif n_type_i == NS_TIME.Instant and n_type_j == NS_TIME.ProperInterval: + n_instant = n_entity_i + n_interval = n_entity_j + n_interval_bs = get_beginnings(graph, n_interval) + for n_interval_b in n_interval_bs: + time_edge_node_pairs.add((n_instant, n_interval_b)) + time_edge_node_pairs.add((n_interval_b, n_interval)) + elif n_type_i == NS_TIME.ProperInterval and n_type_j == NS_TIME.Instant: + n_instant = n_entity_j + n_interval = n_entity_i + n_interval_es = get_ends(graph, n_interval) + for n_interval_e in n_interval_es: + time_edge_node_pairs.add((n_interval_e, n_instant)) + time_edge_node_pairs.add((n_interval, n_interval_e)) + elif n_type_i == NS_TIME.ProperInterval and n_type_j == NS_TIME.ProperInterval: + n_instant_i_bs = get_beginnings(graph, n_entity_i) + n_instant_i_es = get_ends(graph, n_entity_i) + n_instant_j_bs = get_beginnings(graph, n_entity_j) + n_instant_j_es = get_ends(graph, n_entity_j) + for n_instant_i_b in n_instant_i_bs: + time_edge_node_pairs.add((n_instant_i_b, n_entity_i)) + for n_instant_i_e in n_instant_i_es: + time_edge_node_pairs.add((n_entity_i, n_instant_i_e)) + for n_instant_j_b in n_instant_j_bs: + time_edge_node_pairs.add((n_instant_j_b, n_entity_j)) + for n_instant_j_e in n_instant_j_es: + time_edge_node_pairs.add((n_entity_j, n_instant_j_e)) + for n_instant_i_e in n_instant_i_es: + for n_instant_j_b in n_instant_j_bs: + time_edge_node_pairs.add((n_instant_i_e, n_instant_j_b)) + else: + _logger.info("n_type_i = %s.", n_type_i) + _logger.info("n_type_j = %s.", n_type_j) + raise NotImplementedError("Unimplemented combination of node types.") + + for triple in graph.triples((None, NS_EPHEMERAL.witnesses, None)): + assert isinstance(triple[0], rdflib.term.IdentifiedNode) + assert isinstance(triple[2], rdflib.term.IdentifiedNode) + n_witness = triple[0] + n_terminus_instant = triple[2] + time_edge_node_pairs.add((n_terminus_instant, n_witness)) + + # S4. # Build the sets of Things to include in the display. # Each of these sets will be built up, rather than started maximally # and reduced down. - # If no filtering is requested, all PROV Things are included. + # If no filtering is requested, all PROV and TIME Things are + # included. # If any filtering is requested, the set of Things to display is - # reduced from the universe of all PROV things. The PROV things are - # reduced by: + # reduced from the universe of all PROV things and TIME things. + # The PROV things are reduced by: # - The union of the chains of communication, delegation, and - # derivation, referred to as "the chain of influence" in this - # script; + # derivation, referred to as "the chain of influence" in this script; # - Intersected with the chain of all histories of the requested set # of terminal Things, referred to as "the chain of ancestry" in # this script. + # The TIME Things are then reduced by ties to the remaining PROV + # Things. + n_prov_things_to_display: typing.Set[rdflib.term.IdentifiedNode] = set() + n_time_things_to_display: typing.Set[rdflib.term.IdentifiedNode] = set() reduce_by_prov_chain_of_ancestry: bool = False if args.entity_ancestry or args.query_ancestry or args.from_empty_set: @@ -954,7 +1875,8 @@ def _render_edges( # Build chain of influence. # Include Things that are in the PROV base class, but not chained, - # so they can be displayed as unchained. + # so they can be displayed as unchained. In the case of Activities, + # they might still be temporally sorted, if not chained. # This code is brief thanks to relying on PROV edges defined above. for n_thing_1 in edges: n_prov_things_in_chain_of_influence.add(n_thing_1) @@ -982,7 +1904,129 @@ def _render_edges( # "n_prov_things_to_display = %s.", pprint.pformat(n_prov_things_to_display) # ) - # S4. + if reduce_by_prov_chain_of_ancestry or reduce_by_prov_chain_of_influence: + + def _add_time_things_of_activity( + n_activity: rdflib.term.IdentifiedNode, + ) -> None: + # _logger.debug("_add_time_things_of_activity(%r)", n_activity) + for n_predicate in { + NS_TIME.hasBeginning, + NS_TIME.hasEnd, + }: + for n_instant in graph.objects(n_activity, n_predicate): + # _logger.debug("n_instant = %r.", n_instant) + assert isinstance(n_instant, rdflib.term.IdentifiedNode) + n_time_things_to_display.add(n_instant) + for n_predicate in { + NS_PROV.qualifiedEnd, + NS_PROV.qualifiedStart, + }: + for n_entity_influence in graph.objects(n_activity, n_predicate): + # _logger.debug("n_entity_influence = %r.", n_entity_influence) + assert isinstance(n_entity_influence, rdflib.term.IdentifiedNode) + n_time_things_to_display.add(n_entity_influence) + for n_entity in graph.objects(n_entity_influence, NS_PROV.entity): + # Note - Entity is not added. + assert isinstance(n_entity, rdflib.term.IdentifiedNode) + _add_time_things_of_entity(n_entity) + + def _add_time_things_of_entity(n_entity: rdflib.term.IdentifiedNode) -> None: + # _logger.debug("_add_time_things_of_entity(%r)", n_entity) + for n_predicate in { + NS_PROV.qualifiedGeneration, + NS_PROV.qualifiedInvalidation, + NS_PROV.qualifiedUsage, + }: + for n_activity_influence in graph.objects(n_entity, n_predicate): + assert isinstance(n_activity_influence, rdflib.term.IdentifiedNode) + n_time_things_to_display.add(n_activity_influence) + for n_activity in graph.objects( + n_activity_influence, NS_PROV.activity + ): + # Note - Activity is not added. + assert isinstance(n_activity, rdflib.term.IdentifiedNode) + _add_time_things_of_activity(n_activity) + + if include_activities: + # _logger.debug( + # "len(n_activities & n_prov_things_to_display) = %d.", + # len(n_activities & n_prov_things_to_display), + # ) + for n_activity in n_activities & n_prov_things_to_display: + n_time_things_to_display.add(n_activity) + _add_time_things_of_activity(n_activity) + + if include_agents: + # TODO - No design has been considered yet for timelining + # delegations. + pass + + if include_entities: + for n_entity in n_entities & n_prov_things_to_display: + n_time_things_to_display.add(n_entity) + _add_time_things_of_entity(n_entity) + + _logger.debug( + "len(n_time_things_to_display) = %d.", len(n_time_things_to_display) + ) + # _logger.debug( + # "n_time_things_to_display = %s.", pprint.pformat(n_time_things_to_display) + # ) + else: + n_time_things_to_display = n_instants | n_intervals + + # Sort Instants within the things-to-display set by their timestamp + # value. + # Include in the sorting the granularity of the timestamp. An + # Instant specified to the minute might or might not be before one + # specified to the same minute with seconds included. + n_instants_orderer: typing.DefaultDict[ + int, + typing.DefaultDict[ + str, + typing.Set[rdflib.term.IdentifiedNode], + ], + ] = collections.defaultdict(lambda: collections.defaultdict(set)) + for n_instant in n_instants & n_time_things_to_display: + for l_datetimestamp in graph.objects(n_instant, NS_TIME.inXSDDateTimeStamp): + assert isinstance(l_datetimestamp, rdflib.Literal) + s_datetimestamp = str(l_datetimestamp) + if s_datetimestamp[-1] == "Z": + zulu_dts = s_datetimestamp[:-1] + elif s_datetimestamp[-3] == ":": + if s_datetimestamp[-5:] == "00:00": + zulu_dts = s_datetimestamp[:-6] + "Z" + else: + # TODO: Convert non-GMT timestamps to GMT. + continue + n_instants_orderer[len(zulu_dts)][zulu_dts].add(n_instant) + # _logger.debug("n_instants_orderer = %s.", pprint.pformat(n_instants_orderer)) + for timestamp_length in sorted(n_instants_orderer.keys()): + # _logger.debug(" timestamp_length = %d.", timestamp_length) + n_prior_zulu_dts_instants: typing.Set[rdflib.term.IdentifiedNode] = set() + for zulu_dts in sorted(n_instants_orderer[timestamp_length]): + # _logger.debug(" zulu_dts = %s.", zulu_dts) + # _logger.debug( + # " n_prior_zulu_dts_instants = %r.", n_prior_zulu_dts_instants + # ) + n_current_zulu_dts_instants = n_instants_orderer[timestamp_length][zulu_dts] + # _logger.debug( + # " n_current_zulu_dts_instants = %r.", n_current_zulu_dts_instants + # ) + for n_prior_zulu_dts_instant in n_prior_zulu_dts_instants: + for n_current_zulu_dts_instant in n_current_zulu_dts_instants: + # _logger.debug( + # " %r -> %r", + # n_prior_zulu_dts_instant, + # n_current_zulu_dts_instant, + # ) + time_edge_node_pairs.add( + (n_prior_zulu_dts_instant, n_current_zulu_dts_instant) + ) + n_prior_zulu_dts_instants = n_current_zulu_dts_instants + + # S5. # Load the Things that will be displayed into a Pydot Graph. dot_graph = pydot.Dot("PROV-O render", graph_type="digraph", rankdir="BT") @@ -1008,45 +2052,91 @@ def _render_edges( dot_edge = pydot.Edge(node_id_1, node_id_2, **kwargs) dot_graph.add_edge(dot_edge) - # Include any temporal ordering among the filtered nodes as hidden edges to impose ordering. - # This sorting assumes the non-normative alignment of TIME and PROV-O, available at: - # https://github.com/w3c/sdw/blob/gh-pages/time/rdf/time-prov.ttl - invisible_edge_node_pairs: typing.Set[ - typing.Tuple[rdflib.URIRef, rdflib.URIRef] - ] = set() - order: str - for n_predicate, order in { - (NS_TIME.after, "rtl"), - (NS_TIME.before, "ltr"), - (NS_TIME.intervalAfter, "rtl"), - (NS_TIME.intervalBefore, "ltr"), - }: - for triple in graph.triples((None, n_predicate, None)): - if not isinstance(triple[0], rdflib.URIRef): - continue - if not isinstance(triple[2], rdflib.URIRef): - continue - if triple[0] not in n_prov_things_to_display: - continue - if triple[2] not in n_prov_things_to_display: - continue + # Render time:Instants. + for n_instant in sorted(n_instants & n_time_things_to_display): + node_id = iri_to_gv_node_id(n_instant) + # _logger.debug("%r -> %r", n_instant, node_id) + style = "filled" if args.display_time_links else "invis" + instant_kwargs = { + "color": "dimgray", + "fillcolor": "lightgray", + "shape": "point", + "style": style, + } + if n_instant in n_instant_to_tooltips: + instant_kwargs["tooltip"] = " ;\n".join( + sorted(n_instant_to_tooltips[n_instant]) + ) + else: + # This will only occur for time:Instants in the input that + # aren't related to the provenance chains. + _logger.debug("Instant did not have tooltips: %r.", n_instant) + dot_node = pydot.Node( + node_id, + **instant_kwargs, + ) + dot_graph.add_node(dot_node) - if order == "ltr": - invisible_edge_node_pairs.add((triple[0], triple[2])) - else: - invisible_edge_node_pairs.add((triple[2], triple[0])) - _logger.debug( - "len(invisible_edge_node_pairs) = %d.", len(invisible_edge_node_pairs) - ) - for invisible_edge_node_pair in invisible_edge_node_pairs: - node_id_1 = iri_to_gv_node_id(invisible_edge_node_pair[0]) - node_id_2 = iri_to_gv_node_id(invisible_edge_node_pair[1]) + display_time_intervals = args.display_time_intervals or args.display_time_links + + # Render time:ProperIntervals that are not prov:Activities. + for n_interval in sorted((n_intervals - n_activities) & n_time_things_to_display): + # Build label. + dot_label_parts = ["ID - " + graph.namespace_manager.qname(n_interval), "\n"] + _annotate_name(n_interval, dot_label_parts) + _annotate_labels(n_interval, dot_label_parts) + _annotate_descriptions(n_interval, dot_label_parts) + _annotate_comments(n_interval, dot_label_parts) + dot_label = "".join(dot_label_parts) + + style = "dotted" if display_time_intervals else "invis" + dot_node = pydot.Node( + iri_to_gv_node_id(n_interval), + color="dimgray", + fillcolor="lightgray", + label=dot_label, + shape="box", + style=style, + tooltip="ID - " + str(n_interval), + ) + dot_graph.add_node(dot_node) + + # Use union of PROV and TIME things to display to determine which + # strictly-temporal edges will be rendered. This covers cases where + # e.g. a PROV Entity is display-sequenced after its Generation event. + n_things_to_display = n_prov_things_to_display | n_time_things_to_display + + n_time_boundable_things = (n_intervals | n_entities) & n_things_to_display + + # _logger.debug("len(time_edge_node_pairs) = %d.", len(time_edge_node_pairs)) + # _logger.debug("time_edge_node_pairs = %s.", pprint.pformat(time_edge_node_pairs)) + for time_edge_node_pair in sorted(time_edge_node_pairs): + if time_edge_node_pair[0] not in n_things_to_display: + continue + if time_edge_node_pair[1] not in n_things_to_display: + continue + node_id_1 = iri_to_gv_node_id(time_edge_node_pair[0]) + node_id_2 = iri_to_gv_node_id(time_edge_node_pair[1]) + style = "dotted" if args.display_time_links else "invis" + relator_kwargs = { + "color": "dimgray", + "style": style, + } + if time_edge_node_pair[0] in n_terminus_instants: + if time_edge_node_pair[1] in n_time_boundable_things: + relator_kwargs["arrowhead"] = "tee" + relator_kwargs["arrowtail"] = "none" + if time_edge_node_pair[1] in n_terminus_instants: + if time_edge_node_pair[0] in n_time_boundable_things: + relator_kwargs["arrowhead"] = "none" + relator_kwargs["arrowtail"] = "tee" + relator_kwargs["dir"] = "back" # Edge direction is "backwards" in time, favoring use of the # "inverse" Allen relationship. This is so time will flow # downwards with the case_prov_dot chart directionality. This # is in alignment with the PROV-O edges' directions being in # direction of dependency (& thus reverse of time flow). - dot_edge = pydot.Edge(node_id_2, node_id_1, style="invis") + dot_edge = pydot.Edge(node_id_2, node_id_1, **relator_kwargs) dot_graph.add_edge(dot_edge) dot_graph.write_raw(args.out_dot) diff --git a/case_prov/case_prov_rdf.py b/case_prov/case_prov_rdf.py index 846db44..3d4b065 100644 --- a/case_prov/case_prov_rdf.py +++ b/case_prov/case_prov_rdf.py @@ -12,7 +12,7 @@ # We would appreciate acknowledgement if the software is used. """ -This script executes CONSTRUCT queries, returning a supplemental graph. +This script executes CONSTRUCT queries and other data translation, returning a supplemental graph. """ __version__ = "0.3.1" @@ -35,11 +35,32 @@ NS_UCO_IDENTITY, ) +import case_prov + from . import queries _logger = logging.getLogger(os.path.basename(__file__)) NS_PROV = rdflib.PROV +NS_TIME = rdflib.TIME + +# This script augments the input graph with temporary triples that will +# be serialized into a separate graph. Some nodes that would be created +# as part of the augmentation (e.g. inferred `prov:InstantaneousEvent`s) +# might already be defined in the input graph as blank nodes. To avoid +# reliance on `owl:sameAs`, this script does not create extra IRI +# references to attempt to supplant those blank nodes. +# Because this script is not updating the original graph directly (i.e. +# because the updates are written to a separate file), updates based on +# blank nodes will not persist and link correctly, and thus are excluded +# from the augmentations. Compare this type with +# `case_prov_dot.TmpTriplesType`, where blank nodes are included in +# visualization-rendering logic. +TmpPersistableTriplesType = typing.Set[ + typing.Tuple[ + rdflib.URIRef, rdflib.URIRef, typing.Union[rdflib.URIRef, rdflib.Literal] + ] +] def main() -> None: @@ -96,6 +117,8 @@ def main() -> None: NS_KB = rdflib.Namespace(args.kb_iri) out_graph.bind(args.kb_prefix, NS_KB) + use_deterministic_uuids = args.use_deterministic_uuids is True + # Resource file loading c/o https://stackoverflow.com/a/20885799 query_filenames = [] for resource_filename in importlib.resources.contents(queries): @@ -111,6 +134,8 @@ def main() -> None: n_entity: rdflib.URIRef # Generate inherent nodes. + # These graph augmentations are order-independent of the CONSTRUCT + # queries for the unqualified PROV predicates. n_actions: typing.Set[rdflib.URIRef] = set() for n_action in in_graph.subjects( NS_RDF.type, NS_CASE_INVESTIGATION.InvestigativeAction @@ -118,45 +143,40 @@ def main() -> None: assert isinstance(n_action, rdflib.URIRef) n_actions.add(n_action) for n_action in sorted(n_actions): - assert isinstance(n_action, rdflib.URIRef) + if not isinstance(n_action, rdflib.URIRef): + continue action_inherence_uuid = case_utils.inherent_uuid.inherence_uuid(n_action) - # Generate Ends. - n_end: typing.Optional[rdflib.IdentifiedNode] = None - for n_value in in_graph.objects(n_action, NS_PROV.qualifiedEnd): - assert isinstance(n_value, rdflib.term.IdentifiedNode) - n_end = n_value - if n_end is None: - if args.use_deterministic_uuids: - end_uuid = str( - uuid.uuid5(action_inherence_uuid, str(NS_PROV.qualifiedEnd)) - ) - else: - end_uuid = case_utils.local_uuid.local_uuid() - n_end = NS_KB["End-" + end_uuid] - out_graph.add((n_action, NS_PROV.qualifiedEnd, n_end)) - out_graph.add((n_end, NS_RDF.type, NS_PROV.End)) - for l_object in in_graph.objects(n_action, NS_UCO_ACTION.endTime): - out_graph.add((n_end, NS_PROV.atTime, l_object)) - # Generate Starts. - n_start: typing.Optional[rdflib.IdentifiedNode] = None - for n_value in in_graph.objects(n_action, NS_PROV.qualifiedStart): - assert isinstance(n_value, rdflib.term.IdentifiedNode) - n_start = n_value - if n_start is None: - if args.use_deterministic_uuids: - start_uuid = str( - uuid.uuid5(action_inherence_uuid, str(NS_PROV.qualifiedStart)) - ) - else: - start_uuid = case_utils.local_uuid.local_uuid() - n_start = NS_KB["Start-" + start_uuid] - out_graph.add((n_action, NS_PROV.qualifiedStart, n_start)) - out_graph.add((n_start, NS_RDF.type, NS_PROV.Start)) + (n_start, inference_triples) = case_prov.infer_interval_terminus( + in_graph, + n_action, + NS_PROV.qualifiedStart, + NS_KB, + use_deterministic_uuids=use_deterministic_uuids, + ) + if isinstance(n_start, rdflib.URIRef): + out_graph += inference_triples for l_object in in_graph.objects(n_action, NS_UCO_ACTION.startTime): + assert isinstance(l_object, rdflib.Literal) out_graph.add((n_start, NS_PROV.atTime, l_object)) + # Generate Ends, if there's a sign an end should exist. + if case_prov.interval_end_should_exist(in_graph, n_action): + (n_end, inference_triples) = case_prov.infer_interval_terminus( + in_graph, + n_action, + NS_PROV.qualifiedEnd, + NS_KB, + use_deterministic_uuids=use_deterministic_uuids, + ) + if isinstance(n_end, rdflib.URIRef): + out_graph += inference_triples + for l_object in in_graph.objects(n_action, NS_UCO_ACTION.endTime): + assert isinstance(l_object, rdflib.Literal) + out_graph.add((n_end, NS_PROV.atTime, l_object)) + + # Generate Associations. qualified_association_uuid_namespace = uuid.uuid5( action_inherence_uuid, str(NS_PROV.qualifiedAssociation) ) @@ -169,18 +189,34 @@ def main() -> None: assert isinstance(_n_agent, rdflib.URIRef) _n_agents.add(_n_agent) for n_agent in sorted(_n_agents): - if args.use_deterministic_uuids: - association_uuid = str( - uuid.uuid5(qualified_association_uuid_namespace, str(n_agent)) + n_association: typing.Optional[rdflib.term.IdentifiedNode] = None + # See if Association between this Action and Agent + # exists before trying to create one. + for n_object in in_graph.objects( + n_action, NS_PROV.qualifiedAssociation + ): + assert isinstance(n_object, rdflib.term.IdentifiedNode) + for triple in in_graph.triples((n_object, NS_PROV.agent, n_agent)): + n_association = n_object + if n_association is None: + if use_deterministic_uuids: + association_uuid = str( + uuid.uuid5( + qualified_association_uuid_namespace, str(n_agent) + ) + ) + else: + association_uuid = case_utils.local_uuid.local_uuid() + n_association = NS_KB["Association-" + association_uuid] + out_graph.add( + (n_action, NS_PROV.qualifiedAssociation, n_association) ) - else: - association_uuid = case_utils.local_uuid.local_uuid() - n_association = NS_KB["Association-" + association_uuid] - out_graph.add((n_action, NS_PROV.qualifiedAssociation, n_association)) - out_graph.add((n_association, NS_RDF.type, NS_PROV.Association)) - out_graph.add((n_association, NS_PROV.agent, n_agent)) - - # A uco-action:Action may have at most one performer, and any number of instruments. + out_graph.add((n_association, NS_RDF.type, NS_PROV.Association)) + out_graph.add((n_association, NS_PROV.agent, n_agent)) + + # Generate Delegations. + # A uco-action:Action may have at most one performer, and any + # number of instruments. qualified_delegation_uuid_namespace = uuid.uuid5( action_inherence_uuid, str(NS_PROV.qualifiedDelegation) ) @@ -189,22 +225,40 @@ def main() -> None: qualified_delegation_uuid_namespace, str(n_performer) ) for n_instrument in in_graph.objects(n_action, NS_UCO_ACTION.instrument): - if args.use_deterministic_uuids: - delegation_uuid = str( - uuid.uuid5( - delegation_for_performer_uuid_namespace, str(n_instrument) + n_delegation: typing.Optional[rdflib.term.IdentifiedNode] = None + # See if Delegation between this Instrument and Performer + # exists before trying to create one. + for n_object in in_graph.objects( + n_instrument, NS_PROV.qualifiedDelegation + ): + assert isinstance(n_object, rdflib.term.IdentifiedNode) + for triple0 in in_graph.triples( + (n_object, NS_PROV.agent, n_performer) + ): + for triple1 in in_graph.triples( + (n_object, NS_PROV.hadActivity, n_action) + ): + n_delegation = n_object + if n_delegation is None: + if use_deterministic_uuids: + delegation_uuid = str( + uuid.uuid5( + delegation_for_performer_uuid_namespace, + str(n_instrument), + ) ) + else: + delegation_uuid = case_utils.local_uuid.local_uuid() + n_delegation = NS_KB["Delegation-" + delegation_uuid] + out_graph.add( + (n_instrument, NS_PROV.qualifiedDelegation, n_delegation) ) - else: - delegation_uuid = case_utils.local_uuid.local_uuid() - n_delegation = NS_KB["Delegation-" + delegation_uuid] - out_graph.add((n_instrument, NS_PROV.qualifiedDelegation, n_delegation)) - out_graph.add((n_delegation, NS_RDF.type, NS_PROV.Delegation)) - out_graph.add((n_delegation, NS_PROV.agent, n_performer)) - out_graph.add((n_delegation, NS_PROV.hadActivity, n_action)) - - # Run all supplementing CONSTRUCT queries. - tally = 0 + out_graph.add((n_delegation, NS_RDF.type, NS_PROV.Delegation)) + out_graph.add((n_delegation, NS_PROV.agent, n_performer)) + out_graph.add((n_delegation, NS_PROV.hadActivity, n_action)) + + # Run all entailing CONSTRUCT queries. + case_entailment_tally = 0 for query_filename in query_filenames: _logger.debug("Running query in %r." % query_filename) construct_query_text = importlib.resources.read_text(queries, query_filename) @@ -217,25 +271,33 @@ def main() -> None: for row_no, row in enumerate(construct_query_result): if row_no == 0: _logger.debug("row[0] = %r." % (row,)) - tally = row_no + 1 + case_entailment_tally = row_no + 1 # TODO: Handle type review with implementation to RDFLib Issue 2283. # https://github.com/RDFLib/rdflib/issues/2283 out_graph.add(row) # type: ignore - if tally == 0: - if not args.allow_empty_results: - raise ValueError("Failed to construct any results.") - # Run inherent qualification steps that are dependent on PROV-O properties being present. - # Store in tmp_triples, to avoid modifying graph while iterating over graph. - tmp_triples: typing.Set[ - typing.Tuple[rdflib.term.Node, rdflib.term.Node, rdflib.term.Node] - ] = set() + # Run inherent qualification steps that are dependent on PROV-O + # properties being present. + + # Use tmp_graph to store the current updated knowledge over + # in_graph. tmp_graph is ephemeral and will not be persisted. + tmp_graph = in_graph + out_graph + + # Store further modifications in tmp_triples, to avoid modifying + # out_graph while iterating over so-far-updated in_graph and + # out_graph. tmp_triples will only be augmenting the output graph + # with durable references. So, BNodes are excluded via the type + # restrictions. + tmp_triples: TmpPersistableTriplesType = set() # Build Attributions. - # Modeling assumption over PROV-O: An Attribution inheres in both the Entity and Agent. - for triple in sorted(out_graph.triples((None, NS_PROV.wasAttributedTo, None))): - assert isinstance(triple[0], rdflib.URIRef) - assert isinstance(triple[2], rdflib.URIRef) + # Modeling assumption over PROV-O: An Attribution inheres in both + # the Entity and Agent. + for triple in sorted(tmp_graph.triples((None, NS_PROV.wasAttributedTo, None))): + if not isinstance(triple[0], rdflib.URIRef): + continue + if not isinstance(triple[2], rdflib.URIRef): + continue n_entity = triple[0] n_agent = triple[2] @@ -253,7 +315,7 @@ def main() -> None: entity_uuid_namespace, str(NS_PROV.qualifiedAttribution) ) - if args.use_deterministic_uuids: + if use_deterministic_uuids: attribution_uuid = str( uuid.uuid5(qualifed_attribution_uuid_namespace, str(n_agent)) ) @@ -265,152 +327,428 @@ def main() -> None: tmp_triples.add((n_attribution, NS_RDF.type, NS_PROV.Attribution)) tmp_triples.add((n_attribution, NS_PROV.agent, n_agent)) + def _pull_inference_triples(inference_triples: case_prov.TmpTriplesType) -> None: + """ + This subroutine is provided to supplement case_prov.infer_prov_instantaneous_influence_event usage. + """ + nonlocal tmp_triples + for inference_triple in inference_triples: + if not isinstance(inference_triple[0], rdflib.URIRef): + continue + assert isinstance(inference_triple[1], rdflib.URIRef) + if not isinstance(inference_triple[2], rdflib.URIRef): + continue + tmp_triples.add( + (inference_triple[0], inference_triple[1], inference_triple[2]) + ) + # Build Communications. - # Modeling assumption over PROV-O: A Communication inheres in both the informed Activity and informant Activity. - for triple in sorted(out_graph.triples((None, NS_PROV.wasInformedBy, None))): - assert isinstance(triple[0], rdflib.URIRef) - assert isinstance(triple[2], rdflib.URIRef) + # Modeling assumption over PROV-O: A Communication inheres in both + # the informed Activity and informant Activity. + for triple in sorted(tmp_graph.triples((None, NS_PROV.wasInformedBy, None))): + if not isinstance(triple[0], rdflib.URIRef): + continue + if not isinstance(triple[2], rdflib.URIRef): + continue n_informed_activity = triple[0] n_informant_activity = triple[2] - n_communication: typing.Optional[rdflib.term.IdentifiedNode] = None - for n_object in in_graph.objects( - n_informed_activity, NS_PROV.qualifiedCommunication - ): - if (n_object, NS_PROV.activity, n_informant_activity) in in_graph: - assert isinstance(n_object, rdflib.term.IdentifiedNode) - n_communication = n_object - if n_communication is not None: - # No creation necessary. - continue - - informed_activity_uuid_namespace = case_utils.inherent_uuid.inherence_uuid( - n_informed_activity - ) - qualifed_communication_uuid_namespace = uuid.uuid5( - informed_activity_uuid_namespace, str(NS_PROV.qualifiedCommunication) + ( + n_communication, + inference_triples, + ) = case_prov.infer_prov_instantaneous_influence_event( + tmp_graph, + n_informed_activity, + NS_PROV.qualifiedCommunication, + n_informant_activity, + NS_KB, + use_deterministic_uuids=use_deterministic_uuids, ) - if args.use_deterministic_uuids: - communication_uuid = str( - uuid.uuid5( - qualifed_communication_uuid_namespace, str(n_informant_activity) - ) - ) - else: - communication_uuid = case_utils.local_uuid.local_uuid() - - n_communication = NS_KB["Communication-" + communication_uuid] - tmp_triples.add( - (n_informed_activity, NS_PROV.qualifiedCommunication, n_communication) - ) - tmp_triples.add((n_communication, NS_RDF.type, NS_PROV.Communication)) - tmp_triples.add((n_communication, NS_PROV.activity, n_informant_activity)) + _pull_inference_triples(inference_triples) # Build Derivations. - # Modeling assumption over PROV-O: A Derivation inheres in both the input Entity and output Entity. - for triple in sorted(out_graph.triples((None, NS_PROV.wasDerivedFrom, None))): - assert isinstance(triple[0], rdflib.URIRef) - assert isinstance(triple[2], rdflib.URIRef) + # Modeling assumption over PROV-O: A Derivation inheres in both the + # input Entity and output Entity. + for triple in sorted(tmp_graph.triples((None, NS_PROV.wasDerivedFrom, None))): + if not isinstance(triple[0], rdflib.URIRef): + continue + if not isinstance(triple[2], rdflib.URIRef): + continue n_action_result = triple[0] n_action_object = triple[2] - n_derivation: typing.Optional[rdflib.term.IdentifiedNode] = None - for n_object in in_graph.objects(n_action_result, NS_PROV.qualifiedDerivation): - if (n_object, NS_PROV.entity, n_action_object) in in_graph: - assert isinstance(n_object, rdflib.term.IdentifiedNode) - n_derivation = n_object - if n_derivation is not None: - # No creation necessary. - continue - - action_result_uuid_namespace = case_utils.inherent_uuid.inherence_uuid( - n_action_result - ) - qualifed_derivation_uuid_namespace = uuid.uuid5( - action_result_uuid_namespace, str(NS_PROV.qualifiedDerivation) + ( + n_derivation, + inference_triples, + ) = case_prov.infer_prov_instantaneous_influence_event( + tmp_graph, + n_action_result, + NS_PROV.qualifiedDerivation, + n_action_object, + NS_KB, + use_deterministic_uuids=use_deterministic_uuids, ) - if args.use_deterministic_uuids: - derivation_uuid = str( - uuid.uuid5(qualifed_derivation_uuid_namespace, str(n_action_object)) - ) - else: - derivation_uuid = case_utils.local_uuid.local_uuid() - - n_derivation = NS_KB["Derivation-" + derivation_uuid] - tmp_triples.add((n_action_result, NS_PROV.qualifiedDerivation, n_derivation)) - tmp_triples.add((n_derivation, NS_RDF.type, NS_PROV.Derivation)) - tmp_triples.add((n_derivation, NS_PROV.entity, n_action_object)) - for n_object in out_graph.objects(n_action_result, NS_PROV.wasGeneratedBy): - tmp_triples.add((n_derivation, NS_PROV.hadActivity, n_object)) + _pull_inference_triples(inference_triples) + if isinstance(n_derivation, rdflib.URIRef): + for n_object in tmp_graph.objects(n_action_result, NS_PROV.wasGeneratedBy): + if isinstance(n_object, rdflib.URIRef): + tmp_triples.add((n_derivation, NS_PROV.hadActivity, n_object)) # Build Generations. - # Modeling assumption over PROV-O: A Generation inheres solely in the Entity. - for triple in sorted(out_graph.triples((None, NS_PROV.wasGeneratedBy, None))): - assert isinstance(triple[0], rdflib.URIRef) - assert isinstance(triple[2], rdflib.URIRef) + # Modeling assumption over PROV-O: A Generation inheres solely in + # the Entity. + # Also note that Entities will not be assigned a Generation event, + # as they don't necessarily have one. Take for example the idea + # prov:EmptyCollection, as the mathematical abstraction also known + # as the empty set. + for triple in sorted(tmp_graph.triples((None, NS_PROV.wasGeneratedBy, None))): + if not isinstance(triple[0], rdflib.URIRef): + continue + if not isinstance(triple[2], rdflib.URIRef): + continue n_entity = triple[0] n_activity = triple[2] - n_generation: typing.Optional[rdflib.term.IdentifiedNode] = None - for n_object in in_graph.objects(n_entity, NS_PROV.qualifiedGeneration): - assert isinstance(n_object, rdflib.term.IdentifiedNode) - n_generation = n_object - if n_generation is not None: - # No creation necessary. + ( + n_generation, + inference_triples, + ) = case_prov.infer_prov_instantaneous_influence_event( + tmp_graph, + n_entity, + NS_PROV.qualifiedGeneration, + n_activity, + NS_KB, + use_deterministic_uuids=use_deterministic_uuids, + ) + + _pull_inference_triples(inference_triples) + + # Build Invalidations. + # Modeling assumption over PROV-O: An Invalidation inheres solely in + # the Entity. + for triple in sorted(tmp_graph.triples((None, NS_PROV.wasInvalidatedBy, None))): + if not isinstance(triple[0], rdflib.URIRef): + continue + if not isinstance(triple[2], rdflib.URIRef): continue + n_entity = triple[0] + n_activity = triple[2] - entity_uuid_namespace = case_utils.inherent_uuid.inherence_uuid(n_entity) - qualifed_generation_uuid_namespace = uuid.uuid5( - entity_uuid_namespace, str(NS_PROV.qualifiedGeneration) + ( + n_invalidation, + inference_triples, + ) = case_prov.infer_prov_instantaneous_influence_event( + tmp_graph, + n_entity, + NS_PROV.qualifiedInvalidation, + n_activity, + NS_KB, + use_deterministic_uuids=use_deterministic_uuids, ) - if args.use_deterministic_uuids: - generation_uuid = str( - uuid.uuid5(qualifed_generation_uuid_namespace, str(n_activity)) - ) - else: - generation_uuid = case_utils.local_uuid.local_uuid() - - n_generation = NS_KB["Generation-" + generation_uuid] - tmp_triples.add((n_entity, NS_PROV.qualifiedGeneration, n_generation)) - tmp_triples.add((n_generation, NS_RDF.type, NS_PROV.Generation)) - tmp_triples.add((n_generation, NS_PROV.activity, n_activity)) + _pull_inference_triples(inference_triples) # Build Usages. - # Modeling assumption over PROV-O: An Attribution inheres in both the Activity and Entity. - for triple in sorted(out_graph.triples((None, NS_PROV.used, None))): - assert isinstance(triple[0], rdflib.URIRef) - assert isinstance(triple[2], rdflib.URIRef) + # Modeling assumption over PROV-O: A Usage inheres in both the + # Activity and Entity. + for triple in sorted(tmp_graph.triples((None, NS_PROV.used, None))): + if not isinstance(triple[0], rdflib.URIRef): + continue + if not isinstance(triple[2], rdflib.URIRef): + continue n_activity = triple[0] n_entity = triple[2] - n_usage: typing.Optional[rdflib.term.IdentifiedNode] = None - for n_object in in_graph.objects(n_entity, NS_PROV.qualifiedUsage): - assert isinstance(n_object, rdflib.term.IdentifiedNode) - n_usage = n_object - if n_usage is not None: - # No creation necessary. - continue + ( + n_usage, + inference_triples, + ) = case_prov.infer_prov_instantaneous_influence_event( + tmp_graph, + n_activity, + NS_PROV.qualifiedUsage, + n_entity, + NS_KB, + use_deterministic_uuids=use_deterministic_uuids, + ) + + _pull_inference_triples(inference_triples) - activity_uuid_namespace = case_utils.inherent_uuid.inherence_uuid(n_activity) - qualifed_usage_uuid_namespace = uuid.uuid5( - activity_uuid_namespace, str(NS_PROV.qualifiedUsage) + for tmp_triple in tmp_triples: + out_graph.add(tmp_triple) + tmp_graph.add(tmp_triple) + prov_existential_entailment_tally = len(tmp_triples) + + # Do TIME-PROV entailments. + + tmp_triples = set() + time_entailment_tally = 0 + + # Some of the entailments require knowledge from the input and + # output graphs. + + # Entailments will NOT be performed on blank nodes, due to inability + # to associate the new blank node in the serialized graph with the + # prior blank node in the input graph without using owl:sameAs. + + # Entail superclasses, which is what RDFS inferencing would devise + # with these axioms: + # + # prov:Activity + # rdfs:subClassOf time:ProperInterval ; + # . + # prov:InstantaneousEvent + # rdfs:subClassOf time:Instant ; + # . + # + # Entail interval classes first: + n_activities: typing.Set[rdflib.URIRef] = set() + n_proper_intervals: typing.Set[rdflib.URIRef] = set() + for graph in [in_graph, out_graph]: + for n_subject in graph.subjects(NS_RDF.type, NS_PROV.Activity): + if isinstance(n_subject, rdflib.URIRef): + n_activities.add(n_subject) + for n_subject in graph.subjects(NS_RDF.type, NS_TIME.ProperInterval): + if isinstance(n_subject, rdflib.URIRef): + n_proper_intervals.add(n_subject) + for n_activity in n_activities: + tmp_triples.add((n_activity, NS_RDF.type, NS_TIME.ProperInterval)) + n_proper_intervals |= n_activities + + # Then entail instant classes: + n_instants: typing.Set[rdflib.URIRef] = set() + n_instantaneous_events: typing.Set[rdflib.URIRef] = set() + for graph in [in_graph, out_graph]: + for n_prov_instantaneous_event_class in { + NS_PROV.InstantaneousEvent, + NS_PROV.End, + NS_PROV.Generation, + NS_PROV.Invalidation, + NS_PROV.Start, + NS_PROV.Usage, + }: + for n_subject in graph.subjects( + NS_RDF.type, n_prov_instantaneous_event_class + ): + if isinstance(n_subject, rdflib.URIRef): + n_instantaneous_events.add(n_subject) + for n_subject in graph.subjects(NS_RDF.type, NS_TIME.Instant): + if isinstance(n_subject, rdflib.URIRef): + n_instants.add(n_subject) + for n_instantaneous_event in n_instantaneous_events: + tmp_triples.add((n_instantaneous_event, NS_RDF.type, NS_TIME.Instant)) + n_instants |= n_instantaneous_events + + # Entail superproperties, which is what RDFS inference would devise + # with these axioms: + # + # prov:qualifiedEnd + # rdfs:subPropertyOf time:hasEnd ; + # . + # prov:qualifiedStart + # rdfs:subPropertyOf time:hasBeginning ; + # . + # + for graph in [in_graph, out_graph]: + for n_activity in n_activities: + for n_object in graph.objects(n_activity, NS_PROV.qualifiedEnd): + if isinstance(n_object, rdflib.URIRef): + if n_object in n_instants: + tmp_triples.add((n_activity, NS_TIME.hasEnd, n_object)) + for n_object in graph.objects(n_activity, NS_PROV.qualifiedStart): + if isinstance(n_object, rdflib.URIRef): + if n_object in n_instants: + tmp_triples.add((n_activity, NS_TIME.hasBeginning, n_object)) + + # Augment out_graph now - further work is centered on TIME and PROV + # properties, and might have been inferred in some of the above + # loops. + for tmp_triple in tmp_triples: + out_graph.add(tmp_triple) + tmp_graph.add(tmp_triple) + time_entailment_tally += len(tmp_triples) + tmp_triples = set() + + # Build beginning and ending nodes for all time:ProperIntervals that + # lack the bounding instants. + for n_proper_interval in sorted(n_proper_intervals): + # Generate Ends. + (n_time_end, end_graph) = case_prov.infer_interval_terminus( + tmp_graph, + n_proper_interval, + NS_TIME.hasEnd, + NS_KB, + use_deterministic_uuids=use_deterministic_uuids, + ) + if isinstance(n_time_end, rdflib.URIRef): + n_instants.add(n_time_end) + _pull_inference_triples(end_graph) + del end_graph + + # Generate Beginnings. + (n_time_beginning, beginning_graph) = case_prov.infer_interval_terminus( + tmp_graph, + n_proper_interval, + NS_TIME.hasBeginning, + NS_KB, + use_deterministic_uuids=use_deterministic_uuids, ) + if isinstance(n_time_beginning, rdflib.URIRef): + n_instants.add(n_time_beginning) + _pull_inference_triples(beginning_graph) + del beginning_graph - if args.use_deterministic_uuids: - usage_uuid = str(uuid.uuid5(qualifed_usage_uuid_namespace, str(n_entity))) - else: - usage_uuid = case_utils.local_uuid.local_uuid() + # Augment out_graph now - further work is centered on Instants that + # may have just been created. + for tmp_triple in tmp_triples: + out_graph.add(tmp_triple) + time_entailment_tally += len(tmp_triples) + tmp_triples = set() + + # Populate time:inXSDDateTimeStamp on all IRI-identified + # time:Instants, where data are available. + # All of the inferencing in this script should have led to + # prov:InstantaneousEvents having the property prov:atTime populated + # (whether from data encoded in PROV-O, or data encoded in CASE). + # The TIME entailments now let a review happen using TIME and PROV + # concepts. + for n_instant in n_instants: + if not isinstance(n_instant, rdflib.URIRef): + continue + l_datetime: typing.Optional[rdflib.Literal] = None + l_datetimestamp: typing.Optional[rdflib.Literal] = None + for graph in [in_graph, out_graph]: + for l_value in graph.objects(n_instant, NS_TIME.inXSDDateTimeStamp): + assert isinstance(l_value, rdflib.Literal) + l_datetimestamp = l_value + if l_datetimestamp is not None: + break + for l_value in graph.objects(n_instant, NS_PROV.atTime): + assert isinstance(l_value, rdflib.Literal) + l_datetime = l_value + if l_datetimestamp is not None: + continue + if l_datetime is not None: + l_datetimestamp = case_prov.xsd_datetime_to_xsd_datetimestamp(l_datetime) + if l_datetimestamp is not None: + tmp_triples.add( + ( + n_instant, + NS_TIME.inXSDDateTimeStamp, + l_datetimestamp, + ) + ) - n_usage = NS_KB["Usage-" + usage_uuid] - tmp_triples.add((n_activity, NS_PROV.qualifiedUsage, n_usage)) - tmp_triples.add((n_usage, NS_RDF.type, NS_PROV.Usage)) - tmp_triples.add((n_usage, NS_PROV.entity, n_entity)) + # Augment out_graph for timestamps. + for tmp_triple in tmp_triples: + out_graph.add(tmp_triple) + time_entailment_tally += len(tmp_triples) + + # Add time:insides for the qualified PROV Entity events. + tmp_triples = set() + for graph in [in_graph, out_graph]: + for triple in graph.triples((None, NS_PROV.qualifiedGeneration, None)): + if not isinstance(triple[0], rdflib.URIRef): + continue + if not isinstance(triple[2], rdflib.URIRef): + continue + n_entity = triple[0] + n_generation = triple[2] + for n_object in graph.objects(n_generation, NS_PROV.activity): + if not isinstance(n_object, rdflib.URIRef): + continue + n_activity = n_object + tmp_triples.add((n_activity, NS_TIME.inside, n_generation)) + for triple in graph.triples((None, NS_PROV.qualifiedInvalidation, None)): + if not isinstance(triple[0], rdflib.URIRef): + continue + if not isinstance(triple[2], rdflib.URIRef): + continue + n_entity = triple[0] + n_invalidation = triple[2] + for n_object in graph.objects(n_invalidation, NS_PROV.activity): + if not isinstance(n_object, rdflib.URIRef): + continue + n_activity = n_object + tmp_triples.add((n_activity, NS_TIME.inside, n_invalidation)) + for triple in graph.triples((None, NS_PROV.qualifiedUsage, None)): + if not isinstance(triple[0], rdflib.URIRef): + continue + if not isinstance(triple[2], rdflib.URIRef): + continue + n_activity = triple[0] + n_usage = triple[2] + tmp_triples.add((n_activity, NS_TIME.inside, n_usage)) + + for tmp_triple in tmp_triples: + out_graph.add(tmp_triple) + tmp_graph.add(tmp_triple) + time_entailment_tally += len(tmp_triples) + + # Generally order PROV Generations, Usages, and Invalidations. + tmp_triples = set() + tmp_graph = in_graph + out_graph + for query in [ + """\ +PREFIX prov: +PREFIX time: +CONSTRUCT { + ?nGeneration time:before ?nUsage . +} +WHERE { + ?nEntity prov:qualifiedGeneration ?nGeneration . + ?nActivity prov:qualifiedUsage ?nUsage . + ?nUsage prov:entity ?nEntity . +} +""", + """\ +PREFIX prov: +PREFIX time: +CONSTRUCT { + ?nGeneration time:before ?nInvalidation . +} +WHERE { + ?nEntity + prov:qualifiedGeneration ?nGeneration ; + prov:qualifiedInvalidation ?nInvalidation ; + . +} +""", + """\ +PREFIX prov: +PREFIX time: +CONSTRUCT { + ?nUsage time:before ?nInvalidation . +} +WHERE { + ?nEntity prov:qualifiedInvalidation ?nInvalidation . + ?nActivity prov:qualifiedUsage ?nUsage . + ?nUsage prov:entity ?nEntity . +} +""", + ]: + for row in tmp_graph.query(query): + assert isinstance(row, tuple) + if not isinstance(row[0], rdflib.URIRef): + continue + assert isinstance(row[1], rdflib.URIRef) + if not isinstance(row[2], rdflib.URIRef): + continue + tmp_triples.add((row[0], row[1], row[2])) for tmp_triple in tmp_triples: out_graph.add(tmp_triple) + time_entailment_tally += len(tmp_triples) + del tmp_triples + + if ( + case_entailment_tally == 0 + and prov_existential_entailment_tally == 0 + and time_entailment_tally == 0 + ): + if not args.allow_empty_results: + raise ValueError("Failed to construct any results.") out_graph.serialize(args.out_file) diff --git a/figures/Makefile b/figures/Makefile index c12c84c..15f21ef 100644 --- a/figures/Makefile +++ b/figures/Makefile @@ -39,13 +39,16 @@ clean: readme-activities.dot: \ readme-activities.ttl \ + $(top_srcdir)/case_prov/__init__.py \ $(top_srcdir)/case_prov/case_prov_dot.py \ $(top_srcdir)/tests/.venv.done.log - source $(top_srcdir)/tests/venv/bin/activate \ - && case_prov_dot \ - --omit-empty-set \ - _$@ \ - $< + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --omit-empty-set \ + --use-deterministic-uuids \ + _$@ \ + $< mv _$@ $@ readme-allen-relations.dot: \ @@ -53,33 +56,38 @@ readme-allen-relations.dot: \ $(top_srcdir)/case_prov/__init__.py \ $(top_srcdir)/case_prov/case_prov_dot.py \ $(top_srcdir)/tests/.venv.done.log - source $(top_srcdir)/tests/venv/bin/activate \ - && case_prov_dot \ - --debug \ - --omit-empty-set \ - _$@ \ - $< + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --debug \ + --omit-empty-set \ + _$@ \ + $< mv _$@ $@ readme-attribution.dot: \ readme-attribution.ttl \ + $(top_srcdir)/case_prov/__init__.py \ $(top_srcdir)/case_prov/case_prov_dot.py \ $(top_srcdir)/tests/.venv.done.log - source $(top_srcdir)/tests/venv/bin/activate \ - && case_prov_dot \ - --dash-unqualified \ - --omit-empty-set \ - _$@ \ - $< + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --dash-unqualified \ + --omit-empty-set \ + _$@ \ + $< mv _$@ $@ readme-provenance-records.dot: \ readme-provenance-records.ttl \ + $(top_srcdir)/case_prov/__init__.py \ $(top_srcdir)/case_prov/case_prov_dot.py \ $(top_srcdir)/tests/.venv.done.log - source $(top_srcdir)/tests/venv/bin/activate \ - && case_prov_dot \ - --omit-empty-set \ - _$@ \ - $< + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --omit-empty-set \ + _$@ \ + $< mv _$@ $@ diff --git a/tests/CASE-Examples/examples/illustrations/src/illustration.mk b/tests/CASE-Examples/examples/illustrations/src/illustration.mk index 693c78a..fb1b051 100644 --- a/tests/CASE-Examples/examples/illustrations/src/illustration.mk +++ b/tests/CASE-Examples/examples/illustrations/src/illustration.mk @@ -42,13 +42,14 @@ endif all: \ prov-constraints.log \ - $(subjectdir_basename)-prov_activities.svg \ - $(subjectdir_basename)-prov_all.svg \ - $(subjectdir_basename)-prov_agents.svg \ - $(subjectdir_basename)-prov_entities.svg \ - $(subjectdir_basename)-prov_originals.svg + $(subjectdir_basename)-prov-activities.svg \ + $(subjectdir_basename)-prov-all.svg \ + $(subjectdir_basename)-prov-agents.svg \ + $(subjectdir_basename)-prov-entities.svg \ + $(subjectdir_basename)-prov-originals.svg .PHONY: \ + all-prov-time \ check-prov-constraints \ check-pytest @@ -82,7 +83,7 @@ $(subjectdir_basename)-prov.ttl: \ rm __$@ mv _$@ $@ -$(subjectdir_basename)-prov_activities.dot: \ +$(subjectdir_basename)-prov-activities.dot: \ $(subjectdir_basename)-prov.ttl \ $(top_srcdir)/case_prov/case_prov_dot.py source $(tests_srcdir)/venv/bin/activate \ @@ -90,11 +91,12 @@ $(subjectdir_basename)-prov_activities.dot: \ --activity-informing \ --dash-unqualified \ --debug \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ -$(subjectdir_basename)-prov_activities-agents.dot: \ +$(subjectdir_basename)-prov-activities-agents.dot: \ $(subjectdir_basename)-prov.ttl \ $(top_srcdir)/case_prov/case_prov_dot.py source $(tests_srcdir)/venv/bin/activate \ @@ -103,24 +105,26 @@ $(subjectdir_basename)-prov_activities-agents.dot: \ --agent-delegating \ --dash-unqualified \ --debug \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ -$(subjectdir_basename)-prov_activities-entities.dot: \ +$(subjectdir_basename)-prov-activities-entities.dot: \ $(subjectdir_basename)-prov.ttl \ $(top_srcdir)/case_prov/case_prov_dot.py source $(tests_srcdir)/venv/bin/activate \ && case_prov_dot \ --activity-informing \ - --entity-deriving \ --dash-unqualified \ + --entity-deriving \ --debug \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ -$(subjectdir_basename)-prov_agents.dot: \ +$(subjectdir_basename)-prov-agents.dot: \ $(subjectdir_basename)-prov.ttl \ $(top_srcdir)/case_prov/case_prov_dot.py source $(tests_srcdir)/venv/bin/activate \ @@ -128,35 +132,38 @@ $(subjectdir_basename)-prov_agents.dot: \ --agent-delegating \ --dash-unqualified \ --debug \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ -$(subjectdir_basename)-prov_agents-entities.dot: \ +$(subjectdir_basename)-prov-agents-entities.dot: \ $(subjectdir_basename)-prov.ttl \ $(top_srcdir)/case_prov/case_prov_dot.py source $(tests_srcdir)/venv/bin/activate \ && case_prov_dot \ --agent-delegating \ - --entity-deriving \ --dash-unqualified \ --debug \ + --entity-deriving \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ -$(subjectdir_basename)-prov_all.dot: \ +$(subjectdir_basename)-prov-all.dot: \ $(subjectdir_basename)-prov.ttl \ $(top_srcdir)/case_prov/case_prov_dot.py source $(tests_srcdir)/venv/bin/activate \ && case_prov_dot \ --dash-unqualified \ --debug \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ -$(subjectdir_basename)-prov_entities.dot: \ +$(subjectdir_basename)-prov-entities.dot: \ $(subjectdir_basename)-prov.ttl \ $(top_srcdir)/case_prov/case_prov_dot.py source $(tests_srcdir)/venv/bin/activate \ @@ -164,11 +171,12 @@ $(subjectdir_basename)-prov_entities.dot: \ --dash-unqualified \ --debug \ --entity-deriving \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ -$(subjectdir_basename)-prov_originals.dot: \ +$(subjectdir_basename)-prov-originals.dot: \ $(subjectdir_basename)-prov.ttl \ $(top_srcdir)/case_prov/case_prov_dot.py source $(tests_srcdir)/venv/bin/activate \ @@ -176,10 +184,120 @@ $(subjectdir_basename)-prov_originals.dot: \ --dash-unqualified \ --debug \ --from-empty-set \ + --use-deterministic-uuids \ + _$@ \ + $< + mv _$@ $@ + +$(subjectdir_basename)-prov-time-activities.dot: \ + $(subjectdir_basename)-prov.ttl \ + $(top_srcdir)/case_prov/case_prov_dot.py + source $(tests_srcdir)/venv/bin/activate \ + && case_prov_dot \ + --activity-informing \ + --dash-unqualified \ + --debug \ + --display-time-links \ + --use-deterministic-uuids \ + _$@ \ + $< + mv _$@ $@ + +$(subjectdir_basename)-prov-time-activities-agents.dot: \ + $(subjectdir_basename)-prov.ttl \ + $(top_srcdir)/case_prov/case_prov_dot.py + source $(tests_srcdir)/venv/bin/activate \ + && case_prov_dot \ + --activity-informing \ + --agent-delegating \ + --dash-unqualified \ + --debug \ + --display-time-links \ + --use-deterministic-uuids \ + _$@ \ + $< + mv _$@ $@ + +$(subjectdir_basename)-prov-time-activities-entities.dot: \ + $(subjectdir_basename)-prov.ttl \ + $(top_srcdir)/case_prov/case_prov_dot.py + source $(tests_srcdir)/venv/bin/activate \ + && case_prov_dot \ + --activity-informing \ + --dash-unqualified \ + --display-time-links \ + --entity-deriving \ + --debug \ + --use-deterministic-uuids \ + _$@ \ + $< + mv _$@ $@ + +$(subjectdir_basename)-prov-time-agents.dot: \ + $(subjectdir_basename)-prov.ttl \ + $(top_srcdir)/case_prov/case_prov_dot.py + source $(tests_srcdir)/venv/bin/activate \ + && case_prov_dot \ + --agent-delegating \ + --dash-unqualified \ + --debug \ + --display-time-links \ + --use-deterministic-uuids \ + _$@ \ + $< + mv _$@ $@ + +$(subjectdir_basename)-prov-time-agents-entities.dot: \ + $(subjectdir_basename)-prov.ttl \ + $(top_srcdir)/case_prov/case_prov_dot.py + source $(tests_srcdir)/venv/bin/activate \ + && case_prov_dot \ + --agent-delegating \ + --dash-unqualified \ + --debug \ + --display-time-links \ + --entity-deriving \ + --use-deterministic-uuids \ + _$@ \ + $< + mv _$@ $@ + +$(subjectdir_basename)-prov-time-all.dot: \ + $(subjectdir_basename)-prov.ttl \ + $(top_srcdir)/case_prov/case_prov_dot.py + source $(tests_srcdir)/venv/bin/activate \ + && case_prov_dot \ + --dash-unqualified \ + --debug \ + --display-time-links \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ +$(subjectdir_basename)-prov-time-entities.dot: \ + $(subjectdir_basename)-prov.ttl \ + $(top_srcdir)/case_prov/case_prov_dot.py + source $(tests_srcdir)/venv/bin/activate \ + && case_prov_dot \ + --dash-unqualified \ + --debug \ + --display-time-links \ + --entity-deriving \ + --use-deterministic-uuids \ + _$@ \ + $< + mv _$@ $@ + +all-prov-time: \ + $(subjectdir_basename)-prov-time-activities.svg \ + $(subjectdir_basename)-prov-time-activities-agents.svg \ + $(subjectdir_basename)-prov-time-activities-entities.svg \ + $(subjectdir_basename)-prov-time-all.svg \ + $(subjectdir_basename)-prov-time-agents.svg \ + $(subjectdir_basename)-prov-time-agents-entities.svg \ + $(subjectdir_basename)-prov-time-entities.svg + case_prov_check.ttl: \ $(check_shape_files) \ $(top_srcdir)/case_prov/case_prov_check.py \ diff --git a/tests/Makefile b/tests/Makefile index 8a0d176..19dd462 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -28,7 +28,6 @@ all: \ all-casework.github.io \ check-CASE-Examples \ check-casework.github.io \ - check-doctest \ check-mypy \ clean-CASE-Examples \ clean-casework.github.io \ diff --git a/tests/casework.github.io/examples/src/example.mk b/tests/casework.github.io/examples/src/example.mk index d97cabf..90c7834 100644 --- a/tests/casework.github.io/examples/src/example.mk +++ b/tests/casework.github.io/examples/src/example.mk @@ -49,6 +49,7 @@ all: \ prov-constraints.log .PHONY: \ + all-prov-time \ check-prov-constraints \ check-pytest @@ -90,6 +91,7 @@ $(subjectdir_basename)-prov-activities.dot: \ --activity-informing \ --dash-unqualified \ --debug \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ @@ -103,6 +105,7 @@ $(subjectdir_basename)-prov-activities-agents.dot: \ --agent-delegating \ --dash-unqualified \ --debug \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ @@ -116,6 +119,7 @@ $(subjectdir_basename)-prov-activities-entities.dot: \ --entity-deriving \ --dash-unqualified \ --debug \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ @@ -128,6 +132,7 @@ $(subjectdir_basename)-prov-agents.dot: \ --agent-delegating \ --dash-unqualified \ --debug \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ @@ -141,6 +146,7 @@ $(subjectdir_basename)-prov-agents-entities.dot: \ --entity-deriving \ --dash-unqualified \ --debug \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ @@ -152,6 +158,7 @@ $(subjectdir_basename)-prov-all.dot: \ && case_prov_dot \ --dash-unqualified \ --debug \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ @@ -164,6 +171,7 @@ $(subjectdir_basename)-prov-entities.dot: \ --dash-unqualified \ --debug \ --entity-deriving \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ @@ -176,10 +184,119 @@ $(subjectdir_basename)-prov-originals.dot: \ --dash-unqualified \ --debug \ --from-empty-set \ + --use-deterministic-uuids \ _$@ \ $< mv _$@ $@ +$(subjectdir_basename)-prov-time-activities.dot: \ + $(subjectdir_basename)-prov.ttl \ + $(top_srcdir)/case_prov/case_prov_dot.py + source $(tests_srcdir)/venv/bin/activate \ + && case_prov_dot \ + --activity-informing \ + --dash-unqualified \ + --debug \ + --display-time-links \ + --use-deterministic-uuids \ + _$@ \ + $< + mv _$@ $@ + +$(subjectdir_basename)-prov-time-activities-agents.dot: \ + $(subjectdir_basename)-prov.ttl \ + $(top_srcdir)/case_prov/case_prov_dot.py + source $(tests_srcdir)/venv/bin/activate \ + && case_prov_dot \ + --activity-informing \ + --agent-delegating \ + --dash-unqualified \ + --debug \ + --display-time-links \ + --use-deterministic-uuids \ + _$@ \ + $< + mv _$@ $@ + +$(subjectdir_basename)-prov-time-activities-entities.dot: \ + $(subjectdir_basename)-prov.ttl \ + $(top_srcdir)/case_prov/case_prov_dot.py + source $(tests_srcdir)/venv/bin/activate \ + && case_prov_dot \ + --activity-informing \ + --entity-deriving \ + --dash-unqualified \ + --debug \ + --display-time-links \ + --use-deterministic-uuids \ + _$@ \ + $< + mv _$@ $@ + +$(subjectdir_basename)-prov-time-agents.dot: \ + $(subjectdir_basename)-prov.ttl \ + $(top_srcdir)/case_prov/case_prov_dot.py + source $(tests_srcdir)/venv/bin/activate \ + && case_prov_dot \ + --agent-delegating \ + --dash-unqualified \ + --debug \ + --display-time-links \ + --use-deterministic-uuids \ + _$@ \ + $< + mv _$@ $@ + +$(subjectdir_basename)-prov-time-agents-entities.dot: \ + $(subjectdir_basename)-prov.ttl \ + $(top_srcdir)/case_prov/case_prov_dot.py + source $(tests_srcdir)/venv/bin/activate \ + && case_prov_dot \ + --agent-delegating \ + --entity-deriving \ + --dash-unqualified \ + --debug \ + --use-deterministic-uuids \ + _$@ \ + $< + mv _$@ $@ + +$(subjectdir_basename)-prov-time-all.dot: \ + $(subjectdir_basename)-prov.ttl \ + $(top_srcdir)/case_prov/case_prov_dot.py + source $(tests_srcdir)/venv/bin/activate \ + && case_prov_dot \ + --dash-unqualified \ + --debug \ + --display-time-links \ + --use-deterministic-uuids \ + _$@ \ + $< + mv _$@ $@ + +$(subjectdir_basename)-prov-time-entities.dot: \ + $(subjectdir_basename)-prov.ttl \ + $(top_srcdir)/case_prov/case_prov_dot.py + source $(tests_srcdir)/venv/bin/activate \ + && case_prov_dot \ + --dash-unqualified \ + --debug \ + --entity-deriving \ + --display-time-links \ + --use-deterministic-uuids \ + _$@ \ + $< + mv _$@ $@ + +all-prov-time: \ + $(subjectdir_basename)-prov-time-activities.svg \ + $(subjectdir_basename)-prov-time-activities-agents.svg \ + $(subjectdir_basename)-prov-time-activities-entities.svg \ + $(subjectdir_basename)-prov-time-all.svg \ + $(subjectdir_basename)-prov-time-agents.svg \ + $(subjectdir_basename)-prov-time-agents-entities.svg \ + $(subjectdir_basename)-prov-time-entities.svg + case_prov_check.ttl: \ $(check_shape_files) \ $(top_srcdir)/case_prov/case_prov_check.py \ diff --git a/tests/casework.github.io/examples/urgent_evidence/Makefile b/tests/casework.github.io/examples/urgent_evidence/Makefile index 6f0d93d..f0a1ce3 100644 --- a/tests/casework.github.io/examples/urgent_evidence/Makefile +++ b/tests/casework.github.io/examples/urgent_evidence/Makefile @@ -23,6 +23,7 @@ all: $(MAKE) \ --file ../src/example.mk \ all \ + all-prov-time \ urgent_evidence-prov-activities-agents.svg \ urgent_evidence-prov-activities-entities.svg \ urgent_evidence-prov-agents-entities.svg @@ -31,7 +32,8 @@ all: urgent_evidence-prov-all-focus-extracted-file-uuid-1.svg \ urgent_evidence-prov-all-focus-jpegs.svg \ urgent_evidence-prov-all-initial_investigative_actions.svg \ - urgent_evidence-prov-entities-focus-extracted-file-uuid-1.svg + urgent_evidence-prov-entities-focus-extracted-file-uuid-1.svg \ + urgent_evidence-prov-time-all-focus-extracted-file-uuid-1.svg %.svg: \ %.dot @@ -113,3 +115,16 @@ urgent_evidence-prov-entities-focus-extracted-file-uuid-1.dot: \ _$@ \ $< mv _$@ $@ + +urgent_evidence-prov-time-all-focus-extracted-file-uuid-1.dot: \ + urgent_evidence-prov.ttl \ + $(top_srcdir)/case_prov/case_prov_dot.py + source $(tests_srcdir)/venv/bin/activate \ + && case_prov_dot \ + --dash-unqualified \ + --debug \ + --display-time-links \ + --entity-ancestry http://example.org/kb/extracted-file-uuid-1 \ + _$@ \ + $< + mv _$@ $@ From 819a9d2f82abb95944b68b225043181f8cefbbaf Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Tue, 6 Jun 2023 23:35:49 -0400 Subject: [PATCH 11/15] Regenerate Make-managed files Signed-off-by: Alex Nelson --- figures/readme-activities.svg | 51 +- figures/readme-allen-relations.svg | 232 ++- .../illustrations/Oresteia/Oresteia-prov.ttl | 246 ++- .../exif_data/exif_data-prov.ttl | 34 +- .../forensic_lifecycle-prov.ttl | 320 +++- .../network_connection-prov.ttl | 57 +- .../reconstructed_file-prov.ttl | 149 +- .../examples/asgard/asgard-prov.ttl | 85 +- .../crossover_heist/crossover_heist-prov.ttl | 46 +- .../crossover_wmd/crossover_wmd-prov.ttl | 87 +- .../hardware_duplicator-prov.ttl | 262 ++- .../owl_trafficking/owl_trafficking-prov.ttl | 46 +- ...urgent_evidence-prov-activities-agents.svg | 395 +++-- ...gent_evidence-prov-activities-entities.svg | 1185 +++++++------ .../urgent_evidence-prov-activities.svg | 261 +-- .../urgent_evidence-prov-agents-entities.svg | 836 +++++---- ...e-prov-all-focus-extracted-file-uuid-1.svg | 277 +-- .../urgent_evidence-prov-all-focus-jpegs.svg | 789 +++++---- .../urgent_evidence-prov-all.svg | 1558 ++++++++++------- .../urgent_evidence-prov-entities.svg | 670 ++++--- .../urgent_evidence/urgent_evidence-prov.ttl | 580 +++++- 21 files changed, 5245 insertions(+), 2921 deletions(-) diff --git a/figures/readme-activities.svg b/figures/readme-activities.svg index ad0c915..d2ec668 100644 --- a/figures/readme-activities.svg +++ b/figures/readme-activities.svg @@ -4,54 +4,67 @@ - - + + PROV-O render - + _dfa40afa8223607a4487772fe58783fb86ed8b6c03657ebaf7603a06c87ac4cd - -ID - kb:activity1 -[2020-01-02T03:04:05+00:00, ...) + +ID - kb:activity1 +[2020-01-02T03:04:05+00:00, ...) + + _1dc69e0ebb51673345ae966d7c1ed38f939e9f2a3eb4c3753722e4a4aab66fb1 - -ID - kb:activity2 -[2020-01-02T06:07:08+00:00, 2020-01-02T12:00:01+00:00] + +ID - kb:activity2 +[2020-01-02T06:07:08+00:00, 2020-01-02T12:00:01+00:00] _1dc69e0ebb51673345ae966d7c1ed38f939e9f2a3eb4c3753722e4a4aab66fb1->_dfa40afa8223607a4487772fe58783fb86ed8b6c03657ebaf7603a06c87ac4cd - - -wasInformedBy + + +wasInformedBy + + _526944cfe3743b492c3f7751131a98aa3eb5bc97b4085097a36a0eda13b85b9d - -ID - kb:activity3 -(..., 2020-01-02T21:00:02+00:00] + +ID - kb:activity3 +(..., 2020-01-02T21:00:02+00:00] _526944cfe3743b492c3f7751131a98aa3eb5bc97b4085097a36a0eda13b85b9d->_1dc69e0ebb51673345ae966d7c1ed38f939e9f2a3eb4c3753722e4a4aab66fb1 - - -wasInformedBy + + +wasInformedBy + + + + + + + + + diff --git a/figures/readme-allen-relations.svg b/figures/readme-allen-relations.svg index 29e1af2..530201b 100644 --- a/figures/readme-allen-relations.svg +++ b/figures/readme-allen-relations.svg @@ -4,20 +4,22 @@ - - + + PROV-O render - + _420614c229241b80b8075b64f694c06191c7b4ea5e666e734eb9b5ae946ae59f - -ID - kb:after-i + +ID - kb:after-i + + _8d8af6aad08e2d51f293e6dfc5478934949f4eb1a4ede3b1b83615be44a4cf25 @@ -27,16 +29,19 @@ - + + _6df40c4d98ba4ae1818a8974df560cdb07cfad84ae9a3039cc2c794715cf89e5 - -ID - kb:before-i + +ID - kb:before-i + + _d926ffb1ce3ff25d81181cde7b120388f9aa385e75fb587a8702d758fe33bded @@ -46,204 +51,323 @@ - + + _674d07af6841676ac3270af69c2a738de4e9b719e9b9c8e88542543675559c75 - -ID - kb:contains-i + +ID - kb:contains-i + + _e5558355618af87a4751e2eb0ad6324abd595685dc321d1064fc670f5115be78 - -ID - kb:contains-j + +ID - kb:contains-j + + _c717dace67b13784c456e2db5c55d3aa90cc998b63973c5a5e8740498ed1c02d - -ID - kb:during-i + +ID - kb:during-i + + _143543d310af2cabed2fc03468cd19abca1a8b217f8840a728796167e7b6214c - -ID - kb:during-j + +ID - kb:during-j + + _fd95b92baeb836e000dd655d4e6df03f75d1c8d1b7056918a084a41e3994d325 - -ID - kb:equals-i + +ID - kb:equals-i + + + + _d7ca4dfb8f35cfa5b75291c902c54d3338784febd3121fed7c6b3a104cc93cd9 - -ID - kb:equals-j + +ID - kb:equals-j + + _c1abe2a630eb1eb936940f3b0b600026fe4b4b3dab3f51275b4a29f679ec161f - -ID - kb:finishedBy-i + +ID - kb:finishedBy-i + + _5c53afdfc06e1fe7e5706d1fd879b2ff799dcfb8898f847f25ec2a6b07439e48 - -ID - kb:finishedBy-j + +ID - kb:finishedBy-j + + _0b1601596d60a2ebcc5087f319c7d2ff4dacc33f6885d5ccc7cefe136de651b1 - -ID - kb:finishes-i + +ID - kb:finishes-i + + _169431ec6be8cf6588214cf2f82dbf04550a6d96e61d0391b2c7d14372975244 - -ID - kb:finishes-j + +ID - kb:finishes-j + + _db2d84171da93cdd0cf0a8cedcf48b905b9ef522bb97dd72a9722a749bf9a8b4 - -ID - kb:meets-i + +ID - kb:meets-i + + _cca45a3d3a1f06e8617a3bedb625f381c11dbaade0464d576a2ed04a058f3ec9 - -ID - kb:meets-j + +ID - kb:meets-j + + + + _cd71a86ebc4b5d3cf7149412db5a0f6884d738254dc8d8065ee5c09d8b8b6607 - -ID - kb:metBy-i + +ID - kb:metBy-i + + _32f4a5a312d34307c574545ebf628b59839f8c0c87928fa09b279811636f86b4 - -ID - kb:metBy-j + +ID - kb:metBy-j + + + + _08fed2f00d201af49f91aa2798fd2c2e2c4d66a6113935fd4c0b679dd0396025 - -ID - kb:overlappedBy-i + +ID - kb:overlappedBy-i + + _4a8479baca078f820cd70a56c526a34e26788d013b886e32cfba82ec7332e70a - -ID - kb:overlappedBy-j + +ID - kb:overlappedBy-j + + _e525822a15afd9cc7bc1a20a341a5ac3abe93d426f8b5e4ae8d3be54b5594004 - -ID - kb:overlaps-i + +ID - kb:overlaps-i + + _34cc2a91dcb3a52e2f4b9a1ad4cee3f014d4cf50463c4e2565d58f5aa1661e0c - -ID - kb:overlaps-j + +ID - kb:overlaps-j + + _351e4e6d52d963d965daa0539216009f093ed24be20135d121674d38d9929caa - -ID - kb:startedBy-i + +ID - kb:startedBy-i + + + + _a31e2a2e8803799c43025ab6c55a05d7857e9ff31e93f636c97435950a52cf7e - -ID - kb:startedBy-j + +ID - kb:startedBy-j + + _0e9e0607a0257a6fc12d892c4a886a7286079471a9dff65d604e27b02f5624f1 - -ID - kb:starts-i + +ID - kb:starts-i + + + + _3d95bc00c0e59c58b9332400383b889844a735677a5311eb210c5dc0dc54d9c8 - -ID - kb:starts-j + +ID - kb:starts-j + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/CASE-Examples/examples/illustrations/Oresteia/Oresteia-prov.ttl b/tests/CASE-Examples/examples/illustrations/Oresteia/Oresteia-prov.ttl index ab43b3c..b19ec17 100644 --- a/tests/CASE-Examples/examples/illustrations/Oresteia/Oresteia-prov.ttl +++ b/tests/CASE-Examples/examples/illustrations/Oresteia/Oresteia-prov.ttl @@ -4,6 +4,7 @@ @prefix prov: . @prefix rdf: . @prefix rdfs: . +@prefix time: . @prefix uco-core: . @prefix xsd: . @@ -333,166 +334,269 @@ kb:Derivation-fb855a28-8315-5e0d-833e-158b20069579 prov:hadActivity kb:investigative-action-49e0d70c-f1bc-40a4-8866-45ddb8ad4e89 ; . -kb:End-08cccdce-0ea1-559b-ad7d-5dcf04bd9f4c - a prov:End ; - . - kb:End-23328962-f49d-5769-b82d-bef9369856ac - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2017-06-22T08:39:19.240000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2017-06-22T08:39:19.240000+00:00"^^xsd:dateTime ; . -kb:End-7bf105b5-e219-537b-91fe-e66f2ca89b07 - a prov:End ; - . - kb:End-8def7942-680e-5e5a-bd9e-a0c2e035f52b - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2017-06-22T10:31:19.240000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2017-06-22T10:31:19.240000+00:00"^^xsd:dateTime ; . kb:End-982645b4-3739-5fd9-8c9d-fb6555922622 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2017-06-22T10:31:19.240000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2017-06-22T10:31:19.240000+00:00"^^xsd:dateTime ; . kb:Generation-03511c1a-6cb9-50cd-8b2b-797ee45f81e6 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigative-action-49e0d70c-f1bc-40a4-8866-45ddb8ad4e89 ; . kb:Generation-18faccd3-0cff-55dd-aa70-f1406bf7d298 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-ef04837a-e283-59e2-9b1a-4e02641921d0 ; prov:activity kb:investigative-action-30079255-a489-4dc2-ab5a-b9633a1cce95 ; . kb:Generation-3e4d9090-ac3e-5448-920e-21a5dc928a4f - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigative-action-49e0d70c-f1bc-40a4-8866-45ddb8ad4e89 ; . kb:Generation-3ed569b4-a465-58e9-9d64-dcd159248724 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-80a9d30e-a191-5d6b-917e-0eba6bd598bf ; prov:activity kb:investigative-action-714255fe-ce2d-43e5-b0da-0910cc0e3997 ; . kb:Generation-4153d8ac-330b-5461-87c5-68c117db0051 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-1b61ad97-02c5-5990-a343-7b23b5fe4d9f ; prov:activity kb:investigative-action-714255fe-ce2d-43e5-b0da-0910cc0e3997 ; . kb:Generation-4c651bae-875e-5d2c-b6c5-a9ccc4f16130 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before + kb:Usage-bebfe3c7-1d1b-519c-9744-a1bc44e54767 , + kb:Usage-da5821a2-b62c-5f94-b85d-e6857cb0bff9 + ; prov:activity kb:investigative-action-30079255-a489-4dc2-ab5a-b9633a1cce95 ; . kb:Generation-4cebe0bc-5c5c-5dc8-b7d6-3fb4b7a0abef - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigative-action-b8fd94b9-ceae-4c2f-aa38-8cfaa98804fe ; . kb:Generation-532b67a9-0af0-5b13-b3c5-943bb4c3c111 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigative-action-49e0d70c-f1bc-40a4-8866-45ddb8ad4e89 ; . kb:Generation-583a181e-d8e2-5a36-b681-cb1b451ab8a7 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigative-action-49e0d70c-f1bc-40a4-8866-45ddb8ad4e89 ; . kb:Generation-6a650ddc-c9c9-536e-98cc-cf8cda1d8bb5 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigative-action-49e0d70c-f1bc-40a4-8866-45ddb8ad4e89 ; . kb:Generation-877affbc-21eb-54be-bd9f-adb8a8cfaae3 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-71e24ab9-9d59-5f90-a5c0-c154021e2210 ; prov:activity kb:investigative-action-b8fd94b9-ceae-4c2f-aa38-8cfaa98804fe ; . kb:Generation-d86540f7-302f-5342-84f7-1d3a88aa1f31 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-5ab8edd6-2a84-5483-9eaa-9fc1f7fb7657 ; prov:activity kb:investigative-action-b8fd94b9-ceae-4c2f-aa38-8cfaa98804fe ; . kb:Generation-de6f3df8-d4cb-5afe-b1a3-83d70e52f146 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-652af62a-975f-50b7-be89-e64c7669f5e0 ; prov:activity kb:investigative-action-7786ff3a-d40b-45a9-b65c-94ad10597b62 ; . kb:Generation-e8cfb211-8bb0-5f7d-ba23-d6c180f82ab6 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigative-action-49e0d70c-f1bc-40a4-8866-45ddb8ad4e89 ; . kb:Start-374045d8-e8c6-59fc-bf64-650ed2e63e93 - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2017-06-22T09:57:23.640000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2017-06-22T09:57:23.640000+00:00"^^xsd:dateTime ; . kb:Start-9e0e52fc-16d6-5536-ab0c-d9728e2f35b8 - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2017-06-21T22:36:24.350000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2017-06-21T22:36:24.350000+00:00"^^xsd:dateTime ; . kb:Start-a2131571-c0fa-5fd0-97d6-777208d72098 - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2017-06-22T09:57:23.640000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2017-06-22T09:57:23.640000+00:00"^^xsd:dateTime ; . kb:Start-b80b4d9a-9047-557c-b253-de62930afbc0 - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2017-06-22T08:01:23.140000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2017-06-22T08:01:23.140000+00:00"^^xsd:dateTime ; . kb:Start-e4a6a525-e2d0-5cea-a868-cf883f517ea5 - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2017-06-22T08:12:19.320000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2017-06-22T08:12:19.320000+00:00"^^xsd:dateTime ; . kb:Usage-1b61ad97-02c5-5990-a343-7b23b5fe4d9f - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:cassandra-mobiledevice-forensicduplicate-95d5a618-8265-4cb8-8140-ac8ea281c536 ; . kb:Usage-5ab8edd6-2a84-5483-9eaa-9fc1f7fb7657 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-dcbca583-84c5-4d29-a232-f78bcdc6058b ; . kb:Usage-652af62a-975f-50b7-be89-e64c7669f5e0 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-728090d9-6a05-42e5-9b7e-d4bb1ff5a181 ; . kb:Usage-71e24ab9-9d59-5f90-a5c0-c154021e2210 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:cassandra-mobiledevice-mmssms-1ab55cb8-581d-4ebc-99e4-4db8d4261535 ; . kb:Usage-797768e2-6f2c-533e-a8c4-0b41e8e7e1ad - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity prov:EmptyCollection ; . kb:Usage-80a9d30e-a191-5d6b-917e-0eba6bd598bf - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-bfea7cae-055e-46d9-8549-22ad27328137 ; . kb:Usage-bebfe3c7-1d1b-519c-9744-a1bc44e54767 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:cassandra-device-d2ac1471-2d0f-4032-8cca-53d317600cba ; . kb:Usage-da5821a2-b62c-5f94-b85d-e6857cb0bff9 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:cassandra-device-d2ac1471-2d0f-4032-8cca-53d317600cba ; . kb:Usage-ef04837a-e283-59e2-9b1a-4e02641921d0 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-4fc5478b-b6f3-440c-9d09-d7f8363c6792 ; . @@ -618,12 +722,20 @@ kb:euripides-3696c710-161f-47af-9ae8-61b178611773 . kb:investigative-action-30079255-a489-4dc2-ab5a-b9633a1cce95 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-9e0e52fc-16d6-5536-ab0c-d9728e2f35b8 ; + time:inside + kb:Generation-18faccd3-0cff-55dd-aa70-f1406bf7d298 , + kb:Generation-4c651bae-875e-5d2c-b6c5-a9ccc4f16130 , + kb:Usage-797768e2-6f2c-533e-a8c4-0b41e8e7e1ad + ; prov:qualifiedAssociation kb:Association-0c97ffab-0909-5eb2-8b52-d52f2879bae0 , kb:Association-6430009b-6070-519e-8594-1281e7ec9de9 ; - prov:qualifiedEnd kb:End-08cccdce-0ea1-559b-ad7d-5dcf04bd9f4c ; prov:qualifiedStart kb:Start-9e0e52fc-16d6-5536-ab0c-d9728e2f35b8 ; prov:qualifiedUsage kb:Usage-797768e2-6f2c-533e-a8c4-0b41e8e7e1ad ; prov:startedAtTime "2017-06-21T22:36:24.350000+00:00"^^xsd:dateTime ; @@ -633,7 +745,22 @@ kb:investigative-action-30079255-a489-4dc2-ab5a-b9633a1cce95 . kb:investigative-action-49e0d70c-f1bc-40a4-8866-45ddb8ad4e89 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-a2131571-c0fa-5fd0-97d6-777208d72098 ; + time:hasEnd kb:End-8def7942-680e-5e5a-bd9e-a0c2e035f52b ; + time:inside + kb:Generation-03511c1a-6cb9-50cd-8b2b-797ee45f81e6 , + kb:Generation-3e4d9090-ac3e-5448-920e-21a5dc928a4f , + kb:Generation-532b67a9-0af0-5b13-b3c5-943bb4c3c111 , + kb:Generation-583a181e-d8e2-5a36-b681-cb1b451ab8a7 , + kb:Generation-6a650ddc-c9c9-536e-98cc-cf8cda1d8bb5 , + kb:Generation-e8cfb211-8bb0-5f7d-ba23-d6c180f82ab6 , + kb:Usage-5ab8edd6-2a84-5483-9eaa-9fc1f7fb7657 , + kb:Usage-71e24ab9-9d59-5f90-a5c0-c154021e2210 + ; prov:endedAtTime "2017-06-22T10:31:19.240000+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-0df2f94e-bb9d-5599-a1ed-2eaf44e90df5 , @@ -657,7 +784,18 @@ kb:investigative-action-49e0d70c-f1bc-40a4-8866-45ddb8ad4e89 . kb:investigative-action-714255fe-ce2d-43e5-b0da-0910cc0e3997 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-e4a6a525-e2d0-5cea-a868-cf883f517ea5 ; + time:hasEnd kb:End-23328962-f49d-5769-b82d-bef9369856ac ; + time:inside + kb:Generation-3ed569b4-a465-58e9-9d64-dcd159248724 , + kb:Generation-4153d8ac-330b-5461-87c5-68c117db0051 , + kb:Usage-652af62a-975f-50b7-be89-e64c7669f5e0 , + kb:Usage-da5821a2-b62c-5f94-b85d-e6857cb0bff9 + ; prov:endedAtTime "2017-06-22T08:39:19.240000+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-4ab5ae74-b085-53e1-b980-ece73a42376e , @@ -681,13 +819,21 @@ kb:investigative-action-714255fe-ce2d-43e5-b0da-0910cc0e3997 . kb:investigative-action-7786ff3a-d40b-45a9-b65c-94ad10597b62 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-b80b4d9a-9047-557c-b253-de62930afbc0 ; + time:inside + kb:Generation-de6f3df8-d4cb-5afe-b1a3-83d70e52f146 , + kb:Usage-bebfe3c7-1d1b-519c-9744-a1bc44e54767 , + kb:Usage-ef04837a-e283-59e2-9b1a-4e02641921d0 + ; prov:qualifiedAssociation kb:Association-2228a6b8-554e-57f5-8226-0b0cd8645cf0 , kb:Association-e4c16bb6-df57-51bc-ba9e-27017b95d8d0 ; prov:qualifiedCommunication kb:Communication-7217300b-916e-51b2-853a-13d8cd8f0ff5 ; - prov:qualifiedEnd kb:End-7bf105b5-e219-537b-91fe-e66f2ca89b07 ; prov:qualifiedStart kb:Start-b80b4d9a-9047-557c-b253-de62930afbc0 ; prov:qualifiedUsage kb:Usage-bebfe3c7-1d1b-519c-9744-a1bc44e54767 , @@ -705,9 +851,19 @@ kb:investigative-action-7786ff3a-d40b-45a9-b65c-94ad10597b62 kb:investigative-action-b8fd94b9-ceae-4c2f-aa38-8cfaa98804fe a + time:ProperInterval , prov:Activity , prov:Agent ; + time:hasBeginning kb:Start-374045d8-e8c6-59fc-bf64-650ed2e63e93 ; + time:hasEnd kb:End-982645b4-3739-5fd9-8c9d-fb6555922622 ; + time:inside + kb:Generation-4cebe0bc-5c5c-5dc8-b7d6-3fb4b7a0abef , + kb:Generation-877affbc-21eb-54be-bd9f-adb8a8cfaae3 , + kb:Generation-d86540f7-302f-5342-84f7-1d3a88aa1f31 , + kb:Usage-1b61ad97-02c5-5990-a343-7b23b5fe4d9f , + kb:Usage-80a9d30e-a191-5d6b-917e-0eba6bd598bf + ; prov:endedAtTime "2017-06-22T10:31:19.240000+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-5ecb28c6-404d-55e9-aec1-58424da43208 , diff --git a/tests/CASE-Examples/examples/illustrations/exif_data/exif_data-prov.ttl b/tests/CASE-Examples/examples/illustrations/exif_data/exif_data-prov.ttl index 85f2ef5..115e4e0 100644 --- a/tests/CASE-Examples/examples/illustrations/exif_data/exif_data-prov.ttl +++ b/tests/CASE-Examples/examples/illustrations/exif_data/exif_data-prov.ttl @@ -3,6 +3,7 @@ @prefix prov: . @prefix rdf: . @prefix rdfs: . +@prefix time: . @prefix uco-core: . @prefix xsd: . @@ -34,22 +35,36 @@ kb:Derivation-19bf2d02-d31f-58d0-b171-cd30b1ad3a4d . kb:End-64e0bccb-5337-5c04-8000-e58afcb6af1d - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2010-01-15T18:59:43.250000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2010-01-15T18:59:43.250000+00:00"^^xsd:dateTime ; . kb:Generation-a19bfc2d-0682-5023-8046-4a4b0fe6c3f3 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-306e44f8-446d-4cff-a2fd-9e54affb1fa3 ; . kb:Start-1f683eec-81dd-5dad-a2fb-0937aa55b9d4 - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2010-01-15T17:59:43.250000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2010-01-15T17:59:43.250000+00:00"^^xsd:dateTime ; . kb:Usage-00a4f357-3e85-52a1-857e-9cc8e3c6e124 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity prov:EmptyCollection ; . @@ -78,7 +93,16 @@ kb:examiner-88a08acc-dad2-4964-be3b-8b70e11a4f4d . kb:forensic_action-306e44f8-446d-4cff-a2fd-9e54affb1fa3 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-1f683eec-81dd-5dad-a2fb-0937aa55b9d4 ; + time:hasEnd kb:End-64e0bccb-5337-5c04-8000-e58afcb6af1d ; + time:inside + kb:Generation-a19bfc2d-0682-5023-8046-4a4b0fe6c3f3 , + kb:Usage-00a4f357-3e85-52a1-857e-9cc8e3c6e124 + ; prov:endedAtTime "2010-01-15T18:59:43.250000+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-4efe673f-d484-546d-ba02-744d18c0fd26 , diff --git a/tests/CASE-Examples/examples/illustrations/forensic_lifecycle/forensic_lifecycle-prov.ttl b/tests/CASE-Examples/examples/illustrations/forensic_lifecycle/forensic_lifecycle-prov.ttl index 8306ce8..0323268 100644 --- a/tests/CASE-Examples/examples/illustrations/forensic_lifecycle/forensic_lifecycle-prov.ttl +++ b/tests/CASE-Examples/examples/illustrations/forensic_lifecycle/forensic_lifecycle-prov.ttl @@ -4,6 +4,7 @@ @prefix prov: . @prefix rdf: . @prefix rdfs: . +@prefix time: . @prefix uco-core: . @prefix xsd: . @@ -497,221 +498,360 @@ kb:Derivation-fb9d5f5b-bf39-5d91-bec8-0e0ced7ae0ba . kb:End-338827d7-0c4a-5eb1-80de-765e5fa5b844 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2010-02-16T17:59:43.250000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2010-02-16T17:59:43.250000+00:00"^^xsd:dateTime ; . kb:End-5a2d0764-78e0-5908-96d9-965a0689c672 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2010-01-15T19:59:43.250000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2010-01-15T19:59:43.250000+00:00"^^xsd:dateTime ; . kb:End-6df61d02-7d15-592d-9e81-a6ae44c7a52b - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2010-01-16T19:59:43.250000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2010-01-16T19:59:43.250000+00:00"^^xsd:dateTime ; . kb:End-ca8e1eef-bfac-59f5-8d24-4c7008239af2 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2010-01-21T17:59:43.250000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2010-01-21T17:59:43.250000+00:00"^^xsd:dateTime ; . kb:End-f203f645-0630-5a9f-bd74-80b3d89643b0 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2010-01-15T19:59:43.250000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2010-01-15T19:59:43.250000+00:00"^^xsd:dateTime ; . -kb:End-fbda0a0d-8c42-53ce-acae-8af9748542a5 - a prov:End ; - . - kb:Generation-09d9ce11-d91b-5879-93f9-187c1f2d3ffa - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-9c7cbad0-bbb4-4975-b095-96b32c13fe44 ; . kb:Generation-18ec793d-1cc5-5e98-967c-d6270ea4f536 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-1123b9f7-07d3-40e6-836c-87fa6b3a8889 ; . kb:Generation-1b672675-9711-5edc-9cb5-7c7981e81ecc - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-8c67cfa9-12e6-503f-96e8-1e2f7757557f ; prov:activity kb:forensic_action-7c0cf2d0-f447-4b11-bc77-2e85e2362d44 ; . kb:Generation-23eacfe4-d83b-59ac-9518-4e3e3e350544 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-636d8a19-6863-4995-a3ce-d5508f90e138 ; . kb:Generation-358c8913-bead-5d0c-be9f-7d64c3614059 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-7c0cf2d0-f447-4b11-bc77-2e85e2362d44 ; . kb:Generation-5498c805-97ba-5dbc-9bfa-b2de41df3c3a - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-1123b9f7-07d3-40e6-836c-87fa6b3a8889 ; . kb:Generation-68c0bcd4-827e-587c-84b8-3e38f6d45ed9 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-a2001556-3e30-5c4b-9b6b-51eb96f53925 ; prov:activity kb:forensic_action-7c0cf2d0-f447-4b11-bc77-2e85e2362d44 ; . kb:Generation-6a5a23ae-7443-595c-96bb-79c0b2d5ddf7 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-52537643-826c-5fca-a5fa-9acf29913e6c ; prov:activity kb:forensic_action-7c0cf2d0-f447-4b11-bc77-2e85e2362d44 ; . kb:Generation-6dfd8768-6397-5981-bb44-a51ba7af3539 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-1123b9f7-07d3-40e6-836c-87fa6b3a8889 ; . kb:Generation-7883c791-643c-54e8-9931-11be8ba42c4a - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-7c0cf2d0-f447-4b11-bc77-2e85e2362d44 ; . kb:Generation-9a849468-b1ee-579b-bf0e-586352671c32 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-1123b9f7-07d3-40e6-836c-87fa6b3a8889 ; . kb:Generation-a100bf9c-1855-52d9-ae2d-fc9bf10ca65d - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-cca47fae-305c-402d-a094-2b7acd61ed40 ; . kb:Generation-a24329ff-3442-5e98-92a2-04820495618c - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-cca47fae-305c-402d-a094-2b7acd61ed40 ; . kb:Generation-aa4e7ea6-c32a-5990-b099-e2cb275b784a - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-7c0cf2d0-f447-4b11-bc77-2e85e2362d44 ; . kb:Generation-af69987d-0c96-5eea-b78e-41c9e71c7629 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-1123b9f7-07d3-40e6-836c-87fa6b3a8889 ; . kb:Generation-b2ebff7f-59dc-5d03-98c8-2f06f43c1508 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-1123b9f7-07d3-40e6-836c-87fa6b3a8889 ; . kb:Generation-bf2f7f7d-a755-5fdd-b0fc-835435cbbe00 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-1123b9f7-07d3-40e6-836c-87fa6b3a8889 ; . kb:Generation-c1f71e3c-ca3f-53b2-b7cf-39c8cbecf5fc - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-1123b9f7-07d3-40e6-836c-87fa6b3a8889 ; . kb:Generation-c2c05292-23e5-5b3f-ad99-7a1dc614062a - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-7c0cf2d0-f447-4b11-bc77-2e85e2362d44 ; . kb:Generation-c3837b35-dfd6-50f7-9a25-98172e7955b1 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-7c0cf2d0-f447-4b11-bc77-2e85e2362d44 ; . kb:Generation-c7b8f9d5-6750-5a17-87e5-601aa6230ddb - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-7c0cf2d0-f447-4b11-bc77-2e85e2362d44 ; . kb:Generation-e1468c4c-178e-5b44-9fe6-586fb0beab1d - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-e482197e-50d4-4ce6-8240-9ada303e65c0 ; . kb:Generation-e1f058c5-e6be-503f-8ce2-a002633632cf - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:forensic_action-1123b9f7-07d3-40e6-836c-87fa6b3a8889 ; . kb:Start-2633754f-5cff-552b-a4b2-0e22d683ef06 - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2010-01-15T17:59:43.250000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2010-01-15T17:59:43.250000+00:00"^^xsd:dateTime ; . kb:Start-2fa7bcf3-71f3-5194-aade-fefd46cd0a02 - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2010-01-15T17:59:43.250000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2010-01-15T17:59:43.250000+00:00"^^xsd:dateTime ; . kb:Start-52a8f4b3-1da2-56ff-a247-4651277a9e0c - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2010-01-16T17:59:43.250000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2010-01-16T17:59:43.250000+00:00"^^xsd:dateTime ; . kb:Start-697d895d-a310-5c48-bd6e-caa3ca909574 - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2010-01-15T17:59:43.250000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2010-01-15T17:59:43.250000+00:00"^^xsd:dateTime ; . kb:Start-7876a25f-68dc-5f25-a2c2-67cf26e9b46f - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2010-02-15T17:59:43.250000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2010-02-15T17:59:43.250000+00:00"^^xsd:dateTime ; . kb:Start-86cda1ed-abec-53f6-8f94-d1ffae6c8fd5 - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2010-01-20T17:59:43.250000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2010-01-20T17:59:43.250000+00:00"^^xsd:dateTime ; . kb:Usage-4cee771b-61bb-56d3-b45e-fc5f0af56359 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:sd_card1_image-d4bdbf25-bd6f-43d5-950d-092c8c82f183 ; . kb:Usage-4f4d8e9a-59d4-5275-9a6f-cf3ab7dec5a9 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:device-9112a8a8-b2e8-4991-b68a-c40c7f716226 ; . kb:Usage-52537643-826c-5fca-a5fa-9acf29913e6c - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance_record-0d6e3fe9-6cfd-4de8-a920-735bedeba8bd ; . kb:Usage-8759ab97-1450-551d-ae21-ec6817dd2cec - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:android_image-e0c0a2e7-f653-4d0f-860c-d8d8bdb18cb3 ; . kb:Usage-8c67cfa9-12e6-503f-96e8-1e2f7757557f - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance_record-68669de1-9070-4d99-b93b-e59405848c26 ; . kb:Usage-923c8670-65dc-5cd9-b7b2-b26cb478ce0f - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:sd_card-590667ed-4763-4e5b-967a-2300368211b8 ; . kb:Usage-a2001556-3e30-5c4b-9b6b-51eb96f53925 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance_record-e28c33af-7d77-4fe4-b656-2de902a73acd ; . kb:Usage-a235c9ed-9e3d-5d7d-8bc4-ab6bcb0f5f82 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:device-9112a8a8-b2e8-4991-b68a-c40c7f716226 ; . kb:Usage-c3dc5741-8064-5e21-86ce-5dbcd1a0b224 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity prov:EmptyCollection ; . @@ -756,7 +896,26 @@ kb:examiner-fef59198-4752-4ec0-9ce1-00aec96eacc3 . kb:forensic_action-1123b9f7-07d3-40e6-836c-87fa6b3a8889 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-7876a25f-68dc-5f25-a2c2-67cf26e9b46f ; + time:hasEnd kb:End-338827d7-0c4a-5eb1-80de-765e5fa5b844 ; + time:inside + kb:Generation-18ec793d-1cc5-5e98-967c-d6270ea4f536 , + kb:Generation-5498c805-97ba-5dbc-9bfa-b2de41df3c3a , + kb:Generation-6dfd8768-6397-5981-bb44-a51ba7af3539 , + kb:Generation-9a849468-b1ee-579b-bf0e-586352671c32 , + kb:Generation-af69987d-0c96-5eea-b78e-41c9e71c7629 , + kb:Generation-b2ebff7f-59dc-5d03-98c8-2f06f43c1508 , + kb:Generation-bf2f7f7d-a755-5fdd-b0fc-835435cbbe00 , + kb:Generation-c1f71e3c-ca3f-53b2-b7cf-39c8cbecf5fc , + kb:Generation-e1f058c5-e6be-503f-8ce2-a002633632cf , + kb:Usage-52537643-826c-5fca-a5fa-9acf29913e6c , + kb:Usage-8c67cfa9-12e6-503f-96e8-1e2f7757557f , + kb:Usage-a2001556-3e30-5c4b-9b6b-51eb96f53925 + ; prov:endedAtTime "2010-02-16T17:59:43.250000+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-1d6bc8e6-e863-5ce8-9159-b9d80410a76c , @@ -780,7 +939,16 @@ kb:forensic_action-1123b9f7-07d3-40e6-836c-87fa6b3a8889 . kb:forensic_action-636d8a19-6863-4995-a3ce-d5508f90e138 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-697d895d-a310-5c48-bd6e-caa3ca909574 ; + time:hasEnd kb:End-f203f645-0630-5a9f-bd74-80b3d89643b0 ; + time:inside + kb:Generation-23eacfe4-d83b-59ac-9518-4e3e3e350544 , + kb:Usage-4f4d8e9a-59d4-5275-9a6f-cf3ab7dec5a9 + ; prov:endedAtTime "2010-01-15T19:59:43.250000+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-320c763d-bc9f-559c-adb5-0a504e8d9cfd , @@ -796,7 +964,25 @@ kb:forensic_action-636d8a19-6863-4995-a3ce-d5508f90e138 . kb:forensic_action-7c0cf2d0-f447-4b11-bc77-2e85e2362d44 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-86cda1ed-abec-53f6-8f94-d1ffae6c8fd5 ; + time:hasEnd kb:End-ca8e1eef-bfac-59f5-8d24-4c7008239af2 ; + time:inside + kb:Generation-1b672675-9711-5edc-9cb5-7c7981e81ecc , + kb:Generation-358c8913-bead-5d0c-be9f-7d64c3614059 , + kb:Generation-68c0bcd4-827e-587c-84b8-3e38f6d45ed9 , + kb:Generation-6a5a23ae-7443-595c-96bb-79c0b2d5ddf7 , + kb:Generation-7883c791-643c-54e8-9931-11be8ba42c4a , + kb:Generation-aa4e7ea6-c32a-5990-b099-e2cb275b784a , + kb:Generation-c2c05292-23e5-5b3f-ad99-7a1dc614062a , + kb:Generation-c3837b35-dfd6-50f7-9a25-98172e7955b1 , + kb:Generation-c7b8f9d5-6750-5a17-87e5-601aa6230ddb , + kb:Usage-4cee771b-61bb-56d3-b45e-fc5f0af56359 , + kb:Usage-8759ab97-1450-551d-ae21-ec6817dd2cec + ; prov:endedAtTime "2010-01-21T17:59:43.250000+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-bc802313-9d21-521a-86a0-309f6e0f5462 , @@ -818,7 +1004,16 @@ kb:forensic_action-7c0cf2d0-f447-4b11-bc77-2e85e2362d44 . kb:forensic_action-9c7cbad0-bbb4-4975-b095-96b32c13fe44 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-52a8f4b3-1da2-56ff-a247-4651277a9e0c ; + time:hasEnd kb:End-6df61d02-7d15-592d-9e81-a6ae44c7a52b ; + time:inside + kb:Generation-09d9ce11-d91b-5879-93f9-187c1f2d3ffa , + kb:Usage-923c8670-65dc-5cd9-b7b2-b26cb478ce0f + ; prov:endedAtTime "2010-01-16T19:59:43.250000+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-6284e558-e6c3-5db9-8cff-69848b097670 , @@ -834,9 +1029,17 @@ kb:forensic_action-9c7cbad0-bbb4-4975-b095-96b32c13fe44 . kb:forensic_action-cca47fae-305c-402d-a094-2b7acd61ed40 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-2633754f-5cff-552b-a4b2-0e22d683ef06 ; + time:inside + kb:Generation-a100bf9c-1855-52d9-ae2d-fc9bf10ca65d , + kb:Generation-a24329ff-3442-5e98-92a2-04820495618c , + kb:Usage-a235c9ed-9e3d-5d7d-8bc4-ab6bcb0f5f82 + ; prov:qualifiedAssociation kb:Association-401a6459-36cc-5986-9cad-830685162f0a ; - prov:qualifiedEnd kb:End-fbda0a0d-8c42-53ce-acae-8af9748542a5 ; prov:qualifiedStart kb:Start-2633754f-5cff-552b-a4b2-0e22d683ef06 ; prov:qualifiedUsage kb:Usage-a235c9ed-9e3d-5d7d-8bc4-ab6bcb0f5f82 ; prov:startedAtTime "2010-01-15T17:59:43.250000+00:00"^^xsd:dateTime ; @@ -846,7 +1049,16 @@ kb:forensic_action-cca47fae-305c-402d-a094-2b7acd61ed40 . kb:forensic_action-e482197e-50d4-4ce6-8240-9ada303e65c0 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-2fa7bcf3-71f3-5194-aade-fefd46cd0a02 ; + time:hasEnd kb:End-5a2d0764-78e0-5908-96d9-965a0689c672 ; + time:inside + kb:Generation-e1468c4c-178e-5b44-9fe6-586fb0beab1d , + kb:Usage-c3dc5741-8064-5e21-86ce-5dbcd1a0b224 + ; prov:endedAtTime "2010-01-15T19:59:43.250000+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-eef90151-fb7a-5ca2-9b2c-a009b5021c18 ; prov:qualifiedEnd kb:End-5a2d0764-78e0-5908-96d9-965a0689c672 ; diff --git a/tests/CASE-Examples/examples/illustrations/network_connection/network_connection-prov.ttl b/tests/CASE-Examples/examples/illustrations/network_connection/network_connection-prov.ttl index 4b30b44..3034649 100644 --- a/tests/CASE-Examples/examples/illustrations/network_connection/network_connection-prov.ttl +++ b/tests/CASE-Examples/examples/illustrations/network_connection/network_connection-prov.ttl @@ -3,6 +3,7 @@ @prefix prov: . @prefix rdf: . @prefix rdfs: . +@prefix time: . @prefix uco-core: . @prefix xsd: . @@ -80,41 +81,66 @@ kb:Derivation-fc138cee-3f5f-5c6d-9e30-689e7da94aba . kb:End-9fcc3893-e514-5cfb-aff7-4cf345c8f728 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2017-09-29T11:47:54.288992+00:00"^^xsd:dateTimeStamp ; prov:atTime "2017-09-29T11:47:54.288992+00:00"^^xsd:dateTime ; . kb:Generation-375b6eee-be9c-520d-850c-25206e789823 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:extraction-action-a1c7e92a-5b0b-4156-8816-b337c66341f6 ; . kb:Generation-892d0658-1a2f-507a-8fc8-8847a91d06b1 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:extraction-action-a1c7e92a-5b0b-4156-8816-b337c66341f6 ; . kb:Generation-b8619da4-0187-5d2a-abcf-d63052a199c9 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:extraction-action-a1c7e92a-5b0b-4156-8816-b337c66341f6 ; . kb:Generation-bdfa2e12-8278-59f4-9f27-83f4e1323bad - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:extraction-action-a1c7e92a-5b0b-4156-8816-b337c66341f6 ; . kb:Start-d822844e-ff42-5d7b-817b-25a498f36d55 - a prov:Start ; + a + time:Instant , + prov:Start + ; . kb:Usage-26593650-771b-52b7-a568-5f8ab46624e2 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:pcap-file-2200b4e1-3974-4e37-961b-d817079bc9e1 ; . kb:Usage-8b9069ca-2924-54bc-a11e-27d423900233 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:pcap-provenancerecord-b668b007-76cc-4d1b-859e-6ae051d36abe ; . @@ -144,7 +170,20 @@ kb:extracted-connections-provenancerecord-55d66280-aa96-4806-a60f-303acdc0c078 . kb:extraction-action-a1c7e92a-5b0b-4156-8816-b337c66341f6 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-d822844e-ff42-5d7b-817b-25a498f36d55 ; + time:hasEnd kb:End-9fcc3893-e514-5cfb-aff7-4cf345c8f728 ; + time:inside + kb:Generation-375b6eee-be9c-520d-850c-25206e789823 , + kb:Generation-892d0658-1a2f-507a-8fc8-8847a91d06b1 , + kb:Generation-b8619da4-0187-5d2a-abcf-d63052a199c9 , + kb:Generation-bdfa2e12-8278-59f4-9f27-83f4e1323bad , + kb:Usage-26593650-771b-52b7-a568-5f8ab46624e2 , + kb:Usage-8b9069ca-2924-54bc-a11e-27d423900233 + ; prov:endedAtTime "2017-09-29T11:47:54.288992+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-7c34e5ea-ff99-5c63-a5d5-c0747d532e6e ; prov:qualifiedEnd kb:End-9fcc3893-e514-5cfb-aff7-4cf345c8f728 ; diff --git a/tests/CASE-Examples/examples/illustrations/reconstructed_file/reconstructed_file-prov.ttl b/tests/CASE-Examples/examples/illustrations/reconstructed_file/reconstructed_file-prov.ttl index 89945e4..670088a 100644 --- a/tests/CASE-Examples/examples/illustrations/reconstructed_file/reconstructed_file-prov.ttl +++ b/tests/CASE-Examples/examples/illustrations/reconstructed_file/reconstructed_file-prov.ttl @@ -4,6 +4,7 @@ @prefix prov: . @prefix rdf: . @prefix rdfs: . +@prefix time: . @prefix uco-core: . @prefix xsd: . @@ -267,107 +268,178 @@ kb:Derivation-fff045ab-c1c3-5aa1-a8fc-d83d8602aa2e . kb:End-38622335-5b82-5fbd-808f-bff4e7363425 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2013-05-12T17:36:43.250000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2013-05-12T17:36:43.250000+00:00"^^xsd:dateTime ; . kb:End-d130e30c-b4c9-543e-835b-4ca366a5fb86 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2013-05-12T17:36:43.250000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2013-05-12T17:36:43.250000+00:00"^^xsd:dateTime ; . kb:Generation-25c48588-93da-510a-a029-45650577258e - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeaction2-9eadcaa9-4ebe-4e26-a6f0-a87c6ce5940d ; . kb:Generation-3cb48046-ec62-523b-9eec-4cae016bbc00 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeaction2-9eadcaa9-4ebe-4e26-a6f0-a87c6ce5940d ; . kb:Generation-54fee21f-5a8e-5aae-a55b-a998c6d6f485 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeaction1-65b73dc0-8a4b-4be1-92b6-c45bedf1eb49 ; . kb:Generation-772274b7-aca6-58a0-8c96-0aac0d398164 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-cff1b20f-6dae-54db-8624-82554f8e1f7d ; prov:activity kb:investigativeaction1-65b73dc0-8a4b-4be1-92b6-c45bedf1eb49 ; . kb:Generation-79d40076-0ecf-53c6-babb-93984e35aadb - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-b9a7d80d-765a-585a-9f86-a349e926e5c6 ; prov:activity kb:investigativeaction1-65b73dc0-8a4b-4be1-92b6-c45bedf1eb49 ; . kb:Generation-924738ed-5f74-52fb-9463-6c017426603d - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeaction1-65b73dc0-8a4b-4be1-92b6-c45bedf1eb49 ; . kb:Generation-9cfd76f5-5565-5b55-93f9-6fbc797a5e39 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeaction1-65b73dc0-8a4b-4be1-92b6-c45bedf1eb49 ; . kb:Generation-a12290bf-6e71-53ab-8cee-398b42841e64 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeaction2-9eadcaa9-4ebe-4e26-a6f0-a87c6ce5940d ; . kb:Generation-bc2a5414-a648-5193-8c5e-f47081b07ae3 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeaction2-9eadcaa9-4ebe-4e26-a6f0-a87c6ce5940d ; . kb:Generation-c9c0b473-38aa-5b72-bf79-0d01f97198c8 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeaction2-9eadcaa9-4ebe-4e26-a6f0-a87c6ce5940d ; . kb:Generation-d823a2e4-21a7-536f-8718-a7f1efb58fce - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-8637a3f4-7ac8-5389-84dc-2a980bf5bd5e ; prov:activity kb:investigativeaction1-65b73dc0-8a4b-4be1-92b6-c45bedf1eb49 ; . kb:Generation-e4c3f9be-2b20-536b-8fd7-1ecbd8d2b4d7 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-72b1ba35-788a-5c6d-ae86-aaad6b356924 ; prov:activity kb:investigativeaction1-65b73dc0-8a4b-4be1-92b6-c45bedf1eb49 ; . kb:Start-79209f75-e342-5dfa-ac7c-a256ec93d2a1 - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2013-05-12T17:14:45.100000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2013-05-12T17:14:45.100000+00:00"^^xsd:dateTime ; . kb:Start-b664c5d9-47cb-5088-92a8-c2829580a609 - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2013-05-12T17:14:45.100000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2013-05-12T17:14:45.100000+00:00"^^xsd:dateTime ; . kb:Usage-61e1f9b1-f773-518c-af14-e0e1f04a6415 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:nistimage-05a9a342-6748-4e8b-97e2-6f4ec97e1eac ; . kb:Usage-72b1ba35-788a-5c6d-ae86-aaad6b356924 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenancerecord2-2eb22784-63ee-46ce-8a59-eb3820431109 ; . kb:Usage-8637a3f4-7ac8-5389-84dc-2a980bf5bd5e - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:fragment1-8428b15f-f61f-47f8-9659-98b37f3507ad ; . kb:Usage-b9a7d80d-765a-585a-9f86-a349e926e5c6 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:fragment0-b0606dc6-b89b-440e-8344-41cf6bc54f15 ; . kb:Usage-cff1b20f-6dae-54db-8624-82554f8e1f7d - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:fragment2-08eee8f2-5ee8-4140-8ebd-1a7638adb9f8 ; . @@ -422,7 +494,22 @@ kb:fragment2-08eee8f2-5ee8-4140-8ebd-1a7638adb9f8 . kb:investigativeaction1-65b73dc0-8a4b-4be1-92b6-c45bedf1eb49 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-79209f75-e342-5dfa-ac7c-a256ec93d2a1 ; + time:hasEnd kb:End-d130e30c-b4c9-543e-835b-4ca366a5fb86 ; + time:inside + kb:Generation-54fee21f-5a8e-5aae-a55b-a998c6d6f485 , + kb:Generation-772274b7-aca6-58a0-8c96-0aac0d398164 , + kb:Generation-79d40076-0ecf-53c6-babb-93984e35aadb , + kb:Generation-924738ed-5f74-52fb-9463-6c017426603d , + kb:Generation-9cfd76f5-5565-5b55-93f9-6fbc797a5e39 , + kb:Generation-d823a2e4-21a7-536f-8718-a7f1efb58fce , + kb:Generation-e4c3f9be-2b20-536b-8fd7-1ecbd8d2b4d7 , + kb:Usage-61e1f9b1-f773-518c-af14-e0e1f04a6415 + ; prov:endedAtTime "2013-05-12T17:36:43.250000+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-28c100d8-3bca-5c04-901c-2c02192fcbc7 , @@ -438,7 +525,23 @@ kb:investigativeaction1-65b73dc0-8a4b-4be1-92b6-c45bedf1eb49 . kb:investigativeaction2-9eadcaa9-4ebe-4e26-a6f0-a87c6ce5940d - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-b664c5d9-47cb-5088-92a8-c2829580a609 ; + time:hasEnd kb:End-38622335-5b82-5fbd-808f-bff4e7363425 ; + time:inside + kb:Generation-25c48588-93da-510a-a029-45650577258e , + kb:Generation-3cb48046-ec62-523b-9eec-4cae016bbc00 , + kb:Generation-a12290bf-6e71-53ab-8cee-398b42841e64 , + kb:Generation-bc2a5414-a648-5193-8c5e-f47081b07ae3 , + kb:Generation-c9c0b473-38aa-5b72-bf79-0d01f97198c8 , + kb:Usage-72b1ba35-788a-5c6d-ae86-aaad6b356924 , + kb:Usage-8637a3f4-7ac8-5389-84dc-2a980bf5bd5e , + kb:Usage-b9a7d80d-765a-585a-9f86-a349e926e5c6 , + kb:Usage-cff1b20f-6dae-54db-8624-82554f8e1f7d + ; prov:endedAtTime "2013-05-12T17:36:43.250000+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-0561cf99-f18b-548f-bde1-45cd35fc20a2 , diff --git a/tests/casework.github.io/examples/asgard/asgard-prov.ttl b/tests/casework.github.io/examples/asgard/asgard-prov.ttl index 631d947..8cea466 100644 --- a/tests/casework.github.io/examples/asgard/asgard-prov.ttl +++ b/tests/casework.github.io/examples/asgard/asgard-prov.ttl @@ -4,6 +4,7 @@ @prefix prov: . @prefix rdf: . @prefix rdfs: . +@prefix time: . @prefix uco-core: . @prefix xsd: . @@ -100,57 +101,88 @@ kb:Derivation-cca3f143-b4e7-5d68-ad97-172f031b7da6 prov:hadActivity kb:investigativeaction-67f43664-077d-47be-b332-4d1c2b579c49 ; . -kb:End-8e1eb70f-0773-5ded-8e53-a2cc3f7f1b24 - a prov:End ; - . - kb:End-c21c802b-1ef3-5bc5-a856-8de8dc164c99 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2019-03-30T22:47:32+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-03-30T22:47:32+00:00"^^xsd:dateTime ; . kb:Generation-356ee4b0-db2e-5eca-81a7-4056c426ebb5 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-bae52a41-ccc8-555a-ac24-e78205d20299 ; prov:activity kb:investigativeaction-3f7f68f0-f68d-48db-be09-45c1239b0fdd ; . kb:Generation-45ae8137-f5d6-51bd-b08a-fd0153af1934 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeaction-67f43664-077d-47be-b332-4d1c2b579c49 ; . kb:Generation-80facc0f-0d47-5a9f-aeec-af40a25bf5f0 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-52ebb769-e03a-5f86-b783-30babfed39ea ; prov:activity kb:investigativeaction-3f7f68f0-f68d-48db-be09-45c1239b0fdd ; . kb:Generation-a2819157-37e9-5e99-81b6-9e957f20df0c - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeaction-67f43664-077d-47be-b332-4d1c2b579c49 ; . kb:Start-7e0658c0-29c5-553c-ac0f-564f6bd82ad0 - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2019-03-30T22:36:24.350000+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-03-30T22:36:24.350000+00:00"^^xsd:dateTime ; . kb:Start-a80277f8-b5fd-5cfd-b732-aab017544ab9 - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2019-03-30T22:17:31+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-03-30T22:17:31+00:00"^^xsd:dateTime ; . kb:Usage-52ebb769-e03a-5f86-b783-30babfed39ea - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenancerecord-c2b73229-9cc1-477a-9024-8117e18d97fa ; . kb:Usage-683712a8-abd3-5469-ab16-8e2816e7006d - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity prov:EmptyCollection ; . kb:Usage-bae52a41-ccc8-555a-ac24-e78205d20299 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:device-9420af3b-4d3a-4239-88fc-d33feec8dc4f ; . @@ -195,12 +227,20 @@ kb:forensicimage-68b52e60-1f7f-4f22-8c5e-dd0492d3ee07 . kb:investigativeaction-3f7f68f0-f68d-48db-be09-45c1239b0fdd - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-7e0658c0-29c5-553c-ac0f-564f6bd82ad0 ; + time:inside + kb:Generation-356ee4b0-db2e-5eca-81a7-4056c426ebb5 , + kb:Generation-80facc0f-0d47-5a9f-aeec-af40a25bf5f0 , + kb:Usage-683712a8-abd3-5469-ab16-8e2816e7006d + ; prov:qualifiedAssociation kb:Association-166a48b0-8086-5484-a950-d18ee9c731da , kb:Association-ac0c946d-71df-5b7e-bf98-d4fe10aa3eb2 ; - prov:qualifiedEnd kb:End-8e1eb70f-0773-5ded-8e53-a2cc3f7f1b24 ; prov:qualifiedStart kb:Start-7e0658c0-29c5-553c-ac0f-564f6bd82ad0 ; prov:qualifiedUsage kb:Usage-683712a8-abd3-5469-ab16-8e2816e7006d ; prov:startedAtTime "2019-03-30T22:36:24.350000+00:00"^^xsd:dateTime ; @@ -210,7 +250,18 @@ kb:investigativeaction-3f7f68f0-f68d-48db-be09-45c1239b0fdd . kb:investigativeaction-67f43664-077d-47be-b332-4d1c2b579c49 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-a80277f8-b5fd-5cfd-b732-aab017544ab9 ; + time:hasEnd kb:End-c21c802b-1ef3-5bc5-a856-8de8dc164c99 ; + time:inside + kb:Generation-45ae8137-f5d6-51bd-b08a-fd0153af1934 , + kb:Generation-a2819157-37e9-5e99-81b6-9e957f20df0c , + kb:Usage-52ebb769-e03a-5f86-b783-30babfed39ea , + kb:Usage-bae52a41-ccc8-555a-ac24-e78205d20299 + ; prov:endedAtTime "2019-03-30T22:47:32+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-899eb981-02fd-557f-bb92-108eb1d97066 , diff --git a/tests/casework.github.io/examples/crossover_heist/crossover_heist-prov.ttl b/tests/casework.github.io/examples/crossover_heist/crossover_heist-prov.ttl index 10f9954..c31b880 100644 --- a/tests/casework.github.io/examples/crossover_heist/crossover_heist-prov.ttl +++ b/tests/casework.github.io/examples/crossover_heist/crossover_heist-prov.ttl @@ -4,6 +4,7 @@ @prefix prov: . @prefix rdf: . @prefix rdfs: . +@prefix time: . @prefix uco-core: . @prefix xsd: . @@ -72,22 +73,43 @@ kb:Disk-6dbe5066-dfb8-4551-9bda-39aab2ae3db1 . kb:End-b7e9c240-c798-508c-8abb-bba2a90743f0 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2018-11-19T15:58:38+00:00"^^xsd:dateTimeStamp ; prov:atTime "2018-11-19T15:58:38+00:00"^^xsd:dateTime ; . kb:Generation-39794b09-cea8-5ebc-832b-58aba299df36 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:InvestigativeAction-e019ed92-af10-4a9f-a914-7a9ba539807c ; . kb:Generation-9641ef8d-df3c-5b17-9109-41799e563f19 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:InvestigativeAction-e019ed92-af10-4a9f-a914-7a9ba539807c ; . kb:InvestigativeAction-e019ed92-af10-4a9f-a914-7a9ba539807c - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-0f4342fc-ff40-5bdb-a93f-7814693401ea ; + time:hasEnd kb:End-b7e9c240-c798-508c-8abb-bba2a90743f0 ; + time:inside + kb:Generation-39794b09-cea8-5ebc-832b-58aba299df36 , + kb:Generation-9641ef8d-df3c-5b17-9109-41799e563f19 , + kb:Usage-33d52b01-982b-5310-b89d-09d6f2dd7a95 , + kb:Usage-b00b6811-7230-57e0-9f16-b0487a7f0185 + ; prov:endedAtTime "2018-11-19T15:58:38+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-40a3d4c4-145f-5cfb-85c8-eb54a52e419f , @@ -147,17 +169,27 @@ kb:Role-870e2626-5ffd-4a80-83c2-8ee429709c81 . kb:Start-0f4342fc-ff40-5bdb-a93f-7814693401ea - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2018-11-19T15:51:10+00:00"^^xsd:dateTimeStamp ; prov:atTime "2018-11-19T15:51:10+00:00"^^xsd:dateTime ; . kb:Usage-33d52b01-982b-5310-b89d-09d6f2dd7a95 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:Disk-6dbe5066-dfb8-4551-9bda-39aab2ae3db1 ; . kb:Usage-b00b6811-7230-57e0-9f16-b0487a7f0185 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:ProvenanceRecord-53d614ea-d7cd-4491-a100-2f0b88299e89 ; . diff --git a/tests/casework.github.io/examples/crossover_wmd/crossover_wmd-prov.ttl b/tests/casework.github.io/examples/crossover_wmd/crossover_wmd-prov.ttl index 3e95499..e85bd1a 100644 --- a/tests/casework.github.io/examples/crossover_wmd/crossover_wmd-prov.ttl +++ b/tests/casework.github.io/examples/crossover_wmd/crossover_wmd-prov.ttl @@ -4,6 +4,7 @@ @prefix prov: . @prefix rdf: . @prefix rdfs: . +@prefix time: . @prefix uco-core: . @prefix xs: . @@ -112,59 +113,83 @@ kb:Derivation-cc3fb8b7-8450-53aa-ad26-01353a4486ff prov:hadActivity kb:investigativeaction-b4b0805e-84ec-4553-98c2-6f0454829c30 ; . -kb:End-63719a11-caa5-5e6a-9c02-2e50eda1aebe - a prov:End ; - . - -kb:End-e2655adc-6154-5264-803f-fd02ab40ae67 - a prov:End ; - . - kb:Generation-39aa1538-f6a3-5692-b2d6-6ba2d605b6f0 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-a8b91c35-a0f0-53a5-97e7-acae901a2f20 ; prov:activity kb:investigative-action-99a5c94f-e6cd-4b7c-b189-ea998ee0b31f ; . kb:Generation-cd640ce1-52a9-544b-bc90-8e805c2bfddf - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-e664c1e9-cf06-5077-86c7-de7b494c8da0 ; prov:activity kb:investigative-action-99a5c94f-e6cd-4b7c-b189-ea998ee0b31f ; . kb:Generation-ce49f592-8d87-5e57-bc99-879115c6a1b5 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeaction-b4b0805e-84ec-4553-98c2-6f0454829c30 ; . kb:Generation-dffe8b31-b6d2-5853-9efa-eaae9aa2c16d - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeaction-b4b0805e-84ec-4553-98c2-6f0454829c30 ; . kb:Start-57113518-385d-5389-b33d-b75b3fe502f9 - a prov:Start ; + a + time:Instant , + prov:Start + ; . kb:Start-88a525a4-8451-511d-bb5c-3c4fc5be7f48 - a prov:Start ; + a + time:Instant , + prov:Start + ; . kb:Usage-2c3cf509-d4b6-58ef-a93f-dab2f4521d9d - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:mobiledevice-803df237-bc7e-4e24-a5cb-8157063014b4 ; . kb:Usage-990abb55-1f97-5231-8998-99493d36bf89 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenancerecord-9326149a-31c5-4d20-ada3-b97743d3e563 ; . kb:Usage-a8b91c35-a0f0-53a5-97e7-acae901a2f20 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-e64b7aed-cecb-4291-81d4-4adb5b8020b2 ; . kb:Usage-e664c1e9-cf06-5077-86c7-de7b494c8da0 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:forensicimage-f3fd304e-ef6c-4cbd-94cb-425880f82748 ; . @@ -221,12 +246,21 @@ kb:forensicimage-f3fd304e-ef6c-4cbd-94cb-425880f82748 . kb:investigative-action-99a5c94f-e6cd-4b7c-b189-ea998ee0b31f - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-57113518-385d-5389-b33d-b75b3fe502f9 ; + time:inside + kb:Generation-39aa1538-f6a3-5692-b2d6-6ba2d605b6f0 , + kb:Generation-cd640ce1-52a9-544b-bc90-8e805c2bfddf , + kb:Usage-2c3cf509-d4b6-58ef-a93f-dab2f4521d9d , + kb:Usage-990abb55-1f97-5231-8998-99493d36bf89 + ; prov:qualifiedAssociation kb:Association-470665c9-e94b-5ead-9355-51098f8b792c , kb:Association-f6ea3bb3-fd70-59ee-82a9-dd53fff51234 ; - prov:qualifiedEnd kb:End-63719a11-caa5-5e6a-9c02-2e50eda1aebe ; prov:qualifiedStart kb:Start-57113518-385d-5389-b33d-b75b3fe502f9 ; prov:qualifiedUsage kb:Usage-2c3cf509-d4b6-58ef-a93f-dab2f4521d9d , @@ -241,13 +275,22 @@ kb:investigative-action-99a5c94f-e6cd-4b7c-b189-ea998ee0b31f . kb:investigativeaction-b4b0805e-84ec-4553-98c2-6f0454829c30 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-88a525a4-8451-511d-bb5c-3c4fc5be7f48 ; + time:inside + kb:Generation-ce49f592-8d87-5e57-bc99-879115c6a1b5 , + kb:Generation-dffe8b31-b6d2-5853-9efa-eaae9aa2c16d , + kb:Usage-a8b91c35-a0f0-53a5-97e7-acae901a2f20 , + kb:Usage-e664c1e9-cf06-5077-86c7-de7b494c8da0 + ; prov:qualifiedAssociation kb:Association-0ab620cd-a8d7-5561-b58c-2aca0bf7360e , kb:Association-338af0a0-b8b2-5f04-b8eb-2ebbce67910e ; prov:qualifiedCommunication kb:Communication-b6493770-8f1d-5e88-8ffa-7b801b476e1b ; - prov:qualifiedEnd kb:End-e2655adc-6154-5264-803f-fd02ab40ae67 ; prov:qualifiedStart kb:Start-88a525a4-8451-511d-bb5c-3c4fc5be7f48 ; prov:qualifiedUsage kb:Usage-a8b91c35-a0f0-53a5-97e7-acae901a2f20 , diff --git a/tests/casework.github.io/examples/hardware_duplicator/hardware_duplicator-prov.ttl b/tests/casework.github.io/examples/hardware_duplicator/hardware_duplicator-prov.ttl index 9d24aa1..8e0a673 100644 --- a/tests/casework.github.io/examples/hardware_duplicator/hardware_duplicator-prov.ttl +++ b/tests/casework.github.io/examples/hardware_duplicator/hardware_duplicator-prov.ttl @@ -4,6 +4,7 @@ @prefix prov: . @prefix rdf: . @prefix rdfs: . +@prefix time: . @prefix uco-core: . @prefix xsd: . @@ -463,212 +464,340 @@ kb:Derivation-f87615b7-ea24-50dd-b272-ad0a5052a57b . kb:End-69228e7a-55a0-5ede-922b-015b77702620 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2018-10-26T16:31:50+00:00"^^xsd:dateTimeStamp ; prov:atTime "2018-10-26T16:31:50+00:00"^^xsd:dateTime ; . kb:Generation-0552a038-8e13-5d76-a30d-63be9957dbd5 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-0f900d86-279d-534b-b17d-73ea7e7c2dc4 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-1217eab2-23ab-5ae2-a21d-67c32556857a - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-22786c66-05be-5aaf-bc28-fcd46e149547 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-2539beae-0572-50ff-9d91-ab807836cea2 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-26f61626-3686-5b96-8f7b-c3dd53672519 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-2a222bce-9463-592e-b012-c1ab4e2e5720 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-2ba1ce3c-14ea-5738-b5c8-12d6a2db7389 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-2e9f7b15-f2b4-58eb-b099-dbedebf0440b - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-30044e6e-4536-5dc3-9a64-c0bc1c855cdb - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-38bd14ed-616c-5830-bb59-8e2ff26c710a - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-3a5003c3-cd27-5b2d-9092-e6d262eb0ba1 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-3a61eb99-b31d-5d14-91a0-e19b73a9d7f5 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-40f7447c-b185-5b7d-8f41-84cd98745929 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-450fbf55-025b-5e1e-b5f5-1750caea2be5 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-45790a47-ff80-51b7-92e2-a665803c718e - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-46227b6c-f272-5b31-8680-781ecf2b5f7f - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-4671152e-b1e2-5f88-ba95-12d414425267 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-50f69601-e3af-5945-be11-30f8f879a61c - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-57256d9a-c40c-5676-b75d-e6e6f3513cc7 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-574d986f-1deb-545d-9b5d-16524a88b63a - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-65d83cd6-12a4-50ae-ad27-6efa4f14ebfa - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-66b28ca5-24b5-5843-8581-3bd49cabe46e - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-6cd147bb-ec0f-5533-8182-3aa65c353a2d - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-710c755f-e51e-5a85-8e8d-58122cb77bb2 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-81b5d786-4033-5a4f-8a4f-f78510768b0b - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-8cb27193-4123-57b0-9b60-a3967993b7f1 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-8e964316-0d29-5087-9e49-e2c6b489661d - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-988b9c7c-fe70-5089-92eb-4a18d5e54a47 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-a070e27b-4110-5a65-b407-1b7dd90a4934 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-ab667faa-58fc-5f6a-872e-b8a634e4d6a5 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-bde54dcf-580c-5672-9351-4c817144f4f1 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-d2127729-9f9d-5abc-be01-dd084e4d50b6 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-d4173a7a-bbbb-537e-afe6-5a64eb0ede0b - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-e1e64548-8df6-5f9d-807a-c7e3e22a71c3 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-f606c159-4d53-57bf-a5d0-9a84df0d47af - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-f71b44cd-8bea-50f1-8871-f0ef170a6174 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-fba866df-1c90-505c-9c7e-c634b7e2a53b - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Generation-fc5b3462-979d-56c5-9fc2-3afe4d6bd095 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 ; . kb:Start-d5e15040-d947-5aa4-9a12-86ed97c67b6b - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2018-10-26T13:12:48+00:00"^^xsd:dateTimeStamp ; prov:atTime "2018-10-26T13:12:48+00:00"^^xsd:dateTime ; . kb:Usage-2ba91268-df53-5611-ae94-a40f56b83368 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:disk-e598c1b3-f76d-4c27-b592-49bfdbf23d11 ; . @@ -1057,7 +1186,54 @@ kb:file-fb00a9cd-17e1-438f-9b28-ca5d7149f9c7 . kb:investigativeAction-414ef4e5-0a1f-43d9-9e93-002bc2a28de4 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-d5e15040-d947-5aa4-9a12-86ed97c67b6b ; + time:hasEnd kb:End-69228e7a-55a0-5ede-922b-015b77702620 ; + time:inside + kb:Generation-0552a038-8e13-5d76-a30d-63be9957dbd5 , + kb:Generation-0f900d86-279d-534b-b17d-73ea7e7c2dc4 , + kb:Generation-1217eab2-23ab-5ae2-a21d-67c32556857a , + kb:Generation-22786c66-05be-5aaf-bc28-fcd46e149547 , + kb:Generation-2539beae-0572-50ff-9d91-ab807836cea2 , + kb:Generation-26f61626-3686-5b96-8f7b-c3dd53672519 , + kb:Generation-2a222bce-9463-592e-b012-c1ab4e2e5720 , + kb:Generation-2ba1ce3c-14ea-5738-b5c8-12d6a2db7389 , + kb:Generation-2e9f7b15-f2b4-58eb-b099-dbedebf0440b , + kb:Generation-30044e6e-4536-5dc3-9a64-c0bc1c855cdb , + kb:Generation-38bd14ed-616c-5830-bb59-8e2ff26c710a , + kb:Generation-3a5003c3-cd27-5b2d-9092-e6d262eb0ba1 , + kb:Generation-3a61eb99-b31d-5d14-91a0-e19b73a9d7f5 , + kb:Generation-40f7447c-b185-5b7d-8f41-84cd98745929 , + kb:Generation-450fbf55-025b-5e1e-b5f5-1750caea2be5 , + kb:Generation-45790a47-ff80-51b7-92e2-a665803c718e , + kb:Generation-46227b6c-f272-5b31-8680-781ecf2b5f7f , + kb:Generation-4671152e-b1e2-5f88-ba95-12d414425267 , + kb:Generation-50f69601-e3af-5945-be11-30f8f879a61c , + kb:Generation-57256d9a-c40c-5676-b75d-e6e6f3513cc7 , + kb:Generation-574d986f-1deb-545d-9b5d-16524a88b63a , + kb:Generation-65d83cd6-12a4-50ae-ad27-6efa4f14ebfa , + kb:Generation-66b28ca5-24b5-5843-8581-3bd49cabe46e , + kb:Generation-6cd147bb-ec0f-5533-8182-3aa65c353a2d , + kb:Generation-710c755f-e51e-5a85-8e8d-58122cb77bb2 , + kb:Generation-81b5d786-4033-5a4f-8a4f-f78510768b0b , + kb:Generation-8cb27193-4123-57b0-9b60-a3967993b7f1 , + kb:Generation-8e964316-0d29-5087-9e49-e2c6b489661d , + kb:Generation-988b9c7c-fe70-5089-92eb-4a18d5e54a47 , + kb:Generation-a070e27b-4110-5a65-b407-1b7dd90a4934 , + kb:Generation-ab667faa-58fc-5f6a-872e-b8a634e4d6a5 , + kb:Generation-bde54dcf-580c-5672-9351-4c817144f4f1 , + kb:Generation-d2127729-9f9d-5abc-be01-dd084e4d50b6 , + kb:Generation-d4173a7a-bbbb-537e-afe6-5a64eb0ede0b , + kb:Generation-e1e64548-8df6-5f9d-807a-c7e3e22a71c3 , + kb:Generation-f606c159-4d53-57bf-a5d0-9a84df0d47af , + kb:Generation-f71b44cd-8bea-50f1-8871-f0ef170a6174 , + kb:Generation-fba866df-1c90-505c-9c7e-c634b7e2a53b , + kb:Generation-fc5b3462-979d-56c5-9fc2-3afe4d6bd095 , + kb:Usage-2ba91268-df53-5611-ae94-a40f56b83368 + ; prov:endedAtTime "2018-10-26T16:31:50+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-3b934f57-78f8-5e2e-81ac-4e6c99e83ba5 , diff --git a/tests/casework.github.io/examples/owl_trafficking/owl_trafficking-prov.ttl b/tests/casework.github.io/examples/owl_trafficking/owl_trafficking-prov.ttl index 2d0b26e..3367ddb 100644 --- a/tests/casework.github.io/examples/owl_trafficking/owl_trafficking-prov.ttl +++ b/tests/casework.github.io/examples/owl_trafficking/owl_trafficking-prov.ttl @@ -4,6 +4,7 @@ @prefix prov: . @prefix rdf: . @prefix rdfs: . +@prefix time: . @prefix uco-core: . @prefix xsd: . @@ -58,32 +59,52 @@ kb:Derivation-f8fbd307-a564-55d3-aac5-676d05969557 . kb:End-484e8afe-eea3-5c44-99a0-965077374829 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2017-02-06T22:13:08+00:00"^^xsd:dateTimeStamp ; prov:atTime "2017-02-06T22:13:08+00:00"^^xsd:dateTime ; . kb:Generation-90a27089-f501-5bd4-811a-12de6f36cef3 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigative-action-4d3778d9-8376-4277-9852-8e6bf926a5d1 ; . kb:Generation-d7a7db01-1ef3-5f86-a12d-28984842700c - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:investigative-action-4d3778d9-8376-4277-9852-8e6bf926a5d1 ; . kb:Start-d4f48397-5ce5-52b9-b407-a3aa95af7743 - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2017-02-06T20:51:09+00:00"^^xsd:dateTimeStamp ; prov:atTime "2017-02-06T20:51:09+00:00"^^xsd:dateTime ; . kb:Usage-3dc7ce36-f0db-5f5d-836f-bd13378fd07e - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:lge-device-eee670c6-01d4-4e42-bb6b-ebeca149b168 ; . kb:Usage-d3203198-15a5-510c-8bb5-05a3bb35b5e7 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-9bd9c456-5965-4782-8285-5fee34c8ddd2 ; . @@ -104,7 +125,18 @@ kb:f3fd304e-ef6c-4cbd-94cb-425880f82748 . kb:investigative-action-4d3778d9-8376-4277-9852-8e6bf926a5d1 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-d4f48397-5ce5-52b9-b407-a3aa95af7743 ; + time:hasEnd kb:End-484e8afe-eea3-5c44-99a0-965077374829 ; + time:inside + kb:Generation-90a27089-f501-5bd4-811a-12de6f36cef3 , + kb:Generation-d7a7db01-1ef3-5f86-a12d-28984842700c , + kb:Usage-3dc7ce36-f0db-5f5d-836f-bd13378fd07e , + kb:Usage-d3203198-15a5-510c-8bb5-05a3bb35b5e7 + ; prov:endedAtTime "2017-02-06T22:13:08+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-1696bf17-a3f4-5583-85d4-3d3a84638374 , diff --git a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-activities-agents.svg b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-activities-agents.svg index 9a74010..8b126e9 100644 --- a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-activities-agents.svg +++ b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-activities-agents.svg @@ -4,19 +4,19 @@ - - + + PROV-O render - + _f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - -ID - kb:action-uuid-1 -(..., 2019-01-01T14:00:00+00:00] -Exhibit submitted for Kiosk examination + +ID - kb:action-uuid-1 +(..., 2019-01-01T14:00:00+00:00] +Exhibit submitted for Kiosk examination @@ -24,27 +24,29 @@ _ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - -ID - kb:officer-uuid-1 + +ID - kb:officer-uuid-1 _f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - - -wasAssociatedWith + + +wasAssociatedWith + + _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf - -ID - kb:action-uuid-10 -(..., 2019-01-01T15:05:00+00:00] -burned -Report DVD Generated as associated exhibit + +ID - kb:action-uuid-10 +(..., 2019-01-01T15:05:00+00:00] +burned +Report DVD Generated as associated exhibit @@ -52,111 +54,117 @@ _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - -ID - kb:action-uuid-7 -[2019-01-01T14:25:00+00:00, 2019-01-01T14:55:00+00:00] -processed -Exhibit Connected to Kiosk & process started; exhibit -disconnected at conclusion + +ID - kb:action-uuid-7 +[2019-01-01T14:25:00+00:00, 2019-01-01T14:55:00+00:00] +processed +Exhibit Connected to Kiosk & process started; exhibit +disconnected at conclusion _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasInformedBy + + +wasInformedBy _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 - -ID - kb:action-uuid-9 -(..., 2019-01-01T15:03:00+00:00] -selected -Picture selected, via kiosk review screen, from those -extracted from exhibit + +ID - kb:action-uuid-9 +(..., 2019-01-01T15:03:00+00:00] +selected +Picture selected, via kiosk review screen, from those +extracted from exhibit _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 - - -wasInformedBy + + +wasInformedBy _ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - -ID - kb:officer-uuid-3 + +ID - kb:officer-uuid-3 _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith + + _753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490 - -ID - kb:action-uuid-11 -(..., 2019-01-01T15:10:00+00:00] -DVD Report sealed + +ID - kb:action-uuid-11 +(..., 2019-01-01T15:10:00+00:00] +DVD Report sealed _753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith + + _b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17 - -ID - kb:action-uuid-12 -(..., 2019-01-01T15:15:00+00:00] -Witness statement completed + +ID - kb:action-uuid-12 +(..., 2019-01-01T15:15:00+00:00] +Witness statement completed _b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf - - -wasInformedBy + + +wasInformedBy _b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith + + _0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9 - -ID - kb:action-uuid-13 -(..., 2019-01-01T15:20:00+00:00] -transferred -Sealed Exhibit handed the OIC & Transfer documentation -signed + +ID - kb:action-uuid-13 +(..., 2019-01-01T15:20:00+00:00] +transferred +Sealed Exhibit handed the OIC & Transfer documentation +signed @@ -164,252 +172,309 @@ _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - -ID - kb:action-uuid-3 -(..., 2019-01-01T14:05:30+00:00] -assigned -Exhibit assigned to Kiosk technician + +ID - kb:action-uuid-3 +(..., 2019-01-01T14:05:30+00:00] +assigned +Exhibit assigned to Kiosk technician _0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith + + _16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd - -ID - kb:action-uuid-2 -(..., 2019-01-01T14:05:00+00:00] -transferred -Exhibit seal checks (passed) & Exhibit receipted in lab + +ID - kb:action-uuid-2 +(..., 2019-01-01T14:05:00+00:00] +transferred +Exhibit seal checks (passed) & Exhibit receipted in lab _16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasInformedBy + + +wasInformedBy _be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - -ID - kb:officer-uuid-2 + +ID - kb:officer-uuid-2 _16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - - -wasAssociatedWith + + +wasAssociatedWith + + _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasInformedBy + + +wasInformedBy _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - - -wasAssociatedWith + + +wasAssociatedWith + + _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - -ID - kb:action-uuid-4 -(..., 2019-01-01T14:15:00+00:00] -photographed -Sealed Exhibit Photographed + +ID - kb:action-uuid-4 +(..., 2019-01-01T14:15:00+00:00] +photographed +Sealed Exhibit Photographed _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - -ID - kb:camera-uuid-1 + +ID - kb:camera-uuid-1 _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAssociatedWith + + +wasAssociatedWith _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith + + _3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654 - -ID - kb:action-uuid-5 -(..., 2019-01-01T14:20:00+00:00] -Exhibit Unsealed + +ID - kb:action-uuid-5 +(..., 2019-01-01T14:20:00+00:00] +Exhibit Unsealed _3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith + + _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - -ID - kb:action-uuid-6 -(..., 2019-01-01T14:21:00+00:00] -photographed -Unsealed Exhibit Photographed + +ID - kb:action-uuid-6 +(..., 2019-01-01T14:21:00+00:00] +photographed +Unsealed Exhibit Photographed _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAssociatedWith + + +wasAssociatedWith _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith + + _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - -ID - kb:kiosk-uuid-1 + +ID - kb:kiosk-uuid-1 _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAssociatedWith + + +wasAssociatedWith _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith + + _c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e - -ID - kb:action-uuid-8 -(..., 2019-01-01T15:00:00+00:00] -Exhibit Resealed + +ID - kb:action-uuid-8 +(..., 2019-01-01T15:00:00+00:00] +Exhibit Resealed _c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith + + _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasInformedBy + + +wasInformedBy _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAssociatedWith + + +wasAssociatedWith _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith + + _397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -actedOnBehalfOf + + +actedOnBehalfOf _c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -actedOnBehalfOf - + + +actedOnBehalfOf + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-activities-entities.svg b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-activities-entities.svg index 663866f..65bf0ae 100644 --- a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-activities-entities.svg +++ b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-activities-entities.svg @@ -4,19 +4,19 @@ - - + + PROV-O render - + _f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - -ID - kb:action-uuid-1 -(..., 2019-01-01T14:00:00+00:00] -Exhibit submitted for Kiosk examination + +ID - kb:action-uuid-1 +(..., 2019-01-01T14:00:00+00:00] +Exhibit submitted for Kiosk examination @@ -24,27 +24,29 @@ _357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - -ID - prov:EmptyCollection + +ID - prov:EmptyCollection _f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -used + + +used + + _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf - -ID - kb:action-uuid-10 -(..., 2019-01-01T15:05:00+00:00] -burned -Report DVD Generated as associated exhibit + +ID - kb:action-uuid-10 +(..., 2019-01-01T15:05:00+00:00] +burned +Report DVD Generated as associated exhibit @@ -52,187 +54,193 @@ _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - -ID - kb:action-uuid-7 -[2019-01-01T14:25:00+00:00, 2019-01-01T14:55:00+00:00] -processed -Exhibit Connected to Kiosk & process started; exhibit -disconnected at conclusion + +ID - kb:action-uuid-7 +[2019-01-01T14:25:00+00:00, 2019-01-01T14:55:00+00:00] +processed +Exhibit Connected to Kiosk & process started; exhibit +disconnected at conclusion _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasInformedBy + + +wasInformedBy _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 - -ID - kb:action-uuid-9 -(..., 2019-01-01T15:03:00+00:00] -selected -Picture selected, via kiosk review screen, from those -extracted from exhibit + +ID - kb:action-uuid-9 +(..., 2019-01-01T15:03:00+00:00] +selected +Picture selected, via kiosk review screen, from those +extracted from exhibit _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 - - -wasInformedBy + + +wasInformedBy _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - -ID - kb:extracted-file-uuid-1 + +ID - kb:extracted-file-uuid-1 _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -used + + +used _80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 - -ID - kb:file2-uuid-1 + +ID - kb:file2-uuid-1 _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 - - -used + + +used _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - -ID - kb:provenance-record-uuid-6 -Exhibit - EXH-20190101-7-KioskReport + +ID - kb:provenance-record-uuid-6 +Exhibit - EXH-20190101-7-KioskReport _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -used + + +used _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 - -ID - kb:provenance-record-uuid-6e -Exhibit - EXH-20190101-7-B + +ID - kb:provenance-record-uuid-6e +Exhibit - EXH-20190101-7-B _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 - - -used + + +used + + _753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490 - -ID - kb:action-uuid-11 -(..., 2019-01-01T15:10:00+00:00] -DVD Report sealed + +ID - kb:action-uuid-11 +(..., 2019-01-01T15:10:00+00:00] +DVD Report sealed _753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -used + + +used + + _b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17 - -ID - kb:action-uuid-12 -(..., 2019-01-01T15:15:00+00:00] -Witness statement completed + +ID - kb:action-uuid-12 +(..., 2019-01-01T15:15:00+00:00] +Witness statement completed _b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf - - -wasInformedBy + + +wasInformedBy _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - -ID - kb:dvd-uuid-1 + +ID - kb:dvd-uuid-1 _b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - - -used + + +used _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 - -ID - kb:provenance-record-uuid-7 -Exhibit - EXH-20190101-7-KioskReportDVD + +ID - kb:provenance-record-uuid-7 +Exhibit - EXH-20190101-7-KioskReportDVD _b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 - - -used + + +used + + _0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9 - -ID - kb:action-uuid-13 -(..., 2019-01-01T15:20:00+00:00] -transferred -Sealed Exhibit handed the OIC & Transfer documentation -signed + +ID - kb:action-uuid-13 +(..., 2019-01-01T15:20:00+00:00] +transferred +Sealed Exhibit handed the OIC & Transfer documentation +signed @@ -240,1062 +248,1215 @@ _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - -ID - kb:action-uuid-3 -(..., 2019-01-01T14:05:30+00:00] -assigned -Exhibit assigned to Kiosk technician + +ID - kb:action-uuid-3 +(..., 2019-01-01T14:05:30+00:00] +assigned +Exhibit assigned to Kiosk technician _0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - -ID - kb:provenance-record-uuid-3 + +ID - kb:provenance-record-uuid-3 _0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -used + + +used _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - -ID - kb:subject-device-uuid-1 + +ID - kb:subject-device-uuid-1 _0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd - -ID - kb:action-uuid-2 -(..., 2019-01-01T14:05:00+00:00] -transferred -Exhibit seal checks (passed) & Exhibit receipted in lab + +ID - kb:action-uuid-2 +(..., 2019-01-01T14:05:00+00:00] +transferred +Exhibit seal checks (passed) & Exhibit receipted in lab _16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasInformedBy + + +wasInformedBy _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - -ID - kb:provenance-record-uuid-1 -Exhibit - EXH-20190101-7 + +ID - kb:provenance-record-uuid-1 +Exhibit - EXH-20190101-7 _16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -used + + +used _16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasInformedBy + + +wasInformedBy _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -used + + +used _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - -ID - kb:action-uuid-4 -(..., 2019-01-01T14:15:00+00:00] -photographed -Sealed Exhibit Photographed + +ID - kb:action-uuid-4 +(..., 2019-01-01T14:15:00+00:00] +photographed +Sealed Exhibit Photographed _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -used + + +used _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654 - -ID - kb:action-uuid-5 -(..., 2019-01-01T14:20:00+00:00] -Exhibit Unsealed + +ID - kb:action-uuid-5 +(..., 2019-01-01T14:20:00+00:00] +Exhibit Unsealed _3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -used + + +used + + _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - -ID - kb:action-uuid-6 -(..., 2019-01-01T14:21:00+00:00] -photographed -Unsealed Exhibit Photographed + +ID - kb:action-uuid-6 +(..., 2019-01-01T14:21:00+00:00] +photographed +Unsealed Exhibit Photographed _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -used + + +used _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -used + + +used _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e - -ID - kb:action-uuid-8 -(..., 2019-01-01T15:00:00+00:00] -Exhibit Resealed + +ID - kb:action-uuid-8 +(..., 2019-01-01T15:00:00+00:00] +Exhibit Resealed _c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -used + + +used + + _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasInformedBy + + +wasInformedBy _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -used + + +used _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - -ID - kb:extracted-file-uuid-2 + +ID - kb:extracted-file-uuid-2 _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - - -used + + +used _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -used + + +used + + _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf - - -wasGeneratedBy + + +wasGeneratedBy _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -wasDerivedFrom + + +wasDerivedFrom _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 - - -wasDerivedFrom + + +wasDerivedFrom _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -wasDerivedFrom + + +wasDerivedFrom _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 - - -wasDerivedFrom + + +wasDerivedFrom + + _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasGeneratedBy + + +wasGeneratedBy _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasGeneratedBy + + +wasGeneratedBy _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f - -ID - kb:extracted-file-uuid-3 + +ID - kb:extracted-file-uuid-3 _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasGeneratedBy + + +wasGeneratedBy _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c - -ID - kb:file-uuid-1 -Intake Form + +ID - kb:file-uuid-1 +Intake Form _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd - - -wasGeneratedBy + + +wasGeneratedBy _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -wasDerivedFrom + + +wasDerivedFrom _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76 - -ID - kb:file-uuid-2 -Kiosk report + +ID - kb:file-uuid-2 +Kiosk report _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasGeneratedBy + + +wasGeneratedBy _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd - -ID - kb:file-uuid-3 -Witness statement + +ID - kb:file-uuid-3 +Witness statement _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17 - - -wasGeneratedBy + + +wasGeneratedBy _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - - -wasDerivedFrom + + +wasDerivedFrom _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 - - -wasDerivedFrom + + +wasDerivedFrom + + _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7 - -ID - kb:provenance-record-73f59a8a-1c22-41fe-af50-13e8b6a65de9 + +ID - kb:provenance-record-73f59a8a-1c22-41fe-af50-13e8b6a65de9 _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17 - - -wasGeneratedBy + + +wasGeneratedBy _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - - -wasDerivedFrom + + +wasDerivedFrom _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd - - -hadMember + + +hadMember _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 - - -wasDerivedFrom + + +wasDerivedFrom + + _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasGeneratedBy + + +wasGeneratedBy _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -wasDerivedFrom + + +wasDerivedFrom + + _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143 - -ID - kb:provenance-record-uuid-2 -Exhibit - EXH-20190101-7-IntakeForm + +ID - kb:provenance-record-uuid-2 +Exhibit - EXH-20190101-7-IntakeForm _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd - - -wasGeneratedBy + + +wasGeneratedBy _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c - - -hadMember + + +hadMember _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -wasDerivedFrom + + +wasDerivedFrom _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasGeneratedBy + + +wasGeneratedBy _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -wasDerivedFrom + + +wasDerivedFrom _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103 - -ID - kb:provenance-record-uuid-4 -Exhibit - EXH-20190101-7-SealedPhotos + +ID - kb:provenance-record-uuid-4 +Exhibit - EXH-20190101-7-SealedPhotos _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - - -wasGeneratedBy + + +wasGeneratedBy _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2 - -ID - kb:subject-device-photograph-uuid-1 + +ID - kb:subject-device-photograph-uuid-1 _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2 - - -hadMember + + +hadMember _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9 - -ID - kb:subject-device-photograph-uuid-2 + +ID - kb:subject-device-photograph-uuid-2 _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9 - - -hadMember + + +hadMember _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223 - -ID - kb:subject-device-photograph-uuid-3 + +ID - kb:subject-device-photograph-uuid-3 _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223 - - -hadMember + + +hadMember _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58 - -ID - kb:provenance-record-uuid-5 -Exhibit - EXH-20190101-7-UnsealedPhotos + +ID - kb:provenance-record-uuid-5 +Exhibit - EXH-20190101-7-UnsealedPhotos _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - - -wasGeneratedBy + + +wasGeneratedBy _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd - -ID - kb:subject-device-photograph-uuid-4 + +ID - kb:subject-device-photograph-uuid-4 _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd - - -hadMember + + +hadMember _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a - -ID - kb:subject-device-photograph-uuid-5 + +ID - kb:subject-device-photograph-uuid-5 _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a - - -hadMember + + +hadMember _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0 - -ID - kb:subject-device-photograph-uuid-6 + +ID - kb:subject-device-photograph-uuid-6 _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0 - - -hadMember + + +hadMember _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasGeneratedBy + + +wasGeneratedBy _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76 - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 - - -wasGeneratedBy + + +wasGeneratedBy _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -hadMember + + +hadMember _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -wasDerivedFrom + + +wasDerivedFrom _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - - -wasDerivedFrom + + +wasDerivedFrom _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -wasDerivedFrom + + +wasDerivedFrom + + _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf - - -wasGeneratedBy + + +wasGeneratedBy _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - - -hadMember + + +hadMember _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -wasDerivedFrom + + +wasDerivedFrom _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 - - -wasDerivedFrom + + +wasDerivedFrom _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -wasDerivedFrom + + +wasDerivedFrom _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 - - -wasDerivedFrom + + +wasDerivedFrom + + _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388 - -ID - kb:provenance-record-uuid-8 -Exhibit - EXH-20190101-7 + +ID - kb:provenance-record-uuid-8 +Exhibit - EXH-20190101-7 _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9 - - -wasGeneratedBy + + +wasGeneratedBy _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - - -wasGeneratedBy + + +wasGeneratedBy _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - - -wasGeneratedBy + + +wasGeneratedBy _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - - -wasGeneratedBy + + +wasGeneratedBy _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - - -wasGeneratedBy + + +wasGeneratedBy _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - - -wasGeneratedBy + + +wasGeneratedBy _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - - -wasGeneratedBy + + +wasGeneratedBy _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasGeneratedBy + + +wasGeneratedBy _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -wasDerivedFrom - + + +wasDerivedFrom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-activities.svg b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-activities.svg index ea41ede..333b1f7 100644 --- a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-activities.svg +++ b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-activities.svg @@ -4,31 +4,33 @@ - - + + PROV-O render - + _f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - -ID - kb:action-uuid-1 -(..., 2019-01-01T14:00:00+00:00] -Exhibit submitted for Kiosk examination + +ID - kb:action-uuid-1 +(..., 2019-01-01T14:00:00+00:00] +Exhibit submitted for Kiosk examination + + _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf - -ID - kb:action-uuid-10 -(..., 2019-01-01T15:05:00+00:00] -burned -Report DVD Generated as associated exhibit + +ID - kb:action-uuid-10 +(..., 2019-01-01T15:05:00+00:00] +burned +Report DVD Generated as associated exhibit @@ -36,81 +38,87 @@ _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - -ID - kb:action-uuid-7 -[2019-01-01T14:25:00+00:00, 2019-01-01T14:55:00+00:00] -processed -Exhibit Connected to Kiosk & process started; exhibit -disconnected at conclusion + +ID - kb:action-uuid-7 +[2019-01-01T14:25:00+00:00, 2019-01-01T14:55:00+00:00] +processed +Exhibit Connected to Kiosk & process started; exhibit +disconnected at conclusion _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasInformedBy + + +wasInformedBy _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 - -ID - kb:action-uuid-9 -(..., 2019-01-01T15:03:00+00:00] -selected -Picture selected, via kiosk review screen, from those -extracted from exhibit + +ID - kb:action-uuid-9 +(..., 2019-01-01T15:03:00+00:00] +selected +Picture selected, via kiosk review screen, from those +extracted from exhibit _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 - - -wasInformedBy + + +wasInformedBy + + _753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490 - -ID - kb:action-uuid-11 -(..., 2019-01-01T15:10:00+00:00] -DVD Report sealed + +ID - kb:action-uuid-11 +(..., 2019-01-01T15:10:00+00:00] +DVD Report sealed + + _b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17 - -ID - kb:action-uuid-12 -(..., 2019-01-01T15:15:00+00:00] -Witness statement completed + +ID - kb:action-uuid-12 +(..., 2019-01-01T15:15:00+00:00] +Witness statement completed _b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf - - -wasInformedBy + + +wasInformedBy + + _0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9 - -ID - kb:action-uuid-13 -(..., 2019-01-01T15:20:00+00:00] -transferred -Sealed Exhibit handed the OIC & Transfer documentation -signed + +ID - kb:action-uuid-13 +(..., 2019-01-01T15:20:00+00:00] +transferred +Sealed Exhibit handed the OIC & Transfer documentation +signed @@ -118,120 +126,177 @@ _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - -ID - kb:action-uuid-3 -(..., 2019-01-01T14:05:30+00:00] -assigned -Exhibit assigned to Kiosk technician + +ID - kb:action-uuid-3 +(..., 2019-01-01T14:05:30+00:00] +assigned +Exhibit assigned to Kiosk technician _0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy + + _16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd - -ID - kb:action-uuid-2 -(..., 2019-01-01T14:05:00+00:00] -transferred -Exhibit seal checks (passed) & Exhibit receipted in lab + +ID - kb:action-uuid-2 +(..., 2019-01-01T14:05:00+00:00] +transferred +Exhibit seal checks (passed) & Exhibit receipted in lab _16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasInformedBy + + +wasInformedBy + + _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasInformedBy + + +wasInformedBy + + _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - -ID - kb:action-uuid-4 -(..., 2019-01-01T14:15:00+00:00] -photographed -Sealed Exhibit Photographed + +ID - kb:action-uuid-4 +(..., 2019-01-01T14:15:00+00:00] +photographed +Sealed Exhibit Photographed _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy + + _3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654 - -ID - kb:action-uuid-5 -(..., 2019-01-01T14:20:00+00:00] -Exhibit Unsealed + +ID - kb:action-uuid-5 +(..., 2019-01-01T14:20:00+00:00] +Exhibit Unsealed + + _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - -ID - kb:action-uuid-6 -(..., 2019-01-01T14:21:00+00:00] -photographed -Unsealed Exhibit Photographed + +ID - kb:action-uuid-6 +(..., 2019-01-01T14:21:00+00:00] +photographed +Unsealed Exhibit Photographed _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy + + _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy + + _c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e - -ID - kb:action-uuid-8 -(..., 2019-01-01T15:00:00+00:00] -Exhibit Resealed + +ID - kb:action-uuid-8 +(..., 2019-01-01T15:00:00+00:00] +Exhibit Resealed + + _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasInformedBy - + + +wasInformedBy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-agents-entities.svg b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-agents-entities.svg index 207f397..ee824f7 100644 --- a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-agents-entities.svg +++ b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-agents-entities.svg @@ -4,17 +4,17 @@ - - + + PROV-O render - + _397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - -ID - kb:camera-uuid-1 + +ID - kb:camera-uuid-1 @@ -22,24 +22,24 @@ _ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - -ID - kb:officer-uuid-3 + +ID - kb:officer-uuid-3 _397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -actedOnBehalfOf + + +actedOnBehalfOf _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - -ID - kb:dvd-uuid-1 + +ID - kb:dvd-uuid-1 @@ -47,90 +47,92 @@ _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - -ID - kb:extracted-file-uuid-1 + +ID - kb:extracted-file-uuid-1 _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -wasDerivedFrom + + +wasDerivedFrom _80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 - -ID - kb:file2-uuid-1 + +ID - kb:file2-uuid-1 _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 - - -wasDerivedFrom + + +wasDerivedFrom _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAttributedTo + + +wasAttributedTo _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - -ID - kb:provenance-record-uuid-6 -Exhibit - EXH-20190101-7-KioskReport + +ID - kb:provenance-record-uuid-6 +Exhibit - EXH-20190101-7-KioskReport _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -wasDerivedFrom + + +wasDerivedFrom _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 - -ID - kb:provenance-record-uuid-6e -Exhibit - EXH-20190101-7-B + +ID - kb:provenance-record-uuid-6e +Exhibit - EXH-20190101-7-B _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 - - -wasDerivedFrom + + +wasDerivedFrom + + _c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - -ID - kb:kiosk-uuid-1 + +ID - kb:kiosk-uuid-1 _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo @@ -144,93 +146,99 @@ _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - -ID - kb:subject-device-uuid-1 + +ID - kb:subject-device-uuid-1 _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - -ID - kb:extracted-file-uuid-2 + +ID - kb:extracted-file-uuid-2 _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f - -ID - kb:extracted-file-uuid-3 + +ID - kb:extracted-file-uuid-3 _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c - -ID - kb:file-uuid-1 -Intake Form + +ID - kb:file-uuid-1 +Intake Form @@ -238,127 +246,133 @@ _be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - -ID - kb:officer-uuid-2 + +ID - kb:officer-uuid-2 _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - - -wasAttributedTo + + +wasAttributedTo _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - -ID - kb:provenance-record-uuid-1 -Exhibit - EXH-20190101-7 + +ID - kb:provenance-record-uuid-1 +Exhibit - EXH-20190101-7 _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -wasDerivedFrom + + +wasDerivedFrom _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76 - -ID - kb:file-uuid-2 -Kiosk report + +ID - kb:file-uuid-2 +Kiosk report _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd - -ID - kb:file-uuid-3 -Witness statement + +ID - kb:file-uuid-3 +Witness statement _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - - -wasDerivedFrom + + +wasDerivedFrom _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAttributedTo + + +wasAttributedTo _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 - -ID - kb:provenance-record-uuid-7 -Exhibit - EXH-20190101-7-KioskReportDVD + +ID - kb:provenance-record-uuid-7 +Exhibit - EXH-20190101-7-KioskReportDVD _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 - - -wasDerivedFrom + + +wasDerivedFrom + + _c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -actedOnBehalfOf + + +actedOnBehalfOf _ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - -ID - kb:officer-uuid-1 + +ID - kb:officer-uuid-1 @@ -366,69 +380,73 @@ _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7 - -ID - kb:provenance-record-73f59a8a-1c22-41fe-af50-13e8b6a65de9 + +ID - kb:provenance-record-73f59a8a-1c22-41fe-af50-13e8b6a65de9 _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - - -wasDerivedFrom + + +wasDerivedFrom _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd - - -hadMember + + +hadMember _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAttributedTo + + +wasAttributedTo _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 - - -wasDerivedFrom + + +wasDerivedFrom + + _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - - -wasAttributedTo + + +wasAttributedTo _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - -ID - prov:EmptyCollection + +ID - prov:EmptyCollection _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -wasDerivedFrom + + +wasDerivedFrom + + _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143 @@ -442,520 +460,628 @@ _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c - - -hadMember + + +hadMember _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - - -wasAttributedTo + + +wasAttributedTo _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -wasDerivedFrom + + +wasDerivedFrom _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - - -wasAttributedTo + + +wasAttributedTo _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -wasDerivedFrom + + +wasDerivedFrom _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103 - -ID - kb:provenance-record-uuid-4 -Exhibit - EXH-20190101-7-SealedPhotos + +ID - kb:provenance-record-uuid-4 +Exhibit - EXH-20190101-7-SealedPhotos _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2 - -ID - kb:subject-device-photograph-uuid-1 + +ID - kb:subject-device-photograph-uuid-1 _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2 - - -hadMember + + +hadMember _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9 - -ID - kb:subject-device-photograph-uuid-2 + +ID - kb:subject-device-photograph-uuid-2 _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9 - - -hadMember + + +hadMember _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223 - -ID - kb:subject-device-photograph-uuid-3 + +ID - kb:subject-device-photograph-uuid-3 _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223 - - -hadMember + + +hadMember _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58 - -ID - kb:provenance-record-uuid-5 -Exhibit - EXH-20190101-7-UnsealedPhotos + +ID - kb:provenance-record-uuid-5 +Exhibit - EXH-20190101-7-UnsealedPhotos _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd - -ID - kb:subject-device-photograph-uuid-4 + +ID - kb:subject-device-photograph-uuid-4 _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd - - -hadMember + + +hadMember _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a - -ID - kb:subject-device-photograph-uuid-5 + +ID - kb:subject-device-photograph-uuid-5 _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a - - -hadMember + + +hadMember _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0 - -ID - kb:subject-device-photograph-uuid-6 + +ID - kb:subject-device-photograph-uuid-6 _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0 - - -hadMember + + +hadMember _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76 - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -hadMember + + +hadMember _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -wasDerivedFrom + + +wasDerivedFrom _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - - -wasDerivedFrom + + +wasDerivedFrom _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -wasDerivedFrom + + +wasDerivedFrom + + _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - - -hadMember + + +hadMember _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -wasDerivedFrom + + +wasDerivedFrom _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 - - -wasDerivedFrom + + +wasDerivedFrom _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAttributedTo + + +wasAttributedTo _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -wasDerivedFrom + + +wasDerivedFrom _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 - - -wasDerivedFrom + + +wasDerivedFrom + + _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388 - -ID - kb:provenance-record-uuid-8 -Exhibit - EXH-20190101-7 + +ID - kb:provenance-record-uuid-8 +Exhibit - EXH-20190101-7 _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAttributedTo + + +wasAttributedTo _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - - -wasAttributedTo + + +wasAttributedTo _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -wasDerivedFrom - + + +wasDerivedFrom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-all-focus-extracted-file-uuid-1.svg b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-all-focus-extracted-file-uuid-1.svg index 3c32754..ff5bb9e 100644 --- a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-all-focus-extracted-file-uuid-1.svg +++ b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-all-focus-extracted-file-uuid-1.svg @@ -4,19 +4,19 @@ - - + + PROV-O render - + _f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - -ID - kb:action-uuid-1 -(..., 2019-01-01T14:00:00+00:00] -Exhibit submitted for Kiosk examination + +ID - kb:action-uuid-1 +(..., 2019-01-01T14:00:00+00:00] +Exhibit submitted for Kiosk examination @@ -24,304 +24,335 @@ _ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - -ID - kb:officer-uuid-1 + +ID - kb:officer-uuid-1 _f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - - -wasAssociatedWith + + +wasAssociatedWith _357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - -ID - prov:EmptyCollection + +ID - prov:EmptyCollection _f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -used + + +used + + _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - -ID - kb:action-uuid-3 -(..., 2019-01-01T14:05:30+00:00] -assigned -Exhibit assigned to Kiosk technician + +ID - kb:action-uuid-3 +(..., 2019-01-01T14:05:30+00:00] +assigned +Exhibit assigned to Kiosk technician _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasInformedBy + + +wasInformedBy _be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - -ID - kb:officer-uuid-2 + +ID - kb:officer-uuid-2 _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - - -wasAssociatedWith + + +wasAssociatedWith _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - -ID - kb:provenance-record-uuid-1 -Exhibit - EXH-20190101-7 + +ID - kb:provenance-record-uuid-1 +Exhibit - EXH-20190101-7 _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -used + + +used _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - -ID - kb:subject-device-uuid-1 + +ID - kb:subject-device-uuid-1 _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - -ID - kb:action-uuid-7 -[2019-01-01T14:25:00+00:00, 2019-01-01T14:55:00+00:00] -processed -Exhibit Connected to Kiosk & process started; exhibit -disconnected at conclusion + +ID - kb:action-uuid-7 +[2019-01-01T14:25:00+00:00, 2019-01-01T14:55:00+00:00] +processed +Exhibit Connected to Kiosk & process started; exhibit +disconnected at conclusion _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - -ID - kb:kiosk-uuid-1 + +ID - kb:kiosk-uuid-1 _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAssociatedWith + + +wasAssociatedWith _ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - -ID - kb:officer-uuid-3 + +ID - kb:officer-uuid-3 _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - -ID - kb:provenance-record-uuid-3 + +ID - kb:provenance-record-uuid-3 _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -used + + +used _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - -ID - kb:extracted-file-uuid-1 + +ID - kb:extracted-file-uuid-1 _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasGeneratedBy + + +wasGeneratedBy _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -actedOnBehalfOf + + +actedOnBehalfOf _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasGeneratedBy + + +wasGeneratedBy _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - - -wasAttributedTo + + +wasAttributedTo _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -wasDerivedFrom + + +wasDerivedFrom + + _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasGeneratedBy + + +wasGeneratedBy _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - - -wasAttributedTo + + +wasAttributedTo _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -wasDerivedFrom + + +wasDerivedFrom _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasGeneratedBy + + +wasGeneratedBy _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - - -wasAttributedTo + + +wasAttributedTo _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -wasDerivedFrom - + + +wasDerivedFrom + + + + + + + + + + + + + + + + + + + + diff --git a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-all-focus-jpegs.svg b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-all-focus-jpegs.svg index 9c49138..d923057 100644 --- a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-all-focus-jpegs.svg +++ b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-all-focus-jpegs.svg @@ -4,19 +4,19 @@ - - + + PROV-O render - + _f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - -ID - kb:action-uuid-1 -(..., 2019-01-01T14:00:00+00:00] -Exhibit submitted for Kiosk examination + +ID - kb:action-uuid-1 +(..., 2019-01-01T14:00:00+00:00] +Exhibit submitted for Kiosk examination @@ -24,887 +24,972 @@ _ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - -ID - kb:officer-uuid-1 + +ID - kb:officer-uuid-1 _f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - - -wasAssociatedWith + + +wasAssociatedWith _357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - -ID - prov:EmptyCollection + +ID - prov:EmptyCollection _f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -used + + +used + + _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - -ID - kb:action-uuid-3 -(..., 2019-01-01T14:05:30+00:00] -assigned -Exhibit assigned to Kiosk technician + +ID - kb:action-uuid-3 +(..., 2019-01-01T14:05:30+00:00] +assigned +Exhibit assigned to Kiosk technician _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasInformedBy + + +wasInformedBy _be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - -ID - kb:officer-uuid-2 + +ID - kb:officer-uuid-2 _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - - -wasAssociatedWith + + +wasAssociatedWith _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - -ID - kb:provenance-record-uuid-1 -Exhibit - EXH-20190101-7 + +ID - kb:provenance-record-uuid-1 +Exhibit - EXH-20190101-7 _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -used + + +used _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - -ID - kb:subject-device-uuid-1 + +ID - kb:subject-device-uuid-1 _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - -ID - kb:action-uuid-4 -(..., 2019-01-01T14:15:00+00:00] -photographed -Sealed Exhibit Photographed + +ID - kb:action-uuid-4 +(..., 2019-01-01T14:15:00+00:00] +photographed +Sealed Exhibit Photographed _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - -ID - kb:camera-uuid-1 + +ID - kb:camera-uuid-1 _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAssociatedWith + + +wasAssociatedWith _ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - -ID - kb:officer-uuid-3 + +ID - kb:officer-uuid-3 _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - -ID - kb:provenance-record-uuid-3 + +ID - kb:provenance-record-uuid-3 _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -used + + +used _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - -ID - kb:action-uuid-6 -(..., 2019-01-01T14:21:00+00:00] -photographed -Unsealed Exhibit Photographed + +ID - kb:action-uuid-6 +(..., 2019-01-01T14:21:00+00:00] +photographed +Unsealed Exhibit Photographed _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAssociatedWith + + +wasAssociatedWith _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -used + + +used _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - -ID - kb:action-uuid-7 -[2019-01-01T14:25:00+00:00, 2019-01-01T14:55:00+00:00] -processed -Exhibit Connected to Kiosk & process started; exhibit -disconnected at conclusion + +ID - kb:action-uuid-7 +[2019-01-01T14:25:00+00:00, 2019-01-01T14:55:00+00:00] +processed +Exhibit Connected to Kiosk & process started; exhibit +disconnected at conclusion _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - -ID - kb:kiosk-uuid-1 + +ID - kb:kiosk-uuid-1 _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAssociatedWith + + +wasAssociatedWith _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -used + + +used _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -actedOnBehalfOf + + +actedOnBehalfOf _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - -ID - kb:extracted-file-uuid-1 + +ID - kb:extracted-file-uuid-1 _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasGeneratedBy + + +wasGeneratedBy _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - -ID - kb:extracted-file-uuid-2 + +ID - kb:extracted-file-uuid-2 _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasGeneratedBy + + +wasGeneratedBy _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f - -ID - kb:extracted-file-uuid-3 + +ID - kb:extracted-file-uuid-3 _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasGeneratedBy + + +wasGeneratedBy _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -actedOnBehalfOf + + +actedOnBehalfOf _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasGeneratedBy + + +wasGeneratedBy _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - - -wasAttributedTo + + +wasAttributedTo _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -wasDerivedFrom + + +wasDerivedFrom + + _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasGeneratedBy + + +wasGeneratedBy _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - - -wasAttributedTo + + +wasAttributedTo _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -wasDerivedFrom + + +wasDerivedFrom _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103 - -ID - kb:provenance-record-uuid-4 -Exhibit - EXH-20190101-7-SealedPhotos + +ID - kb:provenance-record-uuid-4 +Exhibit - EXH-20190101-7-SealedPhotos _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - - -wasGeneratedBy + + +wasGeneratedBy _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2 - -ID - kb:subject-device-photograph-uuid-1 + +ID - kb:subject-device-photograph-uuid-1 _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2 - - -hadMember + + +hadMember _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9 - -ID - kb:subject-device-photograph-uuid-2 + +ID - kb:subject-device-photograph-uuid-2 _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9 - - -hadMember + + +hadMember _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223 - -ID - kb:subject-device-photograph-uuid-3 + +ID - kb:subject-device-photograph-uuid-3 _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223 - - -hadMember + + +hadMember _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58 - -ID - kb:provenance-record-uuid-5 -Exhibit - EXH-20190101-7-UnsealedPhotos + +ID - kb:provenance-record-uuid-5 +Exhibit - EXH-20190101-7-UnsealedPhotos _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - - -wasGeneratedBy + + +wasGeneratedBy _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd - -ID - kb:subject-device-photograph-uuid-4 + +ID - kb:subject-device-photograph-uuid-4 _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd - - -hadMember + + +hadMember _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a - -ID - kb:subject-device-photograph-uuid-5 + +ID - kb:subject-device-photograph-uuid-5 _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a - - -hadMember + + +hadMember _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0 - -ID - kb:subject-device-photograph-uuid-6 + +ID - kb:subject-device-photograph-uuid-6 _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0 - - -hadMember + + +hadMember _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - -ID - kb:provenance-record-uuid-6 -Exhibit - EXH-20190101-7-KioskReport + +ID - kb:provenance-record-uuid-6 +Exhibit - EXH-20190101-7-KioskReport _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasGeneratedBy + + +wasGeneratedBy _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - - -wasGeneratedBy + + +wasGeneratedBy _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - - -wasGeneratedBy + + +wasGeneratedBy _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - - -wasGeneratedBy + + +wasGeneratedBy _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - - -wasGeneratedBy + + +wasGeneratedBy _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - - -wasGeneratedBy + + +wasGeneratedBy _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - - -wasGeneratedBy + + +wasGeneratedBy _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasGeneratedBy + + +wasGeneratedBy _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - - -wasAttributedTo + + +wasAttributedTo _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -wasDerivedFrom - + + +wasDerivedFrom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-all.svg b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-all.svg index e01dd60..0b7e459 100644 --- a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-all.svg +++ b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-all.svg @@ -4,19 +4,19 @@ - - + + PROV-O render - + _f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - -ID - kb:action-uuid-1 -(..., 2019-01-01T14:00:00+00:00] -Exhibit submitted for Kiosk examination + +ID - kb:action-uuid-1 +(..., 2019-01-01T14:00:00+00:00] +Exhibit submitted for Kiosk examination @@ -24,43 +24,45 @@ _ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - -ID - kb:officer-uuid-1 + +ID - kb:officer-uuid-1 _f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - - -wasAssociatedWith + + +wasAssociatedWith _357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - -ID - prov:EmptyCollection + +ID - prov:EmptyCollection _f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -used + + +used + + _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf - -ID - kb:action-uuid-10 -(..., 2019-01-01T15:05:00+00:00] -burned -Report DVD Generated as associated exhibit + +ID - kb:action-uuid-10 +(..., 2019-01-01T15:05:00+00:00] +burned +Report DVD Generated as associated exhibit @@ -68,217 +70,223 @@ _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - -ID - kb:action-uuid-7 -[2019-01-01T14:25:00+00:00, 2019-01-01T14:55:00+00:00] -processed -Exhibit Connected to Kiosk & process started; exhibit -disconnected at conclusion + +ID - kb:action-uuid-7 +[2019-01-01T14:25:00+00:00, 2019-01-01T14:55:00+00:00] +processed +Exhibit Connected to Kiosk & process started; exhibit +disconnected at conclusion _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasInformedBy + + +wasInformedBy _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 - -ID - kb:action-uuid-9 -(..., 2019-01-01T15:03:00+00:00] -selected -Picture selected, via kiosk review screen, from those -extracted from exhibit + +ID - kb:action-uuid-9 +(..., 2019-01-01T15:03:00+00:00] +selected +Picture selected, via kiosk review screen, from those +extracted from exhibit _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 - - -wasInformedBy + + +wasInformedBy _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - -ID - kb:extracted-file-uuid-1 + +ID - kb:extracted-file-uuid-1 _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -used + + +used _80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 - -ID - kb:file2-uuid-1 + +ID - kb:file2-uuid-1 _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 - - -used + + +used _ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - -ID - kb:officer-uuid-3 + +ID - kb:officer-uuid-3 _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - -ID - kb:provenance-record-uuid-6 -Exhibit - EXH-20190101-7-KioskReport + +ID - kb:provenance-record-uuid-6 +Exhibit - EXH-20190101-7-KioskReport _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -used + + +used _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 - -ID - kb:provenance-record-uuid-6e -Exhibit - EXH-20190101-7-B + +ID - kb:provenance-record-uuid-6e +Exhibit - EXH-20190101-7-B _ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 - - -used + + +used + + _753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490 - -ID - kb:action-uuid-11 -(..., 2019-01-01T15:10:00+00:00] -DVD Report sealed + +ID - kb:action-uuid-11 +(..., 2019-01-01T15:10:00+00:00] +DVD Report sealed _753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith _753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -used + + +used + + _b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17 - -ID - kb:action-uuid-12 -(..., 2019-01-01T15:15:00+00:00] -Witness statement completed + +ID - kb:action-uuid-12 +(..., 2019-01-01T15:15:00+00:00] +Witness statement completed _b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf - - -wasInformedBy + + +wasInformedBy _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - -ID - kb:dvd-uuid-1 + +ID - kb:dvd-uuid-1 _b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - - -used + + +used _b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 - -ID - kb:provenance-record-uuid-7 -Exhibit - EXH-20190101-7-KioskReportDVD + +ID - kb:provenance-record-uuid-7 +Exhibit - EXH-20190101-7-KioskReportDVD _b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 - - -used + + +used + + _0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9 - -ID - kb:action-uuid-13 -(..., 2019-01-01T15:20:00+00:00] -transferred -Sealed Exhibit handed the OIC & Transfer documentation -signed + +ID - kb:action-uuid-13 +(..., 2019-01-01T15:20:00+00:00] +transferred +Sealed Exhibit handed the OIC & Transfer documentation +signed @@ -286,1362 +294,1610 @@ _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - -ID - kb:action-uuid-3 -(..., 2019-01-01T14:05:30+00:00] -assigned -Exhibit assigned to Kiosk technician + +ID - kb:action-uuid-3 +(..., 2019-01-01T14:05:30+00:00] +assigned +Exhibit assigned to Kiosk technician _0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - -ID - kb:provenance-record-uuid-3 + +ID - kb:provenance-record-uuid-3 _0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -used + + +used _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - -ID - kb:subject-device-uuid-1 + +ID - kb:subject-device-uuid-1 _0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd - -ID - kb:action-uuid-2 -(..., 2019-01-01T14:05:00+00:00] -transferred -Exhibit seal checks (passed) & Exhibit receipted in lab + +ID - kb:action-uuid-2 +(..., 2019-01-01T14:05:00+00:00] +transferred +Exhibit seal checks (passed) & Exhibit receipted in lab _16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasInformedBy + + +wasInformedBy _be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - -ID - kb:officer-uuid-2 + +ID - kb:officer-uuid-2 _16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - - -wasAssociatedWith + + +wasAssociatedWith _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - -ID - kb:provenance-record-uuid-1 -Exhibit - EXH-20190101-7 + +ID - kb:provenance-record-uuid-1 +Exhibit - EXH-20190101-7 _16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -used + + +used _16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasInformedBy + + +wasInformedBy _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - - -wasAssociatedWith + + +wasAssociatedWith _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -used + + +used _4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - -ID - kb:action-uuid-4 -(..., 2019-01-01T14:15:00+00:00] -photographed -Sealed Exhibit Photographed + +ID - kb:action-uuid-4 +(..., 2019-01-01T14:15:00+00:00] +photographed +Sealed Exhibit Photographed _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - -ID - kb:camera-uuid-1 + +ID - kb:camera-uuid-1 _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAssociatedWith + + +wasAssociatedWith _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -used + + +used _a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654 - -ID - kb:action-uuid-5 -(..., 2019-01-01T14:20:00+00:00] -Exhibit Unsealed + +ID - kb:action-uuid-5 +(..., 2019-01-01T14:20:00+00:00] +Exhibit Unsealed _3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith _3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -used + + +used + + _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - -ID - kb:action-uuid-6 -(..., 2019-01-01T14:21:00+00:00] -photographed -Unsealed Exhibit Photographed + +ID - kb:action-uuid-6 +(..., 2019-01-01T14:21:00+00:00] +photographed +Unsealed Exhibit Photographed _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAssociatedWith + + +wasAssociatedWith _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -used + + +used _fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasInformedBy + + +wasInformedBy _c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - -ID - kb:kiosk-uuid-1 + +ID - kb:kiosk-uuid-1 _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAssociatedWith + + +wasAssociatedWith _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -used + + +used _728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -used + + +used + + _c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e - -ID - kb:action-uuid-8 -(..., 2019-01-01T15:00:00+00:00] -Exhibit Resealed + +ID - kb:action-uuid-8 +(..., 2019-01-01T15:00:00+00:00] +Exhibit Resealed _c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith _c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -used + + +used + + _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasInformedBy + + +wasInformedBy _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -used + + +used _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - -ID - kb:extracted-file-uuid-2 + +ID - kb:extracted-file-uuid-2 _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - - -used + + +used _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAssociatedWith + + +wasAssociatedWith _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAssociatedWith + + +wasAssociatedWith _941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -used + + +used + + _397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -actedOnBehalfOf + + +actedOnBehalfOf _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf - - -wasGeneratedBy + + +wasGeneratedBy _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -wasDerivedFrom + + +wasDerivedFrom _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 - - -wasDerivedFrom + + +wasDerivedFrom _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAttributedTo + + +wasAttributedTo _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -wasDerivedFrom + + +wasDerivedFrom _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 - - -wasDerivedFrom + + +wasDerivedFrom + + _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasGeneratedBy + + +wasGeneratedBy _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasGeneratedBy + + +wasGeneratedBy _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f - -ID - kb:extracted-file-uuid-3 + +ID - kb:extracted-file-uuid-3 _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasGeneratedBy + + +wasGeneratedBy _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c - -ID - kb:file-uuid-1 -Intake Form + +ID - kb:file-uuid-1 +Intake Form _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd - - -wasGeneratedBy + + +wasGeneratedBy _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - - -wasAttributedTo + + +wasAttributedTo _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -wasDerivedFrom + + +wasDerivedFrom _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76 - -ID - kb:file-uuid-2 -Kiosk report + +ID - kb:file-uuid-2 +Kiosk report _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasGeneratedBy + + +wasGeneratedBy _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd - -ID - kb:file-uuid-3 -Witness statement + +ID - kb:file-uuid-3 +Witness statement _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17 - - -wasGeneratedBy + + +wasGeneratedBy _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - - -wasDerivedFrom + + +wasDerivedFrom _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAttributedTo + + +wasAttributedTo _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 - - -wasDerivedFrom + + +wasDerivedFrom + + _c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -actedOnBehalfOf + + +actedOnBehalfOf _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7 - -ID - kb:provenance-record-73f59a8a-1c22-41fe-af50-13e8b6a65de9 + +ID - kb:provenance-record-73f59a8a-1c22-41fe-af50-13e8b6a65de9 _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17 - - -wasGeneratedBy + + +wasGeneratedBy _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - - -wasDerivedFrom + + +wasDerivedFrom _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd - - -hadMember + + +hadMember _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAttributedTo + + +wasAttributedTo _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 - - -wasDerivedFrom + + +wasDerivedFrom + + _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasGeneratedBy + + +wasGeneratedBy _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - - -wasAttributedTo + + +wasAttributedTo _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -wasDerivedFrom + + +wasDerivedFrom + + _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143 - -ID - kb:provenance-record-uuid-2 -Exhibit - EXH-20190101-7-IntakeForm + +ID - kb:provenance-record-uuid-2 +Exhibit - EXH-20190101-7-IntakeForm _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd - - -wasGeneratedBy + + +wasGeneratedBy _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c - - -hadMember + + +hadMember _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - - -wasAttributedTo + + +wasAttributedTo _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -wasDerivedFrom + + +wasDerivedFrom _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b - - -wasGeneratedBy + + +wasGeneratedBy _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 - - -wasAttributedTo + + +wasAttributedTo _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -wasDerivedFrom + + +wasDerivedFrom _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103 - -ID - kb:provenance-record-uuid-4 -Exhibit - EXH-20190101-7-SealedPhotos + +ID - kb:provenance-record-uuid-4 +Exhibit - EXH-20190101-7-SealedPhotos _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - - -wasGeneratedBy + + +wasGeneratedBy _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2 - -ID - kb:subject-device-photograph-uuid-1 + +ID - kb:subject-device-photograph-uuid-1 _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2 - - -hadMember + + +hadMember _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9 - -ID - kb:subject-device-photograph-uuid-2 + +ID - kb:subject-device-photograph-uuid-2 _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9 - - -hadMember + + +hadMember _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223 - -ID - kb:subject-device-photograph-uuid-3 + +ID - kb:subject-device-photograph-uuid-3 _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223 - - -hadMember + + +hadMember _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58 - -ID - kb:provenance-record-uuid-5 -Exhibit - EXH-20190101-7-UnsealedPhotos + +ID - kb:provenance-record-uuid-5 +Exhibit - EXH-20190101-7-UnsealedPhotos _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - - -wasGeneratedBy + + +wasGeneratedBy _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd - -ID - kb:subject-device-photograph-uuid-4 + +ID - kb:subject-device-photograph-uuid-4 _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd - - -hadMember + + +hadMember _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a - -ID - kb:subject-device-photograph-uuid-5 + +ID - kb:subject-device-photograph-uuid-5 _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a - - -hadMember + + +hadMember _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0 - -ID - kb:subject-device-photograph-uuid-6 + +ID - kb:subject-device-photograph-uuid-6 _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0 - - -hadMember + + +hadMember _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 - - -wasGeneratedBy + + +wasGeneratedBy _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76 - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 - - -wasGeneratedBy + + +wasGeneratedBy _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -hadMember + + +hadMember _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -wasDerivedFrom + + +wasDerivedFrom _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - - -wasDerivedFrom + + +wasDerivedFrom _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f - - -wasAttributedTo + + +wasAttributedTo _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -wasDerivedFrom + + +wasDerivedFrom + + _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf - - -wasGeneratedBy + + +wasGeneratedBy _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - - -hadMember + + +hadMember _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -wasDerivedFrom + + +wasDerivedFrom _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 - - -wasDerivedFrom + + +wasDerivedFrom _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAttributedTo + + +wasAttributedTo _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -wasDerivedFrom + + +wasDerivedFrom _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 - - -wasDerivedFrom + + +wasDerivedFrom + + _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388 - -ID - kb:provenance-record-uuid-8 -Exhibit - EXH-20190101-7 + +ID - kb:provenance-record-uuid-8 +Exhibit - EXH-20190101-7 _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9 - - -wasGeneratedBy + + +wasGeneratedBy _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 - - -wasAttributedTo + + +wasAttributedTo _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - - -wasGeneratedBy + + +wasGeneratedBy _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - - -wasGeneratedBy + + +wasGeneratedBy _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 - - -wasGeneratedBy + + +wasGeneratedBy _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - - -wasGeneratedBy + + +wasGeneratedBy _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - - -wasGeneratedBy + + +wasGeneratedBy _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d - - -wasGeneratedBy + + +wasGeneratedBy _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 - - -wasAttributedTo + + +wasAttributedTo _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 - - -wasGeneratedBy + + +wasGeneratedBy _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c - - -wasAttributedTo + + +wasAttributedTo _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -wasDerivedFrom - + + +wasDerivedFrom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-entities.svg b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-entities.svg index 3ee4173..aa7b2f4 100644 --- a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-entities.svg +++ b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-entities.svg @@ -4,17 +4,17 @@ - - + + PROV-O render - + _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - -ID - kb:dvd-uuid-1 + +ID - kb:dvd-uuid-1 @@ -22,153 +22,161 @@ _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - -ID - kb:extracted-file-uuid-1 + +ID - kb:extracted-file-uuid-1 _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -wasDerivedFrom + + +wasDerivedFrom _80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 - -ID - kb:file2-uuid-1 + +ID - kb:file2-uuid-1 _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 - - -wasDerivedFrom + + +wasDerivedFrom _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - -ID - kb:provenance-record-uuid-6 -Exhibit - EXH-20190101-7-KioskReport + +ID - kb:provenance-record-uuid-6 +Exhibit - EXH-20190101-7-KioskReport _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -wasDerivedFrom + + +wasDerivedFrom _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 - -ID - kb:provenance-record-uuid-6e -Exhibit - EXH-20190101-7-B + +ID - kb:provenance-record-uuid-6e +Exhibit - EXH-20190101-7-B _901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 - - -wasDerivedFrom + + +wasDerivedFrom + + _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - -ID - kb:provenance-record-uuid-3 + +ID - kb:provenance-record-uuid-3 _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - -ID - kb:subject-device-uuid-1 + +ID - kb:subject-device-uuid-1 _7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - -ID - kb:extracted-file-uuid-2 + +ID - kb:extracted-file-uuid-2 _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f - -ID - kb:extracted-file-uuid-3 + +ID - kb:extracted-file-uuid-3 _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c - -ID - kb:file-uuid-1 -Intake Form + +ID - kb:file-uuid-1 +Intake Form @@ -176,559 +184,677 @@ _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - -ID - kb:provenance-record-uuid-1 -Exhibit - EXH-20190101-7 + +ID - kb:provenance-record-uuid-1 +Exhibit - EXH-20190101-7 _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -wasDerivedFrom + + +wasDerivedFrom _f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76 - -ID - kb:file-uuid-2 -Kiosk report + +ID - kb:file-uuid-2 +Kiosk report _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd - -ID - kb:file-uuid-3 -Witness statement + +ID - kb:file-uuid-3 +Witness statement _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - - -wasDerivedFrom + + +wasDerivedFrom _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 - -ID - kb:provenance-record-uuid-7 -Exhibit - EXH-20190101-7-KioskReportDVD + +ID - kb:provenance-record-uuid-7 +Exhibit - EXH-20190101-7-KioskReportDVD _a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 - - -wasDerivedFrom + + +wasDerivedFrom + + _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7 - -ID - kb:provenance-record-73f59a8a-1c22-41fe-af50-13e8b6a65de9 + +ID - kb:provenance-record-73f59a8a-1c22-41fe-af50-13e8b6a65de9 _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - - -wasDerivedFrom + + +wasDerivedFrom _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd - - -hadMember + + +hadMember _403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 - - -wasDerivedFrom + + +wasDerivedFrom + + _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - -ID - prov:EmptyCollection + +ID - prov:EmptyCollection _65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -wasDerivedFrom + + +wasDerivedFrom + + _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143 - -ID - kb:provenance-record-uuid-2 -Exhibit - EXH-20190101-7-IntakeForm + +ID - kb:provenance-record-uuid-2 +Exhibit - EXH-20190101-7-IntakeForm _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c - - -hadMember + + +hadMember _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -wasDerivedFrom + + +wasDerivedFrom _8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 - - -wasDerivedFrom + + +wasDerivedFrom _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103 - -ID - kb:provenance-record-uuid-4 -Exhibit - EXH-20190101-7-SealedPhotos + +ID - kb:provenance-record-uuid-4 +Exhibit - EXH-20190101-7-SealedPhotos _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2 - -ID - kb:subject-device-photograph-uuid-1 + +ID - kb:subject-device-photograph-uuid-1 _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2 - - -hadMember + + +hadMember _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9 - -ID - kb:subject-device-photograph-uuid-2 + +ID - kb:subject-device-photograph-uuid-2 _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9 - - -hadMember + + +hadMember _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223 - -ID - kb:subject-device-photograph-uuid-3 + +ID - kb:subject-device-photograph-uuid-3 _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223 - - -hadMember + + +hadMember _c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58 - -ID - kb:provenance-record-uuid-5 -Exhibit - EXH-20190101-7-UnsealedPhotos + +ID - kb:provenance-record-uuid-5 +Exhibit - EXH-20190101-7-UnsealedPhotos _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd - -ID - kb:subject-device-photograph-uuid-4 + +ID - kb:subject-device-photograph-uuid-4 _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd - - -hadMember + + +hadMember _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a - -ID - kb:subject-device-photograph-uuid-5 + +ID - kb:subject-device-photograph-uuid-5 _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a - - -hadMember + + +hadMember _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0 - -ID - kb:subject-device-photograph-uuid-6 + +ID - kb:subject-device-photograph-uuid-6 _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0 - - -hadMember + + +hadMember _c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76 - - -hadMember + + +hadMember _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -hadMember + + +hadMember _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -wasDerivedFrom + + +wasDerivedFrom _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 - - -wasDerivedFrom + + +wasDerivedFrom _434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -wasDerivedFrom + + +wasDerivedFrom + + _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a - - -hadMember + + +hadMember _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 - - -wasDerivedFrom + + +wasDerivedFrom _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 - - -wasDerivedFrom + + +wasDerivedFrom _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 - - -wasDerivedFrom + + +wasDerivedFrom _bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 - - -wasDerivedFrom + + +wasDerivedFrom + + _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388 - -ID - kb:provenance-record-uuid-8 -Exhibit - EXH-20190101-7 + +ID - kb:provenance-record-uuid-8 +Exhibit - EXH-20190101-7 _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -hadMember + + +hadMember _d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 - - -wasDerivedFrom + + +wasDerivedFrom _2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a - - -wasDerivedFrom + + +wasDerivedFrom + + _4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf - - -wasDerivedFrom - + + +wasDerivedFrom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov.ttl b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov.ttl index ac5950c..0cb1b51 100644 --- a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov.ttl +++ b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov.ttl @@ -4,6 +4,7 @@ @prefix prov: . @prefix rdf: . @prefix rdfs: . +@prefix time: . @prefix uco-core: . @prefix xsd: . @@ -593,370 +594,649 @@ kb:Derivation-f65e6674-4415-5632-9e20-19c7ecd79c14 . kb:End-04a9d0cc-ff01-5988-94bf-bf8c4580d582 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2019-01-01T15:00:00+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-01-01T15:00:00+00:00"^^xsd:dateTime ; . kb:End-09ef4b50-e763-568a-b52b-590cbab8540c - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2019-01-01T14:21:00+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-01-01T14:21:00+00:00"^^xsd:dateTime ; . kb:End-0bf4eb72-e60e-56c3-ad45-a039046bc6d5 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2019-01-01T15:03:00+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-01-01T15:03:00+00:00"^^xsd:dateTime ; . kb:End-19d25fe9-ae1a-5596-b3a3-0070d7fc8ffc - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2019-01-01T15:20:00+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-01-01T15:20:00+00:00"^^xsd:dateTime ; . kb:End-1cde7fe2-690b-5cd1-8636-cecc1eb25abb - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2019-01-01T14:20:00+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-01-01T14:20:00+00:00"^^xsd:dateTime ; . kb:End-1ebaffe2-5315-5f32-98f3-b503c73825da - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2019-01-01T14:05:00+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-01-01T14:05:00+00:00"^^xsd:dateTime ; . kb:End-31764af5-0e93-5954-93c9-5d7c33047356 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2019-01-01T14:05:30+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-01-01T14:05:30+00:00"^^xsd:dateTime ; . kb:End-4bed3f73-208a-5c20-8574-d6cbbf9e2d4c - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2019-01-01T14:00:00+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-01-01T14:00:00+00:00"^^xsd:dateTime ; . kb:End-604080c9-3ea8-59fb-8f4c-1ccfa1e73495 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2019-01-01T15:05:00+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-01-01T15:05:00+00:00"^^xsd:dateTime ; . kb:End-894c1ab4-9b4a-54ef-9f25-baca59e26fb3 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2019-01-01T15:10:00+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-01-01T15:10:00+00:00"^^xsd:dateTime ; . kb:End-8b553cd2-3fd1-5e88-a0a6-915cd5e67e8e - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2019-01-01T15:15:00+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-01-01T15:15:00+00:00"^^xsd:dateTime ; . kb:End-e88c0c83-6fcb-5bd6-ac8e-78e37f20bf68 - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2019-01-01T14:15:00+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-01-01T14:15:00+00:00"^^xsd:dateTime ; . kb:End-f1ee6cda-bd2c-5924-a007-018de2f3fc2b - a prov:End ; + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2019-01-01T14:55:00+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-01-01T14:55:00+00:00"^^xsd:dateTime ; . kb:Generation-00915cbc-e0d9-575c-8690-61f1eb494ac6 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before + kb:Usage-666c7f49-231f-5866-8ea8-820f125e0a6e , + kb:Usage-f2eb760b-2d63-57dd-bd1a-b835a10a78ae + ; prov:activity kb:action-uuid-7 ; . kb:Generation-0d767eac-a7d5-5409-b87b-b3bbc0b785e3 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:action-uuid-4 ; . kb:Generation-130da2fc-4be8-51a9-943f-bcc800c6c1d6 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before + kb:Usage-08c96165-d757-5d24-9098-a8068368a763 , + kb:Usage-57758c94-24d4-5186-8c67-94292966a982 + ; prov:activity kb:action-uuid-7 ; . kb:Generation-199e4034-0746-5b15-8d20-8c1934eb51b4 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:action-uuid-4 ; . kb:Generation-1e0177a7-74b6-5e6e-aa93-30c94e0bf36a - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:action-uuid-4 ; . kb:Generation-1ea0f51f-3da9-5ac6-830f-128736c8e7ad - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-85bd0f05-742a-5da2-a40f-c8845cc5ebde ; prov:activity kb:action-uuid-7 ; . kb:Generation-20863384-aa9b-5ef7-ab8a-a20ec24fe289 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-59e9740a-765f-54af-ac62-ddce059f9b77 ; prov:activity kb:action-uuid-9 ; . kb:Generation-2196a71d-79ab-540f-b1d2-523cb3792848 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-82e90348-861c-5f3e-8389-fb13edc60e5a ; prov:activity kb:action-uuid-10 ; . kb:Generation-3a4c3d26-6390-5e50-add7-47c9a3070e01 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:action-uuid-2 ; . kb:Generation-48e01b98-7100-5f28-821b-793319f9fdd6 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:action-uuid-13 ; . kb:Generation-56fc8f86-62bb-5aa4-8039-05a59f29f487 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:action-uuid-6 ; . kb:Generation-6afe5aa6-d823-5e35-8252-fb469cf935e2 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before + kb:Usage-000d5736-7150-5abe-b8d1-baae58d68dea , + kb:Usage-aea1118d-815a-5b4b-a75c-95d2dfa34283 + ; prov:activity kb:action-uuid-1 ; . kb:Generation-7a5e1399-551c-594e-82bc-74e4e667516f - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:action-uuid-7 ; . kb:Generation-7e06dc33-1a2f-5ffb-9c65-17dfd8df70a2 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:action-uuid-7 ; . kb:Generation-7e206cb9-cd4e-5edd-a0d3-59221463ad1c - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:action-uuid-12 ; . kb:Generation-8647dc38-8cd3-5512-b8e1-309e6e8c75c4 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:action-uuid-4 ; . kb:Generation-9246885f-170a-5d97-9fbb-8f6e7fd537c3 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before kb:Usage-edbbbf4f-74a9-56fa-98d8-f4dfec328dad ; prov:activity kb:action-uuid-10 ; . kb:Generation-94659186-beea-5f0e-838b-8f43c1a44910 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:action-uuid-2 ; . kb:Generation-c089cd32-5d68-5457-a0a1-e4a56ff1b366 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:action-uuid-6 ; . kb:Generation-d01d5054-2b2c-5450-b058-07c0709d19fb - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:action-uuid-12 ; . kb:Generation-d5163342-08cc-54fa-bbc2-f7bf01aa7941 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before + kb:Usage-230ea0dd-8b2d-5546-9f9f-422c7a3f779f , + kb:Usage-414895b1-e40e-5168-9e22-88fd27a7116c , + kb:Usage-4208984e-17d2-52f0-a48e-21a32c00e3d3 , + kb:Usage-668b6ffe-3cb4-526d-a4af-ef34dd77cc83 , + kb:Usage-a5cfa998-37a3-55d9-a086-f330dd926375 , + kb:Usage-f5c18d5b-87cf-55bd-beb4-6d916c59c3dc + ; prov:activity kb:action-uuid-1 ; . kb:Generation-dfa68ba5-48c4-5213-9f11-bc9a0e9c7b79 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:action-uuid-6 ; . kb:Generation-e59dc07a-7c3e-585c-b302-49589802c3ef - a prov:Generation ; + a + time:Instant , + prov:Generation + ; + time:before + kb:Usage-4f8089f9-9bf8-55a0-825a-ea1e8675405e , + kb:Usage-551e4494-be9b-5b7b-980f-02cabe397896 , + kb:Usage-5c376dcf-a272-5c27-b233-a7b948ee07be , + kb:Usage-eb580b46-193a-5c33-a9a4-15927d2473aa + ; prov:activity kb:action-uuid-3 ; . kb:Generation-fd4e1edf-d058-5daf-b0a9-adce85ee52a8 - a prov:Generation ; + a + time:Instant , + prov:Generation + ; prov:activity kb:action-uuid-6 ; . kb:Start-1c90956c-e17a-5f22-938d-2479a75c110c - a prov:Start ; + a + time:Instant , + prov:Start + ; . kb:Start-1f191753-8f2b-5471-908c-663b4f61f691 - a prov:Start ; + a + time:Instant , + prov:Start + ; . kb:Start-612062f6-fd54-5f33-bb41-1d1a2768d685 - a prov:Start ; + a + time:Instant , + prov:Start + ; . kb:Start-65db0fc4-690b-582d-b2e9-cbc9aa75ce70 - a prov:Start ; + a + time:Instant , + prov:Start + ; . kb:Start-81f4d9c6-b4df-54f7-8403-cd90a0136923 - a prov:Start ; + a + time:Instant , + prov:Start + ; . kb:Start-8ea56a88-720f-5697-8d2e-89d68cc930f1 - a prov:Start ; + a + time:Instant , + prov:Start + ; . kb:Start-9e3ee06d-8708-5a08-8a8f-ccc8f8d1bdfa - a prov:Start ; + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2019-01-01T14:25:00+00:00"^^xsd:dateTimeStamp ; prov:atTime "2019-01-01T14:25:00+00:00"^^xsd:dateTime ; . kb:Start-bcfe441e-db6b-543f-ab6a-59da5df89ab9 - a prov:Start ; + a + time:Instant , + prov:Start + ; . kb:Start-bd7bd16e-6386-5df2-b70f-c008b548eec1 - a prov:Start ; + a + time:Instant , + prov:Start + ; . kb:Start-cef68541-ac3a-595f-9fca-d702e97730b3 - a prov:Start ; + a + time:Instant , + prov:Start + ; . kb:Start-d230e5cd-4594-54f9-88f1-fca4639aa0a2 - a prov:Start ; + a + time:Instant , + prov:Start + ; . kb:Start-db2694df-de4d-5dd2-a923-797a49f4c1b2 - a prov:Start ; + a + time:Instant , + prov:Start + ; . kb:Start-f01440ac-45dd-50ba-8a87-5bd932f64fbe - a prov:Start ; + a + time:Instant , + prov:Start + ; . kb:Usage-000d5736-7150-5abe-b8d1-baae58d68dea - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-uuid-1 ; . kb:Usage-08c96165-d757-5d24-9098-a8068368a763 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-uuid-6 ; . kb:Usage-230ea0dd-8b2d-5546-9f9f-422c7a3f779f - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:subject-device-uuid-1 ; . kb:Usage-3f02ab35-d0a2-5312-a5de-8aaa8da6812d - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity prov:EmptyCollection ; . kb:Usage-414895b1-e40e-5168-9e22-88fd27a7116c - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:subject-device-uuid-1 ; . kb:Usage-4208984e-17d2-52f0-a48e-21a32c00e3d3 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:subject-device-uuid-1 ; . kb:Usage-4f8089f9-9bf8-55a0-825a-ea1e8675405e - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-uuid-3 ; . kb:Usage-551e4494-be9b-5b7b-980f-02cabe397896 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-uuid-3 ; . kb:Usage-57758c94-24d4-5186-8c67-94292966a982 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-uuid-6 ; . kb:Usage-59e9740a-765f-54af-ac62-ddce059f9b77 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-uuid-6e ; . kb:Usage-5c376dcf-a272-5c27-b233-a7b948ee07be - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-uuid-3 ; . kb:Usage-666c7f49-231f-5866-8ea8-820f125e0a6e - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:extracted-file-uuid-1 ; . kb:Usage-668b6ffe-3cb4-526d-a4af-ef34dd77cc83 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:subject-device-uuid-1 ; . kb:Usage-71fc2006-ba1b-5fa3-9815-72e6b382f695 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity prov:EmptyCollection ; . kb:Usage-76381af4-8823-55c7-ae24-3333f827681f - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity prov:EmptyCollection ; . kb:Usage-82e90348-861c-5f3e-8389-fb13edc60e5a - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:dvd-uuid-1 ; . kb:Usage-85bd0f05-742a-5da2-a40f-c8845cc5ebde - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:extracted-file-uuid-2 ; . kb:Usage-a5cfa998-37a3-55d9-a086-f330dd926375 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:subject-device-uuid-1 ; . kb:Usage-aea1118d-815a-5b4b-a75c-95d2dfa34283 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-uuid-1 ; . kb:Usage-d1aff435-6037-5171-ab87-88907445afda - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity prov:EmptyCollection ; . kb:Usage-eb580b46-193a-5c33-a9a4-15927d2473aa - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-uuid-3 ; . kb:Usage-edbbbf4f-74a9-56fa-98d8-f4dfec328dad - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:provenance-record-uuid-7 ; . kb:Usage-f06cbf2d-2441-58cb-9e1f-1b7e917cba13 - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:file2-uuid-1 ; . kb:Usage-f2eb760b-2d63-57dd-bd1a-b835a10a78ae - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:extracted-file-uuid-1 ; . kb:Usage-f5c18d5b-87cf-55bd-beb4-6d916c59c3dc - a prov:Usage ; + a + time:Instant , + prov:Usage + ; prov:entity kb:subject-device-uuid-1 ; . kb:action-uuid-1 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-cef68541-ac3a-595f-9fca-d702e97730b3 ; + time:hasEnd kb:End-4bed3f73-208a-5c20-8574-d6cbbf9e2d4c ; + time:inside + kb:Generation-6afe5aa6-d823-5e35-8252-fb469cf935e2 , + kb:Generation-d5163342-08cc-54fa-bbc2-f7bf01aa7941 , + kb:Usage-d1aff435-6037-5171-ab87-88907445afda + ; prov:endedAtTime "2019-01-01T14:00:00+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-d482b418-e457-5a1b-aba9-c41cb5ab8c82 ; prov:qualifiedEnd kb:End-4bed3f73-208a-5c20-8574-d6cbbf9e2d4c ; @@ -968,7 +1248,20 @@ kb:action-uuid-1 . kb:action-uuid-10 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-bd7bd16e-6386-5df2-b70f-c008b548eec1 ; + time:hasEnd kb:End-604080c9-3ea8-59fb-8f4c-1ccfa1e73495 ; + time:inside + kb:Generation-2196a71d-79ab-540f-b1d2-523cb3792848 , + kb:Generation-9246885f-170a-5d97-9fbb-8f6e7fd537c3 , + kb:Usage-08c96165-d757-5d24-9098-a8068368a763 , + kb:Usage-59e9740a-765f-54af-ac62-ddce059f9b77 , + kb:Usage-f06cbf2d-2441-58cb-9e1f-1b7e917cba13 , + kb:Usage-f2eb760b-2d63-57dd-bd1a-b835a10a78ae + ; prov:endedAtTime "2019-01-01T15:05:00+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-662e7d7e-0102-553d-a116-f87129653e0f ; prov:qualifiedCommunication @@ -999,7 +1292,13 @@ kb:action-uuid-10 . kb:action-uuid-11 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-1f191753-8f2b-5471-908c-663b4f61f691 ; + time:hasEnd kb:End-894c1ab4-9b4a-54ef-9f25-baca59e26fb3 ; + time:inside kb:Usage-71fc2006-ba1b-5fa3-9815-72e6b382f695 ; prov:endedAtTime "2019-01-01T15:10:00+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-7ec9e20b-0f0c-5f23-9a4b-cc8c413001f3 ; prov:qualifiedEnd kb:End-894c1ab4-9b4a-54ef-9f25-baca59e26fb3 ; @@ -1011,7 +1310,18 @@ kb:action-uuid-11 . kb:action-uuid-12 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-1c90956c-e17a-5f22-938d-2479a75c110c ; + time:hasEnd kb:End-8b553cd2-3fd1-5e88-a0a6-915cd5e67e8e ; + time:inside + kb:Generation-7e206cb9-cd4e-5edd-a0d3-59221463ad1c , + kb:Generation-d01d5054-2b2c-5450-b058-07c0709d19fb , + kb:Usage-82e90348-861c-5f3e-8389-fb13edc60e5a , + kb:Usage-edbbbf4f-74a9-56fa-98d8-f4dfec328dad + ; prov:endedAtTime "2019-01-01T15:15:00+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-fd84559b-636b-558b-a057-1d933aca72ba ; prov:qualifiedCommunication kb:Communication-2ea6d41f-0c72-5155-91f6-ed7eef9f63ae ; @@ -1031,7 +1341,17 @@ kb:action-uuid-12 . kb:action-uuid-13 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-612062f6-fd54-5f33-bb41-1d1a2768d685 ; + time:hasEnd kb:End-19d25fe9-ae1a-5596-b3a3-0070d7fc8ffc ; + time:inside + kb:Generation-48e01b98-7100-5f28-821b-793319f9fdd6 , + kb:Usage-a5cfa998-37a3-55d9-a086-f330dd926375 , + kb:Usage-eb580b46-193a-5c33-a9a4-15927d2473aa + ; prov:endedAtTime "2019-01-01T15:20:00+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-be77f131-4518-591e-ab61-60f182b0019c ; prov:qualifiedCommunication kb:Communication-7b3ba65f-879f-54f6-85d8-b03f2080cdee ; @@ -1052,7 +1372,18 @@ kb:action-uuid-13 . kb:action-uuid-2 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-65db0fc4-690b-582d-b2e9-cbc9aa75ce70 ; + time:hasEnd kb:End-1ebaffe2-5315-5f32-98f3-b503c73825da ; + time:inside + kb:Generation-3a4c3d26-6390-5e50-add7-47c9a3070e01 , + kb:Generation-94659186-beea-5f0e-838b-8f43c1a44910 , + kb:Usage-000d5736-7150-5abe-b8d1-baae58d68dea , + kb:Usage-4208984e-17d2-52f0-a48e-21a32c00e3d3 + ; prov:endedAtTime "2019-01-01T14:05:00+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-123a16d8-9793-56cb-a8aa-40df74ccdbd8 ; prov:qualifiedCommunication kb:Communication-aed5baff-ff26-5caa-beea-c73e7f3b6c6e ; @@ -1073,7 +1404,17 @@ kb:action-uuid-2 . kb:action-uuid-3 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-8ea56a88-720f-5697-8d2e-89d68cc930f1 ; + time:hasEnd kb:End-31764af5-0e93-5954-93c9-5d7c33047356 ; + time:inside + kb:Generation-e59dc07a-7c3e-585c-b302-49589802c3ef , + kb:Usage-230ea0dd-8b2d-5546-9f9f-422c7a3f779f , + kb:Usage-aea1118d-815a-5b4b-a75c-95d2dfa34283 + ; prov:endedAtTime "2019-01-01T14:05:30+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-2d74acd2-f231-578a-9995-301ade08a37e ; prov:qualifiedCommunication kb:Communication-661c4b54-3e3b-5f41-9213-8d4e441e84ae ; @@ -1094,7 +1435,20 @@ kb:action-uuid-3 . kb:action-uuid-4 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-f01440ac-45dd-50ba-8a87-5bd932f64fbe ; + time:hasEnd kb:End-e88c0c83-6fcb-5bd6-ac8e-78e37f20bf68 ; + time:inside + kb:Generation-0d767eac-a7d5-5409-b87b-b3bbc0b785e3 , + kb:Generation-199e4034-0746-5b15-8d20-8c1934eb51b4 , + kb:Generation-1e0177a7-74b6-5e6e-aa93-30c94e0bf36a , + kb:Generation-8647dc38-8cd3-5512-b8e1-309e6e8c75c4 , + kb:Usage-551e4494-be9b-5b7b-980f-02cabe397896 , + kb:Usage-668b6ffe-3cb4-526d-a4af-ef34dd77cc83 + ; prov:endedAtTime "2019-01-01T14:15:00+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-30baa5cc-e7bd-5924-9ce5-3b1b74a1ece8 , @@ -1118,7 +1472,13 @@ kb:action-uuid-4 . kb:action-uuid-5 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-bcfe441e-db6b-543f-ab6a-59da5df89ab9 ; + time:hasEnd kb:End-1cde7fe2-690b-5cd1-8636-cecc1eb25abb ; + time:inside kb:Usage-3f02ab35-d0a2-5312-a5de-8aaa8da6812d ; prov:endedAtTime "2019-01-01T14:20:00+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-3d156b08-fa03-5bc6-9297-b665046a29f2 ; prov:qualifiedEnd kb:End-1cde7fe2-690b-5cd1-8636-cecc1eb25abb ; @@ -1130,7 +1490,20 @@ kb:action-uuid-5 . kb:action-uuid-6 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-d230e5cd-4594-54f9-88f1-fca4639aa0a2 ; + time:hasEnd kb:End-09ef4b50-e763-568a-b52b-590cbab8540c ; + time:inside + kb:Generation-56fc8f86-62bb-5aa4-8039-05a59f29f487 , + kb:Generation-c089cd32-5d68-5457-a0a1-e4a56ff1b366 , + kb:Generation-dfa68ba5-48c4-5213-9f11-bc9a0e9c7b79 , + kb:Generation-fd4e1edf-d058-5daf-b0a9-adce85ee52a8 , + kb:Usage-414895b1-e40e-5168-9e22-88fd27a7116c , + kb:Usage-4f8089f9-9bf8-55a0-825a-ea1e8675405e + ; prov:endedAtTime "2019-01-01T14:21:00+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-6eff4464-ec23-5beb-86ee-c5f7ccbd7d11 , @@ -1154,7 +1527,21 @@ kb:action-uuid-6 . kb:action-uuid-7 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-9e3ee06d-8708-5a08-8a8f-ccc8f8d1bdfa ; + time:hasEnd kb:End-f1ee6cda-bd2c-5924-a007-018de2f3fc2b ; + time:inside + kb:Generation-00915cbc-e0d9-575c-8690-61f1eb494ac6 , + kb:Generation-130da2fc-4be8-51a9-943f-bcc800c6c1d6 , + kb:Generation-1ea0f51f-3da9-5ac6-830f-128736c8e7ad , + kb:Generation-7a5e1399-551c-594e-82bc-74e4e667516f , + kb:Generation-7e06dc33-1a2f-5ffb-9c65-17dfd8df70a2 , + kb:Usage-5c376dcf-a272-5c27-b233-a7b948ee07be , + kb:Usage-f5c18d5b-87cf-55bd-beb4-6d916c59c3dc + ; prov:endedAtTime "2019-01-01T14:55:00+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-22c19332-a26b-5f7a-b8bd-9392e001f13d , @@ -1179,7 +1566,13 @@ kb:action-uuid-7 . kb:action-uuid-8 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-81f4d9c6-b4df-54f7-8403-cd90a0136923 ; + time:hasEnd kb:End-04a9d0cc-ff01-5988-94bf-bf8c4580d582 ; + time:inside kb:Usage-76381af4-8823-55c7-ae24-3333f827681f ; prov:endedAtTime "2019-01-01T15:00:00+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-cdf69915-4135-5158-a0d1-a6a39460b5dd ; prov:qualifiedEnd kb:End-04a9d0cc-ff01-5988-94bf-bf8c4580d582 ; @@ -1191,7 +1584,18 @@ kb:action-uuid-8 . kb:action-uuid-9 - a prov:Activity ; + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-db2694df-de4d-5dd2-a923-797a49f4c1b2 ; + time:hasEnd kb:End-0bf4eb72-e60e-56c3-ad45-a039046bc6d5 ; + time:inside + kb:Generation-20863384-aa9b-5ef7-ab8a-a20ec24fe289 , + kb:Usage-57758c94-24d4-5186-8c67-94292966a982 , + kb:Usage-666c7f49-231f-5866-8ea8-820f125e0a6e , + kb:Usage-85bd0f05-742a-5da2-a40f-c8845cc5ebde + ; prov:endedAtTime "2019-01-01T15:03:00+00:00"^^xsd:dateTime ; prov:qualifiedAssociation kb:Association-04eb3476-a17f-5c07-ac57-1100809aed02 , From 9852b7eea9ad308a295bd3f2ab681ab19b491068 Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Wed, 7 Jun 2023 00:22:54 -0400 Subject: [PATCH 12/15] Add figure sources for README updates A follow-on patch will regenerate Make-managed files. The patch afterwards will add OWL-Time documentation to the top README. Signed-off-by: Alex Nelson --- figures/.gitignore | 2 + figures/Makefile | 385 +++++++++++++++++- .../readme-actions-ordered-by-timestamp.json | 49 +++ ...readme-activities-related-by-intervals.ttl | 31 ++ .../readme-activity-vs-proper-interval.ttl | 18 + figures/readme-eapi-bounded.ttl | 46 +++ figures/readme-eapi-default.ttl | 23 ++ figures/readme-time-instants.ttl | 116 ++++++ figures/readme-two-files.json | 107 +++++ 9 files changed, 771 insertions(+), 6 deletions(-) create mode 100644 figures/.gitignore create mode 100644 figures/readme-actions-ordered-by-timestamp.json create mode 100644 figures/readme-activities-related-by-intervals.ttl create mode 100644 figures/readme-activity-vs-proper-interval.ttl create mode 100644 figures/readme-eapi-bounded.ttl create mode 100644 figures/readme-eapi-default.ttl create mode 100644 figures/readme-time-instants.ttl create mode 100644 figures/readme-two-files.json diff --git a/figures/.gitignore b/figures/.gitignore new file mode 100644 index 0000000..4d7ce37 --- /dev/null +++ b/figures/.gitignore @@ -0,0 +1,2 @@ +*-constraints.log +*-folded.ttl diff --git a/figures/Makefile b/figures/Makefile index 15f21ef..d7f30ed 100644 --- a/figures/Makefile +++ b/figures/Makefile @@ -15,17 +15,59 @@ SHELL := /bin/bash top_srcdir := $(shell cd .. ; pwd) +rdf_toolkit_jar := $(top_srcdir)/dependencies/CASE-Examples-QC/dependencies/CASE-Examples/dependencies/CASE-develop/dependencies/UCO/lib/rdf-toolkit.jar + all: \ + readme-actions-ordered-by-timestamp-constraints.log \ + readme-actions-ordered-by-timestamp-invisible.svg \ + readme-actions-ordered-by-timestamp-visible.svg \ readme-activities.svg \ - readme-allen-relations.svg \ + readme-activities-related-by-intervals-invisible.svg \ + readme-activities-related-by-intervals-with-intervals.svg \ + readme-activities-related-by-intervals-visible.svg \ + readme-activity-vs-proper-interval-visible.svg \ + readme-allen-relations-invisible.svg \ + readme-allen-relations-visible.svg \ readme-attribution.svg \ - readme-provenance-records.svg + readme-eapi-bounded-visible.svg \ + readme-eapi-default-visible.svg \ + readme-provenance-records.svg \ + readme-time-instants-invisible.svg \ + readme-time-instants-visible.svg \ + readme-two-files-constraints.log \ + readme-two-files-invisible.svg \ + readme-two-files-visible.svg .PRECIOUS: \ + readme-actions-ordered-by-timestamp-invisible.dot \ + readme-actions-ordered-by-timestamp-visible.dot \ readme-activities.dot \ - readme-allen-relations.dot \ + readme-activities-related-by-intervals-invisible.dot \ + readme-activities-related-by-intervals-with-intervals.dot \ + readme-activities-related-by-intervals-visible.dot \ + readme-activity-vs-proper-interval-visible.dot \ + readme-allen-relations-invisible.dot \ + readme-allen-relations-visible.dot \ readme-attribution.dot \ - readme-provenance-records.dot + readme-eapi-bounded-visible.dot \ + readme-eapi-default-visible.dot \ + readme-provenance-records.dot \ + readme-time-instants-invisible.dot \ + readme-time-instants-visible.dot \ + readme-two-files-invisible.dot \ + readme-two-files-visible.dot + +%-constraints.log: \ + %-folded.ttl \ + $(top_srcdir)/dependencies/prov-check/provcheck/provconstraints.py + source $(top_srcdir)/tests/venv/bin/activate \ + && python3 $(top_srcdir)/dependencies/prov-check/provcheck/provconstraints.py \ + --debug \ + $< \ + > _$@ \ + 2>&1 + test 1 -eq $$(tail -n1 _$@ | grep ' True' | wc -l) + mv _$@ $@ %.svg: \ %.dot @@ -35,7 +77,111 @@ all: \ clean: @rm -f \ *.dot \ - *.svg + *.svg \ + *-constraints.log \ + *-expanded.ttl \ + *-validation.ttl + +readme-actions-ordered-by-timestamp-expanded.ttl: \ + readme-actions-ordered-by-timestamp.json \ + readme-actions-ordered-by-timestamp-validation.ttl \ + $(rdf_toolkit_jar) \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_check.py \ + $(top_srcdir)/case_prov/case_prov_rdf.py \ + $(top_srcdir)/case_prov/shapes/prov-shapes.ttl \ + $(top_srcdir)/dependencies/prov-check/provcheck/provconstraints.py \ + $(top_srcdir)/tests/.venv.done.log + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_rdf \ + __$@ \ + $< + source $(top_srcdir)/tests/venv/bin/activate \ + && python3 $(top_srcdir)/dependencies/prov-check/provcheck/provconstraints.py \ + --debug \ + __$@ + source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_check \ + --allow-warnings \ + $< \ + __$@ + java -jar $(rdf_toolkit_jar) \ + --inline-blank-nodes \ + --source __$@ \ + --source-format turtle \ + --target _$@ \ + --target-format turtle + rm __$@ + mv _$@ $@ + +readme-actions-ordered-by-timestamp-folded.ttl: \ + readme-actions-ordered-by-timestamp-expanded.ttl + source $(top_srcdir)/tests/venv/bin/activate \ + && rdfpipe \ + --output-format turtle \ + readme-actions-ordered-by-timestamp.json \ + readme-actions-ordered-by-timestamp-expanded.ttl \ + > __$@ + java -jar $(rdf_toolkit_jar) \ + --inline-blank-nodes \ + --source __$@ \ + --source-format turtle \ + --target _$@ \ + --target-format turtle + rm __$@ + mv _$@ $@ + +readme-actions-ordered-by-timestamp-invisible.dot: \ + readme-actions-ordered-by-timestamp.json \ + readme-actions-ordered-by-timestamp-expanded.ttl \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_dot.py \ + $(top_srcdir)/tests/.venv.done.log + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --omit-empty-set \ + _$@ \ + readme-actions-ordered-by-timestamp.json \ + readme-actions-ordered-by-timestamp-expanded.ttl + mv _$@ $@ + +readme-actions-ordered-by-timestamp-validation.ttl: \ + readme-actions-ordered-by-timestamp.json \ + $(rdf_toolkit_jar) \ + $(top_srcdir)/tests/.venv.done.log + rm -f __$@ _$@ + source $(top_srcdir)/tests/venv/bin/activate \ + && case_validate \ + --allow-infos \ + --format turtle \ + --output __$@ \ + $< + java -jar $(rdf_toolkit_jar) \ + --inline-blank-nodes \ + --source __$@ \ + --source-format turtle \ + --target _$@ \ + --target-format turtle + rm __$@ + mv _$@ $@ + +readme-actions-ordered-by-timestamp-visible.dot: \ + readme-actions-ordered-by-timestamp.json \ + readme-actions-ordered-by-timestamp-expanded.ttl \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_dot.py \ + $(top_srcdir)/tests/.venv.done.log + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --display-time-links \ + --omit-empty-set \ + _$@ \ + readme-actions-ordered-by-timestamp.json \ + readme-actions-ordered-by-timestamp-expanded.ttl + mv _$@ $@ readme-activities.dot: \ readme-activities.ttl \ @@ -51,7 +197,80 @@ readme-activities.dot: \ $< mv _$@ $@ -readme-allen-relations.dot: \ +readme-activities-related-by-intervals-invisible.dot: \ + readme-activities-related-by-intervals.ttl \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_dot.py \ + $(top_srcdir)/tests/.venv.done.log + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --debug \ + --omit-empty-set \ + _$@ \ + $< + mv _$@ $@ + +readme-activities-related-by-intervals-visible.dot: \ + readme-activities-related-by-intervals.ttl \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_dot.py \ + $(top_srcdir)/tests/.venv.done.log + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --debug \ + --display-time-links \ + --omit-empty-set \ + _$@ \ + $< + mv _$@ $@ + +readme-activities-related-by-intervals-with-intervals.dot: \ + readme-activities-related-by-intervals.ttl \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_dot.py \ + $(top_srcdir)/tests/.venv.done.log + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --debug \ + --display-time-intervals \ + --omit-empty-set \ + _$@ \ + $< + mv _$@ $@ + +readme-activity-vs-proper-interval-visible.dot: \ + readme-activity-vs-proper-interval.ttl \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_dot.py \ + $(top_srcdir)/tests/.venv.done.log + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --debug \ + --display-time-links \ + --omit-empty-set \ + _$@ \ + $< + mv _$@ $@ + +readme-allen-relations-invisible.dot: \ + readme-allen-relations.ttl \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_dot.py \ + $(top_srcdir)/tests/.venv.done.log + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --debug \ + --omit-empty-set \ + _$@ \ + $< + mv _$@ $@ + +readme-allen-relations-visible.dot: \ readme-allen-relations.ttl \ $(top_srcdir)/case_prov/__init__.py \ $(top_srcdir)/case_prov/case_prov_dot.py \ @@ -60,6 +279,7 @@ readme-allen-relations.dot: \ && source $(top_srcdir)/tests/venv/bin/activate \ && case_prov_dot \ --debug \ + --display-time-links \ --omit-empty-set \ _$@ \ $< @@ -79,6 +299,34 @@ readme-attribution.dot: \ $< mv _$@ $@ +readme-eapi-bounded-visible.dot: \ + readme-eapi-bounded.ttl \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_dot.py \ + $(top_srcdir)/tests/.venv.done.log + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --display-time-links \ + --omit-empty-set \ + _$@ \ + $< + mv _$@ $@ + +readme-eapi-default-visible.dot: \ + readme-eapi-default.ttl \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_dot.py \ + $(top_srcdir)/tests/.venv.done.log + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --display-time-links \ + --omit-empty-set \ + _$@ \ + $< + mv _$@ $@ + readme-provenance-records.dot: \ readme-provenance-records.ttl \ $(top_srcdir)/case_prov/__init__.py \ @@ -91,3 +339,128 @@ readme-provenance-records.dot: \ _$@ \ $< mv _$@ $@ + +readme-time-instants-invisible.dot: \ + readme-time-instants.ttl \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_dot.py \ + $(top_srcdir)/tests/.venv.done.log + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --debug \ + --omit-empty-set \ + _$@ \ + $< + mv _$@ $@ + +readme-time-instants-visible.dot: \ + readme-time-instants.ttl \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_dot.py \ + $(top_srcdir)/tests/.venv.done.log + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --debug \ + --display-time-links \ + --omit-empty-set \ + _$@ \ + $< + mv _$@ $@ + +readme-two-files-expanded.ttl: \ + readme-two-files.json \ + readme-two-files-validation.ttl \ + $(rdf_toolkit_jar) \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_check.py \ + $(top_srcdir)/case_prov/case_prov_rdf.py \ + $(top_srcdir)/case_prov/shapes/prov-shapes.ttl \ + $(top_srcdir)/tests/.venv.done.log + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_rdf \ + __$@ \ + $< + source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_check \ + --allow-warnings \ + $< \ + __$@ + java -jar $(rdf_toolkit_jar) \ + --inline-blank-nodes \ + --source __$@ \ + --source-format turtle \ + --target _$@ \ + --target-format turtle + rm __$@ + mv _$@ $@ + +readme-two-files-folded.ttl: \ + readme-two-files-expanded.ttl + source $(top_srcdir)/tests/venv/bin/activate \ + && rdfpipe \ + --output-format turtle \ + readme-two-files.json \ + readme-two-files-expanded.ttl \ + > __$@ + java -jar $(rdf_toolkit_jar) \ + --inline-blank-nodes \ + --source __$@ \ + --source-format turtle \ + --target _$@ \ + --target-format turtle + rm __$@ + mv _$@ $@ + +readme-two-files-invisible.dot: \ + readme-two-files.json \ + readme-two-files-expanded.ttl \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_dot.py \ + $(top_srcdir)/tests/.venv.done.log + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --omit-empty-set \ + _$@ \ + readme-two-files.json \ + readme-two-files-expanded.ttl + mv _$@ $@ + +readme-two-files-validation.ttl: \ + readme-two-files.json \ + $(rdf_toolkit_jar) \ + $(top_srcdir)/tests/.venv.done.log + rm -f __$@ _$@ + source $(top_srcdir)/tests/venv/bin/activate \ + && case_validate \ + --allow-infos \ + --format turtle \ + --output __$@ \ + $< + java -jar $(rdf_toolkit_jar) \ + --inline-blank-nodes \ + --source __$@ \ + --source-format turtle \ + --target _$@ \ + --target-format turtle + rm __$@ + mv _$@ $@ + +readme-two-files-visible.dot: \ + readme-two-files.json \ + readme-two-files-expanded.ttl \ + $(top_srcdir)/case_prov/__init__.py \ + $(top_srcdir)/case_prov/case_prov_dot.py \ + $(top_srcdir)/tests/.venv.done.log + export CASE_DEMO_NONRANDOM_UUID_BASE="$(top_srcdir)" \ + && source $(top_srcdir)/tests/venv/bin/activate \ + && case_prov_dot \ + --display-time-links \ + --omit-empty-set \ + _$@ \ + readme-two-files.json \ + readme-two-files-expanded.ttl + mv _$@ $@ diff --git a/figures/readme-actions-ordered-by-timestamp.json b/figures/readme-actions-ordered-by-timestamp.json new file mode 100644 index 0000000..305b459 --- /dev/null +++ b/figures/readme-actions-ordered-by-timestamp.json @@ -0,0 +1,49 @@ +{ + "@context":{ + "case-investigation": "https://ontology.caseontology.org/case/investigation/", + "kb": "urn:example:", + "owl": "http://www.w3.org/2002/07/owl#", + "prov": "http://www.w3.org/ns/prov#", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "time": "http://www.w3.org/2006/time#", + "uco-action": "https://ontology.unifiedcyberontology.org/uco/action/", + "uco-action:endTime": { + "@type": "xsd:dateTime" + }, + "uco-action:startTime": { + "@type": "xsd:dateTime" + }, + "uco-core": "https://ontology.unifiedcyberontology.org/uco/core/", + "uco-observable": "https://ontology.unifiedcyberontology.org/uco/observable/", + "xsd": "http://www.w3.org/2001/XMLSchema#" + }, + "@graph": [ + { + "@id": "kb:Action-e9f1edc9-4e0c-43c3-a1c4-891143e3fa86", + "@type": [ + "prov:Activity", + "case-investigation:InvestigativeAction" + ], + "uco-action:endTime": "2020-01-02T06:00:00Z", + "uco-action:startTime": "2020-01-02T03:00:00Z" + }, + { + "@id": "kb:Action-417af923-6ff4-48da-b7a7-177cb5f3d6f3", + "@type": [ + "prov:Activity", + "case-investigation:InvestigativeAction" + ], + "uco-action:startTime": "2020-01-02T04:00:00Z" + }, + { + "@id": "kb:Action-60dddd50-07ac-4177-930d-7954c56f49b9", + "@type": [ + "prov:Activity", + "case-investigation:InvestigativeAction" + ], + "uco-action:endTime": "2020-01-02T08:00:00Z", + "uco-action:startTime": "2020-01-02T05:00:00Z" + } + ] +} diff --git a/figures/readme-activities-related-by-intervals.ttl b/figures/readme-activities-related-by-intervals.ttl new file mode 100644 index 0000000..2ee2230 --- /dev/null +++ b/figures/readme-activities-related-by-intervals.ttl @@ -0,0 +1,31 @@ +@prefix kb: . +@prefix owl: . +@prefix prov: . +@prefix rdf: . +@prefix rdfs: . +@prefix time: . +@prefix xsd: . + +kb:activity-earlier + a prov:Activity ; + rdfs:label "An Activity that occurs earlier."@en ; + . + +kb:activity-later + a prov:Activity ; + rdfs:label "An Activity that occurs earlier."@en ; + . + +kb:interval-earlier + a time:ProperInterval ; + rdfs:label "A Proper Interval that starts and ends earlier, and contains the earlier activity."@en ; + time:intervalBefore kb:interval-later ; + time:intervalContains kb:activity-earlier ; + . + +kb:interval-later + a time:ProperInterval ; + rdfs:label "A Proper Interval that starts later, comes after the earlier interval, and contains the later activity."@en ; + time:intervalContains kb:activity-later ; + . + diff --git a/figures/readme-activity-vs-proper-interval.ttl b/figures/readme-activity-vs-proper-interval.ttl new file mode 100644 index 0000000..93b7dd8 --- /dev/null +++ b/figures/readme-activity-vs-proper-interval.ttl @@ -0,0 +1,18 @@ +@prefix kb: . +@prefix owl: . +@prefix prov: . +@prefix rdf: . +@prefix rdfs: . +@prefix time: . +@prefix xsd: . + +kb:Activity-1 + a prov:Activity ; + rdfs:label "A prov:Activity."@en ; + . + +kb:ProperInterval-1 + a time:ProperInterval ; + rdfs:label "A time:ProperInterval."@en ; + . + diff --git a/figures/readme-eapi-bounded.ttl b/figures/readme-eapi-bounded.ttl new file mode 100644 index 0000000..c4229c6 --- /dev/null +++ b/figures/readme-eapi-bounded.ttl @@ -0,0 +1,46 @@ +@prefix kb: . +@prefix owl: . +@prefix prov: . +@prefix rdf: . +@prefix rdfs: . +@prefix time: . +@prefix xsd: . + +kb:Activity-Bounded + a prov:Activity ; + rdfs:label "A time-bounded prov:Activity."@en ; + prov:qualifiedEnd kb:Activity-Bounded-End ; + prov:qualifiedStart kb:Activity-Bounded-Start ; + . + +kb:Activity-Bounded-End + a prov:End ; + . + +kb:Activity-Bounded-Start + a prov:Start ; + . + +kb:Entity-Bounded + a prov:Entity ; + rdfs:label "A time-bounded prov:Entity."@en ; + prov:qualifiedGeneration kb:Entity-Bounded-Generation ; + prov:qualifiedInvalidation kb:Entity-Bounded-Invalidation ; + prov:invalidatedAtTime "2007-08-09T10:11:12Z"^^xsd:dateTime ; + . + +kb:Entity-Bounded-Generation + a prov:Generation ; + . + +kb:Entity-Bounded-Invalidation + a prov:Invalidation ; + . + +kb:ProperInterval-Bounded + a time:ProperInterval ; + rdfs:label "A time-bounded time:ProperInterval."@en ; + time:hasBeginning kb:ProperInterval-Bounded-Beginning ; + time:hasEnd kb:ProperInterval-Bounded-End ; + . + diff --git a/figures/readme-eapi-default.ttl b/figures/readme-eapi-default.ttl new file mode 100644 index 0000000..645e04d --- /dev/null +++ b/figures/readme-eapi-default.ttl @@ -0,0 +1,23 @@ +@prefix kb: . +@prefix owl: . +@prefix prov: . +@prefix rdf: . +@prefix rdfs: . +@prefix time: . +@prefix xsd: . + +kb:Activity-Default + a prov:Activity ; + rdfs:label "A prov:Activity."@en ; + . + +kb:Entity-Default + a prov:Entity ; + rdfs:label "A prov:Entity."@en ; + . + +kb:ProperInterval-Default + a time:ProperInterval ; + rdfs:label "A time:ProperInterval."@en ; + . + diff --git a/figures/readme-time-instants.ttl b/figures/readme-time-instants.ttl new file mode 100644 index 0000000..080734a --- /dev/null +++ b/figures/readme-time-instants.ttl @@ -0,0 +1,116 @@ +@prefix kb: . +@prefix owl: . +@prefix prov: . +@prefix rdf: . +@prefix rdfs: . +@prefix time: . +@prefix xsd: . + +kb:inside-instant + a time:Instant ; + . + +kb:inside-interval + a + time:ProperInterval , + prov:Activity + ; + time:inside kb:inside-instant ; + . + +kb:instant-after-instant--i + a time:Instant ; + . + +kb:instant-after-instant--j + a time:Instant ; + time:after kb:instant-after-instant--i ; + . + +kb:instant-after-interval--instant + a time:Instant ; + time:after kb:instant-after-interval--interval ; + . + +kb:instant-after-interval--interval + a + time:ProperInterval , + prov:Activity + ; + . + +kb:instant-before-instant--i + a time:Instant ; + time:before kb:instant-before-instant--j ; + . + +kb:instant-before-instant--j + a time:Instant ; + . + +kb:instant-before-interval--instant + a time:Instant ; + time:before kb:instant-before-interval--interval ; + . + +kb:instant-before-interval--interval + a + time:ProperInterval , + prov:Activity + ; + . + +kb:interval-after-instant--instant + a time:Instant ; + . + +kb:interval-after-instant--interval + a + time:ProperInterval , + prov:Activity + ; + time:after kb:interval-after-instant--instant ; + . + +kb:interval-after-interval--i + a + time:ProperInterval , + prov:Activity + ; + . + +kb:interval-after-interval--j + a + time:ProperInterval , + prov:Activity + ; + time:after kb:interval-after-interval--i ; + . + +kb:interval-before-instant--instant + a time:Instant ; + . + +kb:interval-before-instant--interval + a + time:ProperInterval , + prov:Activity + ; + time:before kb:interval-before-instant--instant ; + . + +kb:interval-before-interval--i + a + time:ProperInterval , + prov:Activity + ; + time:before kb:interval-before-interval--j ; + . + +kb:interval-before-interval--j + a + time:ProperInterval , + prov:Activity + ; + . + diff --git a/figures/readme-two-files.json b/figures/readme-two-files.json new file mode 100644 index 0000000..917baee --- /dev/null +++ b/figures/readme-two-files.json @@ -0,0 +1,107 @@ +{ + "@context":{ + "case-investigation": "https://ontology.caseontology.org/case/investigation/", + "kb": "urn:example:", + "owl": "http://www.w3.org/2002/07/owl#", + "prov": "http://www.w3.org/ns/prov#", + "prov:activity": { + "@type": "@id" + }, + "prov:qualifiedGeneration": { + "@type": "@id" + }, + "prov:qualifiedInvalidation": { + "@type": "@id" + }, + "prov:used": { + "@type": "@id" + }, + "prov:wasDerivedFrom": { + "@type": "@id" + }, + "prov:wasGeneratedBy": { + "@type": "@id" + }, + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "time": "http://www.w3.org/2006/time#", + "time:after": { + "@type": "@id" + }, + "time:inXSDDateTimeStamp": { + "@type": "xsd:dateTimeStamp" + }, + "uco-action": "https://ontology.unifiedcyberontology.org/uco/action/", + "uco-action:endTime": { + "@type": "xsd:dateTime" + }, + "uco-action:result": { + "@type": "@id" + }, + "uco-action:startTime": { + "@type": "xsd:dateTime" + }, + "uco-core": "https://ontology.unifiedcyberontology.org/uco/core/", + "uco-core:object": { + "@type": "@id" + }, + "uco-observable": "https://ontology.unifiedcyberontology.org/uco/observable/", + "xsd": "http://www.w3.org/2001/XMLSchema#" + }, + "@graph": [ + { + "@id": "kb:Action-1", + "@type": "case-investigation:InvestigativeAction", + "uco-action:endTime": "2020-01-02T12:00:30Z", + "uco-action:result": [ + "kb:File-2", + "kb:ProvenanceRecord-1" + ], + "uco-action:startTime": "2020-01-02T12:00:30Z", + "uco-core:description": "Activity known to create and delete a temporary file, File-1, and to create File-2." + }, + { + "@id": "kb:File-1", + "@type": [ + "prov:Entity", + "uco-observable:File" + ], + "uco-core:description": "Temporary file", + "prov:qualifiedGeneration": "kb:Generation-1", + "prov:qualifiedInvalidation": "kb:Invalidation-1", + "prov:wasGeneratedBy": "kb:Action-1", + "prov:wasInvalidatedBy": "kb:Action-1" + }, + { + "@id": "kb:File-2", + "@type": "uco-observable:File", + "prov:qualifiedGeneration": "kb:Generation-2", + "prov:wasDerivedFrom": "kb:File-1", + "prov:wasGeneratedBy": "kb:Action-1" + }, + { + "@id": "kb:Generation-1", + "@type": "prov:Generation", + "prov:activity": "kb:Action-1", + "time:inXSDDateTimeStamp": "2020-01-02T12:00:30.1234Z" + }, + { + "@id": "kb:Generation-2", + "@type": "prov:Generation", + "prov:activity": "kb:Action-1", + "time:inXSDDateTimeStamp": "2020-01-02T12:00:30.3456Z" + }, + { + "@id": "kb:Invalidation-1", + "@type": "prov:Invalidation", + "prov:activity": "kb:Action-1", + "time:inXSDDateTimeStamp": "2020-01-02T12:00:30.5678Z" + }, + + { + "@id": "kb:ProvenanceRecord-1", + "@type": "case-investigation:ProvenanceRecord", + "uco-core:object": "kb:File-2" + } + ] +} From da136fa12985adb4b1cc6b0f8f2e4c6b5ffa6e7e Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Wed, 7 Jun 2023 00:24:38 -0400 Subject: [PATCH 13/15] Regenerate Make-managed files Signed-off-by: Alex Nelson --- ...-actions-ordered-by-timestamp-expanded.ttl | 122 + ...actions-ordered-by-timestamp-invisible.svg | 65 + ...ctions-ordered-by-timestamp-validation.ttl | 11 + ...e-actions-ordered-by-timestamp-visible.svg | 196 + ...ivities-related-by-intervals-invisible.svg | 55 + ...ctivities-related-by-intervals-visible.svg | 198 + ...es-related-by-intervals-with-intervals.svg | 75 + ...me-activity-vs-proper-interval-visible.svg | 63 + figures/readme-allen-relations-invisible.svg | 373 ++ figures/readme-allen-relations-visible.svg | 1157 ++++++ figures/readme-eapi-bounded-visible.svg | 133 + figures/readme-eapi-default-visible.svg | 73 + figures/readme-time-instants-invisible.svg | 138 + figures/readme-time-instants-visible.svg | 388 ++ figures/readme-two-files-expanded.ttl | 119 + figures/readme-two-files-invisible.svg | 114 + figures/readme-two-files-validation.ttl | 130 + figures/readme-two-files-visible.svg | 264 ++ .../urgent_evidence-prov-time-activities.svg | 705 ++++ ...v-time-all-focus-extracted-file-uuid-1.svg | 543 +++ .../urgent_evidence-prov-time-all.svg | 3383 +++++++++++++++++ 21 files changed, 8305 insertions(+) create mode 100644 figures/readme-actions-ordered-by-timestamp-expanded.ttl create mode 100644 figures/readme-actions-ordered-by-timestamp-invisible.svg create mode 100644 figures/readme-actions-ordered-by-timestamp-validation.ttl create mode 100644 figures/readme-actions-ordered-by-timestamp-visible.svg create mode 100644 figures/readme-activities-related-by-intervals-invisible.svg create mode 100644 figures/readme-activities-related-by-intervals-visible.svg create mode 100644 figures/readme-activities-related-by-intervals-with-intervals.svg create mode 100644 figures/readme-activity-vs-proper-interval-visible.svg create mode 100644 figures/readme-allen-relations-invisible.svg create mode 100644 figures/readme-allen-relations-visible.svg create mode 100644 figures/readme-eapi-bounded-visible.svg create mode 100644 figures/readme-eapi-default-visible.svg create mode 100644 figures/readme-time-instants-invisible.svg create mode 100644 figures/readme-time-instants-visible.svg create mode 100644 figures/readme-two-files-expanded.ttl create mode 100644 figures/readme-two-files-invisible.svg create mode 100644 figures/readme-two-files-validation.ttl create mode 100644 figures/readme-two-files-visible.svg create mode 100644 tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-time-activities.svg create mode 100644 tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-time-all-focus-extracted-file-uuid-1.svg create mode 100644 tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-time-all.svg diff --git a/figures/readme-actions-ordered-by-timestamp-expanded.ttl b/figures/readme-actions-ordered-by-timestamp-expanded.ttl new file mode 100644 index 0000000..8bf1660 --- /dev/null +++ b/figures/readme-actions-ordered-by-timestamp-expanded.ttl @@ -0,0 +1,122 @@ +@prefix kb: . +@prefix owl: . +@prefix prov: . +@prefix rdf: . +@prefix rdfs: . +@prefix time: . +@prefix xsd: . + +kb:Action-417af923-6ff4-48da-b7a7-177cb5f3d6f3 + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-adfc2e9d-7cbc-52a5-abb6-17ffec3657cc ; + time:inside kb:Usage-6078c8f2-d117-534a-a690-599d836f6093 ; + prov:qualifiedStart kb:Start-adfc2e9d-7cbc-52a5-abb6-17ffec3657cc ; + prov:qualifiedUsage kb:Usage-6078c8f2-d117-534a-a690-599d836f6093 ; + prov:startedAtTime "2020-01-02T04:00:00+00:00"^^xsd:dateTime ; + prov:used prov:EmptyCollection ; + . + +kb:Action-60dddd50-07ac-4177-930d-7954c56f49b9 + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-c99941dc-5be0-5095-a74d-f85359f6c869 ; + time:hasEnd kb:End-cab73892-7636-54b4-afad-bc815a6578ae ; + time:inside kb:Usage-e69707d1-9c7b-5b1a-9801-8e4e3dc56dbb ; + prov:endedAtTime "2020-01-02T08:00:00+00:00"^^xsd:dateTime ; + prov:qualifiedEnd kb:End-cab73892-7636-54b4-afad-bc815a6578ae ; + prov:qualifiedStart kb:Start-c99941dc-5be0-5095-a74d-f85359f6c869 ; + prov:qualifiedUsage kb:Usage-e69707d1-9c7b-5b1a-9801-8e4e3dc56dbb ; + prov:startedAtTime "2020-01-02T05:00:00+00:00"^^xsd:dateTime ; + prov:used prov:EmptyCollection ; + . + +kb:Action-e9f1edc9-4e0c-43c3-a1c4-891143e3fa86 + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-30a5ef5a-e33f-5a68-8ce1-946dfb30eb37 ; + time:hasEnd kb:End-50346631-166c-5588-b8ec-170c9037a028 ; + time:inside kb:Usage-4624f76f-9b3e-5d12-86cd-4ca7478378e1 ; + prov:endedAtTime "2020-01-02T06:00:00+00:00"^^xsd:dateTime ; + prov:qualifiedEnd kb:End-50346631-166c-5588-b8ec-170c9037a028 ; + prov:qualifiedStart kb:Start-30a5ef5a-e33f-5a68-8ce1-946dfb30eb37 ; + prov:qualifiedUsage kb:Usage-4624f76f-9b3e-5d12-86cd-4ca7478378e1 ; + prov:startedAtTime "2020-01-02T03:00:00+00:00"^^xsd:dateTime ; + prov:used prov:EmptyCollection ; + . + +kb:End-50346631-166c-5588-b8ec-170c9037a028 + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2020-01-02T06:00:00+00:00"^^xsd:dateTimeStamp ; + prov:atTime "2020-01-02T06:00:00+00:00"^^xsd:dateTime ; + . + +kb:End-cab73892-7636-54b4-afad-bc815a6578ae + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2020-01-02T08:00:00+00:00"^^xsd:dateTimeStamp ; + prov:atTime "2020-01-02T08:00:00+00:00"^^xsd:dateTime ; + . + +kb:Start-30a5ef5a-e33f-5a68-8ce1-946dfb30eb37 + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2020-01-02T03:00:00+00:00"^^xsd:dateTimeStamp ; + prov:atTime "2020-01-02T03:00:00+00:00"^^xsd:dateTime ; + . + +kb:Start-adfc2e9d-7cbc-52a5-abb6-17ffec3657cc + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2020-01-02T04:00:00+00:00"^^xsd:dateTimeStamp ; + prov:atTime "2020-01-02T04:00:00+00:00"^^xsd:dateTime ; + . + +kb:Start-c99941dc-5be0-5095-a74d-f85359f6c869 + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2020-01-02T05:00:00+00:00"^^xsd:dateTimeStamp ; + prov:atTime "2020-01-02T05:00:00+00:00"^^xsd:dateTime ; + . + +kb:Usage-4624f76f-9b3e-5d12-86cd-4ca7478378e1 + a + time:Instant , + prov:Usage + ; + prov:entity prov:EmptyCollection ; + . + +kb:Usage-6078c8f2-d117-534a-a690-599d836f6093 + a + time:Instant , + prov:Usage + ; + prov:entity prov:EmptyCollection ; + . + +kb:Usage-e69707d1-9c7b-5b1a-9801-8e4e3dc56dbb + a + time:Instant , + prov:Usage + ; + prov:entity prov:EmptyCollection ; + . + diff --git a/figures/readme-actions-ordered-by-timestamp-invisible.svg b/figures/readme-actions-ordered-by-timestamp-invisible.svg new file mode 100644 index 0000000..34cd8f5 --- /dev/null +++ b/figures/readme-actions-ordered-by-timestamp-invisible.svg @@ -0,0 +1,65 @@ + + + + + + +PROV-O render + + + +_681177370bfbced26b33a112314a5d682d1a4ad432a26a5335c8f87b012318ee + + +ID - kb:Action-417af923-6ff4-48da-b7a7-177cb5f3d6f3 +[2020-01-02T04:00:00+00:00, ...) + + + + + + + +_936610e65ec0551309349b62f71f72404694da793d404b2a264828126d4bd276 + + +ID - kb:Action-60dddd50-07ac-4177-930d-7954c56f49b9 +[2020-01-02T05:00:00+00:00, 2020-01-02T08:00:00+00:00] + + + + + + + +_cbccc8bf5743bca7a80ff0e3226563ef383df97cc032252160f22a29130607a2 + + +ID - kb:Action-e9f1edc9-4e0c-43c3-a1c4-891143e3fa86 +[2020-01-02T03:00:00+00:00, 2020-01-02T06:00:00+00:00] + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/readme-actions-ordered-by-timestamp-validation.ttl b/figures/readme-actions-ordered-by-timestamp-validation.ttl new file mode 100644 index 0000000..33496ff --- /dev/null +++ b/figures/readme-actions-ordered-by-timestamp-validation.ttl @@ -0,0 +1,11 @@ +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix sh: . +@prefix xsd: . + +[] + a sh:ValidationReport ; + sh:conforms "true"^^xsd:boolean ; + . + diff --git a/figures/readme-actions-ordered-by-timestamp-visible.svg b/figures/readme-actions-ordered-by-timestamp-visible.svg new file mode 100644 index 0000000..f775685 --- /dev/null +++ b/figures/readme-actions-ordered-by-timestamp-visible.svg @@ -0,0 +1,196 @@ + + + + + + +PROV-O render + + + +_681177370bfbced26b33a112314a5d682d1a4ad432a26a5335c8f87b012318ee + + +ID - kb:Action-417af923-6ff4-48da-b7a7-177cb5f3d6f3 +[2020-01-02T04:00:00+00:00, ...) + + + + + +_ed3d969574bef218f0ac14e36ffe14c3b8c54379c9e704e7b5b1d8eb48161d6b + + + + + + + +_681177370bfbced26b33a112314a5d682d1a4ad432a26a5335c8f87b012318ee->_ed3d969574bef218f0ac14e36ffe14c3b8c54379c9e704e7b5b1d8eb48161d6b + + + + + + +_936610e65ec0551309349b62f71f72404694da793d404b2a264828126d4bd276 + + +ID - kb:Action-60dddd50-07ac-4177-930d-7954c56f49b9 +[2020-01-02T05:00:00+00:00, 2020-01-02T08:00:00+00:00] + + + + + +_1f2bbec1d6ac44143a5541f6b7cca4163349ce582e700b518dd3d8bef3580196 + + + + + + + +_936610e65ec0551309349b62f71f72404694da793d404b2a264828126d4bd276->_1f2bbec1d6ac44143a5541f6b7cca4163349ce582e700b518dd3d8bef3580196 + + + + + + +_cbccc8bf5743bca7a80ff0e3226563ef383df97cc032252160f22a29130607a2 + + +ID - kb:Action-e9f1edc9-4e0c-43c3-a1c4-891143e3fa86 +[2020-01-02T03:00:00+00:00, 2020-01-02T06:00:00+00:00] + + + + + +_c721d26c1cf9d9802944628feb5ddf470d8781f440271821a0c12f5820df5869 + + + + + + + +_cbccc8bf5743bca7a80ff0e3226563ef383df97cc032252160f22a29130607a2->_c721d26c1cf9d9802944628feb5ddf470d8781f440271821a0c12f5820df5869 + + + + + + +_2836c2cf5931b13afbaabc2f580ff228b46f9ac84427a45e4c5c18ab6da4f229 + + + + + + + +_2836c2cf5931b13afbaabc2f580ff228b46f9ac84427a45e4c5c18ab6da4f229->_cbccc8bf5743bca7a80ff0e3226563ef383df97cc032252160f22a29130607a2 + + + + + + +_2836c2cf5931b13afbaabc2f580ff228b46f9ac84427a45e4c5c18ab6da4f229->_1f2bbec1d6ac44143a5541f6b7cca4163349ce582e700b518dd3d8bef3580196 + + + + + +_ebd2d0c7deb947fc7e764b4590c54ab059b05801f8b9736caf1664192379d78f + + + + + + + +_2836c2cf5931b13afbaabc2f580ff228b46f9ac84427a45e4c5c18ab6da4f229->_ebd2d0c7deb947fc7e764b4590c54ab059b05801f8b9736caf1664192379d78f + + + + + +_912a72d841c318eb5b4875a1e5355a418bde5a06ed6aef7b34cfcfd841e76fef + + + + + + + +_912a72d841c318eb5b4875a1e5355a418bde5a06ed6aef7b34cfcfd841e76fef->_936610e65ec0551309349b62f71f72404694da793d404b2a264828126d4bd276 + + + + + + +_912a72d841c318eb5b4875a1e5355a418bde5a06ed6aef7b34cfcfd841e76fef->_2836c2cf5931b13afbaabc2f580ff228b46f9ac84427a45e4c5c18ab6da4f229 + + + + + +_70619abae0dd99551ba81004d114bf94b86c8252b0e82d6b7b570ee5d244115b + + + + + + + +_912a72d841c318eb5b4875a1e5355a418bde5a06ed6aef7b34cfcfd841e76fef->_70619abae0dd99551ba81004d114bf94b86c8252b0e82d6b7b570ee5d244115b + + + + + +_ed3d969574bef218f0ac14e36ffe14c3b8c54379c9e704e7b5b1d8eb48161d6b->_c721d26c1cf9d9802944628feb5ddf470d8781f440271821a0c12f5820df5869 + + + + + +_1f2bbec1d6ac44143a5541f6b7cca4163349ce582e700b518dd3d8bef3580196->_ed3d969574bef218f0ac14e36ffe14c3b8c54379c9e704e7b5b1d8eb48161d6b + + + + + +_ebd2d0c7deb947fc7e764b4590c54ab059b05801f8b9736caf1664192379d78f->_c721d26c1cf9d9802944628feb5ddf470d8781f440271821a0c12f5820df5869 + + + + + +_c9c2c9e3cfe223c13299c48f9bbb85a8f73e8688fb4d0e45ce307cc29ae3ca79 + + + + + + + +_c9c2c9e3cfe223c13299c48f9bbb85a8f73e8688fb4d0e45ce307cc29ae3ca79->_ed3d969574bef218f0ac14e36ffe14c3b8c54379c9e704e7b5b1d8eb48161d6b + + + + + +_70619abae0dd99551ba81004d114bf94b86c8252b0e82d6b7b570ee5d244115b->_1f2bbec1d6ac44143a5541f6b7cca4163349ce582e700b518dd3d8bef3580196 + + + + + diff --git a/figures/readme-activities-related-by-intervals-invisible.svg b/figures/readme-activities-related-by-intervals-invisible.svg new file mode 100644 index 0000000..8664d6a --- /dev/null +++ b/figures/readme-activities-related-by-intervals-invisible.svg @@ -0,0 +1,55 @@ + + + + + + +PROV-O render + + + +_a805d85dc8e9a8cd5bfeeff18cd6e09ed010304f16e0ea69040df86362d57814 + + +ID - kb:activity-earlier +An Activity that occurs earlier. + + + + + + + +_2c0fb15bfaf33092647d83ba04deda2ad8a92315d346a3a8dc62dcd902e1b43a + + +ID - kb:activity-later +An Activity that occurs earlier. + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/readme-activities-related-by-intervals-visible.svg b/figures/readme-activities-related-by-intervals-visible.svg new file mode 100644 index 0000000..3901454 --- /dev/null +++ b/figures/readme-activities-related-by-intervals-visible.svg @@ -0,0 +1,198 @@ + + + + + + +PROV-O render + + + +_a805d85dc8e9a8cd5bfeeff18cd6e09ed010304f16e0ea69040df86362d57814 + + +ID - kb:activity-earlier +An Activity that occurs earlier. + + + + + +_63d0c0e6579a3f803c84f8f5ff2a82e43a6c0478f344bfdce4a164cf15a8c2e4 + + + + + + + +_a805d85dc8e9a8cd5bfeeff18cd6e09ed010304f16e0ea69040df86362d57814->_63d0c0e6579a3f803c84f8f5ff2a82e43a6c0478f344bfdce4a164cf15a8c2e4 + + + + + + +_2c0fb15bfaf33092647d83ba04deda2ad8a92315d346a3a8dc62dcd902e1b43a + + +ID - kb:activity-later +An Activity that occurs earlier. + + + + + +_9361ab5023e4f1b97b2e2c40a9e55a2d67cd74ad632620629e210d770d99a083 + + + + + + + +_2c0fb15bfaf33092647d83ba04deda2ad8a92315d346a3a8dc62dcd902e1b43a->_9361ab5023e4f1b97b2e2c40a9e55a2d67cd74ad632620629e210d770d99a083 + + + + + + +_d2f44d173cbb977fb6b45000c150733034f5c0397b9a79bc73eca26dc597d120 + + + + + + + +_d2f44d173cbb977fb6b45000c150733034f5c0397b9a79bc73eca26dc597d120->_a805d85dc8e9a8cd5bfeeff18cd6e09ed010304f16e0ea69040df86362d57814 + + + + + + +_09d8e758000f961bd4077fdcc1db8b86dc50cddd93167578f2fff45cd658b563 + + + + + + + +_09d8e758000f961bd4077fdcc1db8b86dc50cddd93167578f2fff45cd658b563->_2c0fb15bfaf33092647d83ba04deda2ad8a92315d346a3a8dc62dcd902e1b43a + + + + + + +_ab79264e888a96ca5ca405bc9e4e509c3f52fd88400bd34ddda3459e3d4e2452 + + + + + + + +_ab79264e888a96ca5ca405bc9e4e509c3f52fd88400bd34ddda3459e3d4e2452->_d2f44d173cbb977fb6b45000c150733034f5c0397b9a79bc73eca26dc597d120 + + + + + +_9e8912e62d6dd653f96e6d6801a33e48bc610e90ed2ef1f8bde777eeda52150c + + +ID - kb:interval-earlier +A Proper Interval that starts and ends earlier, and contains + the earlier activity. + + + + + +_ab79264e888a96ca5ca405bc9e4e509c3f52fd88400bd34ddda3459e3d4e2452->_9e8912e62d6dd653f96e6d6801a33e48bc610e90ed2ef1f8bde777eeda52150c + + + + + + +_e10288bd323c8a6a06209183404f5993e625c566e2b44f3e4a436ff02b0aa49b + + + + + + + +_e10288bd323c8a6a06209183404f5993e625c566e2b44f3e4a436ff02b0aa49b->_ab79264e888a96ca5ca405bc9e4e509c3f52fd88400bd34ddda3459e3d4e2452 + + + + + +_912839800cdec8378a11309264203c7d1fff7e7530472bf38e25dc977682b7ff + + + + + + + +_a1f253e17c6af14be30f57554e95c42e55cc778fb6467f7e085e9c7c2ee71cfd + + + + + + + +_a1f253e17c6af14be30f57554e95c42e55cc778fb6467f7e085e9c7c2ee71cfd->_09d8e758000f961bd4077fdcc1db8b86dc50cddd93167578f2fff45cd658b563 + + + + + +_9361ab5023e4f1b97b2e2c40a9e55a2d67cd74ad632620629e210d770d99a083->_e10288bd323c8a6a06209183404f5993e625c566e2b44f3e4a436ff02b0aa49b + + + + + +_63d0c0e6579a3f803c84f8f5ff2a82e43a6c0478f344bfdce4a164cf15a8c2e4->_912839800cdec8378a11309264203c7d1fff7e7530472bf38e25dc977682b7ff + + + + + +_9e8912e62d6dd653f96e6d6801a33e48bc610e90ed2ef1f8bde777eeda52150c->_912839800cdec8378a11309264203c7d1fff7e7530472bf38e25dc977682b7ff + + + + + + +_4bca873673d304621bcd6c81ad9327797dab3892c71ef23fe5d4617ddd92619d + + +ID - kb:interval-later +A Proper Interval that starts later, comes after the earlier + interval, and contains the later activity. + + + + + +_4bca873673d304621bcd6c81ad9327797dab3892c71ef23fe5d4617ddd92619d->_e10288bd323c8a6a06209183404f5993e625c566e2b44f3e4a436ff02b0aa49b + + + + + + diff --git a/figures/readme-activities-related-by-intervals-with-intervals.svg b/figures/readme-activities-related-by-intervals-with-intervals.svg new file mode 100644 index 0000000..3201adb --- /dev/null +++ b/figures/readme-activities-related-by-intervals-with-intervals.svg @@ -0,0 +1,75 @@ + + + + + + +PROV-O render + + + +_a805d85dc8e9a8cd5bfeeff18cd6e09ed010304f16e0ea69040df86362d57814 + + +ID - kb:activity-earlier +An Activity that occurs earlier. + + + + + + + +_2c0fb15bfaf33092647d83ba04deda2ad8a92315d346a3a8dc62dcd902e1b43a + + +ID - kb:activity-later +An Activity that occurs earlier. + + + + + + + + + + + + + + + + + + +_9e8912e62d6dd653f96e6d6801a33e48bc610e90ed2ef1f8bde777eeda52150c + + +ID - kb:interval-earlier +A Proper Interval that starts and ends earlier, and contains + the earlier activity. + + + + + + + + + +_4bca873673d304621bcd6c81ad9327797dab3892c71ef23fe5d4617ddd92619d + + +ID - kb:interval-later +A Proper Interval that starts later, comes after the earlier + interval, and contains the later activity. + + + + + + diff --git a/figures/readme-activity-vs-proper-interval-visible.svg b/figures/readme-activity-vs-proper-interval-visible.svg new file mode 100644 index 0000000..4b32851 --- /dev/null +++ b/figures/readme-activity-vs-proper-interval-visible.svg @@ -0,0 +1,63 @@ + + + + + + +PROV-O render + + + +_14654b96946c1cb41b691fb9ca10f36fbcc79748d996b5470b31f22fef410695 + + +ID - kb:Activity-1 +A prov:Activity. + + + + + +_5c61b543b80b73bf221fdf65a4eb39865f23affb758ec06e4aace7ff5f92a8e3 + + + + + + + +_14654b96946c1cb41b691fb9ca10f36fbcc79748d996b5470b31f22fef410695->_5c61b543b80b73bf221fdf65a4eb39865f23affb758ec06e4aace7ff5f92a8e3 + + + + + + +_53ee82feaa53092d1b2b5b269ed544431ecd201f59cb18479281ffa7f1c45021 + + + + + + + +_96a308bc4eed9bd6d2b4c6f48419022a9c1cfa04ea3ad65fae3359d0badaa527 + + +ID - kb:ProperInterval-1 +A time:ProperInterval. + + + + + +_96a308bc4eed9bd6d2b4c6f48419022a9c1cfa04ea3ad65fae3359d0badaa527->_53ee82feaa53092d1b2b5b269ed544431ecd201f59cb18479281ffa7f1c45021 + + + + + + diff --git a/figures/readme-allen-relations-invisible.svg b/figures/readme-allen-relations-invisible.svg new file mode 100644 index 0000000..821d0b7 --- /dev/null +++ b/figures/readme-allen-relations-invisible.svg @@ -0,0 +1,373 @@ + + + + + + +PROV-O render + + + +_420614c229241b80b8075b64f694c06191c7b4ea5e666e734eb9b5ae946ae59f + + +ID - kb:after-i + + + + + + + +_8d8af6aad08e2d51f293e6dfc5478934949f4eb1a4ede3b1b83615be44a4cf25 + + +ID - kb:after-j + + + + + + + +_6df40c4d98ba4ae1818a8974df560cdb07cfad84ae9a3039cc2c794715cf89e5 + + +ID - kb:before-i + + + + + + + +_d926ffb1ce3ff25d81181cde7b120388f9aa385e75fb587a8702d758fe33bded + + +ID - kb:before-j + + + + + + + +_674d07af6841676ac3270af69c2a738de4e9b719e9b9c8e88542543675559c75 + + +ID - kb:contains-i + + + + + + + +_e5558355618af87a4751e2eb0ad6324abd595685dc321d1064fc670f5115be78 + + +ID - kb:contains-j + + + + + + + +_c717dace67b13784c456e2db5c55d3aa90cc998b63973c5a5e8740498ed1c02d + + +ID - kb:during-i + + + + + + + +_143543d310af2cabed2fc03468cd19abca1a8b217f8840a728796167e7b6214c + + +ID - kb:during-j + + + + + + + +_fd95b92baeb836e000dd655d4e6df03f75d1c8d1b7056918a084a41e3994d325 + + +ID - kb:equals-i + + + + + + + + + +_d7ca4dfb8f35cfa5b75291c902c54d3338784febd3121fed7c6b3a104cc93cd9 + + +ID - kb:equals-j + + + + + + + +_c1abe2a630eb1eb936940f3b0b600026fe4b4b3dab3f51275b4a29f679ec161f + + +ID - kb:finishedBy-i + + + + + + + +_5c53afdfc06e1fe7e5706d1fd879b2ff799dcfb8898f847f25ec2a6b07439e48 + + +ID - kb:finishedBy-j + + + + + + + +_0b1601596d60a2ebcc5087f319c7d2ff4dacc33f6885d5ccc7cefe136de651b1 + + +ID - kb:finishes-i + + + + + + + +_169431ec6be8cf6588214cf2f82dbf04550a6d96e61d0391b2c7d14372975244 + + +ID - kb:finishes-j + + + + + + + +_db2d84171da93cdd0cf0a8cedcf48b905b9ef522bb97dd72a9722a749bf9a8b4 + + +ID - kb:meets-i + + + + + + + +_cca45a3d3a1f06e8617a3bedb625f381c11dbaade0464d576a2ed04a058f3ec9 + + +ID - kb:meets-j + + + + + + + + + +_cd71a86ebc4b5d3cf7149412db5a0f6884d738254dc8d8065ee5c09d8b8b6607 + + +ID - kb:metBy-i + + + + + + + +_32f4a5a312d34307c574545ebf628b59839f8c0c87928fa09b279811636f86b4 + + +ID - kb:metBy-j + + + + + + + + + +_08fed2f00d201af49f91aa2798fd2c2e2c4d66a6113935fd4c0b679dd0396025 + + +ID - kb:overlappedBy-i + + + + + + + +_4a8479baca078f820cd70a56c526a34e26788d013b886e32cfba82ec7332e70a + + +ID - kb:overlappedBy-j + + + + + + + +_e525822a15afd9cc7bc1a20a341a5ac3abe93d426f8b5e4ae8d3be54b5594004 + + +ID - kb:overlaps-i + + + + + + + +_34cc2a91dcb3a52e2f4b9a1ad4cee3f014d4cf50463c4e2565d58f5aa1661e0c + + +ID - kb:overlaps-j + + + + + + + +_351e4e6d52d963d965daa0539216009f093ed24be20135d121674d38d9929caa + + +ID - kb:startedBy-i + + + + + + + + + +_a31e2a2e8803799c43025ab6c55a05d7857e9ff31e93f636c97435950a52cf7e + + +ID - kb:startedBy-j + + + + + + + +_0e9e0607a0257a6fc12d892c4a886a7286079471a9dff65d604e27b02f5624f1 + + +ID - kb:starts-i + + + + + + + + + +_3d95bc00c0e59c58b9332400383b889844a735677a5311eb210c5dc0dc54d9c8 + + +ID - kb:starts-j + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/readme-allen-relations-visible.svg b/figures/readme-allen-relations-visible.svg new file mode 100644 index 0000000..65937f5 --- /dev/null +++ b/figures/readme-allen-relations-visible.svg @@ -0,0 +1,1157 @@ + + + + + + +PROV-O render + + + +_420614c229241b80b8075b64f694c06191c7b4ea5e666e734eb9b5ae946ae59f + + +ID - kb:after-i + + + + + +_6c7f315061b70ef30b7b55fa646c20756a9674585895b5479e0dd3a619e3c75f + + + + + + + +_420614c229241b80b8075b64f694c06191c7b4ea5e666e734eb9b5ae946ae59f->_6c7f315061b70ef30b7b55fa646c20756a9674585895b5479e0dd3a619e3c75f + + + + + + +_8d8af6aad08e2d51f293e6dfc5478934949f4eb1a4ede3b1b83615be44a4cf25 + + +ID - kb:after-j + + + + + +_75f1d1aece323f38b3e594d07b5de1248785b7b58542d3d3c5ca4fd646f98025 + + + + + + + +_8d8af6aad08e2d51f293e6dfc5478934949f4eb1a4ede3b1b83615be44a4cf25->_75f1d1aece323f38b3e594d07b5de1248785b7b58542d3d3c5ca4fd646f98025 + + + + + + +_6df40c4d98ba4ae1818a8974df560cdb07cfad84ae9a3039cc2c794715cf89e5 + + +ID - kb:before-i + + + + + +_a53a0057926f0f7689325702589e32acc4cd8c9b6309c9da937889cacec8edc2 + + + + + + + +_6df40c4d98ba4ae1818a8974df560cdb07cfad84ae9a3039cc2c794715cf89e5->_a53a0057926f0f7689325702589e32acc4cd8c9b6309c9da937889cacec8edc2 + + + + + + +_d926ffb1ce3ff25d81181cde7b120388f9aa385e75fb587a8702d758fe33bded + + +ID - kb:before-j + + + + + +_f18cb97268eb0a56017dffad29775ef709f13809f74263735ffcbe556c8722da + + + + + + + +_d926ffb1ce3ff25d81181cde7b120388f9aa385e75fb587a8702d758fe33bded->_f18cb97268eb0a56017dffad29775ef709f13809f74263735ffcbe556c8722da + + + + + + +_674d07af6841676ac3270af69c2a738de4e9b719e9b9c8e88542543675559c75 + + +ID - kb:contains-i + + + + + +_ef628914f5327967f9594ecc163d3fc9a82d6bbdbd0ab4f060ce62bff03676de + + + + + + + +_674d07af6841676ac3270af69c2a738de4e9b719e9b9c8e88542543675559c75->_ef628914f5327967f9594ecc163d3fc9a82d6bbdbd0ab4f060ce62bff03676de + + + + + + +_e5558355618af87a4751e2eb0ad6324abd595685dc321d1064fc670f5115be78 + + +ID - kb:contains-j + + + + + +_38755d788e8e1fd15b35cd0716b71dd55d0d3eec0bfa752206ec85f2b5cfe475 + + + + + + + +_e5558355618af87a4751e2eb0ad6324abd595685dc321d1064fc670f5115be78->_38755d788e8e1fd15b35cd0716b71dd55d0d3eec0bfa752206ec85f2b5cfe475 + + + + + + +_c717dace67b13784c456e2db5c55d3aa90cc998b63973c5a5e8740498ed1c02d + + +ID - kb:during-i + + + + + +_d027bdd7069d2572bc560f358f2a45e38ca6761369871a3edca782824c0cea47 + + + + + + + +_c717dace67b13784c456e2db5c55d3aa90cc998b63973c5a5e8740498ed1c02d->_d027bdd7069d2572bc560f358f2a45e38ca6761369871a3edca782824c0cea47 + + + + + + +_143543d310af2cabed2fc03468cd19abca1a8b217f8840a728796167e7b6214c + + +ID - kb:during-j + + + + + +_b87649bf405f5b146b8757d9fcfe669dba171c8e8e071f08ed9d6653c18f28a3 + + + + + + + +_143543d310af2cabed2fc03468cd19abca1a8b217f8840a728796167e7b6214c->_b87649bf405f5b146b8757d9fcfe669dba171c8e8e071f08ed9d6653c18f28a3 + + + + + + +_fd95b92baeb836e000dd655d4e6df03f75d1c8d1b7056918a084a41e3994d325 + + +ID - kb:equals-i + + + + + +_841f2088f78ed40f51f60e62f7444c3db374fe82707e3a59188dbee8530f0cd4 + + + + + + + +_fd95b92baeb836e000dd655d4e6df03f75d1c8d1b7056918a084a41e3994d325->_841f2088f78ed40f51f60e62f7444c3db374fe82707e3a59188dbee8530f0cd4 + + + + + + +_31a725a263b806b02b1938bec58ceee470affdd54f4a68e919437a24cc5851a0 + + + + + + + +_fd95b92baeb836e000dd655d4e6df03f75d1c8d1b7056918a084a41e3994d325->_31a725a263b806b02b1938bec58ceee470affdd54f4a68e919437a24cc5851a0 + + + + + + +_d7ca4dfb8f35cfa5b75291c902c54d3338784febd3121fed7c6b3a104cc93cd9 + + +ID - kb:equals-j + + + + + +_d7ca4dfb8f35cfa5b75291c902c54d3338784febd3121fed7c6b3a104cc93cd9->_841f2088f78ed40f51f60e62f7444c3db374fe82707e3a59188dbee8530f0cd4 + + + + + + +_d7ca4dfb8f35cfa5b75291c902c54d3338784febd3121fed7c6b3a104cc93cd9->_31a725a263b806b02b1938bec58ceee470affdd54f4a68e919437a24cc5851a0 + + + + + + +_c1abe2a630eb1eb936940f3b0b600026fe4b4b3dab3f51275b4a29f679ec161f + + +ID - kb:finishedBy-i + + + + + +_d656e5fe96fe675a8170f00f7218dc41916df85c5c8da7b19b8a21c87328524d + + + + + + + +_c1abe2a630eb1eb936940f3b0b600026fe4b4b3dab3f51275b4a29f679ec161f->_d656e5fe96fe675a8170f00f7218dc41916df85c5c8da7b19b8a21c87328524d + + + + + + +_5c53afdfc06e1fe7e5706d1fd879b2ff799dcfb8898f847f25ec2a6b07439e48 + + +ID - kb:finishedBy-j + + + + + +_6d292b82fa2b6d84ca23d039589f406973df2ca71a646cde971053a6fcac2dab + + + + + + + +_5c53afdfc06e1fe7e5706d1fd879b2ff799dcfb8898f847f25ec2a6b07439e48->_6d292b82fa2b6d84ca23d039589f406973df2ca71a646cde971053a6fcac2dab + + + + + + +_0b1601596d60a2ebcc5087f319c7d2ff4dacc33f6885d5ccc7cefe136de651b1 + + +ID - kb:finishes-i + + + + + +_7c8f90d16607d21f9b538d730427b6422e99e7a260cbc0cd63a68cfdaffbbcb4 + + + + + + + +_0b1601596d60a2ebcc5087f319c7d2ff4dacc33f6885d5ccc7cefe136de651b1->_7c8f90d16607d21f9b538d730427b6422e99e7a260cbc0cd63a68cfdaffbbcb4 + + + + + + +_169431ec6be8cf6588214cf2f82dbf04550a6d96e61d0391b2c7d14372975244 + + +ID - kb:finishes-j + + + + + +_01a0e660ce032edea2b51b4910f8758237d8a12457380dd9735fda150274f76f + + + + + + + +_169431ec6be8cf6588214cf2f82dbf04550a6d96e61d0391b2c7d14372975244->_01a0e660ce032edea2b51b4910f8758237d8a12457380dd9735fda150274f76f + + + + + + +_db2d84171da93cdd0cf0a8cedcf48b905b9ef522bb97dd72a9722a749bf9a8b4 + + +ID - kb:meets-i + + + + + +_8610a5bf21d7a652f3ea5caefeeeefdd727d9724c63b968d4e997f5bee195534 + + + + + + + +_db2d84171da93cdd0cf0a8cedcf48b905b9ef522bb97dd72a9722a749bf9a8b4->_8610a5bf21d7a652f3ea5caefeeeefdd727d9724c63b968d4e997f5bee195534 + + + + + + +_cca45a3d3a1f06e8617a3bedb625f381c11dbaade0464d576a2ed04a058f3ec9 + + +ID - kb:meets-j + + + + + +_1e816572f4cd18e8e8dbf0bdcccbaead67af8bf1a05c83fd034651ef8ebe5be5 + + + + + + + +_cca45a3d3a1f06e8617a3bedb625f381c11dbaade0464d576a2ed04a058f3ec9->_1e816572f4cd18e8e8dbf0bdcccbaead67af8bf1a05c83fd034651ef8ebe5be5 + + + + + + +_821fe00a2e194fa28dde8accc539dc72d284430efeecd01ceb0de2961c18d31a + + + + + + + +_cca45a3d3a1f06e8617a3bedb625f381c11dbaade0464d576a2ed04a058f3ec9->_821fe00a2e194fa28dde8accc539dc72d284430efeecd01ceb0de2961c18d31a + + + + + + +_cd71a86ebc4b5d3cf7149412db5a0f6884d738254dc8d8065ee5c09d8b8b6607 + + +ID - kb:metBy-i + + + + + +_0cfdc022dcf14fb872e7f774708d7c457947266c64ac91e650826102a9b5474a + + + + + + + +_cd71a86ebc4b5d3cf7149412db5a0f6884d738254dc8d8065ee5c09d8b8b6607->_0cfdc022dcf14fb872e7f774708d7c457947266c64ac91e650826102a9b5474a + + + + + + +_32f4a5a312d34307c574545ebf628b59839f8c0c87928fa09b279811636f86b4 + + +ID - kb:metBy-j + + + + + +_7bcbbe5d2ea6565957a9ef3e2c473349fd07fa2995a137eae18e29959bd02f9f + + + + + + + +_32f4a5a312d34307c574545ebf628b59839f8c0c87928fa09b279811636f86b4->_7bcbbe5d2ea6565957a9ef3e2c473349fd07fa2995a137eae18e29959bd02f9f + + + + + + +_478a427ac4c0eacaec8a3062077a32e697eac99b1f70f27e0e11bf5b0026aed4 + + + + + + + +_32f4a5a312d34307c574545ebf628b59839f8c0c87928fa09b279811636f86b4->_478a427ac4c0eacaec8a3062077a32e697eac99b1f70f27e0e11bf5b0026aed4 + + + + + + +_08fed2f00d201af49f91aa2798fd2c2e2c4d66a6113935fd4c0b679dd0396025 + + +ID - kb:overlappedBy-i + + + + + +_8dc52a321bb71a43a6bf60a48e0a19c73195ee509264d548afb6fd0f0a91e6d6 + + + + + + + +_08fed2f00d201af49f91aa2798fd2c2e2c4d66a6113935fd4c0b679dd0396025->_8dc52a321bb71a43a6bf60a48e0a19c73195ee509264d548afb6fd0f0a91e6d6 + + + + + + +_4a8479baca078f820cd70a56c526a34e26788d013b886e32cfba82ec7332e70a + + +ID - kb:overlappedBy-j + + + + + +_cf7bb5e4085a9f26abf7199eb3afe81756a462537ce672d2d550ce9bf7f9a425 + + + + + + + +_4a8479baca078f820cd70a56c526a34e26788d013b886e32cfba82ec7332e70a->_cf7bb5e4085a9f26abf7199eb3afe81756a462537ce672d2d550ce9bf7f9a425 + + + + + + +_e525822a15afd9cc7bc1a20a341a5ac3abe93d426f8b5e4ae8d3be54b5594004 + + +ID - kb:overlaps-i + + + + + +_6b8c67a9ec58f3e4cc7b03517dcfb3987225b3613b2a7a6b6eac18ef32c4a0f5 + + + + + + + +_e525822a15afd9cc7bc1a20a341a5ac3abe93d426f8b5e4ae8d3be54b5594004->_6b8c67a9ec58f3e4cc7b03517dcfb3987225b3613b2a7a6b6eac18ef32c4a0f5 + + + + + + +_34cc2a91dcb3a52e2f4b9a1ad4cee3f014d4cf50463c4e2565d58f5aa1661e0c + + +ID - kb:overlaps-j + + + + + +_58df5a58982684c2fbc8dcb3f0ef0f084df2dab070c3273375b0cb7a6a452c4b + + + + + + + +_34cc2a91dcb3a52e2f4b9a1ad4cee3f014d4cf50463c4e2565d58f5aa1661e0c->_58df5a58982684c2fbc8dcb3f0ef0f084df2dab070c3273375b0cb7a6a452c4b + + + + + + +_351e4e6d52d963d965daa0539216009f093ed24be20135d121674d38d9929caa + + +ID - kb:startedBy-i + + + + + +_1e6d85eb4438a00c43d25e079a69ce8f1d1fb5bb0c63e396f5c7c18ca645cde9 + + + + + + + +_351e4e6d52d963d965daa0539216009f093ed24be20135d121674d38d9929caa->_1e6d85eb4438a00c43d25e079a69ce8f1d1fb5bb0c63e396f5c7c18ca645cde9 + + + + + + +_8c99cc5b67fe93db3f49c45ae38658ca2bed50ab790c2a134dbecc9c9e755a21 + + + + + + + +_351e4e6d52d963d965daa0539216009f093ed24be20135d121674d38d9929caa->_8c99cc5b67fe93db3f49c45ae38658ca2bed50ab790c2a134dbecc9c9e755a21 + + + + + + +_a31e2a2e8803799c43025ab6c55a05d7857e9ff31e93f636c97435950a52cf7e + + +ID - kb:startedBy-j + + + + + +_a31e2a2e8803799c43025ab6c55a05d7857e9ff31e93f636c97435950a52cf7e->_1e6d85eb4438a00c43d25e079a69ce8f1d1fb5bb0c63e396f5c7c18ca645cde9 + + + + + + +_a31e2a2e8803799c43025ab6c55a05d7857e9ff31e93f636c97435950a52cf7e->_8c99cc5b67fe93db3f49c45ae38658ca2bed50ab790c2a134dbecc9c9e755a21 + + + + + + +_0e9e0607a0257a6fc12d892c4a886a7286079471a9dff65d604e27b02f5624f1 + + +ID - kb:starts-i + + + + + +_0cae226a81c2e8d0808a47729938920b0c846506a8f9f8a8b37039475968c038 + + + + + + + +_0e9e0607a0257a6fc12d892c4a886a7286079471a9dff65d604e27b02f5624f1->_0cae226a81c2e8d0808a47729938920b0c846506a8f9f8a8b37039475968c038 + + + + + + +_b4f211ec5ead6543db488321c30de1196f7c7b69b63ec85ce660b281ec6693e0 + + + + + + + +_0e9e0607a0257a6fc12d892c4a886a7286079471a9dff65d604e27b02f5624f1->_b4f211ec5ead6543db488321c30de1196f7c7b69b63ec85ce660b281ec6693e0 + + + + + + +_3d95bc00c0e59c58b9332400383b889844a735677a5311eb210c5dc0dc54d9c8 + + +ID - kb:starts-j + + + + + +_3d95bc00c0e59c58b9332400383b889844a735677a5311eb210c5dc0dc54d9c8->_0cae226a81c2e8d0808a47729938920b0c846506a8f9f8a8b37039475968c038 + + + + + + +_3d95bc00c0e59c58b9332400383b889844a735677a5311eb210c5dc0dc54d9c8->_b4f211ec5ead6543db488321c30de1196f7c7b69b63ec85ce660b281ec6693e0 + + + + + + +_dc3a6c7964ec78ff50421c73ac78880079651ffbb347b06b6baef14c0f1d628f + + + + + + + +_dc3a6c7964ec78ff50421c73ac78880079651ffbb347b06b6baef14c0f1d628f->_674d07af6841676ac3270af69c2a738de4e9b719e9b9c8e88542543675559c75 + + + + + + +_08c9761911ea1b3129a6cd754a973a6fb36b332e9d0b59cbf96462352b4c6678 + + + + + + + +_08c9761911ea1b3129a6cd754a973a6fb36b332e9d0b59cbf96462352b4c6678->_0e9e0607a0257a6fc12d892c4a886a7286079471a9dff65d604e27b02f5624f1 + + + + + + +_1553edbd25e4296dddeb9d1309765100affca26e18337ce9a071444390b3c98c + + + + + + + +_1553edbd25e4296dddeb9d1309765100affca26e18337ce9a071444390b3c98c->_e525822a15afd9cc7bc1a20a341a5ac3abe93d426f8b5e4ae8d3be54b5594004 + + + + + + +_1553edbd25e4296dddeb9d1309765100affca26e18337ce9a071444390b3c98c->_58df5a58982684c2fbc8dcb3f0ef0f084df2dab070c3273375b0cb7a6a452c4b + + + + + +_6e45f7ae0d579cabdd21cfce0fd10b9e1a66dce567c248f99423455601ae45ef + + + + + + + +_6e45f7ae0d579cabdd21cfce0fd10b9e1a66dce567c248f99423455601ae45ef->_fd95b92baeb836e000dd655d4e6df03f75d1c8d1b7056918a084a41e3994d325 + + + + + + +_6e45f7ae0d579cabdd21cfce0fd10b9e1a66dce567c248f99423455601ae45ef->_d7ca4dfb8f35cfa5b75291c902c54d3338784febd3121fed7c6b3a104cc93cd9 + + + + + + +_3f4860686cddb94fb3e2df3a129590bd73f63649a80a35b8ea168272d3859b19 + + + + + + + +_3f4860686cddb94fb3e2df3a129590bd73f63649a80a35b8ea168272d3859b19->_c1abe2a630eb1eb936940f3b0b600026fe4b4b3dab3f51275b4a29f679ec161f + + + + + + +_3f4860686cddb94fb3e2df3a129590bd73f63649a80a35b8ea168272d3859b19->_5c53afdfc06e1fe7e5706d1fd879b2ff799dcfb8898f847f25ec2a6b07439e48 + + + + + + +_fb45f8f3d181e5bc92e7c4544edea616366f6eea9f96e280a1644b6026ae4c72 + + + + + + + +_fb45f8f3d181e5bc92e7c4544edea616366f6eea9f96e280a1644b6026ae4c72->_351e4e6d52d963d965daa0539216009f093ed24be20135d121674d38d9929caa + + + + + + +_7bcbbe5d2ea6565957a9ef3e2c473349fd07fa2995a137eae18e29959bd02f9f->_cd71a86ebc4b5d3cf7149412db5a0f6884d738254dc8d8065ee5c09d8b8b6607 + + + + + + +_7d5c9591385b9c6d0d09a1470b24265dea1faf702eca068922f4b9b71c215078 + + + + + + + +_7d5c9591385b9c6d0d09a1470b24265dea1faf702eca068922f4b9b71c215078->_420614c229241b80b8075b64f694c06191c7b4ea5e666e734eb9b5ae946ae59f + + + + + + +_1e816572f4cd18e8e8dbf0bdcccbaead67af8bf1a05c83fd034651ef8ebe5be5->_db2d84171da93cdd0cf0a8cedcf48b905b9ef522bb97dd72a9722a749bf9a8b4 + + + + + + +_17dbd0c1f6d34c58930c0cca93e882d39f918bd44c6c3cc09cde56e2433920b3 + + + + + + + +_17dbd0c1f6d34c58930c0cca93e882d39f918bd44c6c3cc09cde56e2433920b3->_c1abe2a630eb1eb936940f3b0b600026fe4b4b3dab3f51275b4a29f679ec161f + + + + + + +_17dbd0c1f6d34c58930c0cca93e882d39f918bd44c6c3cc09cde56e2433920b3->_5c53afdfc06e1fe7e5706d1fd879b2ff799dcfb8898f847f25ec2a6b07439e48 + + + + + + +_7b2d226b34a123611883e7947c57a38c7c167791b147d3425bff1c191fa6b756 + + + + + + + +_7b2d226b34a123611883e7947c57a38c7c167791b147d3425bff1c191fa6b756->_0b1601596d60a2ebcc5087f319c7d2ff4dacc33f6885d5ccc7cefe136de651b1 + + + + + + +_7b2d226b34a123611883e7947c57a38c7c167791b147d3425bff1c191fa6b756->_169431ec6be8cf6588214cf2f82dbf04550a6d96e61d0391b2c7d14372975244 + + + + + + +_2db5fad67f55f0791fb419a76793eb4cdfd955990cccbb5ef4aac1c7bf0567e3 + + + + + + + +_2db5fad67f55f0791fb419a76793eb4cdfd955990cccbb5ef4aac1c7bf0567e3->_0b1601596d60a2ebcc5087f319c7d2ff4dacc33f6885d5ccc7cefe136de651b1 + + + + + + +_2db5fad67f55f0791fb419a76793eb4cdfd955990cccbb5ef4aac1c7bf0567e3->_169431ec6be8cf6588214cf2f82dbf04550a6d96e61d0391b2c7d14372975244 + + + + + + +_4c03047396b9aa49163bc56604f7d3bd0386f654b4b04ea7d8249594c2fbc1cb + + + + + + + +_4c03047396b9aa49163bc56604f7d3bd0386f654b4b04ea7d8249594c2fbc1cb->_fd95b92baeb836e000dd655d4e6df03f75d1c8d1b7056918a084a41e3994d325 + + + + + + +_4c03047396b9aa49163bc56604f7d3bd0386f654b4b04ea7d8249594c2fbc1cb->_d7ca4dfb8f35cfa5b75291c902c54d3338784febd3121fed7c6b3a104cc93cd9 + + + + + + +_a5da71322d7053572e6ecceb2f31d2fbc2a780d5c66fca336bc7a1d797e8a2eb + + + + + + + +_a5da71322d7053572e6ecceb2f31d2fbc2a780d5c66fca336bc7a1d797e8a2eb->_08fed2f00d201af49f91aa2798fd2c2e2c4d66a6113935fd4c0b679dd0396025 + + + + + + +_a5da71322d7053572e6ecceb2f31d2fbc2a780d5c66fca336bc7a1d797e8a2eb->_cf7bb5e4085a9f26abf7199eb3afe81756a462537ce672d2d550ce9bf7f9a425 + + + + + +_bf5a0b9e56d6f16ae19c7e9c58fac44df7e58a7f7218961865622261eb904e3a + + + + + + + +_bf5a0b9e56d6f16ae19c7e9c58fac44df7e58a7f7218961865622261eb904e3a->_c717dace67b13784c456e2db5c55d3aa90cc998b63973c5a5e8740498ed1c02d + + + + + + +_07241cbc9668d63a48fe405ac250407661668464ceb94e4842075e752afae1c9 + + + + + + + +_07241cbc9668d63a48fe405ac250407661668464ceb94e4842075e752afae1c9->_6df40c4d98ba4ae1818a8974df560cdb07cfad84ae9a3039cc2c794715cf89e5 + + + + + + +_daac49a36aec76be8934e70c2a42a04db5f582e7157f5700580a137454992f34 + + + + + + + +_daac49a36aec76be8934e70c2a42a04db5f582e7157f5700580a137454992f34->_a5da71322d7053572e6ecceb2f31d2fbc2a780d5c66fca336bc7a1d797e8a2eb + + + + + +_daac49a36aec76be8934e70c2a42a04db5f582e7157f5700580a137454992f34->_cf7bb5e4085a9f26abf7199eb3afe81756a462537ce672d2d550ce9bf7f9a425 + + + + + +_bc5e580ec9a6a5177906bda5f655c9cdadf2f3ff67ff70023fbd926e02702dde + + + + + + + +_bc5e580ec9a6a5177906bda5f655c9cdadf2f3ff67ff70023fbd926e02702dde->_dc3a6c7964ec78ff50421c73ac78880079651ffbb347b06b6baef14c0f1d628f + + + + + +_bc5e580ec9a6a5177906bda5f655c9cdadf2f3ff67ff70023fbd926e02702dde->_38755d788e8e1fd15b35cd0716b71dd55d0d3eec0bfa752206ec85f2b5cfe475 + + + + + +_63eff2022fcbc425eb1f94b956f275c392a6f7883fb3e6efe5d6d6443ea3f896 + + + + + + + +_63eff2022fcbc425eb1f94b956f275c392a6f7883fb3e6efe5d6d6443ea3f896->_bf5a0b9e56d6f16ae19c7e9c58fac44df7e58a7f7218961865622261eb904e3a + + + + + +_63eff2022fcbc425eb1f94b956f275c392a6f7883fb3e6efe5d6d6443ea3f896->_b87649bf405f5b146b8757d9fcfe669dba171c8e8e071f08ed9d6653c18f28a3 + + + + + +_ef1621a398ba10606dd08d655132cf5e1c0ddadf19ea7c99c811859c5df538f7 + + + + + + + +_ef1621a398ba10606dd08d655132cf5e1c0ddadf19ea7c99c811859c5df538f7->_1553edbd25e4296dddeb9d1309765100affca26e18337ce9a071444390b3c98c + + + + + +_ef1621a398ba10606dd08d655132cf5e1c0ddadf19ea7c99c811859c5df538f7->_58df5a58982684c2fbc8dcb3f0ef0f084df2dab070c3273375b0cb7a6a452c4b + + + + + +_1cf5ce162ebbc07ae61f62b200503b5b166535d5c2ecd8c175c86cdcf9c9c7ff + + + + + + + +_1cf5ce162ebbc07ae61f62b200503b5b166535d5c2ecd8c175c86cdcf9c9c7ff->_fb45f8f3d181e5bc92e7c4544edea616366f6eea9f96e280a1644b6026ae4c72 + + + + + +_1cf5ce162ebbc07ae61f62b200503b5b166535d5c2ecd8c175c86cdcf9c9c7ff->_8c99cc5b67fe93db3f49c45ae38658ca2bed50ab790c2a134dbecc9c9e755a21 + + + + + +_180fa3548d1241a0ad93c19c50936f21397fbd99388765d78dfc07c22599f9ef + + + + + + + +_180fa3548d1241a0ad93c19c50936f21397fbd99388765d78dfc07c22599f9ef->_08c9761911ea1b3129a6cd754a973a6fb36b332e9d0b59cbf96462352b4c6678 + + + + + +_180fa3548d1241a0ad93c19c50936f21397fbd99388765d78dfc07c22599f9ef->_b4f211ec5ead6543db488321c30de1196f7c7b69b63ec85ce660b281ec6693e0 + + + + + +_7c8f90d16607d21f9b538d730427b6422e99e7a260cbc0cd63a68cfdaffbbcb4->_01a0e660ce032edea2b51b4910f8758237d8a12457380dd9735fda150274f76f + + + + + +_f18cb97268eb0a56017dffad29775ef709f13809f74263735ffcbe556c8722da->_07241cbc9668d63a48fe405ac250407661668464ceb94e4842075e752afae1c9 + + + + + +_d027bdd7069d2572bc560f358f2a45e38ca6761369871a3edca782824c0cea47->_b87649bf405f5b146b8757d9fcfe669dba171c8e8e071f08ed9d6653c18f28a3 + + + + + +_75f1d1aece323f38b3e594d07b5de1248785b7b58542d3d3c5ca4fd646f98025->_7d5c9591385b9c6d0d09a1470b24265dea1faf702eca068922f4b9b71c215078 + + + + + +_478a427ac4c0eacaec8a3062077a32e697eac99b1f70f27e0e11bf5b0026aed4->_cd71a86ebc4b5d3cf7149412db5a0f6884d738254dc8d8065ee5c09d8b8b6607 + + + + + + +_ef628914f5327967f9594ecc163d3fc9a82d6bbdbd0ab4f060ce62bff03676de->_38755d788e8e1fd15b35cd0716b71dd55d0d3eec0bfa752206ec85f2b5cfe475 + + + + + +_821fe00a2e194fa28dde8accc539dc72d284430efeecd01ceb0de2961c18d31a->_db2d84171da93cdd0cf0a8cedcf48b905b9ef522bb97dd72a9722a749bf9a8b4 + + + + + + +_d656e5fe96fe675a8170f00f7218dc41916df85c5c8da7b19b8a21c87328524d->_6d292b82fa2b6d84ca23d039589f406973df2ca71a646cde971053a6fcac2dab + + + + + diff --git a/figures/readme-eapi-bounded-visible.svg b/figures/readme-eapi-bounded-visible.svg new file mode 100644 index 0000000..273ee22 --- /dev/null +++ b/figures/readme-eapi-bounded-visible.svg @@ -0,0 +1,133 @@ + + + + + + +PROV-O render + + + +_76da9a31235f6e839beef61ffbfe4528c999389aa41e52bcda17cebe555f1f28 + + +ID - kb:Activity-Bounded +A time-bounded prov:Activity. + + + + + +_e8ec3441e147149ea107b69dc1c1fcbb9a932defa7e221433a425c35b337c522 + + + + + + + +_76da9a31235f6e839beef61ffbfe4528c999389aa41e52bcda17cebe555f1f28->_e8ec3441e147149ea107b69dc1c1fcbb9a932defa7e221433a425c35b337c522 + + + + + + +_43eb293df1e2cecfff5aa4f5f50cf09b1ff2943b0f2e46444d186625c2adfe43 + + +ID - kb:Entity-Bounded +A time-bounded prov:Entity. + + + + + +_8ab97ee53009c8b6ba1e0ac34459da4c4b10056481287a1a7b14bf0485c951b7 + + + + + + + +_43eb293df1e2cecfff5aa4f5f50cf09b1ff2943b0f2e46444d186625c2adfe43->_8ab97ee53009c8b6ba1e0ac34459da4c4b10056481287a1a7b14bf0485c951b7 + + + + + + +_379e9538757e4b23891e0e0072cd4155531411afd24aa8f10fe7e92674eb4e96 + + + + + + + +_379e9538757e4b23891e0e0072cd4155531411afd24aa8f10fe7e92674eb4e96->_76da9a31235f6e839beef61ffbfe4528c999389aa41e52bcda17cebe555f1f28 + + + + + + +_2746d2fb15d9aacee7bc5bb93e1647311a3ff906084e7f6da5789360e595866d + + + + + + + +_2746d2fb15d9aacee7bc5bb93e1647311a3ff906084e7f6da5789360e595866d->_43eb293df1e2cecfff5aa4f5f50cf09b1ff2943b0f2e46444d186625c2adfe43 + + + + + + +_4615c7064914601f5709c4c407b3f768beb0b048528a4cc8c1b5cbbddaa3c990 + + + + + + + +_f84c92260ab2d2315cd50c2b113ccacfea5d163151c39340226181aa24fc16fa + + + + + + + +_43916420533cee1c06220413ee7374c33b47c1a489cc6c9927eecdbb81435b89 + + +ID - kb:ProperInterval-Bounded +A time-bounded time:ProperInterval. + + + + + +_f84c92260ab2d2315cd50c2b113ccacfea5d163151c39340226181aa24fc16fa->_43916420533cee1c06220413ee7374c33b47c1a489cc6c9927eecdbb81435b89 + + + + + + +_43916420533cee1c06220413ee7374c33b47c1a489cc6c9927eecdbb81435b89->_4615c7064914601f5709c4c407b3f768beb0b048528a4cc8c1b5cbbddaa3c990 + + + + + + diff --git a/figures/readme-eapi-default-visible.svg b/figures/readme-eapi-default-visible.svg new file mode 100644 index 0000000..810f5f3 --- /dev/null +++ b/figures/readme-eapi-default-visible.svg @@ -0,0 +1,73 @@ + + + + + + +PROV-O render + + + +_f8eb1b6e401d33db7f156007ca4d8b079fe687baabd59ae303342b6caabb559e + + +ID - kb:Activity-Default +A prov:Activity. + + + + + +_9ed58998016410ed3766b919225c71a4b553a607c4620d1e143dbc51c19ee135 + + + + + + + +_f8eb1b6e401d33db7f156007ca4d8b079fe687baabd59ae303342b6caabb559e->_9ed58998016410ed3766b919225c71a4b553a607c4620d1e143dbc51c19ee135 + + + + + + +_10a6706c379f0e0ddacee089e61f3fb8afb8cfed47442ca6272d63b71d1eab66 + + +ID - kb:Entity-Default +A prov:Entity. + + + + + +_6835bcdf5b7b88268ea883efbff55202a183e37924dbae02811089543f2d77be + + + + + + + +_ddfef860197b08dac175e3f1ee5c0e4f9c2602850c5ecafe2c3ea358c66f1c7a + + +ID - kb:ProperInterval-Default +A time:ProperInterval. + + + + + +_ddfef860197b08dac175e3f1ee5c0e4f9c2602850c5ecafe2c3ea358c66f1c7a->_6835bcdf5b7b88268ea883efbff55202a183e37924dbae02811089543f2d77be + + + + + + diff --git a/figures/readme-time-instants-invisible.svg b/figures/readme-time-instants-invisible.svg new file mode 100644 index 0000000..3136c5d --- /dev/null +++ b/figures/readme-time-instants-invisible.svg @@ -0,0 +1,138 @@ + + + + + + +PROV-O render + + + +_f7b0d98073df7e13ec5c6b603c88202121b40df96a6d3ee12bc3a599bdf772f6 + + +ID - kb:inside-interval + + + + + + + +_eee04c6b0986968e708f1c89a87820de9ee937517ad528c9fab41ae3264b63cf + + +ID - kb:instant-after-interval--interval + + + + + + + +_aba870cd0721f0e90a05b2b9c9281eae89eefd5e2c621ce2ab364c7a5105ac84 + + +ID - kb:instant-before-interval--interval + + + + + + + +_44dfc71e0cf99a6b1dd0160e435d0b8be1c0cc67fbf80b76c6085e17dd1624d6 + + +ID - kb:interval-after-instant--interval + + + + + + + +_f462c38d1114491fded6e3a93b5993b92be7ad92d50733dd73d4709ae97732e0 + + +ID - kb:interval-after-interval--i + + + + + + + +_2481feb6aadae07609f1b70d73702ec13352eb67f6dc6194310c14bb21869096 + + +ID - kb:interval-after-interval--j + + + + + + + +_c01cea7de2313f3c93c629e353d8acb9cdec238518e90bb94b3fb808e76722f1 + + +ID - kb:interval-before-instant--interval + + + + + + + +_b60725dd515f5dcbede0691d6c00f427f99a725ef47eaa37c08ae609e8c9f55a + + +ID - kb:interval-before-interval--i + + + + + + + +_3c979c05a4f7959e81d129e3d0fe12fbf4878eaf27797201fc96cc9e6344a096 + + +ID - kb:interval-before-interval--j + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/readme-time-instants-visible.svg b/figures/readme-time-instants-visible.svg new file mode 100644 index 0000000..46f58b8 --- /dev/null +++ b/figures/readme-time-instants-visible.svg @@ -0,0 +1,388 @@ + + + + + + +PROV-O render + + + +_f7b0d98073df7e13ec5c6b603c88202121b40df96a6d3ee12bc3a599bdf772f6 + + +ID - kb:inside-interval + + + + + +_78736b4d791780e093851f5bce0a5e76c63af15e803024043012314c0bfcaa37 + + + + + + + +_f7b0d98073df7e13ec5c6b603c88202121b40df96a6d3ee12bc3a599bdf772f6->_78736b4d791780e093851f5bce0a5e76c63af15e803024043012314c0bfcaa37 + + + + + + +_eee04c6b0986968e708f1c89a87820de9ee937517ad528c9fab41ae3264b63cf + + +ID - kb:instant-after-interval--interval + + + + + +_a3e46fc8ca75ce382a17779bef4441462b1d8dc2c4f6efdbeb86428d130ad15b + + + + + + + +_eee04c6b0986968e708f1c89a87820de9ee937517ad528c9fab41ae3264b63cf->_a3e46fc8ca75ce382a17779bef4441462b1d8dc2c4f6efdbeb86428d130ad15b + + + + + + +_aba870cd0721f0e90a05b2b9c9281eae89eefd5e2c621ce2ab364c7a5105ac84 + + +ID - kb:instant-before-interval--interval + + + + + +_7dcd7d9079e470f51519a3c7e3573f2017c3f08d78da0977d3057e4056847dad + + + + + + + +_aba870cd0721f0e90a05b2b9c9281eae89eefd5e2c621ce2ab364c7a5105ac84->_7dcd7d9079e470f51519a3c7e3573f2017c3f08d78da0977d3057e4056847dad + + + + + + +_44dfc71e0cf99a6b1dd0160e435d0b8be1c0cc67fbf80b76c6085e17dd1624d6 + + +ID - kb:interval-after-instant--interval + + + + + +_cc0d466b54177978ca7f24b8d5119958cbff832da5dfc0bf08463bc93000a81d + + + + + + + +_44dfc71e0cf99a6b1dd0160e435d0b8be1c0cc67fbf80b76c6085e17dd1624d6->_cc0d466b54177978ca7f24b8d5119958cbff832da5dfc0bf08463bc93000a81d + + + + + + +_f462c38d1114491fded6e3a93b5993b92be7ad92d50733dd73d4709ae97732e0 + + +ID - kb:interval-after-interval--i + + + + + +_43f7c688ccd8c8a7af9be3cd633393db9063e08a03290f3071ff3c58b24e6813 + + + + + + + +_f462c38d1114491fded6e3a93b5993b92be7ad92d50733dd73d4709ae97732e0->_43f7c688ccd8c8a7af9be3cd633393db9063e08a03290f3071ff3c58b24e6813 + + + + + + +_2481feb6aadae07609f1b70d73702ec13352eb67f6dc6194310c14bb21869096 + + +ID - kb:interval-after-interval--j + + + + + +_201f5eb537575d0dbce60c811f73bebff9284a5ef7ab4a006612567a75e639b3 + + + + + + + +_2481feb6aadae07609f1b70d73702ec13352eb67f6dc6194310c14bb21869096->_201f5eb537575d0dbce60c811f73bebff9284a5ef7ab4a006612567a75e639b3 + + + + + + +_c01cea7de2313f3c93c629e353d8acb9cdec238518e90bb94b3fb808e76722f1 + + +ID - kb:interval-before-instant--interval + + + + + +_a122e57d131b3530eb6972d5bd565107be6c710436fcbd9624f4382748fd0b03 + + + + + + + +_c01cea7de2313f3c93c629e353d8acb9cdec238518e90bb94b3fb808e76722f1->_a122e57d131b3530eb6972d5bd565107be6c710436fcbd9624f4382748fd0b03 + + + + + + +_b60725dd515f5dcbede0691d6c00f427f99a725ef47eaa37c08ae609e8c9f55a + + +ID - kb:interval-before-interval--i + + + + + +_4b971308c7b4d98c64a06f494acfe7e1f3d92cf6e669c60a5d6ecca9b32962fb + + + + + + + +_b60725dd515f5dcbede0691d6c00f427f99a725ef47eaa37c08ae609e8c9f55a->_4b971308c7b4d98c64a06f494acfe7e1f3d92cf6e669c60a5d6ecca9b32962fb + + + + + + +_3c979c05a4f7959e81d129e3d0fe12fbf4878eaf27797201fc96cc9e6344a096 + + +ID - kb:interval-before-interval--j + + + + + +_c15ff0dea686de2f386912762ac2cf7539f27e4cf6df5f47a1820d56ea47dc38 + + + + + + + +_3c979c05a4f7959e81d129e3d0fe12fbf4878eaf27797201fc96cc9e6344a096->_c15ff0dea686de2f386912762ac2cf7539f27e4cf6df5f47a1820d56ea47dc38 + + + + + + +_3dc48e570ae2c4690d8aea8a0b488f0f6dcf58eb6876d6d3a6ac76bfa1cfd1e3 + + + + + + + +_3dc48e570ae2c4690d8aea8a0b488f0f6dcf58eb6876d6d3a6ac76bfa1cfd1e3->_f462c38d1114491fded6e3a93b5993b92be7ad92d50733dd73d4709ae97732e0 + + + + + + +_fe3cdc3772960e425f70d17365b71c58a32f52c767d03bcc32def4c76387f216 + + + + + + + +_fe3cdc3772960e425f70d17365b71c58a32f52c767d03bcc32def4c76387f216->_eee04c6b0986968e708f1c89a87820de9ee937517ad528c9fab41ae3264b63cf + + + + + + +_9e572385d9122766305ca54b207a117e33f1e3bacc8e1bbe5192ba30545aa62a + + + + + + + +_9e572385d9122766305ca54b207a117e33f1e3bacc8e1bbe5192ba30545aa62a->_b60725dd515f5dcbede0691d6c00f427f99a725ef47eaa37c08ae609e8c9f55a + + + + + + +_9383173c213a7fdea330e6fa01203833be26965f25f7a911081a23b6a70e1b8c + + + + + + + +_9383173c213a7fdea330e6fa01203833be26965f25f7a911081a23b6a70e1b8c->_c01cea7de2313f3c93c629e353d8acb9cdec238518e90bb94b3fb808e76722f1 + + + + + + +_201f5eb537575d0dbce60c811f73bebff9284a5ef7ab4a006612567a75e639b3->_3dc48e570ae2c4690d8aea8a0b488f0f6dcf58eb6876d6d3a6ac76bfa1cfd1e3 + + + + + +_b6d0930a09e6b33fa969aaeacbba8c8d611d5d73e638881c4d1c90584bea7c43 + + + + +_cc0d466b54177978ca7f24b8d5119958cbff832da5dfc0bf08463bc93000a81d->_b6d0930a09e6b33fa969aaeacbba8c8d611d5d73e638881c4d1c90584bea7c43 + + + + + +_c15ff0dea686de2f386912762ac2cf7539f27e4cf6df5f47a1820d56ea47dc38->_9e572385d9122766305ca54b207a117e33f1e3bacc8e1bbe5192ba30545aa62a + + + + + +_936601b750f02ae82c62a2f12898333081b72c628ccae962d775da8c51d51981 + + + + +_7dcd7d9079e470f51519a3c7e3573f2017c3f08d78da0977d3057e4056847dad->_936601b750f02ae82c62a2f12898333081b72c628ccae962d775da8c51d51981 + + + + + +_0acb0323fc04cc5d1aecbff5f5d81494531e32c35b18b1dc30815edbb63e66ff + + + + +_0acb0323fc04cc5d1aecbff5f5d81494531e32c35b18b1dc30815edbb63e66ff->_78736b4d791780e093851f5bce0a5e76c63af15e803024043012314c0bfcaa37 + + + + + +_4f39e19a03a635728c13d7e5c2c67f8f2c45dd8db82ed6e9fcce86e12b076149 + + + + +_84929ae31cff59d28620d18e8809aa62fd36cd45895c266d8855813af208db12 + + + + +_84929ae31cff59d28620d18e8809aa62fd36cd45895c266d8855813af208db12->_4f39e19a03a635728c13d7e5c2c67f8f2c45dd8db82ed6e9fcce86e12b076149 + + + + + +_768a8f17944ef8f6e601c8e56530f7f80746e03a7c1d6e996cc3105bf9245bd4 + + + + +_768a8f17944ef8f6e601c8e56530f7f80746e03a7c1d6e996cc3105bf9245bd4->_fe3cdc3772960e425f70d17365b71c58a32f52c767d03bcc32def4c76387f216 + + + + + +_b3d8831c3beffaa1bb0a5045759f0b8466ec6806ce6686027772b4ebeb5be8bb + + + + +_e265f385b3f32b06cf53a44daeeed7d4234a3aebd36dfb7f823a1f8bbc1aca1d + + + + +_e265f385b3f32b06cf53a44daeeed7d4234a3aebd36dfb7f823a1f8bbc1aca1d->_b3d8831c3beffaa1bb0a5045759f0b8466ec6806ce6686027772b4ebeb5be8bb + + + + + +_aa468a59a861928472ebe795cb9ef6e8a0aa077ffc82e38d29e3fdf4adb3d584 + + + + +_aa468a59a861928472ebe795cb9ef6e8a0aa077ffc82e38d29e3fdf4adb3d584->_9383173c213a7fdea330e6fa01203833be26965f25f7a911081a23b6a70e1b8c + + + + + diff --git a/figures/readme-two-files-expanded.ttl b/figures/readme-two-files-expanded.ttl new file mode 100644 index 0000000..eb53636 --- /dev/null +++ b/figures/readme-two-files-expanded.ttl @@ -0,0 +1,119 @@ +@prefix kb: . +@prefix owl: . +@prefix prov: . +@prefix rdf: . +@prefix rdfs: . +@prefix time: . +@prefix uco-core: . +@prefix xsd: . + +kb:Action-1 + a + time:ProperInterval , + prov:Activity + ; + time:hasBeginning kb:Start-41c7fd66-75d7-55b5-9e06-ba2b050a92f6 ; + time:hasEnd kb:End-a276875e-d3e3-5bba-a77f-ee26ca3b0810 ; + time:inside + kb:Generation-1 , + kb:Generation-2 , + kb:Generation-a299d02f-ea4f-5340-b0ac-2643ec68fb1e , + kb:Invalidation-1 , + kb:Usage-69a26cdf-cfbb-56de-9073-739a256f8c08 + ; + prov:endedAtTime "2020-01-02T12:00:30+00:00"^^xsd:dateTime ; + prov:qualifiedEnd kb:End-a276875e-d3e3-5bba-a77f-ee26ca3b0810 ; + prov:qualifiedStart kb:Start-41c7fd66-75d7-55b5-9e06-ba2b050a92f6 ; + prov:qualifiedUsage kb:Usage-69a26cdf-cfbb-56de-9073-739a256f8c08 ; + prov:startedAtTime "2020-01-02T12:00:30+00:00"^^xsd:dateTime ; + prov:used prov:EmptyCollection ; + uco-core:description "Activity known to create and delete a temporary file, File-1, and to create File-2." ; + . + +kb:Derivation-219156f4-ef48-5392-8db0-9014ceeb0994 + a prov:Derivation ; + prov:entity prov:EmptyCollection ; + prov:hadActivity kb:Action-1 ; + . + +kb:Derivation-97796bb0-e0d3-5b94-b15d-ccf9b34428d5 + a prov:Derivation ; + prov:entity kb:File-1 ; + prov:hadActivity kb:Action-1 ; + . + +kb:Derivation-e85bc570-2cc7-5a82-8519-97acc5525ec9 + a prov:Derivation ; + prov:entity prov:EmptyCollection ; + prov:hadActivity kb:Action-1 ; + . + +kb:End-a276875e-d3e3-5bba-a77f-ee26ca3b0810 + a + time:Instant , + prov:End + ; + time:inXSDDateTimeStamp "2020-01-02T12:00:30+00:00"^^xsd:dateTimeStamp ; + prov:atTime "2020-01-02T12:00:30+00:00"^^xsd:dateTime ; + . + +kb:File-2 + a prov:Entity ; + prov:qualifiedDerivation + kb:Derivation-219156f4-ef48-5392-8db0-9014ceeb0994 , + kb:Derivation-97796bb0-e0d3-5b94-b15d-ccf9b34428d5 + ; + prov:wasDerivedFrom prov:EmptyCollection ; + prov:wasGeneratedBy kb:Action-1 ; + . + +kb:Generation-1 + a time:Instant ; + time:before kb:Invalidation-1 ; + . + +kb:Generation-2 + a time:Instant ; + . + +kb:Generation-a299d02f-ea4f-5340-b0ac-2643ec68fb1e + a + time:Instant , + prov:Generation + ; + prov:activity kb:Action-1 ; + . + +kb:Invalidation-1 + a time:Instant ; + . + +kb:ProvenanceRecord-1 + a + prov:Collection , + prov:Entity + ; + prov:hadMember kb:File-2 ; + prov:qualifiedDerivation kb:Derivation-e85bc570-2cc7-5a82-8519-97acc5525ec9 ; + prov:qualifiedGeneration kb:Generation-a299d02f-ea4f-5340-b0ac-2643ec68fb1e ; + prov:wasDerivedFrom prov:EmptyCollection ; + prov:wasGeneratedBy kb:Action-1 ; + . + +kb:Start-41c7fd66-75d7-55b5-9e06-ba2b050a92f6 + a + time:Instant , + prov:Start + ; + time:inXSDDateTimeStamp "2020-01-02T12:00:30+00:00"^^xsd:dateTimeStamp ; + prov:atTime "2020-01-02T12:00:30+00:00"^^xsd:dateTime ; + . + +kb:Usage-69a26cdf-cfbb-56de-9073-739a256f8c08 + a + time:Instant , + prov:Usage + ; + prov:entity prov:EmptyCollection ; + . + diff --git a/figures/readme-two-files-invisible.svg b/figures/readme-two-files-invisible.svg new file mode 100644 index 0000000..88c8682 --- /dev/null +++ b/figures/readme-two-files-invisible.svg @@ -0,0 +1,114 @@ + + + + + + +PROV-O render + + + +_7a2198a44f578179dc8e96c483e423346bf212bb366a1d7fc5cef491c825bb70 + + +ID - kb:Action-1 +[2020-01-02T12:00:30+00:00, 2020-01-02T12:00:30+00:00] +Activity known to create and delete a temporary file, +File-1, and to create File-2. + + + + + + + +_9640acc41515017ae2496fbc88f8afacf04fb0f88982ca5cc407bff57a578d46 + + +ID - kb:File-1 +Temporary file + + + + + +_9640acc41515017ae2496fbc88f8afacf04fb0f88982ca5cc407bff57a578d46->_7a2198a44f578179dc8e96c483e423346bf212bb366a1d7fc5cef491c825bb70 + + +wasGeneratedBy + + + + + +_243b5d196663b32ca6eedf15ee2f5276f2eec4f8526eba892e66e8e8d1969373 + + +ID - kb:File-2 + + + + + +_243b5d196663b32ca6eedf15ee2f5276f2eec4f8526eba892e66e8e8d1969373->_7a2198a44f578179dc8e96c483e423346bf212bb366a1d7fc5cef491c825bb70 + + +wasGeneratedBy + + + +_243b5d196663b32ca6eedf15ee2f5276f2eec4f8526eba892e66e8e8d1969373->_9640acc41515017ae2496fbc88f8afacf04fb0f88982ca5cc407bff57a578d46 + + +wasDerivedFrom + + + + + +_cfdab38f58c2769eab6e97ec8fe4ee2e3d00fd690bfde61e877e4b05c3709b2c + + +ID - kb:ProvenanceRecord-1 + + + + + +_cfdab38f58c2769eab6e97ec8fe4ee2e3d00fd690bfde61e877e4b05c3709b2c->_7a2198a44f578179dc8e96c483e423346bf212bb366a1d7fc5cef491c825bb70 + + +wasGeneratedBy + + + +_cfdab38f58c2769eab6e97ec8fe4ee2e3d00fd690bfde61e877e4b05c3709b2c->_243b5d196663b32ca6eedf15ee2f5276f2eec4f8526eba892e66e8e8d1969373 + + +hadMember + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/readme-two-files-validation.ttl b/figures/readme-two-files-validation.ttl new file mode 100644 index 0000000..80b592d --- /dev/null +++ b/figures/readme-two-files-validation.ttl @@ -0,0 +1,130 @@ +@prefix core: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix sh: . +@prefix xsd: . + +[] + a sh:ValidationReport ; + sh:conforms "true"^^xsd:boolean ; + sh:result + [ + a sh:ValidationResult ; + sh:focusNode ; + sh:resultMessage "UcoThings are suggested to end with a UUID." ; + sh:resultSeverity sh:Info ; + sh:sourceConstraint [ + a sh:SPARQLConstraint ; + rdfs:seeAlso ; + sh:message "UcoThings are suggested to end with a UUID."@en ; + sh:select ''' + PREFIX rdfs: + PREFIX core: + SELECT $this + WHERE { + $this a/rdfs:subClassOf* core:UcoThing . + FILTER ( + ! REGEX ( + STR($this), + "[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$", + "i" + ) + ) + } + ''' ; + ] ; + sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; + sh:sourceShape core:UcoThing-identifier-regex-shape ; + sh:value ; + ] , + [ + a sh:ValidationResult ; + sh:focusNode ; + sh:resultMessage "UcoThings are suggested to end with a UUID." ; + sh:resultSeverity sh:Info ; + sh:sourceConstraint [ + a sh:SPARQLConstraint ; + rdfs:seeAlso ; + sh:message "UcoThings are suggested to end with a UUID."@en ; + sh:select ''' + PREFIX rdfs: + PREFIX core: + SELECT $this + WHERE { + $this a/rdfs:subClassOf* core:UcoThing . + FILTER ( + ! REGEX ( + STR($this), + "[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$", + "i" + ) + ) + } + ''' ; + ] ; + sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; + sh:sourceShape core:UcoThing-identifier-regex-shape ; + sh:value ; + ] , + [ + a sh:ValidationResult ; + sh:focusNode ; + sh:resultMessage "UcoThings are suggested to end with a UUID." ; + sh:resultSeverity sh:Info ; + sh:sourceConstraint [ + a sh:SPARQLConstraint ; + rdfs:seeAlso ; + sh:message "UcoThings are suggested to end with a UUID."@en ; + sh:select ''' + PREFIX rdfs: + PREFIX core: + SELECT $this + WHERE { + $this a/rdfs:subClassOf* core:UcoThing . + FILTER ( + ! REGEX ( + STR($this), + "[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$", + "i" + ) + ) + } + ''' ; + ] ; + sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; + sh:sourceShape core:UcoThing-identifier-regex-shape ; + sh:value ; + ] , + [ + a sh:ValidationResult ; + sh:focusNode ; + sh:resultMessage "UcoThings are suggested to end with a UUID." ; + sh:resultSeverity sh:Info ; + sh:sourceConstraint [ + a sh:SPARQLConstraint ; + rdfs:seeAlso ; + sh:message "UcoThings are suggested to end with a UUID."@en ; + sh:select ''' + PREFIX rdfs: + PREFIX core: + SELECT $this + WHERE { + $this a/rdfs:subClassOf* core:UcoThing . + FILTER ( + ! REGEX ( + STR($this), + "[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$", + "i" + ) + ) + } + ''' ; + ] ; + sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; + sh:sourceShape core:UcoThing-identifier-regex-shape ; + sh:value ; + ] + ; + . + diff --git a/figures/readme-two-files-visible.svg b/figures/readme-two-files-visible.svg new file mode 100644 index 0000000..a0dc036 --- /dev/null +++ b/figures/readme-two-files-visible.svg @@ -0,0 +1,264 @@ + + + + + + +PROV-O render + + + +_7a2198a44f578179dc8e96c483e423346bf212bb366a1d7fc5cef491c825bb70 + + +ID - kb:Action-1 +[2020-01-02T12:00:30+00:00, 2020-01-02T12:00:30+00:00] +Activity known to create and delete a temporary file, +File-1, and to create File-2. + + + + + +_514c766e8ad290ece0d24234da5a9b8eb7670f9ce283ceb205b50140adb3e499 + + + + + + + +_7a2198a44f578179dc8e96c483e423346bf212bb366a1d7fc5cef491c825bb70->_514c766e8ad290ece0d24234da5a9b8eb7670f9ce283ceb205b50140adb3e499 + + + + + + +_9640acc41515017ae2496fbc88f8afacf04fb0f88982ca5cc407bff57a578d46 + + +ID - kb:File-1 +Temporary file + + + + + +_9640acc41515017ae2496fbc88f8afacf04fb0f88982ca5cc407bff57a578d46->_7a2198a44f578179dc8e96c483e423346bf212bb366a1d7fc5cef491c825bb70 + + +wasGeneratedBy + + + +_dc2c3059d5723d253760829c5b4f905b22224ac4f7d513addb4f7b86c7836acc + + + + + + + +_9640acc41515017ae2496fbc88f8afacf04fb0f88982ca5cc407bff57a578d46->_dc2c3059d5723d253760829c5b4f905b22224ac4f7d513addb4f7b86c7836acc + + + + + + +_243b5d196663b32ca6eedf15ee2f5276f2eec4f8526eba892e66e8e8d1969373 + + +ID - kb:File-2 + + + + + +_243b5d196663b32ca6eedf15ee2f5276f2eec4f8526eba892e66e8e8d1969373->_7a2198a44f578179dc8e96c483e423346bf212bb366a1d7fc5cef491c825bb70 + + +wasGeneratedBy + + + +_243b5d196663b32ca6eedf15ee2f5276f2eec4f8526eba892e66e8e8d1969373->_9640acc41515017ae2496fbc88f8afacf04fb0f88982ca5cc407bff57a578d46 + + +wasDerivedFrom + + + +_a9f4db6f08a81e39998fabcaa4512886980dacb58450084db6489297d95be817 + + + + + + + +_243b5d196663b32ca6eedf15ee2f5276f2eec4f8526eba892e66e8e8d1969373->_a9f4db6f08a81e39998fabcaa4512886980dacb58450084db6489297d95be817 + + + + + + +_cfdab38f58c2769eab6e97ec8fe4ee2e3d00fd690bfde61e877e4b05c3709b2c + + +ID - kb:ProvenanceRecord-1 + + + + + +_cfdab38f58c2769eab6e97ec8fe4ee2e3d00fd690bfde61e877e4b05c3709b2c->_7a2198a44f578179dc8e96c483e423346bf212bb366a1d7fc5cef491c825bb70 + + +wasGeneratedBy + + + +_cfdab38f58c2769eab6e97ec8fe4ee2e3d00fd690bfde61e877e4b05c3709b2c->_243b5d196663b32ca6eedf15ee2f5276f2eec4f8526eba892e66e8e8d1969373 + + +hadMember + + + +_23be2b5a9126a05fc364be23b3cce6cc8a2047529d85c0d5f83230b0beb6989d + + + + + + + +_cfdab38f58c2769eab6e97ec8fe4ee2e3d00fd690bfde61e877e4b05c3709b2c->_23be2b5a9126a05fc364be23b3cce6cc8a2047529d85c0d5f83230b0beb6989d + + + + + + +_54434fa471843f268f65936af598f29c80e1cd71a44ac3fe2194bb1246df4716 + + + + + + + +_54434fa471843f268f65936af598f29c80e1cd71a44ac3fe2194bb1246df4716->_7a2198a44f578179dc8e96c483e423346bf212bb366a1d7fc5cef491c825bb70 + + + + + + +_54434fa471843f268f65936af598f29c80e1cd71a44ac3fe2194bb1246df4716->_dc2c3059d5723d253760829c5b4f905b22224ac4f7d513addb4f7b86c7836acc + + + + + +_54434fa471843f268f65936af598f29c80e1cd71a44ac3fe2194bb1246df4716->_a9f4db6f08a81e39998fabcaa4512886980dacb58450084db6489297d95be817 + + + + + +_54434fa471843f268f65936af598f29c80e1cd71a44ac3fe2194bb1246df4716->_23be2b5a9126a05fc364be23b3cce6cc8a2047529d85c0d5f83230b0beb6989d + + + + + +_63cda21336994dbffd49f66c4968008eb32cb02814baf1932499e916bd5c7bb1 + + + + + + + +_54434fa471843f268f65936af598f29c80e1cd71a44ac3fe2194bb1246df4716->_63cda21336994dbffd49f66c4968008eb32cb02814baf1932499e916bd5c7bb1 + + + + + +_7623d2a56cea53d05f990c68f634df08aeb7a7bb968f902c673e42e42b22b479 + + + + + + + +_54434fa471843f268f65936af598f29c80e1cd71a44ac3fe2194bb1246df4716->_7623d2a56cea53d05f990c68f634df08aeb7a7bb968f902c673e42e42b22b479 + + + + + +_dc2c3059d5723d253760829c5b4f905b22224ac4f7d513addb4f7b86c7836acc->_514c766e8ad290ece0d24234da5a9b8eb7670f9ce283ceb205b50140adb3e499 + + + + + +_a9f4db6f08a81e39998fabcaa4512886980dacb58450084db6489297d95be817->_dc2c3059d5723d253760829c5b4f905b22224ac4f7d513addb4f7b86c7836acc + + + + + +_a9f4db6f08a81e39998fabcaa4512886980dacb58450084db6489297d95be817->_514c766e8ad290ece0d24234da5a9b8eb7670f9ce283ceb205b50140adb3e499 + + + + + +_23be2b5a9126a05fc364be23b3cce6cc8a2047529d85c0d5f83230b0beb6989d->_514c766e8ad290ece0d24234da5a9b8eb7670f9ce283ceb205b50140adb3e499 + + + + + +_63cda21336994dbffd49f66c4968008eb32cb02814baf1932499e916bd5c7bb1->_9640acc41515017ae2496fbc88f8afacf04fb0f88982ca5cc407bff57a578d46 + + + + + + +_63cda21336994dbffd49f66c4968008eb32cb02814baf1932499e916bd5c7bb1->_dc2c3059d5723d253760829c5b4f905b22224ac4f7d513addb4f7b86c7836acc + + + + + +_63cda21336994dbffd49f66c4968008eb32cb02814baf1932499e916bd5c7bb1->_a9f4db6f08a81e39998fabcaa4512886980dacb58450084db6489297d95be817 + + + + + +_63cda21336994dbffd49f66c4968008eb32cb02814baf1932499e916bd5c7bb1->_514c766e8ad290ece0d24234da5a9b8eb7670f9ce283ceb205b50140adb3e499 + + + + + +_7623d2a56cea53d05f990c68f634df08aeb7a7bb968f902c673e42e42b22b479->_514c766e8ad290ece0d24234da5a9b8eb7670f9ce283ceb205b50140adb3e499 + + + + + diff --git a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-time-activities.svg b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-time-activities.svg new file mode 100644 index 0000000..e9235e6 --- /dev/null +++ b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-time-activities.svg @@ -0,0 +1,705 @@ + + + + + + +PROV-O render + + + +_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 + + +ID - kb:action-uuid-1 +(..., 2019-01-01T14:00:00+00:00] +Exhibit submitted for Kiosk examination + + + + + +_95dcacddd53bd2d576780c28ee604d44cb57ee35a69f844aa2b18ccd5550916a + + + + + + + +_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721->_95dcacddd53bd2d576780c28ee604d44cb57ee35a69f844aa2b18ccd5550916a + + + + + + +_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf + + +ID - kb:action-uuid-10 +(..., 2019-01-01T15:05:00+00:00] +burned +Report DVD Generated as associated exhibit + + + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + +ID - kb:action-uuid-7 +[2019-01-01T14:25:00+00:00, 2019-01-01T14:55:00+00:00] +processed +Exhibit Connected to Kiosk & process started; exhibit +disconnected at conclusion + + + + + +_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + +wasInformedBy + + + +_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 + + +ID - kb:action-uuid-9 +(..., 2019-01-01T15:03:00+00:00] +selected +Picture selected, via kiosk review screen, from those +extracted from exhibit + + + + + +_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 + + +wasInformedBy + + + +_ed2a48e7e6d5850e5ca2db22de9238918464a626f0aed2ba73f7a81e10252b49 + + + + + + + +_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_ed2a48e7e6d5850e5ca2db22de9238918464a626f0aed2ba73f7a81e10252b49 + + + + + + +_753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490 + + +ID - kb:action-uuid-11 +(..., 2019-01-01T15:10:00+00:00] +DVD Report sealed + + + + + +_0d5ec14cfa9a692268caca7550180380a7b45475d1ab67a7c6ed5ab10a397dc6 + + + + + + + +_753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490->_0d5ec14cfa9a692268caca7550180380a7b45475d1ab67a7c6ed5ab10a397dc6 + + + + + + +_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17 + + +ID - kb:action-uuid-12 +(..., 2019-01-01T15:15:00+00:00] +Witness statement completed + + + + + +_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf + + +wasInformedBy + + + +_08591894f290844a013ecf3421e087dcaff0c2731b9a907c9ab4097244755147 + + + + + + + +_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_08591894f290844a013ecf3421e087dcaff0c2731b9a907c9ab4097244755147 + + + + + + +_0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9 + + +ID - kb:action-uuid-13 +(..., 2019-01-01T15:20:00+00:00] +transferred +Sealed Exhibit handed the OIC & Transfer documentation +signed + + + + + +_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + +ID - kb:action-uuid-3 +(..., 2019-01-01T14:05:30+00:00] +assigned +Exhibit assigned to Kiosk technician + + + + + +_0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + +wasInformedBy + + + +_7c212f08c2e88f3951c3538efb96afce9b9bd4b221a19f09f346199b3430c3e4 + + + + + + + +_0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_7c212f08c2e88f3951c3538efb96afce9b9bd4b221a19f09f346199b3430c3e4 + + + + + + +_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd + + +ID - kb:action-uuid-2 +(..., 2019-01-01T14:05:00+00:00] +transferred +Exhibit seal checks (passed) & Exhibit receipted in lab + + + + + +_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 + + +wasInformedBy + + + +_d5fc3f4a94e9403b5ba4f1c0eb1172c403a29686c7bec1421ec5a52328bcd78b + + + + + + + +_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_d5fc3f4a94e9403b5ba4f1c0eb1172c403a29686c7bec1421ec5a52328bcd78b + + + + + + +_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 + + +wasInformedBy + + + +_ae8577e2f82bfbc125867ca2ce70894c4de1d2d12eb46891025f2836285716f3 + + + + + + + +_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_ae8577e2f82bfbc125867ca2ce70894c4de1d2d12eb46891025f2836285716f3 + + + + + + +_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 + + +ID - kb:action-uuid-4 +(..., 2019-01-01T14:15:00+00:00] +photographed +Sealed Exhibit Photographed + + + + + +_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + +wasInformedBy + + + +_1e7f844bdf77848afbb1a4eb5355c892cc317a0b9c5f86b5fd6e345d60092857 + + + + + + + +_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_1e7f844bdf77848afbb1a4eb5355c892cc317a0b9c5f86b5fd6e345d60092857 + + + + + + +_3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654 + + +ID - kb:action-uuid-5 +(..., 2019-01-01T14:20:00+00:00] +Exhibit Unsealed + + + + + +_55ab95c66ff3461867fb8e866e8657b34606c12ab46fc33ea0d892bf84fa49ce + + + + + + + +_3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654->_55ab95c66ff3461867fb8e866e8657b34606c12ab46fc33ea0d892bf84fa49ce + + + + + + +_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d + + +ID - kb:action-uuid-6 +(..., 2019-01-01T14:21:00+00:00] +photographed +Unsealed Exhibit Photographed + + + + + +_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + +wasInformedBy + + + +_0f647df64ef29e12bf08ff31851f5609d462cb20cd6d94dddb22bd40166a819c + + + + + + + +_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_0f647df64ef29e12bf08ff31851f5609d462cb20cd6d94dddb22bd40166a819c + + + + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + +wasInformedBy + + + +_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + + +_c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e + + +ID - kb:action-uuid-8 +(..., 2019-01-01T15:00:00+00:00] +Exhibit Resealed + + + + + +_311eeebea684c38a509de9d9404936bcc287ef20a833a22869954b1d5cc3af9a + + + + + + + +_c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e->_311eeebea684c38a509de9d9404936bcc287ef20a833a22869954b1d5cc3af9a + + + + + + +_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + +wasInformedBy + + + +_fd8110519dae6f908972e56868e2266a0cd92e7ef34af3f395c20a761df7d38c + + + + + + + +_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_fd8110519dae6f908972e56868e2266a0cd92e7ef34af3f395c20a761df7d38c + + + + + + +_7c8f6b9dcd69fa6f94eac19373157857ce66f40c16b8a0569eb225e952470b53 + + + + + + + +_7c8f6b9dcd69fa6f94eac19373157857ce66f40c16b8a0569eb225e952470b53->_c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e + + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67 + + + + + + + +_7c8f6b9dcd69fa6f94eac19373157857ce66f40c16b8a0569eb225e952470b53->_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67 + + + + + +_c0f8bfb0ab1f74bdac8f0ae62daaf8da34844c451456adf4929d94928ae691ee + + + + + + + +_c0f8bfb0ab1f74bdac8f0ae62daaf8da34844c451456adf4929d94928ae691ee->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d + + + + + + +_7cea8506b20b58c3d2bb2e42f449273ad81a0158d8176f4b52a5165804f5fcff + + + + + + + +_c0f8bfb0ab1f74bdac8f0ae62daaf8da34844c451456adf4929d94928ae691ee->_7cea8506b20b58c3d2bb2e42f449273ad81a0158d8176f4b52a5165804f5fcff + + + + + +_8f3df3a3503aa4bc7a9bf4e6c10baa34e1e972b6bd733055b018a2c1a8acb89a + + + + + + + +_8f3df3a3503aa4bc7a9bf4e6c10baa34e1e972b6bd733055b018a2c1a8acb89a->_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 + + + + + + +_8f3df3a3503aa4bc7a9bf4e6c10baa34e1e972b6bd733055b018a2c1a8acb89a->_7c8f6b9dcd69fa6f94eac19373157857ce66f40c16b8a0569eb225e952470b53 + + + + + +_25d9113b03588a9b277330619f1b4c07aec2bf7a4eba7ae7144548f3f197ab73 + + + + + + + +_25d9113b03588a9b277330619f1b4c07aec2bf7a4eba7ae7144548f3f197ab73->_0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9 + + + + + + +_2159ef609afbeec8864dad3f22c1d660cc9fbb3522a37d81627a5c5ab3e5892f + + + + + + + +_25d9113b03588a9b277330619f1b4c07aec2bf7a4eba7ae7144548f3f197ab73->_2159ef609afbeec8864dad3f22c1d660cc9fbb3522a37d81627a5c5ab3e5892f + + + + + +_7cea8506b20b58c3d2bb2e42f449273ad81a0158d8176f4b52a5165804f5fcff->_3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654 + + + + + + +_7a5898ee5c8e9d955d463a5e9d4fbcafdf41114e4df61879b8317c082b11ddb3 + + + + + + + +_7cea8506b20b58c3d2bb2e42f449273ad81a0158d8176f4b52a5165804f5fcff->_7a5898ee5c8e9d955d463a5e9d4fbcafdf41114e4df61879b8317c082b11ddb3 + + + + + +_022955b910cf617e4ac5e227e2a0fbf8c2d38bbaae2550dc11f4b934a2e7f42f + + + + + + + +_022955b910cf617e4ac5e227e2a0fbf8c2d38bbaae2550dc11f4b934a2e7f42f->_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd + + + + + + +_d3c86ff3368ba9c1126c69724fb1fa7ea3456b5b154a63f1c8863aa89c07a5d5 + + + + + + + +_022955b910cf617e4ac5e227e2a0fbf8c2d38bbaae2550dc11f4b934a2e7f42f->_d3c86ff3368ba9c1126c69724fb1fa7ea3456b5b154a63f1c8863aa89c07a5d5 + + + + + +_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2 + + + + + + + +_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + + + + + +_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2->_022955b910cf617e4ac5e227e2a0fbf8c2d38bbaae2550dc11f4b934a2e7f42f + + + + + +_d3c86ff3368ba9c1126c69724fb1fa7ea3456b5b154a63f1c8863aa89c07a5d5->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 + + + + + + +_883437921e2d49580e29b54e743591073ab3def8bd15a4678b7ce68b2dd4dcfa + + + + + + + +_883437921e2d49580e29b54e743591073ab3def8bd15a4678b7ce68b2dd4dcfa->_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf + + + + + + +_883437921e2d49580e29b54e743591073ab3def8bd15a4678b7ce68b2dd4dcfa->_8f3df3a3503aa4bc7a9bf4e6c10baa34e1e972b6bd733055b018a2c1a8acb89a + + + + + +_1fa058c22f08005703892e00b3a4a03aee9250ed3a3448e28a82e538937121ef + + + + + + + +_1fa058c22f08005703892e00b3a4a03aee9250ed3a3448e28a82e538937121ef->_753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490 + + + + + + +_1fa058c22f08005703892e00b3a4a03aee9250ed3a3448e28a82e538937121ef->_883437921e2d49580e29b54e743591073ab3def8bd15a4678b7ce68b2dd4dcfa + + + + + +_2159ef609afbeec8864dad3f22c1d660cc9fbb3522a37d81627a5c5ab3e5892f->_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17 + + + + + + +_2159ef609afbeec8864dad3f22c1d660cc9fbb3522a37d81627a5c5ab3e5892f->_1fa058c22f08005703892e00b3a4a03aee9250ed3a3448e28a82e538937121ef + + + + + +_7a5898ee5c8e9d955d463a5e9d4fbcafdf41114e4df61879b8317c082b11ddb3->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 + + + + + + +_7a5898ee5c8e9d955d463a5e9d4fbcafdf41114e4df61879b8317c082b11ddb3->_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2 + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67->_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + +_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a->_c0f8bfb0ab1f74bdac8f0ae62daaf8da34844c451456adf4929d94928ae691ee + + + + + diff --git a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-time-all-focus-extracted-file-uuid-1.svg b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-time-all-focus-extracted-file-uuid-1.svg new file mode 100644 index 0000000..2f78807 --- /dev/null +++ b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-time-all-focus-extracted-file-uuid-1.svg @@ -0,0 +1,543 @@ + + + + + + +PROV-O render + + + +_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 + + +ID - kb:action-uuid-1 +(..., 2019-01-01T14:00:00+00:00] +Exhibit submitted for Kiosk examination + + + + + +_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c + + +ID - kb:officer-uuid-1 + + + + + +_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c + + +wasAssociatedWith + + + +_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf + + +ID - prov:EmptyCollection + + + + + +_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf + + +used + + + +_95dcacddd53bd2d576780c28ee604d44cb57ee35a69f844aa2b18ccd5550916a + + + + + + + +_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721->_95dcacddd53bd2d576780c28ee604d44cb57ee35a69f844aa2b18ccd5550916a + + + + + + +_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + +ID - kb:action-uuid-3 +(..., 2019-01-01T14:05:30+00:00] +assigned +Exhibit assigned to Kiosk technician + + + + + +_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 + + +wasInformedBy + + + +_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 + + +ID - kb:officer-uuid-2 + + + + + +_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 + + +wasAssociatedWith + + + +_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 + + +ID - kb:provenance-record-uuid-1 +Exhibit - EXH-20190101-7 + + + + + +_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 + + +used + + + +_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +ID - kb:subject-device-uuid-1 + + + + + +_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +used + + + +_ae8577e2f82bfbc125867ca2ce70894c4de1d2d12eb46891025f2836285716f3 + + + + + + + +_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_ae8577e2f82bfbc125867ca2ce70894c4de1d2d12eb46891025f2836285716f3 + + + + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + +ID - kb:action-uuid-7 +[2019-01-01T14:25:00+00:00, 2019-01-01T14:55:00+00:00] +processed +Exhibit Connected to Kiosk & process started; exhibit +disconnected at conclusion + + + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + +wasInformedBy + + + +_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f + + +ID - kb:kiosk-uuid-1 + + + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f + + +wasAssociatedWith + + + +_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +ID - kb:officer-uuid-3 + + + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAssociatedWith + + + +_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +ID - kb:provenance-record-uuid-3 + + + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +used + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +used + + + +_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + + +_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 + + +ID - kb:extracted-file-uuid-1 + + + + + +_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + +wasGeneratedBy + + + +_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f + + +wasAttributedTo + + + +_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +wasDerivedFrom + + + +_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_ae78904771b9887d3db802f25846caa794cc0586b4072e9ccde6da12dfa5b458 + + + + + + + +_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_ae78904771b9887d3db802f25846caa794cc0586b4072e9ccde6da12dfa5b458 + + + + + + +_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +actedOnBehalfOf + + + +_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 + + +wasGeneratedBy + + + +_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c + + +wasAttributedTo + + + +_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +hadMember + + + +_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf + + +wasDerivedFrom + + + +_a3f4f000883f2c578687315161fe8fa552f238362203fda280a17ecf49598e82 + + + + + + + +_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_a3f4f000883f2c578687315161fe8fa552f238362203fda280a17ecf49598e82 + + + + + + +_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + +wasGeneratedBy + + + +_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 + + +wasAttributedTo + + + +_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 + + +wasDerivedFrom + + + +_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +hadMember + + + +_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_9b765faf1956e3f173aa51e1665516022b5bdb8df56938bd10bce4c942c7cda3 + + + + + + + +_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_9b765faf1956e3f173aa51e1665516022b5bdb8df56938bd10bce4c942c7cda3 + + + + + + +_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 + + +wasGeneratedBy + + + +_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c + + +wasAttributedTo + + + +_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf + + +wasDerivedFrom + + + +_e5c78cc982e7f0be4ce1478911c9224496e4f41b0c90a93ab8fc7c24cf72b6c9 + + + + + + + +_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_e5c78cc982e7f0be4ce1478911c9224496e4f41b0c90a93ab8fc7c24cf72b6c9 + + + + + + +_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2 + + + + + + + +_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + + + + + +_d3c86ff3368ba9c1126c69724fb1fa7ea3456b5b154a63f1c8863aa89c07a5d5 + + + + + + + +_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2->_d3c86ff3368ba9c1126c69724fb1fa7ea3456b5b154a63f1c8863aa89c07a5d5 + + + + + +_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2->_9b765faf1956e3f173aa51e1665516022b5bdb8df56938bd10bce4c942c7cda3 + + + + + +_d3c86ff3368ba9c1126c69724fb1fa7ea3456b5b154a63f1c8863aa89c07a5d5->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 + + + + + + +_d3c86ff3368ba9c1126c69724fb1fa7ea3456b5b154a63f1c8863aa89c07a5d5->_a3f4f000883f2c578687315161fe8fa552f238362203fda280a17ecf49598e82 + + + + + +_d3c86ff3368ba9c1126c69724fb1fa7ea3456b5b154a63f1c8863aa89c07a5d5->_e5c78cc982e7f0be4ce1478911c9224496e4f41b0c90a93ab8fc7c24cf72b6c9 + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67 + + + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67->_ae78904771b9887d3db802f25846caa794cc0586b4072e9ccde6da12dfa5b458 + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67->_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + +_ae78904771b9887d3db802f25846caa794cc0586b4072e9ccde6da12dfa5b458->_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + +_a3f4f000883f2c578687315161fe8fa552f238362203fda280a17ecf49598e82->_95dcacddd53bd2d576780c28ee604d44cb57ee35a69f844aa2b18ccd5550916a + + + + + +_e5c78cc982e7f0be4ce1478911c9224496e4f41b0c90a93ab8fc7c24cf72b6c9->_95dcacddd53bd2d576780c28ee604d44cb57ee35a69f844aa2b18ccd5550916a + + + + + +_9b765faf1956e3f173aa51e1665516022b5bdb8df56938bd10bce4c942c7cda3->_ae8577e2f82bfbc125867ca2ce70894c4de1d2d12eb46891025f2836285716f3 + + + + + +_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a->_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2 + + + + + diff --git a/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-time-all.svg b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-time-all.svg new file mode 100644 index 0000000..75a1e14 --- /dev/null +++ b/tests/casework.github.io/examples/urgent_evidence/urgent_evidence-prov-time-all.svg @@ -0,0 +1,3383 @@ + + + + + + +PROV-O render + + + +_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 + + +ID - kb:action-uuid-1 +(..., 2019-01-01T14:00:00+00:00] +Exhibit submitted for Kiosk examination + + + + + +_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c + + +ID - kb:officer-uuid-1 + + + + + +_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c + + +wasAssociatedWith + + + +_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf + + +ID - prov:EmptyCollection + + + + + +_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf + + +used + + + +_95dcacddd53bd2d576780c28ee604d44cb57ee35a69f844aa2b18ccd5550916a + + + + + + + +_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721->_95dcacddd53bd2d576780c28ee604d44cb57ee35a69f844aa2b18ccd5550916a + + + + + + +_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf + + +ID - kb:action-uuid-10 +(..., 2019-01-01T15:05:00+00:00] +burned +Report DVD Generated as associated exhibit + + + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + +ID - kb:action-uuid-7 +[2019-01-01T14:25:00+00:00, 2019-01-01T14:55:00+00:00] +processed +Exhibit Connected to Kiosk & process started; exhibit +disconnected at conclusion + + + + + +_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + +wasInformedBy + + + +_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 + + +ID - kb:action-uuid-9 +(..., 2019-01-01T15:03:00+00:00] +selected +Picture selected, via kiosk review screen, from those +extracted from exhibit + + + + + +_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 + + +wasInformedBy + + + +_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 + + +ID - kb:extracted-file-uuid-1 + + + + + +_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 + + +used + + + +_80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 + + +ID - kb:file2-uuid-1 + + + + + +_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 + + +used + + + +_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +ID - kb:officer-uuid-3 + + + + + +_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAssociatedWith + + + +_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 + + +ID - kb:provenance-record-uuid-6 +Exhibit - EXH-20190101-7-KioskReport + + + + + +_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 + + +used + + + +_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 + + +ID - kb:provenance-record-uuid-6e +Exhibit - EXH-20190101-7-B + + + + + +_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 + + +used + + + +_ed2a48e7e6d5850e5ca2db22de9238918464a626f0aed2ba73f7a81e10252b49 + + + + + + + +_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf->_ed2a48e7e6d5850e5ca2db22de9238918464a626f0aed2ba73f7a81e10252b49 + + + + + + +_753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490 + + +ID - kb:action-uuid-11 +(..., 2019-01-01T15:10:00+00:00] +DVD Report sealed + + + + + +_753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAssociatedWith + + + +_753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf + + +used + + + +_0d5ec14cfa9a692268caca7550180380a7b45475d1ab67a7c6ed5ab10a397dc6 + + + + + + + +_753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490->_0d5ec14cfa9a692268caca7550180380a7b45475d1ab67a7c6ed5ab10a397dc6 + + + + + + +_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17 + + +ID - kb:action-uuid-12 +(..., 2019-01-01T15:15:00+00:00] +Witness statement completed + + + + + +_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf + + +wasInformedBy + + + +_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a + + +ID - kb:dvd-uuid-1 + + + + + +_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a + + +used + + + +_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAssociatedWith + + + +_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 + + +ID - kb:provenance-record-uuid-7 +Exhibit - EXH-20190101-7-KioskReportDVD + + + + + +_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 + + +used + + + +_08591894f290844a013ecf3421e087dcaff0c2731b9a907c9ab4097244755147 + + + + + + + +_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17->_08591894f290844a013ecf3421e087dcaff0c2731b9a907c9ab4097244755147 + + + + + + +_0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9 + + +ID - kb:action-uuid-13 +(..., 2019-01-01T15:20:00+00:00] +transferred +Sealed Exhibit handed the OIC & Transfer documentation +signed + + + + + +_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + +ID - kb:action-uuid-3 +(..., 2019-01-01T14:05:30+00:00] +assigned +Exhibit assigned to Kiosk technician + + + + + +_0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + +wasInformedBy + + + +_0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAssociatedWith + + + +_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +ID - kb:provenance-record-uuid-3 + + + + + +_0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +used + + + +_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +ID - kb:subject-device-uuid-1 + + + + + +_0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +used + + + +_7c212f08c2e88f3951c3538efb96afce9b9bd4b221a19f09f346199b3430c3e4 + + + + + + + +_0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9->_7c212f08c2e88f3951c3538efb96afce9b9bd4b221a19f09f346199b3430c3e4 + + + + + + +_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd + + +ID - kb:action-uuid-2 +(..., 2019-01-01T14:05:00+00:00] +transferred +Exhibit seal checks (passed) & Exhibit receipted in lab + + + + + +_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 + + +wasInformedBy + + + +_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 + + +ID - kb:officer-uuid-2 + + + + + +_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 + + +wasAssociatedWith + + + +_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 + + +ID - kb:provenance-record-uuid-1 +Exhibit - EXH-20190101-7 + + + + + +_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 + + +used + + + +_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +used + + + +_d5fc3f4a94e9403b5ba4f1c0eb1172c403a29686c7bec1421ec5a52328bcd78b + + + + + + + +_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd->_d5fc3f4a94e9403b5ba4f1c0eb1172c403a29686c7bec1421ec5a52328bcd78b + + + + + + +_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 + + +wasInformedBy + + + +_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 + + +wasAssociatedWith + + + +_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 + + +used + + + +_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +used + + + +_ae8577e2f82bfbc125867ca2ce70894c4de1d2d12eb46891025f2836285716f3 + + + + + + + +_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b->_ae8577e2f82bfbc125867ca2ce70894c4de1d2d12eb46891025f2836285716f3 + + + + + + +_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 + + +ID - kb:action-uuid-4 +(..., 2019-01-01T14:15:00+00:00] +photographed +Sealed Exhibit Photographed + + + + + +_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + +wasInformedBy + + + +_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 + + +ID - kb:camera-uuid-1 + + + + + +_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 + + +wasAssociatedWith + + + +_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAssociatedWith + + + +_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +used + + + +_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +used + + + +_1e7f844bdf77848afbb1a4eb5355c892cc317a0b9c5f86b5fd6e345d60092857 + + + + + + + +_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5->_1e7f844bdf77848afbb1a4eb5355c892cc317a0b9c5f86b5fd6e345d60092857 + + + + + + +_3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654 + + +ID - kb:action-uuid-5 +(..., 2019-01-01T14:20:00+00:00] +Exhibit Unsealed + + + + + +_3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAssociatedWith + + + +_3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf + + +used + + + +_55ab95c66ff3461867fb8e866e8657b34606c12ab46fc33ea0d892bf84fa49ce + + + + + + + +_3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654->_55ab95c66ff3461867fb8e866e8657b34606c12ab46fc33ea0d892bf84fa49ce + + + + + + +_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d + + +ID - kb:action-uuid-6 +(..., 2019-01-01T14:21:00+00:00] +photographed +Unsealed Exhibit Photographed + + + + + +_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + +wasInformedBy + + + +_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 + + +wasAssociatedWith + + + +_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAssociatedWith + + + +_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +used + + + +_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +used + + + +_0f647df64ef29e12bf08ff31851f5609d462cb20cd6d94dddb22bd40166a819c + + + + + + + +_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d->_0f647df64ef29e12bf08ff31851f5609d462cb20cd6d94dddb22bd40166a819c + + + + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + +wasInformedBy + + + +_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f + + +ID - kb:kiosk-uuid-1 + + + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f + + +wasAssociatedWith + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAssociatedWith + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +used + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +used + + + +_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + + + +_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7->_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + + +_c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e + + +ID - kb:action-uuid-8 +(..., 2019-01-01T15:00:00+00:00] +Exhibit Resealed + + + + + +_c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAssociatedWith + + + +_c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf + + +used + + + +_311eeebea684c38a509de9d9404936bcc287ef20a833a22869954b1d5cc3af9a + + + + + + + +_c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e->_311eeebea684c38a509de9d9404936bcc287ef20a833a22869954b1d5cc3af9a + + + + + + +_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + +wasInformedBy + + + +_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 + + +used + + + +_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 + + +ID - kb:extracted-file-uuid-2 + + + + + +_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 + + +used + + + +_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f + + +wasAssociatedWith + + + +_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAssociatedWith + + + +_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 + + +used + + + +_fd8110519dae6f908972e56868e2266a0cd92e7ef34af3f395c20a761df7d38c + + + + + + + +_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5->_fd8110519dae6f908972e56868e2266a0cd92e7ef34af3f395c20a761df7d38c + + + + + + +_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +actedOnBehalfOf + + + +_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf + + +wasGeneratedBy + + + +_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 + + +wasDerivedFrom + + + +_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 + + +wasDerivedFrom + + + +_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAttributedTo + + + +_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 + + +wasDerivedFrom + + + +_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 + + +wasDerivedFrom + + + +_ad14a497e26ffe840baa56a44bbfdea2054619c3533b1958825d82b3a60d204f + + + + + + + +_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a->_ad14a497e26ffe840baa56a44bbfdea2054619c3533b1958825d82b3a60d204f + + + + + + +_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + +wasGeneratedBy + + + +_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f + + +wasAttributedTo + + + +_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +wasDerivedFrom + + + +_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_ae78904771b9887d3db802f25846caa794cc0586b4072e9ccde6da12dfa5b458 + + + + + + + +_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115->_ae78904771b9887d3db802f25846caa794cc0586b4072e9ccde6da12dfa5b458 + + + + + + +_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + +wasGeneratedBy + + + +_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f + + +wasAttributedTo + + + +_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +wasDerivedFrom + + + +_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_9308e77df5ea4c9597709ef3e692528ed75232ab790bddec127d1e818b5b52bc + + + + + + + +_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504->_9308e77df5ea4c9597709ef3e692528ed75232ab790bddec127d1e818b5b52bc + + + + + + +_853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f + + +ID - kb:extracted-file-uuid-3 + + + + + +_853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + +wasGeneratedBy + + + +_853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f + + +wasAttributedTo + + + +_853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +wasDerivedFrom + + + +_853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_55b6f63fb1c51c9ff2efdf67c028281972589afe810db20b6a7f68adadd276a6 + + + + + + + +_853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f->_55b6f63fb1c51c9ff2efdf67c028281972589afe810db20b6a7f68adadd276a6 + + + + + + +_f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c + + +ID - kb:file-uuid-1 +Intake Form + + + + + +_f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd + + +wasGeneratedBy + + + +_f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 + + +wasAttributedTo + + + +_f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 + + +wasDerivedFrom + + + +_f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_6ea02d056c67a821ab681ecfdd26eaa3dd1819a448e277890b52fe9f4aebb317 + + + + + + + +_f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c->_6ea02d056c67a821ab681ecfdd26eaa3dd1819a448e277890b52fe9f4aebb317 + + + + + + +_e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76 + + +ID - kb:file-uuid-2 +Kiosk report + + + + + +_e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + +wasGeneratedBy + + + +_e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f + + +wasAttributedTo + + + +_e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +wasDerivedFrom + + + +_e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_4a5dc57e0518cf4416bf55f27f6453071d9d02dd185abbc32ad4073bcf35b805 + + + + + + + +_e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76->_4a5dc57e0518cf4416bf55f27f6453071d9d02dd185abbc32ad4073bcf35b805 + + + + + + +_a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd + + +ID - kb:file-uuid-3 +Witness statement + + + + + +_a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17 + + +wasGeneratedBy + + + +_a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a + + +wasDerivedFrom + + + +_a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAttributedTo + + + +_a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 + + +wasDerivedFrom + + + +_79220ba10597112e78597a5b9fce7b986298cd72883573c19d792fd6cb2329a4 + + + + + + + +_a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd->_79220ba10597112e78597a5b9fce7b986298cd72883573c19d792fd6cb2329a4 + + + + + + +_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +actedOnBehalfOf + + + +_403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7 + + +ID - kb:provenance-record-73f59a8a-1c22-41fe-af50-13e8b6a65de9 + + + + + +_403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17 + + +wasGeneratedBy + + + +_403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a + + +wasDerivedFrom + + + +_403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_a24995c79d7a7052e035f7e5c7ac60345ecd3dac1492fe5a6128e0c2183972bd + + +hadMember + + + +_403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAttributedTo + + + +_403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9 + + +wasDerivedFrom + + + +_ca44bbf0f11a337e48c462c63baec73c4b2c83685889409a71d0e9aa8e3e8707 + + + + + + + +_403da6fb9a59fb4b32ec65a279be17b7337dd41847e50e386b208beebbdb52f7->_ca44bbf0f11a337e48c462c63baec73c4b2c83685889409a71d0e9aa8e3e8707 + + + + + + +_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 + + +wasGeneratedBy + + + +_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c + + +wasAttributedTo + + + +_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +hadMember + + + +_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf + + +wasDerivedFrom + + + +_a3f4f000883f2c578687315161fe8fa552f238362203fda280a17ecf49598e82 + + + + + + + +_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77->_a3f4f000883f2c578687315161fe8fa552f238362203fda280a17ecf49598e82 + + + + + + +_8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143 + + +ID - kb:provenance-record-uuid-2 +Exhibit - EXH-20190101-7-IntakeForm + + + + + +_8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd + + +wasGeneratedBy + + + +_8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_f31f65d311ad3778d266554e2e7fc8c37fec6f3069bd410411cd51ab3a25868c + + +hadMember + + + +_8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 + + +wasAttributedTo + + + +_8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 + + +wasDerivedFrom + + + +_8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_91849ba5e13c742e3fdd9e01231c0b1783541645c0f6bfa677dba7922009ce83 + + + + + + + +_8212759305f9ef5c1f5cd6fdf126720fff524b34489e5ea6c58b230a91bc7143->_91849ba5e13c742e3fdd9e01231c0b1783541645c0f6bfa677dba7922009ce83 + + + + + + +_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + +wasGeneratedBy + + + +_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_be1ad1d576ff7128a26a59ee6acb2f1a317b5ed42d49655f1e89b3aed160e6c8 + + +wasAttributedTo + + + +_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_65b1525d47c5649b4b1adfbf3e6c6109be7580e6edf9df407e9c741151caee77 + + +wasDerivedFrom + + + +_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +hadMember + + + +_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_9b765faf1956e3f173aa51e1665516022b5bdb8df56938bd10bce4c942c7cda3 + + + + + + + +_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60->_9b765faf1956e3f173aa51e1665516022b5bdb8df56938bd10bce4c942c7cda3 + + + + + + +_c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103 + + +ID - kb:provenance-record-uuid-4 +Exhibit - EXH-20190101-7-SealedPhotos + + + + + +_c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 + + +wasGeneratedBy + + + +_c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 + + +wasAttributedTo + + + +_c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +wasDerivedFrom + + + +_0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2 + + +ID - kb:subject-device-photograph-uuid-1 + + + + + +_c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2 + + +hadMember + + + +_970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9 + + +ID - kb:subject-device-photograph-uuid-2 + + + + + +_c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9 + + +hadMember + + + +_4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223 + + +ID - kb:subject-device-photograph-uuid-3 + + + + + +_c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223 + + +hadMember + + + +_c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_5c34f90bcf5d7b71329bd7fd0c44796785e820c6a0f0b5c73c29fbd88bf5d2cc + + + + + + + +_c4268a63f32bff6bcba613577d53148c0108d903271d08a88cdf457a3dc88103->_5c34f90bcf5d7b71329bd7fd0c44796785e820c6a0f0b5c73c29fbd88bf5d2cc + + + + + + +_c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58 + + +ID - kb:provenance-record-uuid-5 +Exhibit - EXH-20190101-7-UnsealedPhotos + + + + + +_c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d + + +wasGeneratedBy + + + +_c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 + + +wasAttributedTo + + + +_c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +wasDerivedFrom + + + +_3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd + + +ID - kb:subject-device-photograph-uuid-4 + + + + + +_c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd + + +hadMember + + + +_b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a + + +ID - kb:subject-device-photograph-uuid-5 + + + + + +_c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a + + +hadMember + + + +_2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0 + + +ID - kb:subject-device-photograph-uuid-6 + + + + + +_c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0 + + +hadMember + + + +_c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_044eedc446d7be1213523ca87adc4035f7521efd7ce90b9efe959c49c18c37e2 + + + + + + + +_c692cff367c721837e19c200569f0258ac8c889178feadaeaca00d195c094d58->_044eedc446d7be1213523ca87adc4035f7521efd7ce90b9efe959c49c18c37e2 + + + + + + +_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + +wasGeneratedBy + + + +_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 + + +hadMember + + + +_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 + + +hadMember + + + +_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_853b16b1b5b9201300f81d4f0b4d97fd3912f620626929e2a37493f9e6854f6f + + +hadMember + + + +_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_e1ce700edd051c6d29f9e11149749a033dadd5398c4a0f46c8684eb1c22d8e76 + + +hadMember + + + +_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f + + +wasAttributedTo + + + +_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +wasDerivedFrom + + + +_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_045e34e8c12bce4c3fef7ad47dc8f35068b93a7d2faab2ff77d2284f129adacc + + + + + + + +_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377->_045e34e8c12bce4c3fef7ad47dc8f35068b93a7d2faab2ff77d2284f129adacc + + + + + + +_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 + + +wasGeneratedBy + + + +_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 + + +hadMember + + + +_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 + + +wasDerivedFrom + + + +_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_b333e2ae30f0e5b7c8a703d7b6a58d7785103fe91e848579c0c978f97a4a1504 + + +wasDerivedFrom + + + +_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_c74f294e6e5b3b476c50723f525440e37f16bbb4029944635c70f5c4cb0e6d9f + + +wasAttributedTo + + + +_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 + + +wasDerivedFrom + + + +_17f66110fc0b0a5f733e34270908eeac515d76fad59648e3d9260865d8e9dd13 + + + + + + + +_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42->_17f66110fc0b0a5f733e34270908eeac515d76fad59648e3d9260865d8e9dd13 + + + + + + +_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf + + +wasGeneratedBy + + + +_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_901a5aa80c640bf66da1293d30c96d308a3276fca4aea54cebeb49a31d26554a + + +hadMember + + + +_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_7c406068ab32c3bd872fbeced3a1e91d364c55c40a1ce1086876372606d3a115 + + +wasDerivedFrom + + + +_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_80a54ae6dcd17b82bad4f1b75d46dcdd7a472bec2b9f3b8df31754a058fbd6e9 + + +wasDerivedFrom + + + +_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAttributedTo + + + +_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_484576af2846c3f036fafb4ee4fe1d1bb5a2a165356097276a3dded83e6b7377 + + +wasDerivedFrom + + + +_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_434527057344b9ed0bbf6703ea271cf35386ec8a6aa041e4396440b498e4cd42 + + +wasDerivedFrom + + + +_6397782c985ace61ededcd8c27a1664ce9263895c9ae74520819818616c4b8a8 + + + + + + + +_bdcdc10ca0415dad76a20c62c63ab8c1712b478537c5f9f68ee6f09a5db09de9->_6397782c985ace61ededcd8c27a1664ce9263895c9ae74520819818616c4b8a8 + + + + + + +_d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388 + + +ID - kb:provenance-record-uuid-8 +Exhibit - EXH-20190101-7 + + + + + +_d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9 + + +wasGeneratedBy + + + +_d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_ffa327987157924d1ae152fdea43f99b98251d8fdd6a67aa829f2bab25e15c91 + + +wasAttributedTo + + + +_d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +wasDerivedFrom + + + +_d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +hadMember + + + +_d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_57431c6c32658416ab5475cf06fbf4c0733555943ccc56de6b924adfdfbf7ddb + + + + + + + +_d25cd8b8a380a6f638aeb413ad2f7ff4b2815f3957e99fcaf59b7475e45b1388->_57431c6c32658416ab5475cf06fbf4c0733555943ccc56de6b924adfdfbf7ddb + + + + + + +_0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 + + +wasGeneratedBy + + + +_0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 + + +wasAttributedTo + + + +_0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +wasDerivedFrom + + + +_0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_8796954b75c76a4b4fa7ce070e5facde9cfa193af7cc7dbcb37f11e9600e31a3 + + + + + + + +_0e67518512a3e1a5b8dcee5f128322c6e1564017d5eb128c15bd6f66518368c2->_8796954b75c76a4b4fa7ce070e5facde9cfa193af7cc7dbcb37f11e9600e31a3 + + + + + + +_970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 + + +wasGeneratedBy + + + +_970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 + + +wasAttributedTo + + + +_970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +wasDerivedFrom + + + +_970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_b4185cb7b5a060bea0afe733fd296984921c8b00439bddd25b96ce5da677ac79 + + + + + + + +_970f0be0af6a87523bea5b16177ea73606726c49a237dadf7f0d75f20e6563b9->_b4185cb7b5a060bea0afe733fd296984921c8b00439bddd25b96ce5da677ac79 + + + + + + +_4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 + + +wasGeneratedBy + + + +_4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 + + +wasAttributedTo + + + +_4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +wasDerivedFrom + + + +_4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_41405c5e7ce998606b44476b38934ac83bfaccc8f40b79030ad40454adb4f096 + + + + + + + +_4919aecae1be31ac9c79394cbbd762f6cdce9595613b7a249c4387e875a5a223->_41405c5e7ce998606b44476b38934ac83bfaccc8f40b79030ad40454adb4f096 + + + + + + +_3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d + + +wasGeneratedBy + + + +_3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 + + +wasAttributedTo + + + +_3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +wasDerivedFrom + + + +_3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_a585062eeab876f537944281962bfdb040b3a4c848ecd7eab633c138bc55f255 + + + + + + + +_3d62232031066f6421ccdbcb8fca2315cd203586b1e9298bed0dbb8435019ecd->_a585062eeab876f537944281962bfdb040b3a4c848ecd7eab633c138bc55f255 + + + + + + +_b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d + + +wasGeneratedBy + + + +_b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 + + +wasAttributedTo + + + +_b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +wasDerivedFrom + + + +_b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_e8d4b0d12fd1bed50e5bb5ef8067af2688e2feb4d964f08bdb81978f3827c93f + + + + + + + +_b80efa3fa29172043dbf182091066e5175280d854dd0d44ada6f50348a06690a->_e8d4b0d12fd1bed50e5bb5ef8067af2688e2feb4d964f08bdb81978f3827c93f + + + + + + +_2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d + + +wasGeneratedBy + + + +_2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_397a9e99edc9334a99efac2668700bbb3ceb44a4f2584719710c9c5f82038b67 + + +wasAttributedTo + + + +_2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_25d9954549ae2c73025969a0637aa1dacff6cef0f282ad4cb57fb34ac6b94c60 + + +wasDerivedFrom + + + +_2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a + + +wasDerivedFrom + + + +_0eeb2c52aaff0d1a595957772a58aa66618960cbd2e5418a5104161952dfc0e0 + + + + + + + +_2eb2dfd268927a8cc65ba974ef8024dd521d164a3028d69ad836a6bf9a1730d0->_0eeb2c52aaff0d1a595957772a58aa66618960cbd2e5418a5104161952dfc0e0 + + + + + + +_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 + + +wasGeneratedBy + + + +_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_ce525c27e32383c04497291d356c30387164d9e98e67466567e244b87e47285c + + +wasAttributedTo + + + +_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_357f00248bdc728725be43338ec69113a99cec9793681d0accd1f777e4dd5fbf + + +wasDerivedFrom + + + +_e5c78cc982e7f0be4ce1478911c9224496e4f41b0c90a93ab8fc7c24cf72b6c9 + + + + + + + +_4e612817f5750d184e4518f1d2ca7aa251f41dfc4fa9e77f6cf49f02268ed43a->_e5c78cc982e7f0be4ce1478911c9224496e4f41b0c90a93ab8fc7c24cf72b6c9 + + + + + + +_7c8f6b9dcd69fa6f94eac19373157857ce66f40c16b8a0569eb225e952470b53 + + + + + + + +_7c8f6b9dcd69fa6f94eac19373157857ce66f40c16b8a0569eb225e952470b53->_c2d2c936c49ff4c98e5030252a5f1b219d026d517ab25a6ac2298fa3112d962e + + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67 + + + + + + + +_7c8f6b9dcd69fa6f94eac19373157857ce66f40c16b8a0569eb225e952470b53->_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67 + + + + + +_b46fda613d815049a8f63edbfc49caefe22edac43c9b95c4a076ce753ed303c8 + + + + + + + +_7c8f6b9dcd69fa6f94eac19373157857ce66f40c16b8a0569eb225e952470b53->_b46fda613d815049a8f63edbfc49caefe22edac43c9b95c4a076ce753ed303c8 + + + + + +_c0f8bfb0ab1f74bdac8f0ae62daaf8da34844c451456adf4929d94928ae691ee + + + + + + + +_c0f8bfb0ab1f74bdac8f0ae62daaf8da34844c451456adf4929d94928ae691ee->_fbc4cac489edf2b11ef60f73c6fd5f8f7bf7013dc9b901754a6c1b02ac026c4d + + + + + + +_7cea8506b20b58c3d2bb2e42f449273ad81a0158d8176f4b52a5165804f5fcff + + + + + + + +_c0f8bfb0ab1f74bdac8f0ae62daaf8da34844c451456adf4929d94928ae691ee->_7cea8506b20b58c3d2bb2e42f449273ad81a0158d8176f4b52a5165804f5fcff + + + + + +_c0f8bfb0ab1f74bdac8f0ae62daaf8da34844c451456adf4929d94928ae691ee->_a585062eeab876f537944281962bfdb040b3a4c848ecd7eab633c138bc55f255 + + + + + +_c0f8bfb0ab1f74bdac8f0ae62daaf8da34844c451456adf4929d94928ae691ee->_044eedc446d7be1213523ca87adc4035f7521efd7ce90b9efe959c49c18c37e2 + + + + + +_c0f8bfb0ab1f74bdac8f0ae62daaf8da34844c451456adf4929d94928ae691ee->_0eeb2c52aaff0d1a595957772a58aa66618960cbd2e5418a5104161952dfc0e0 + + + + + +_c0f8bfb0ab1f74bdac8f0ae62daaf8da34844c451456adf4929d94928ae691ee->_e8d4b0d12fd1bed50e5bb5ef8067af2688e2feb4d964f08bdb81978f3827c93f + + + + + +_200886c1ef8ad27743ced4a3b2f5b29fe949c6470db1c7cfa2824f8dbf7b3f50 + + + + + + + +_c0f8bfb0ab1f74bdac8f0ae62daaf8da34844c451456adf4929d94928ae691ee->_200886c1ef8ad27743ced4a3b2f5b29fe949c6470db1c7cfa2824f8dbf7b3f50 + + + + + +_62df16ebb8965ee1285a90babc2ae929e702986fa665d7eb7595ca7e85bad051 + + + + + + + +_c0f8bfb0ab1f74bdac8f0ae62daaf8da34844c451456adf4929d94928ae691ee->_62df16ebb8965ee1285a90babc2ae929e702986fa665d7eb7595ca7e85bad051 + + + + + +_8f3df3a3503aa4bc7a9bf4e6c10baa34e1e972b6bd733055b018a2c1a8acb89a + + + + + + + +_8f3df3a3503aa4bc7a9bf4e6c10baa34e1e972b6bd733055b018a2c1a8acb89a->_941a648d460e10f52ae5cc7f6eb5db5c86c6ed72a0c34236d8581d5862aaedc5 + + + + + + +_8f3df3a3503aa4bc7a9bf4e6c10baa34e1e972b6bd733055b018a2c1a8acb89a->_7c8f6b9dcd69fa6f94eac19373157857ce66f40c16b8a0569eb225e952470b53 + + + + + +_8f3df3a3503aa4bc7a9bf4e6c10baa34e1e972b6bd733055b018a2c1a8acb89a->_17f66110fc0b0a5f733e34270908eeac515d76fad59648e3d9260865d8e9dd13 + + + + + +_91028a8e9aaed77273040d43467d2f63752b3f8d00e5c3b28ac0f23beeff72e5 + + + + + + + +_8f3df3a3503aa4bc7a9bf4e6c10baa34e1e972b6bd733055b018a2c1a8acb89a->_91028a8e9aaed77273040d43467d2f63752b3f8d00e5c3b28ac0f23beeff72e5 + + + + + +_fa1392ca999d2e6139cbcc1598f13efa814882dcda0f11d19345912ed0d153d5 + + + + + + + +_8f3df3a3503aa4bc7a9bf4e6c10baa34e1e972b6bd733055b018a2c1a8acb89a->_fa1392ca999d2e6139cbcc1598f13efa814882dcda0f11d19345912ed0d153d5 + + + + + +_5c4bc34dfc7a3e3d00d7ba43756f45c9d4c9956c67009d22dcdc91a4bea00c11 + + + + + + + +_8f3df3a3503aa4bc7a9bf4e6c10baa34e1e972b6bd733055b018a2c1a8acb89a->_5c4bc34dfc7a3e3d00d7ba43756f45c9d4c9956c67009d22dcdc91a4bea00c11 + + + + + +_25d9113b03588a9b277330619f1b4c07aec2bf7a4eba7ae7144548f3f197ab73 + + + + + + + +_25d9113b03588a9b277330619f1b4c07aec2bf7a4eba7ae7144548f3f197ab73->_0bcbe477b1432ed8c27180001859454a9d58edf142d4f08ced342c22a32f04d9 + + + + + + +_2159ef609afbeec8864dad3f22c1d660cc9fbb3522a37d81627a5c5ab3e5892f + + + + + + + +_25d9113b03588a9b277330619f1b4c07aec2bf7a4eba7ae7144548f3f197ab73->_2159ef609afbeec8864dad3f22c1d660cc9fbb3522a37d81627a5c5ab3e5892f + + + + + +_25d9113b03588a9b277330619f1b4c07aec2bf7a4eba7ae7144548f3f197ab73->_57431c6c32658416ab5475cf06fbf4c0733555943ccc56de6b924adfdfbf7ddb + + + + + +_1a19909e607296386ee9cc30a547bf515f4aa41e64a23255e65063f1c2405c6a + + + + + + + +_25d9113b03588a9b277330619f1b4c07aec2bf7a4eba7ae7144548f3f197ab73->_1a19909e607296386ee9cc30a547bf515f4aa41e64a23255e65063f1c2405c6a + + + + + +_286a218366c44a780c90362abfd07506ec7f0f2e1a4e7f324d160cc40a41bbf7 + + + + + + + +_25d9113b03588a9b277330619f1b4c07aec2bf7a4eba7ae7144548f3f197ab73->_286a218366c44a780c90362abfd07506ec7f0f2e1a4e7f324d160cc40a41bbf7 + + + + + +_7cea8506b20b58c3d2bb2e42f449273ad81a0158d8176f4b52a5165804f5fcff->_3608809be4f97a4bf692c2d8f136b7b50753b36f464063c601296926456e1654 + + + + + + +_7a5898ee5c8e9d955d463a5e9d4fbcafdf41114e4df61879b8317c082b11ddb3 + + + + + + + +_7cea8506b20b58c3d2bb2e42f449273ad81a0158d8176f4b52a5165804f5fcff->_7a5898ee5c8e9d955d463a5e9d4fbcafdf41114e4df61879b8317c082b11ddb3 + + + + + +_26f99852c788efb8876dc977fc07bba6eca795d0d186a935433154aca1267dc4 + + + + + + + +_7cea8506b20b58c3d2bb2e42f449273ad81a0158d8176f4b52a5165804f5fcff->_26f99852c788efb8876dc977fc07bba6eca795d0d186a935433154aca1267dc4 + + + + + +_022955b910cf617e4ac5e227e2a0fbf8c2d38bbaae2550dc11f4b934a2e7f42f + + + + + + + +_022955b910cf617e4ac5e227e2a0fbf8c2d38bbaae2550dc11f4b934a2e7f42f->_16dd34a8048eca99a315b5a0099fa706f30ea216d66af3f4a0fef75f42d67efd + + + + + + +_d3c86ff3368ba9c1126c69724fb1fa7ea3456b5b154a63f1c8863aa89c07a5d5 + + + + + + + +_022955b910cf617e4ac5e227e2a0fbf8c2d38bbaae2550dc11f4b934a2e7f42f->_d3c86ff3368ba9c1126c69724fb1fa7ea3456b5b154a63f1c8863aa89c07a5d5 + + + + + +_022955b910cf617e4ac5e227e2a0fbf8c2d38bbaae2550dc11f4b934a2e7f42f->_91849ba5e13c742e3fdd9e01231c0b1783541645c0f6bfa677dba7922009ce83 + + + + + +_022955b910cf617e4ac5e227e2a0fbf8c2d38bbaae2550dc11f4b934a2e7f42f->_6ea02d056c67a821ab681ecfdd26eaa3dd1819a448e277890b52fe9f4aebb317 + + + + + +_56bd037cc83d64db81a09c047accd91cf0172a42f3a0893a30095cbfe1a23fbf + + + + + + + +_022955b910cf617e4ac5e227e2a0fbf8c2d38bbaae2550dc11f4b934a2e7f42f->_56bd037cc83d64db81a09c047accd91cf0172a42f3a0893a30095cbfe1a23fbf + + + + + +_aa58d222519f97df25a3327cc9a7aa1f2413ecd9d34fddcf647e173e7719dfeb + + + + + + + +_022955b910cf617e4ac5e227e2a0fbf8c2d38bbaae2550dc11f4b934a2e7f42f->_aa58d222519f97df25a3327cc9a7aa1f2413ecd9d34fddcf647e173e7719dfeb + + + + + +_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2 + + + + + + + +_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2->_4fff92433990a9c7d101f2962972eeee4ef83c4b30e26db77fece7989bf9265b + + + + + + +_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2->_022955b910cf617e4ac5e227e2a0fbf8c2d38bbaae2550dc11f4b934a2e7f42f + + + + + +_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2->_9b765faf1956e3f173aa51e1665516022b5bdb8df56938bd10bce4c942c7cda3 + + + + + +_764b99966caddf428040e21d0e2a92ce3ef22bc31972e45a49bed82c6272c3c4 + + + + + + + +_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2->_764b99966caddf428040e21d0e2a92ce3ef22bc31972e45a49bed82c6272c3c4 + + + + + +_39ca0e7ba0eab24bb3308448e5f64e31e71a248fdb69689efc5d9c73636ba6d3 + + + + + + + +_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2->_39ca0e7ba0eab24bb3308448e5f64e31e71a248fdb69689efc5d9c73636ba6d3 + + + + + +_d3c86ff3368ba9c1126c69724fb1fa7ea3456b5b154a63f1c8863aa89c07a5d5->_f69d7472a828b3c904780e8db73164a2b909dfe0ebb831bb1d513ce42cd49721 + + + + + + +_d3c86ff3368ba9c1126c69724fb1fa7ea3456b5b154a63f1c8863aa89c07a5d5->_a3f4f000883f2c578687315161fe8fa552f238362203fda280a17ecf49598e82 + + + + + +_d3c86ff3368ba9c1126c69724fb1fa7ea3456b5b154a63f1c8863aa89c07a5d5->_e5c78cc982e7f0be4ce1478911c9224496e4f41b0c90a93ab8fc7c24cf72b6c9 + + + + + +_23f3c5911d3f9d252d4127cb318b5670b0b9f2e7f4a0b11f4ed4595e26d4dc64 + + + + + + + +_d3c86ff3368ba9c1126c69724fb1fa7ea3456b5b154a63f1c8863aa89c07a5d5->_23f3c5911d3f9d252d4127cb318b5670b0b9f2e7f4a0b11f4ed4595e26d4dc64 + + + + + +_883437921e2d49580e29b54e743591073ab3def8bd15a4678b7ce68b2dd4dcfa + + + + + + + +_883437921e2d49580e29b54e743591073ab3def8bd15a4678b7ce68b2dd4dcfa->_ec0cb8088f36a6d530964f849bcd494db43ffc891f124b195c953806366280bf + + + + + + +_883437921e2d49580e29b54e743591073ab3def8bd15a4678b7ce68b2dd4dcfa->_8f3df3a3503aa4bc7a9bf4e6c10baa34e1e972b6bd733055b018a2c1a8acb89a + + + + + +_883437921e2d49580e29b54e743591073ab3def8bd15a4678b7ce68b2dd4dcfa->_ad14a497e26ffe840baa56a44bbfdea2054619c3533b1958825d82b3a60d204f + + + + + +_883437921e2d49580e29b54e743591073ab3def8bd15a4678b7ce68b2dd4dcfa->_6397782c985ace61ededcd8c27a1664ce9263895c9ae74520819818616c4b8a8 + + + + + +_da99cc10b548327bfc8dcb7a498d2c508c07f83797ea6a41e1406134929f7985 + + + + + + + +_883437921e2d49580e29b54e743591073ab3def8bd15a4678b7ce68b2dd4dcfa->_da99cc10b548327bfc8dcb7a498d2c508c07f83797ea6a41e1406134929f7985 + + + + + +_5365fffcb2f9bbd10b2d56014ac0fbf233c087a497b3593b8fbeff171b3e96d2 + + + + + + + +_883437921e2d49580e29b54e743591073ab3def8bd15a4678b7ce68b2dd4dcfa->_5365fffcb2f9bbd10b2d56014ac0fbf233c087a497b3593b8fbeff171b3e96d2 + + + + + +_5a39c42b0f14796c98c9b55f9d7a490b11c54f87104fe7d5023094d0c91d4fde + + + + + + + +_883437921e2d49580e29b54e743591073ab3def8bd15a4678b7ce68b2dd4dcfa->_5a39c42b0f14796c98c9b55f9d7a490b11c54f87104fe7d5023094d0c91d4fde + + + + + +_c83ddbe50f199ab3cf484585ddf931280b12c28634be719265260db4764ef698 + + + + + + + +_883437921e2d49580e29b54e743591073ab3def8bd15a4678b7ce68b2dd4dcfa->_c83ddbe50f199ab3cf484585ddf931280b12c28634be719265260db4764ef698 + + + + + +_1fa058c22f08005703892e00b3a4a03aee9250ed3a3448e28a82e538937121ef + + + + + + + +_1fa058c22f08005703892e00b3a4a03aee9250ed3a3448e28a82e538937121ef->_753f23f085ba053a1cef5bc11a3966f236ce4b8988665c637e11a4e390141490 + + + + + + +_1fa058c22f08005703892e00b3a4a03aee9250ed3a3448e28a82e538937121ef->_883437921e2d49580e29b54e743591073ab3def8bd15a4678b7ce68b2dd4dcfa + + + + + +_01e118fc94cc430b8be03222e3156c5f459d43e0b776f5abd319c1c1be93aeaf + + + + + + + +_1fa058c22f08005703892e00b3a4a03aee9250ed3a3448e28a82e538937121ef->_01e118fc94cc430b8be03222e3156c5f459d43e0b776f5abd319c1c1be93aeaf + + + + + +_2159ef609afbeec8864dad3f22c1d660cc9fbb3522a37d81627a5c5ab3e5892f->_b367090120b789a413530191b095fe7b7477e0a0b0cc65a7b18a796aa780ef17 + + + + + + +_2159ef609afbeec8864dad3f22c1d660cc9fbb3522a37d81627a5c5ab3e5892f->_1fa058c22f08005703892e00b3a4a03aee9250ed3a3448e28a82e538937121ef + + + + + +_2159ef609afbeec8864dad3f22c1d660cc9fbb3522a37d81627a5c5ab3e5892f->_79220ba10597112e78597a5b9fce7b986298cd72883573c19d792fd6cb2329a4 + + + + + +_2159ef609afbeec8864dad3f22c1d660cc9fbb3522a37d81627a5c5ab3e5892f->_ca44bbf0f11a337e48c462c63baec73c4b2c83685889409a71d0e9aa8e3e8707 + + + + + +_5cb53c63f1def7f88d0ef78cb35493f500fa86f2747f781a0c6b1ab7949dc69b + + + + + + + +_2159ef609afbeec8864dad3f22c1d660cc9fbb3522a37d81627a5c5ab3e5892f->_5cb53c63f1def7f88d0ef78cb35493f500fa86f2747f781a0c6b1ab7949dc69b + + + + + +_7568e4c580ac7f20e8c184d78d901e1651e4bfbd75254c8231acd7fe7bd59c06 + + + + + + + +_2159ef609afbeec8864dad3f22c1d660cc9fbb3522a37d81627a5c5ab3e5892f->_7568e4c580ac7f20e8c184d78d901e1651e4bfbd75254c8231acd7fe7bd59c06 + + + + + +_7a5898ee5c8e9d955d463a5e9d4fbcafdf41114e4df61879b8317c082b11ddb3->_a4cd5e32ce07b45de21d91f6242aad329c8121fde920cfcfebb4d6da141f49f5 + + + + + + +_7a5898ee5c8e9d955d463a5e9d4fbcafdf41114e4df61879b8317c082b11ddb3->_55dc20cb5a40fc19a547b70d094579ad62e88f95559d10c0ae3b537b9ab000c2 + + + + + +_7a5898ee5c8e9d955d463a5e9d4fbcafdf41114e4df61879b8317c082b11ddb3->_b4185cb7b5a060bea0afe733fd296984921c8b00439bddd25b96ce5da677ac79 + + + + + +_7a5898ee5c8e9d955d463a5e9d4fbcafdf41114e4df61879b8317c082b11ddb3->_5c34f90bcf5d7b71329bd7fd0c44796785e820c6a0f0b5c73c29fbd88bf5d2cc + + + + + +_7a5898ee5c8e9d955d463a5e9d4fbcafdf41114e4df61879b8317c082b11ddb3->_41405c5e7ce998606b44476b38934ac83bfaccc8f40b79030ad40454adb4f096 + + + + + +_7a5898ee5c8e9d955d463a5e9d4fbcafdf41114e4df61879b8317c082b11ddb3->_8796954b75c76a4b4fa7ce070e5facde9cfa193af7cc7dbcb37f11e9600e31a3 + + + + + +_cc20e28d5b33fdfea2e090388b0680089a9b6326e1a6b7aba1fed3dca2760efd + + + + + + + +_7a5898ee5c8e9d955d463a5e9d4fbcafdf41114e4df61879b8317c082b11ddb3->_cc20e28d5b33fdfea2e090388b0680089a9b6326e1a6b7aba1fed3dca2760efd + + + + + +_ae76d31b69a076a90b93921f5f1b06bf61f4c62d507c0a6b5c1aa4987e17740f + + + + + + + +_7a5898ee5c8e9d955d463a5e9d4fbcafdf41114e4df61879b8317c082b11ddb3->_ae76d31b69a076a90b93921f5f1b06bf61f4c62d507c0a6b5c1aa4987e17740f + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67->_728161ffc6ebe8725602a10a1e900a5e8f082d454ee552e12d53701fd976c7c7 + + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67->_ae78904771b9887d3db802f25846caa794cc0586b4072e9ccde6da12dfa5b458 + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67->_045e34e8c12bce4c3fef7ad47dc8f35068b93a7d2faab2ff77d2284f129adacc + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67->_9308e77df5ea4c9597709ef3e692528ed75232ab790bddec127d1e818b5b52bc + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67->_55b6f63fb1c51c9ff2efdf67c028281972589afe810db20b6a7f68adadd276a6 + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67->_4a5dc57e0518cf4416bf55f27f6453071d9d02dd185abbc32ad4073bcf35b805 + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67->_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + +_1ce3ccf4c63934f51ca89b29fd22ea49b1ce4975f436aa1edddd36a139b4fa3f + + + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67->_1ce3ccf4c63934f51ca89b29fd22ea49b1ce4975f436aa1edddd36a139b4fa3f + + + + + +_04845340c466e7e3d7d54b82a1cf07b9106b1699a415293af8001bae3ecbb5c9 + + + + + + + +_6bf06dc6d44805ed6c32ae1e0609854205ace8013d1f635a3aa83f7d33fc6e67->_04845340c466e7e3d7d54b82a1cf07b9106b1699a415293af8001bae3ecbb5c9 + + + + + +_ae78904771b9887d3db802f25846caa794cc0586b4072e9ccde6da12dfa5b458->_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + +_b4185cb7b5a060bea0afe733fd296984921c8b00439bddd25b96ce5da677ac79->_1e7f844bdf77848afbb1a4eb5355c892cc317a0b9c5f86b5fd6e345d60092857 + + + + + +_045e34e8c12bce4c3fef7ad47dc8f35068b93a7d2faab2ff77d2284f129adacc->_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + +_5c34f90bcf5d7b71329bd7fd0c44796785e820c6a0f0b5c73c29fbd88bf5d2cc->_1e7f844bdf77848afbb1a4eb5355c892cc317a0b9c5f86b5fd6e345d60092857 + + + + + +_41405c5e7ce998606b44476b38934ac83bfaccc8f40b79030ad40454adb4f096->_1e7f844bdf77848afbb1a4eb5355c892cc317a0b9c5f86b5fd6e345d60092857 + + + + + +_9308e77df5ea4c9597709ef3e692528ed75232ab790bddec127d1e818b5b52bc->_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + +_17f66110fc0b0a5f733e34270908eeac515d76fad59648e3d9260865d8e9dd13->_fd8110519dae6f908972e56868e2266a0cd92e7ef34af3f395c20a761df7d38c + + + + + +_ad14a497e26ffe840baa56a44bbfdea2054619c3533b1958825d82b3a60d204f->_ed2a48e7e6d5850e5ca2db22de9238918464a626f0aed2ba73f7a81e10252b49 + + + + + +_91849ba5e13c742e3fdd9e01231c0b1783541645c0f6bfa677dba7922009ce83->_d5fc3f4a94e9403b5ba4f1c0eb1172c403a29686c7bec1421ec5a52328bcd78b + + + + + +_57431c6c32658416ab5475cf06fbf4c0733555943ccc56de6b924adfdfbf7ddb->_7c212f08c2e88f3951c3538efb96afce9b9bd4b221a19f09f346199b3430c3e4 + + + + + +_a585062eeab876f537944281962bfdb040b3a4c848ecd7eab633c138bc55f255->_0f647df64ef29e12bf08ff31851f5609d462cb20cd6d94dddb22bd40166a819c + + + + + +_a3f4f000883f2c578687315161fe8fa552f238362203fda280a17ecf49598e82->_95dcacddd53bd2d576780c28ee604d44cb57ee35a69f844aa2b18ccd5550916a + + + + + +_55b6f63fb1c51c9ff2efdf67c028281972589afe810db20b6a7f68adadd276a6->_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + +_4a5dc57e0518cf4416bf55f27f6453071d9d02dd185abbc32ad4073bcf35b805->_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + +_79220ba10597112e78597a5b9fce7b986298cd72883573c19d792fd6cb2329a4->_08591894f290844a013ecf3421e087dcaff0c2731b9a907c9ab4097244755147 + + + + + +_8796954b75c76a4b4fa7ce070e5facde9cfa193af7cc7dbcb37f11e9600e31a3->_1e7f844bdf77848afbb1a4eb5355c892cc317a0b9c5f86b5fd6e345d60092857 + + + + + +_6397782c985ace61ededcd8c27a1664ce9263895c9ae74520819818616c4b8a8->_ed2a48e7e6d5850e5ca2db22de9238918464a626f0aed2ba73f7a81e10252b49 + + + + + +_6ea02d056c67a821ab681ecfdd26eaa3dd1819a448e277890b52fe9f4aebb317->_d5fc3f4a94e9403b5ba4f1c0eb1172c403a29686c7bec1421ec5a52328bcd78b + + + + + +_044eedc446d7be1213523ca87adc4035f7521efd7ce90b9efe959c49c18c37e2->_0f647df64ef29e12bf08ff31851f5609d462cb20cd6d94dddb22bd40166a819c + + + + + +_ca44bbf0f11a337e48c462c63baec73c4b2c83685889409a71d0e9aa8e3e8707->_08591894f290844a013ecf3421e087dcaff0c2731b9a907c9ab4097244755147 + + + + + +_e5c78cc982e7f0be4ce1478911c9224496e4f41b0c90a93ab8fc7c24cf72b6c9->_95dcacddd53bd2d576780c28ee604d44cb57ee35a69f844aa2b18ccd5550916a + + + + + +_0eeb2c52aaff0d1a595957772a58aa66618960cbd2e5418a5104161952dfc0e0->_0f647df64ef29e12bf08ff31851f5609d462cb20cd6d94dddb22bd40166a819c + + + + + +_9b765faf1956e3f173aa51e1665516022b5bdb8df56938bd10bce4c942c7cda3->_ae8577e2f82bfbc125867ca2ce70894c4de1d2d12eb46891025f2836285716f3 + + + + + +_e8d4b0d12fd1bed50e5bb5ef8067af2688e2feb4d964f08bdb81978f3827c93f->_0f647df64ef29e12bf08ff31851f5609d462cb20cd6d94dddb22bd40166a819c + + + + + +_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a->_c0f8bfb0ab1f74bdac8f0ae62daaf8da34844c451456adf4929d94928ae691ee + + + + + +_56bd037cc83d64db81a09c047accd91cf0172a42f3a0893a30095cbfe1a23fbf->_a3f4f000883f2c578687315161fe8fa552f238362203fda280a17ecf49598e82 + + + + + +_56bd037cc83d64db81a09c047accd91cf0172a42f3a0893a30095cbfe1a23fbf->_d5fc3f4a94e9403b5ba4f1c0eb1172c403a29686c7bec1421ec5a52328bcd78b + + + + + +_da99cc10b548327bfc8dcb7a498d2c508c07f83797ea6a41e1406134929f7985->_045e34e8c12bce4c3fef7ad47dc8f35068b93a7d2faab2ff77d2284f129adacc + + + + + +_da99cc10b548327bfc8dcb7a498d2c508c07f83797ea6a41e1406134929f7985->_ed2a48e7e6d5850e5ca2db22de9238918464a626f0aed2ba73f7a81e10252b49 + + + + + +_764b99966caddf428040e21d0e2a92ce3ef22bc31972e45a49bed82c6272c3c4->_e5c78cc982e7f0be4ce1478911c9224496e4f41b0c90a93ab8fc7c24cf72b6c9 + + + + + +_764b99966caddf428040e21d0e2a92ce3ef22bc31972e45a49bed82c6272c3c4->_ae8577e2f82bfbc125867ca2ce70894c4de1d2d12eb46891025f2836285716f3 + + + + + +_26f99852c788efb8876dc977fc07bba6eca795d0d186a935433154aca1267dc4->_55ab95c66ff3461867fb8e866e8657b34606c12ab46fc33ea0d892bf84fa49ce + + + + + +_200886c1ef8ad27743ced4a3b2f5b29fe949c6470db1c7cfa2824f8dbf7b3f50->_e5c78cc982e7f0be4ce1478911c9224496e4f41b0c90a93ab8fc7c24cf72b6c9 + + + + + +_200886c1ef8ad27743ced4a3b2f5b29fe949c6470db1c7cfa2824f8dbf7b3f50->_0f647df64ef29e12bf08ff31851f5609d462cb20cd6d94dddb22bd40166a819c + + + + + +_aa58d222519f97df25a3327cc9a7aa1f2413ecd9d34fddcf647e173e7719dfeb->_e5c78cc982e7f0be4ce1478911c9224496e4f41b0c90a93ab8fc7c24cf72b6c9 + + + + + +_aa58d222519f97df25a3327cc9a7aa1f2413ecd9d34fddcf647e173e7719dfeb->_d5fc3f4a94e9403b5ba4f1c0eb1172c403a29686c7bec1421ec5a52328bcd78b + + + + + +_62df16ebb8965ee1285a90babc2ae929e702986fa665d7eb7595ca7e85bad051->_9b765faf1956e3f173aa51e1665516022b5bdb8df56938bd10bce4c942c7cda3 + + + + + +_62df16ebb8965ee1285a90babc2ae929e702986fa665d7eb7595ca7e85bad051->_0f647df64ef29e12bf08ff31851f5609d462cb20cd6d94dddb22bd40166a819c + + + + + +_cc20e28d5b33fdfea2e090388b0680089a9b6326e1a6b7aba1fed3dca2760efd->_9b765faf1956e3f173aa51e1665516022b5bdb8df56938bd10bce4c942c7cda3 + + + + + +_cc20e28d5b33fdfea2e090388b0680089a9b6326e1a6b7aba1fed3dca2760efd->_1e7f844bdf77848afbb1a4eb5355c892cc317a0b9c5f86b5fd6e345d60092857 + + + + + +_91028a8e9aaed77273040d43467d2f63752b3f8d00e5c3b28ac0f23beeff72e5->_045e34e8c12bce4c3fef7ad47dc8f35068b93a7d2faab2ff77d2284f129adacc + + + + + +_91028a8e9aaed77273040d43467d2f63752b3f8d00e5c3b28ac0f23beeff72e5->_fd8110519dae6f908972e56868e2266a0cd92e7ef34af3f395c20a761df7d38c + + + + + +_5365fffcb2f9bbd10b2d56014ac0fbf233c087a497b3593b8fbeff171b3e96d2->_17f66110fc0b0a5f733e34270908eeac515d76fad59648e3d9260865d8e9dd13 + + + + + +_5365fffcb2f9bbd10b2d56014ac0fbf233c087a497b3593b8fbeff171b3e96d2->_ed2a48e7e6d5850e5ca2db22de9238918464a626f0aed2ba73f7a81e10252b49 + + + + + +_1ce3ccf4c63934f51ca89b29fd22ea49b1ce4975f436aa1edddd36a139b4fa3f->_9b765faf1956e3f173aa51e1665516022b5bdb8df56938bd10bce4c942c7cda3 + + + + + +_1ce3ccf4c63934f51ca89b29fd22ea49b1ce4975f436aa1edddd36a139b4fa3f->_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + +_fa1392ca999d2e6139cbcc1598f13efa814882dcda0f11d19345912ed0d153d5->_ae78904771b9887d3db802f25846caa794cc0586b4072e9ccde6da12dfa5b458 + + + + + +_fa1392ca999d2e6139cbcc1598f13efa814882dcda0f11d19345912ed0d153d5->_fd8110519dae6f908972e56868e2266a0cd92e7ef34af3f395c20a761df7d38c + + + + + +_ae76d31b69a076a90b93921f5f1b06bf61f4c62d507c0a6b5c1aa4987e17740f->_e5c78cc982e7f0be4ce1478911c9224496e4f41b0c90a93ab8fc7c24cf72b6c9 + + + + + +_ae76d31b69a076a90b93921f5f1b06bf61f4c62d507c0a6b5c1aa4987e17740f->_1e7f844bdf77848afbb1a4eb5355c892cc317a0b9c5f86b5fd6e345d60092857 + + + + + +_01e118fc94cc430b8be03222e3156c5f459d43e0b776f5abd319c1c1be93aeaf->_0d5ec14cfa9a692268caca7550180380a7b45475d1ab67a7c6ed5ab10a397dc6 + + + + + +_b46fda613d815049a8f63edbfc49caefe22edac43c9b95c4a076ce753ed303c8->_311eeebea684c38a509de9d9404936bcc287ef20a833a22869954b1d5cc3af9a + + + + + +_5cb53c63f1def7f88d0ef78cb35493f500fa86f2747f781a0c6b1ab7949dc69b->_ad14a497e26ffe840baa56a44bbfdea2054619c3533b1958825d82b3a60d204f + + + + + +_5cb53c63f1def7f88d0ef78cb35493f500fa86f2747f781a0c6b1ab7949dc69b->_08591894f290844a013ecf3421e087dcaff0c2731b9a907c9ab4097244755147 + + + + + +_5c4bc34dfc7a3e3d00d7ba43756f45c9d4c9956c67009d22dcdc91a4bea00c11->_9308e77df5ea4c9597709ef3e692528ed75232ab790bddec127d1e818b5b52bc + + + + + +_5c4bc34dfc7a3e3d00d7ba43756f45c9d4c9956c67009d22dcdc91a4bea00c11->_fd8110519dae6f908972e56868e2266a0cd92e7ef34af3f395c20a761df7d38c + + + + + +_1a19909e607296386ee9cc30a547bf515f4aa41e64a23255e65063f1c2405c6a->_e5c78cc982e7f0be4ce1478911c9224496e4f41b0c90a93ab8fc7c24cf72b6c9 + + + + + +_1a19909e607296386ee9cc30a547bf515f4aa41e64a23255e65063f1c2405c6a->_7c212f08c2e88f3951c3538efb96afce9b9bd4b221a19f09f346199b3430c3e4 + + + + + +_39ca0e7ba0eab24bb3308448e5f64e31e71a248fdb69689efc5d9c73636ba6d3->_a3f4f000883f2c578687315161fe8fa552f238362203fda280a17ecf49598e82 + + + + + +_39ca0e7ba0eab24bb3308448e5f64e31e71a248fdb69689efc5d9c73636ba6d3->_ae8577e2f82bfbc125867ca2ce70894c4de1d2d12eb46891025f2836285716f3 + + + + + +_23f3c5911d3f9d252d4127cb318b5670b0b9f2e7f4a0b11f4ed4595e26d4dc64->_95dcacddd53bd2d576780c28ee604d44cb57ee35a69f844aa2b18ccd5550916a + + + + + +_286a218366c44a780c90362abfd07506ec7f0f2e1a4e7f324d160cc40a41bbf7->_9b765faf1956e3f173aa51e1665516022b5bdb8df56938bd10bce4c942c7cda3 + + + + + +_286a218366c44a780c90362abfd07506ec7f0f2e1a4e7f324d160cc40a41bbf7->_7c212f08c2e88f3951c3538efb96afce9b9bd4b221a19f09f346199b3430c3e4 + + + + + +_7568e4c580ac7f20e8c184d78d901e1651e4bfbd75254c8231acd7fe7bd59c06->_6397782c985ace61ededcd8c27a1664ce9263895c9ae74520819818616c4b8a8 + + + + + +_7568e4c580ac7f20e8c184d78d901e1651e4bfbd75254c8231acd7fe7bd59c06->_08591894f290844a013ecf3421e087dcaff0c2731b9a907c9ab4097244755147 + + + + + +_5a39c42b0f14796c98c9b55f9d7a490b11c54f87104fe7d5023094d0c91d4fde->_ed2a48e7e6d5850e5ca2db22de9238918464a626f0aed2ba73f7a81e10252b49 + + + + + +_c83ddbe50f199ab3cf484585ddf931280b12c28634be719265260db4764ef698->_ae78904771b9887d3db802f25846caa794cc0586b4072e9ccde6da12dfa5b458 + + + + + +_c83ddbe50f199ab3cf484585ddf931280b12c28634be719265260db4764ef698->_ed2a48e7e6d5850e5ca2db22de9238918464a626f0aed2ba73f7a81e10252b49 + + + + + +_04845340c466e7e3d7d54b82a1cf07b9106b1699a415293af8001bae3ecbb5c9->_e5c78cc982e7f0be4ce1478911c9224496e4f41b0c90a93ab8fc7c24cf72b6c9 + + + + + +_04845340c466e7e3d7d54b82a1cf07b9106b1699a415293af8001bae3ecbb5c9->_10a5ccb7e5e879c32b15b487c5b1aa2e30dd090e70113edfb2ebd4057735f80a + + + + + From ec903b242e43364f71ab874d4c875e3c324ad0cd Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Wed, 7 Jun 2023 00:25:32 -0400 Subject: [PATCH 14/15] Document OWL-Time additions Signed-off-by: Alex Nelson --- README.md | 83 ++++++++++++++++++- .../examples/urgent_evidence/README.md | 7 ++ 2 files changed, 89 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 05b1887..975df50 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ One CASE practice that might look non-obvious in the PROV context is CASE's repr Some of the tests include small galleries of figures that are tracked as documentation. Other figures can be generated by an interested user, but are not version-controlled at the moment. See for example: -* [The CASE website narrative "Urgent Evidence"](tests/casework.github.io/examples/urgent_evidence/) +* [The CASE website narrative "Urgent Evidence"](tests/casework.github.io/examples/urgent_evidence/#readme) The following notes describe visual-design decisions. @@ -190,6 +190,87 @@ To illustrate the difference in projective capability of the subject CASE instan ![Qualified vs. unqualified relationship illustration](figures/readme-attribution.svg) +### Temporal relations + +The [W3C Time Ontology in OWL](https://www.w3.org/TR/owl-time/) offers an example, though non-normative, illustration, "[Alignment of PROV-O with OWL-Time](https://www.w3.org/TR/owl-time/#time-prov)." This illustration has an encoded alignment ontology, [here](https://github.com/w3c/sdw/blob/6baa33fa84ccd79a43975f9a335fe479f9cf4069/time/rdf/time-prov.ttl). The alignment ontology is also non-normative. + +`case_prov_dot` takes some of the alignments suggested and uses them to provide a render of usage of the "Allen algebra" of temporal interval relations. The relations are illustrated in a figure in the OWL-Time documentation [here](https://www.w3.org/TR/owl-time/#fig-thirteen-elementary-possible-relations-between-time-periods-af-97). The relations, as rendered by `case_prov_dot`, are shown in this figure (click to view the figure; the "Raw" display will navigate to the figure as SVG with selectable text): + +![Allen relations with instants visible](figures/readme-allen-relations-visible.svg) + +The above figure uses a flag from `case_prov_dot`, `--display-time-links`, to show how `time:ProperInterval` endpoints (the beginning and ending `time:Instant`s) render the `prov:Activity` as 1-dimensional intervals. The `-i` and `-j` node spellings reflect the illustration excerpted in OWL-Time Figure 2. The same figure is also available in the default display mode, where time links are rendered invisibly, [here](figures/readme-allen-relations-invisible.svg). + +The above figures use `prov:Activity` coloring for `time:ProperInterval` illustration, using an alignment that includes `prov:Activity rdfs:subClassOf time:ProperInterval`. Here is how `prov:Activity`s and `time:ProperInterval`s render with `case_prov_dot --display-time-links`: + +![Activity vs proper interval](figures/readme-activity-vs-proper-interval-visible.svg) + +One effect added by using time sorting is that `prov:Activity` and `time:ProperInterval` beginnings are now always defined with a `time:Instant`. An interval bar is used to denote that the temporal thing begins at a linked `time:Instant`. If an end is known to exist for the `uco-action:Action`, `prov:Activity`, `time:ProperInterval`, or `prov:Entity`, an ending `time:Instant` will also be defined. These instants were found necessary for topologically ordering intervals and `time:Instant`s to be contained within them, such as when a `prov:Activity` is known to contain a `prov:Generation` event (see [the temporal order and timestamp granularity example](#temporal-order-and-timestamp-granularity) below for illustration). + +Ending instants are not defined by default, because their existence implies the end of the temporal thing is known. Also, `prov:Entity`s are not automatically assigned a `prov:Generation` event, because there are some `prov:Entity`s that are atemporal---take for example `prov:EmptyCollection`, the mathematical empty set. To make this explicit, here are the default expanded inferences, and time-bounded expanded inferences, for activities, entities, and proper intervals. + +| Default inferred boundary instants | Explicit boundary instants | +| --- | --- | +| ![Activity, Entity, and Proper Interval default instants](figures/readme-eapi-default-visible.svg) | ![Activity, Entity, and Proper Interval default instants](figures/readme-eapi-bounded-visible.svg) | +| [Source](figures/readme-eapi-default.ttl) | [Source](figures/readme-eapi-bounded.ttl) | + + +#### Other temporal entity relators + +Other predicates that relate `time:TemporalEntity`s (including `time:Instant`s and `time:ProperInterval`s) are also illustrated, including `time:inside`, `time:before`, and `time:after`. `case_prov_dot` renders them as shown in this figure (again, click to view the figure as SVG with selectable text): + +![Relations between intervals and instants](figures/readme-time-instants-visible.svg) + +If `--display-time-links` is not requested, [this figure](figures/readme-time-instants-invisible.svg) shows the same items to show that position is preserved even if the temporal items are not colored visibly. + +`uco-action:Action`s and `prov:Activity`s can be related using containing `time:ProperInterval`s. This figure shows two `prov:Activity`s with no timestamps and no direct link to one another, contained within two `time:ProperInterval`s that *do* link to one another. The left column shows the default display, and the right shows the display with `--display-time-links`. + +| Default display | Display with time intervals | Display with time links | +| --- | --- | --- | +| ![Activities related by containing intervals, time invisible](figures/readme-activities-related-by-intervals-invisible.svg) | ![Activities related by containing intervals, intervals visible](figures/readme-activities-related-by-intervals-with-intervals.svg) | ![Activities related by containing intervals, links visible](figures/readme-activities-related-by-intervals-visible.svg) | +| Default | `--display-time-intervals` | `--display-time-links` | + + +#### Timestamp-based ordering + +If no ordering is asserted with properties like `time:intervalBefore` and the like, `case_prov_dot` will use timestamp information. [This example JSON](figures/readme-actions-ordered-by-timestamp.json) shows three `case-investigation:InvestigativeAction`s with no relationship linking them. Here is how they render, by default and with `--display-time-links`: + +| Default display | Display with time links | +| --- | --- | +| ![Actions ordered only by timestamp, time invisible](figures/readme-actions-ordered-by-timestamp-invisible.svg) | ![Actions ordered only by timestamp, time visible](figures/readme-actions-ordered-by-timestamp-visible.svg) | + +**Note**: Timestamp ordering is based on lexicographic sorting, and as a pragmatic programming matter, `case_prov` will only sort timestamps with a GMT timezone (i.e. ending with `Z` or `+00:00`). Timestamps in UCO and PROV use the `xsd:dateTime` datatype, which does not require a time zone be GMT, or even present. OWL-Time has deprecated its property `time:inXSDDateTime` in favor of `time:inXSDDateTimeStamp`, which uses the timezone-requiring datatype `xsd:dateTimeStamp`. `case_prov` follows the implementation influenced by `time:inXSDDateTimeStamp`, with the more stringent requirement to use GMT in order to handle sorting. If a UCO or PROV timestamp cannot be straightforwardly converted to use `xsd:dateTimeStamp` with OWL-Time (i.e. by only swapping datatype), that timestamp instance will be disregarded in sorting and omitted from inferred `time:Instant`s. + + +#### Temporal order and timestamp granularity + +In the context of PROV-O and OWL-Time, encoding `time:inside` with links lets one relate the `prov:InstantaneousEvent`s with `prov:Activity`s. This can be a significant aid when relating timestamps of different specificity. Suppose some moderately fast automated action is recorded as having started at `12:00:30Z` on some day, ended at `12:00:30Z`, and is known to have made two files in fairly quick succession, one a temporary file that was deleted. The timeline from available records, including an application's logs and file system timestamps, shows this timestamp order: + +* `2020-01-02T12:00:30Z`: Action begins. +* `2020-01-02T12:00:30.1234Z`: Temporary file created. +* `2020-01-02T12:00:30.3456Z`: Persistent file created from some contents of temporary file. +* `2020-01-02T12:00:30.5678Z`: Temporary file destroyed. +* `2020-01-02T12:00:30Z`: Action concludes. + +[This JSON-LD illustration](figures/readme-two-files.json) renders the above sequence using UCO and OWL-Time. This SVG uses `case_prov_dot` to render the same timeline: + +| Default display | Display with time links | +| --- | --- | +| ![Differing granularities with time links invisible](figures/readme-two-files-invisible.svg) | ![Differing granularities with time links visible](figures/readme-two-files-visible.svg) | + + +#### RDF export of temporal inferences + +`case_prov_dot` expands the CASE, PROV-O, and OWL-Time data within its input graphs to create a temporal ordering, with a focus on rendering into the [Dot language](https://graphviz.org/doc/info/lang.html). Workflows using `case_prov_*` have Dot as one possible output, but if there are other desired consumers of OWL-Time data, `case_prov_rdf` will generate *and persist as RDF* the same expansions as done in `case_prov_dot`. + +One noteworthy workflow difference is that `case_prov_dot` is implemented to handle one relaxation over a UCO policy: UCO requires graph nodes to be identified with IRIs, without usage of blank nodes. PROV-O and OWL-Time have no such restriction disallowing blank nodes. + +`case_prov_dot` will expand knowledge of blank nodes, but can make no guarantee on stability of its generated content. In particular, randomized node identifiers may cause the Dot rendering pipeline to laterally shuffle graph data of equal vertical rank. (That is, vertical ordering is stable, but horizontal ordering would be random with each re-run.) + +`case_prov_rdf` will perform knowledge expansion on its input graph, but will only serialize inferences about IRI-identified nodes because blank nodes cannot have external annotations applied to them without re-serializing the entire input graph. + +For examples of expanded data, see the ["two files" base JSON-LD](figures/readme-two-files.json) versus its [inferred graph](figures/readme-two-files-expanded.ttl), or the ["actions ordered by timestamp" base JSON-LD](figures/readme-actions-ordered-by-timestamp.json) versus its [inferred graph](figures/readme-actions-ordered-by-timestamp-expanded.ttl). + + ## Licensing This repository is licensed under the Apache 2.0 License. See [LICENSE](LICENSE). diff --git a/tests/casework.github.io/examples/urgent_evidence/README.md b/tests/casework.github.io/examples/urgent_evidence/README.md index da101e6..88e494c 100644 --- a/tests/casework.github.io/examples/urgent_evidence/README.md +++ b/tests/casework.github.io/examples/urgent_evidence/README.md @@ -3,6 +3,7 @@ This directory includes some visual displays of the [CASE "Urgent Evidence" narrative](https://caseontology.org/examples/urgent_evidence/) mapped to PROV-O. The depictions are: + * [All](urgent_evidence-prov-all.svg) - The entire narrative-mapping. * [Activities](urgent_evidence-prov-activities.svg) - All `prov:Activity`s and their `prov:wasInformedBy` relationships. * [Entities](urgent_evidence-prov-entities.svg) - All `prov:Entity`s (including `prov:Collection`s) and their `prov:wasDerivedFrom` (and `prov:hadMember`) relationships. @@ -13,3 +14,9 @@ The depictions are: - [Agents and Entities](urgent_evidence-prov-agents-entities.svg) * [All produced JPEG files](urgent_evidence-prov-all-focus-jpegs.svg) - All files of MIME type `image/jpeg`, as selected by [this query](select-jpegs.sparql). * [Single extracted file](urgent_evidence-prov-all-focus-extracted-file-uuid-1.svg) - The provenance chain from a single extracted file, a JPEG, back to initial evidence submission. + +For visual reference, some of the depictions are also stored here with OWL-Time links displayed: + +* [All](urgent_evidence-prov-time-all.svg) +* [Activities](urgent_evidence-prov-time-activities.svg) +* [Single extracted file](urgent_evidence-prov-time-all-focus-extracted-file-uuid-1.svg) From 2f230d9a1cbd423a03059f2e574f1c60086bc16d Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Thu, 8 Jun 2023 16:00:21 -0400 Subject: [PATCH 15/15] Consolidate prefixing code into type-reviewed wrapper function The RDFLib issue referenced in the comment summarizes the type-safety matter. No effects were observed on Make-managed files. Signed-off-by: Alex Nelson --- case_prov/case_prov_dot.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/case_prov/case_prov_dot.py b/case_prov/case_prov_dot.py index 47eeee5..823a589 100644 --- a/case_prov/case_prov_dot.py +++ b/case_prov/case_prov_dot.py @@ -587,6 +587,18 @@ def _define_witnesses( debug_graph_fh.write(debug_graph.serialize(format="longturtle")) +def qname(graph: rdflib.Graph, n_thing: rdflib.term.IdentifiedNode) -> str: + """ + This function provides, when a namespace is available, the prefixed form of the input node. Blank nodes are rendered solely with str(). + """ + # TODO This function might be obviated by resolution of this issue: + # https://github.com/RDFLib/rdflib/issues/2429 + if isinstance(n_thing, rdflib.URIRef): + return graph.namespace_manager.qname(n_thing) + else: + return str(n_thing) + + def main() -> None: parser = argparse.ArgumentParser() parser.add_argument("--debug", action="store_true") @@ -984,7 +996,7 @@ def _annotate_labels( kwargs["tooltip"] = "ID - " + str(n_agent) # Build label. - dot_label_parts = ["ID - " + graph.namespace_manager.qname(n_agent)] + dot_label_parts = ["ID - " + qname(graph, n_agent)] _annotate_name(n_agent, dot_label_parts) _annotate_labels(n_agent, dot_label_parts) _annotate_descriptions(n_agent, dot_label_parts) @@ -1005,7 +1017,7 @@ def _annotate_labels( kwargs["tooltip"] = "ID - " + str(n_entity) # Build label. - dot_label_parts = ["ID - " + graph.namespace_manager.qname(n_entity)] + dot_label_parts = ["ID - " + qname(graph, n_entity)] if n_entity in n_provenance_record_to_l_exhibit_numbers: for l_exhibit_number in sorted( n_provenance_record_to_l_exhibit_numbers[n_entity] @@ -1060,7 +1072,7 @@ def _annotate_labels( l_end_time = l_value # Build label. - dot_label_parts = ["ID - " + graph.namespace_manager.qname(n_activity)] + dot_label_parts = ["ID - " + qname(graph, n_activity)] if l_start_time is not None or l_end_time is not None: dot_label_parts.append("\n") section_parts = [] @@ -2082,7 +2094,7 @@ def _add_time_things_of_entity(n_entity: rdflib.term.IdentifiedNode) -> None: # Render time:ProperIntervals that are not prov:Activities. for n_interval in sorted((n_intervals - n_activities) & n_time_things_to_display): # Build label. - dot_label_parts = ["ID - " + graph.namespace_manager.qname(n_interval), "\n"] + dot_label_parts = ["ID - " + qname(graph, n_interval), "\n"] _annotate_name(n_interval, dot_label_parts) _annotate_labels(n_interval, dot_label_parts) _annotate_descriptions(n_interval, dot_label_parts)