Description
This issue tracks design and development of editor features and tools to merge, separate, and curate entities with respect to one another as needed. More specifically, curating the graph of entities in the incident database.
Merging and separating entities is complicated.
Merging entities A
and B
means any of:
- re-directing all of the references of one of these entities (
A
) to the other (B
) , and deleting/tombstoning the entity (A
). - creating a new entity,
C
, and redirecting + deleting/tombstoning entitiesA
andB
. - More advanced: grouping entities-to-be-merged
A
andB
under a canonical entity group/"cluster"C
, and processing redirects for entitiesA
andB
to the canonical clusterC
(likely at build time).
Conversely, separating an entity A
means reversing the above options, including steps such as: re-directing particular references as needed to individual new or existing entities, potentially deleting/tombstoning an existing entity A
if it no longer has connections, etc.
See this code search to show other collection schemas and rules that reference entities by entity_id
:
https://github.com/search?q=repo%3Aresponsible-ai-collaborative%2Faiid+path%3A%2F%5Esite%5C%2Frealm%5C%2Fdata_sources%5C%2Fmongodb-atlas%5C%2F%2F+entit&type=code
Motivation
-
The curation and editing of entities becomes more complex as the number of incidents grows, and inevitably there will need to be re-working of entity relationships. Beyond day-to-day editing (e.g. addressing errata), hierarchical or re-directing operations might need to be taken when the related but contextually distinct entities grow, e.g.:
-
These tools will also enable curation of AI system entities as this concept becomes more defined in incident curation and exploring incident data. Easier curation of entities will ideally allow better interfaces that Issue, Hazard, Risk, Vulnerability, Audits, and Controversy Support #2047 describes.
When this becomes a priority, we can start to:
- Add particular curation/graph metadata to entity records, such as date modified, tombstone status, similar entities, etc.
- Implement re-direct logic for entity relationships so that incident citation pages, URLs, and other dependencies can render or re-direct to "canonical" entities. This would enable tombstoning and/or deleting old entity IDs for any scenario.
- Design and create interface for editing entities #2536