Skip to main content

A python package for modeling, persisting and visualizing causal graphs embedded in knowledge graphs.

Project description

IWU Tests License PyPi Python Downloads


Logo

causalgraph

A python package for modeling, persisting and visualizing causal graphs embedded in knowledge graphs.

GitHub Repository · Contact us

Table of contents
  1. About the Project
  2. Getting started
  3. Usage
  4. Contributing
  5. License
  6. Contact
  7. Similar Projects
  8. Acknowledgments
  9. Citing this project

About the project

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.

Getting started

You can either use the causalgraph source code directly, or install the python package using pip.

Using pip

Just install causalgraph via pip running the following command:

pip install causalgraph

Local source code

  1. Clone the repo
    git clone https://github.com/causalgraph/causalgraph.git
    
  2. Create conda environment
    conda env create -f environment.yml
    conda activate causalgraph
    
  3. Ready to use causalgraph
    import causalgraph
    

Usage

Please have a look at the examples within the GitHub Repo . 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.

Contributing

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 GitHub repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License.

Contact

Similar projects

  • 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)

Acknowledgments

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.

Citing this project

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}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

causalgraph-0.1.1.tar.gz (44.2 kB view details)

Uploaded Source

Built Distribution

causalgraph-0.1.1-py3-none-any.whl (44.9 kB view details)

Uploaded Python 3

File details

Details for the file causalgraph-0.1.1.tar.gz.

File metadata

  • Download URL: causalgraph-0.1.1.tar.gz
  • Upload date:
  • Size: 44.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for causalgraph-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4b4aa54cd1fdc879b41ccf375dd084fcd93cf8a41ac4e51a5c2b936857ecd956
MD5 25bab04d4384a9141935b1013c264e2a
BLAKE2b-256 891924c572ab1f57a6f0fcd255b29e1fbfc12ea6496d8bf301e1a351cc9ba472

See more details on using hashes here.

File details

Details for the file causalgraph-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: causalgraph-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 44.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for causalgraph-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e3fd62b0eed9b8ae3c802069b2583dedd96293b2a0053c62809c19906aec2c76
MD5 f889c97a64078571b49f91e5c36fda44
BLAKE2b-256 09220a6ef8087a50197b15db8018d790e10a4785437ae5d71aeec3373e397663

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page