Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reconsider design of Civi model relationships #1438

Open
brylie opened this issue Oct 19, 2022 · 1 comment
Open

Reconsider design of Civi model relationships #1438

brylie opened this issue Oct 19, 2022 · 1 comment
Labels
community help wanted triage Issues that have not been categorized or prioritized

Comments

@brylie
Copy link
Member

brylie commented Oct 19, 2022

Idea summary

Currently, we are using a somewhat linear relationship between Civis, where problems have causes and causes have solutions. However, the relationships between problems, causes, and solutions are non-linear. For example, a solution to one problem might cause others (e.g., climate engineering solutions may cause widespread problems.). Likewise, a solution to one problem may also solve others.

Further details

Given the complexity of the problem, cause, and solution space, our data model should be a bit more flexible and resilient, allowing us to capture the nuance of human agency.

For example, we currently do or are discussing the following.

This issue proposes we clarify the intended flexibility of the Civi data model. We should also consider how to implement a more graph-like structure where we can traverse Civis via links like "causes," "caused by," "fixes," etc., as described in #149

Some examples

  • Problem <- ´caused_by´ <- Cause <- ´fixed_by´ <- Solution <- ´caused_by <- Problem
@brylie brylie added help wanted community triage Issues that have not been categorized or prioritized labels Oct 19, 2022
@reedjones
Copy link

I'd like to work on this issue.

reedjones added a commit to reedjones/OpenCiviWiki that referenced this issue Oct 18, 2024
Introduces a CiviLink model to represent the graph's directed edges
 a
la
CiviWiki#1438 (comment)
added
a basic graph template at threads/templates/graph.html
added library
cytoscapejs for graph viz
added networkx library for graph
(python)
graph visual is still kinda wonky, need to fix it but the basic
gist of it is there kinda sorta

a start at closing
CiviWiki#149
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community help wanted triage Issues that have not been categorized or prioritized
Projects
None yet
Development

No branches or pull requests

2 participants