A python package for modeling, persisting and visualizing causal graphs embedded in knowledge graphs.
Request Feature
·
Report Bug
·
Contact us
Table of contents
causalgraph - modeling and saving causal graphs embedded in knowledge graphs. The package has been designed to provide an interface between causal disciplines such as causal discovery and causal inference. With this package, users can create and save causal graphs and export the generated graphs for use in other graph-based packages. The main advantage of the proposed package is its ability to facilitate the linking of additional information and metadata to causal structures. In addition, the package offers a variety of functions for graph modeling and plotting, such as editing, adding, and deleting nodes and edges. It is also compatible with widely used graph data science libraries such as NetworkX and Tigramite and incorporates a specially developed causalgraph ontology in the background.
You can either use the causalgraph source code directly, or install the python package using pip.
Just install causalgraph via pip running the following command:
pip install causalgraph
- Clone the repo
git clone https://github.com/causalgraph/causalgraph.git
- Create conda environment
conda env create -f environment.yml conda activate causalgraph
- Ready to use causalgraph
import causalgraph
Please have a look at the examples folder at /examples. Here you can find some Jupyter notebooks in which the most important functions are presented. You can also take a look at the causalgraph paper. It is referenced in the end of this README.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the enhancement tag. Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
- Mail: [email protected]
- Blog: https://www.kognitive-produktion.de/?p=3154
- Project Link: https://github.com/causalgraph
- owlready2 - Makes Ontologies and Knowledge Graphs workable in python. Is used for storing information
- networkX - Represent graphs in python; is used as inspiration for the Calls and structure of the project
- Causal Graphical Models Python Package - Major inspiration for this package, but we want to do these things differently:
- Represent Nodes and Edges as individual objects, establishing the connection to datasources / models
- usage of networkX MultiDiGraph as base for the SCMs to support multiple connections (at different times) between nodes
- Causal Inference in Statistics - Python Code accompanying a book, which also implements SCMs (without Time-Series)
The development of causalgraph is part of the research project KausaLAssist. It is funded by the German Federal Ministry of Education and Research (BMBF) within the "Future of Value Creation - Research on Production, Services and Work" program (funding number 02P20A150) and managed by the Project Management Agency Karlsruhe (PTKA). The authors are responsible for the content of this publication.
If you find causalgraph useful for your research, please cite us as follows:
Sven Pieper, Carl Willy Mehling, Dominik Hirsch, Tobias Lüke, Steffen Ihlenfeldt. causalgraph: A Python Package for Modeling, Persisting and Visualizing Causal Graphs Embedded in Knowledge Graphs. 2023. https://arxiv.org/abs/2301.08490
DOI: 10.48550/arXiv.2301.08490
Bibtex:
@misc{
doi = {10.48550/ARXIV.2301.08490},
url = {https://arxiv.org/abs/2301.08490},
author = {Pieper, Sven and Mehling, Carl Willy and Hirsch, Dominik and Lüke, Tobias and Ihlenfeldt, Steffen},
keywords = {Artificial Intelligence (cs.AI), FOS: Computer and information sciences, FOS: Computer and information sciences, E.1; E.2},
title = {causalgraph: A Python Package for Modeling, Persisting and Visualizing Causal Graphs Embedded in Knowledge Graphs},
publisher = {arXiv},
year = {2023}
}