Graph generator using simple first order logic.
Common graph generator pipeline for the following projects:
Over the years I have been developing FOL-inspired graph generation using several projects (notably CLUTRR, and GraphLog). This project is built from the need to develop a common generation logic of the underlying graphs used in these projects, incorporating the lessons learned and suggestions from numerous reviewer feedbacks.
pip install -r requirements.txt
The file graph_config.yaml
contains the parameters requires for graph generation. We use Hydra which allows us to also configure the parameters from command line.
To use the rules defined in CLUTRR (Sinha et al. 2019), you can specify the path to the rules:
python glc.py rule_store=rule_bases/clutrr
A sample generator with CLUTRR graphs is provided in graph_config.yaml
- Use any arbitrary compositional rule base of the form (a,b) -> c
- Fast generation
- Logically validate the generated graphs using Proof traces
- Split graphs by unique "descriptors"
- Generate world graph on a given set of rules
- Documentation to support GLC development
python -m pytest tests
"GLC" is CC-BY-NC 4.0 (Attr Non-Commercial Inter.) licensed, as found in the LICENSE file.