GraphLog
API to interface with the GraphLog Dataset. GraphLog is a multi-purpose, multi-relational graph dataset built using rules grounded in first-order logic.
News
- Core Generator logic of GraphLog is now released in its own repository, GLC! This repository will contain the specific instantiations of GLC which can be used to create various setups of GraphLog. Stay tuned for more updates!
Installation
- Supported Python Version: 3.6, 3.7, 3.8
- Install PyTorch from https://pytorch.org/get-started/locally/
- Install pytorch-geometric (and other dependencies) from https://github.com/rusty1s/pytorch_geometric#installation. Make sure that cpu/cuda versions for pytorch and pytorch-geometric etc matches.
pip install graphlog
QuickStart
Check out the notebooks on Basic Usage and Advanced Usage to quickly start playing with GraphLog.
Dev Setup
pip install -e ".[dev]"
- Install pre-commit hooks
pre-commit install
- The code is linted using:
black
flake8
mypy
- All the tests can be run locally using
nox
Experiments
Code for experiments used in our paper are available in experiments/
folder.
Questions
- If you have questions, open an Issue
- Or, join our Slack channel and post your questions / comments!
- To contribute, open a Pull Request (PR)
Contributing
Please open a Pull Request (PR).
Citation
If our work is useful for your research, consider citing it using the following bibtex:
@article{sinha2020graphlog,
Author = {Koustuv Sinha and Shagun Sodhani and Joelle Pineau and William L. Hamilton},
Title = {Evaluating Logical Generalization in Graph Neural Networks},
Year = {2020},
arxiv = {https://arxiv.org/abs/2003.06560}
}
License
CC-BY-NC 4.0 (Attr Non-Commercial Inter.)
Terms of Use
https://opensource.facebook.com/legal/terms