NORA is a four-stage knowledge graph repair pipeline: normalize the graph, learn a compact trusted subgraph, mine Horn rules, and combine both signals for denoising plus enrichment.
- Python 3.10+
pip install -r requirements.txt- Java 11+ and an
amie3.jarpath for Stage 3
Supported Stage 1 adapters: nell-995, wn18rr, fb15k-237, french_royalty, synthlc1000.
Bundled OpenKE-style Stage 1 exports: datasets/nell-995, datasets/wn18rr, datasets/fb15k-237, datasets/french-royalty, datasets/synthlc-1000.
python run_stage2.py --stage1-dir datasets/nell-995 --output-dir /tmp/nora-stage2
python run_stage3.py --stage2-dir /tmp/nora-stage2 --output-dir /tmp/nora-stage3 --amie-jar /path/to/amie3.jar
python run_stage4.py --stage2-dir /tmp/nora-stage2 --stage3-dir /tmp/nora-stage3 --output-dir /tmp/nora-stage4To regenerate Stage 1 from raw input:
python run_stage1.py --dataset nell-995 --source-dir /path/to/raw-dataset --output-dir /tmp/nora-stage1You can also set AMIE3_JAR=/path/to/amie3.jar instead of passing --amie-jar.