Skip to content

Conversation

@ajnelson-nist
Copy link
Member

This PR is mostly code motion, code documentation, and improved static type review on case_prov_dot. It will be merged on passing CI.

Some of the motivation comes from preparations for the OWL-Time updates in #54. Full documentation of the patch series is in the first patch's log message.

There is now an improvement in functionality, where behaviors of the multiple "subsetting" flags have been reviewed and now work with one another, instead of being isolated from one another. The Urgent Evidence narrative figures have been updated to demonstrate the flags' interactions.

This patch revises `case_prov_dot` to make use of updates in code review
practice and upstream typing support since the script was originally
written.

The original version of `case_prov_dot` relied on many conversions of
RDFLib types to strings.  This induced some reinvention of logical
organization of concepts into IRI strings vs. quickly-instantiated and
-discarded `rdflib.URIRef` objects.  Some usage of `URIRef`s as strings
was covered by `URIRef`s being implemented in RDFLib as subclasses of
string.

As work progressed on adding TIME concept support (see PR 54), it became
unnecessarily burdensome to handle some work with managing untyped
strings under specialized consideration, versus constructing sets of
`rdflib.URIRef`s to designate nodes.  Managing potential blank nodes
also became a challenge with casts to strings.

This patch revises the base work in `case_prov_dot` to be oriented on
analyzing sets of `rdflib.term.IdentifiedNode`s (encompassing `URIRef`s
and `BNode`s).  A roadmap/codemap is also added in inline documentation
to describe sections of code behavior.

Revision of the code flow also settled some design issues that were
previously unnecessarily isolating the various chains from one another,
especially where some chains needed to be handled as a mutual union, and
another needed to be handled as an intersection, when various subsets of
the provenance graph are requested.  So this patch also adds the various
pairs of chains as demonstrations under the Urgent Evidence example.

A follow-on patch will regenerate Make-managed files.

References:
* #54

Signed-off-by: Alex Nelson <[email protected]>
@ajnelson-nist ajnelson-nist added this to the 0.8.0 milestone May 31, 2023
@ajnelson-nist ajnelson-nist self-assigned this May 31, 2023
@ajnelson-nist ajnelson-nist marked this pull request as ready for review May 31, 2023 00:45
@ajnelson-nist ajnelson-nist requested a review from a team as a code owner May 31, 2023 00:45
@ajnelson-nist ajnelson-nist merged commit 81ea3d0 into develop May 31, 2023
@ajnelson-nist ajnelson-nist deleted the reflow_case_prov_dot branch May 31, 2023 00:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants