INCATools / INCATools/ontology-access-kit
Add a mermaid and d2lang output for ontology trees and graphs
- Dominant language
- Python
- Stars
- 198
- Forks
- 35
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 1
Description
Currently there is one way to visualize ontology graphs, via graphviz.
This involves
1. subgraph operation -> obo json [oak]
2. obo json to dot (mediated by stylesheet following kgviz schema) [obographviz]
3. dot to png [graphviz]
This has a lot of advantages - in particular high configurability of the graph display via stylesheets. But it's a bit of a clunky install, and the graphviz is often non aesthetic
We should also export to
- mermaid
- [d2lang](https://d2lang.com/tour/intro/)
Mermaid is attractive as it can be pasted into github issues and incorporated into mkdocs/sphinx directly. However, it is less configurable.
d2 is less mature but very promising, and highly configurable
If we prioritize this, there are two options
- extend obographviz
- write native python, perhaps make a general purpose framework for modeling a graph then adding renderers
Contributor guide
Research direction
No files, tests, or entry points are named. Start by tracing the existing OAK to obo JSON, obographviz, and Graphviz flow, then compare extending obographviz with a native Python renderer framework. Done should include agreed support for Mermaid and d2lang output, but the issue does not define the API or implementation scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100