Skip to content
This repository has been archived by the owner on Apr 5, 2024. It is now read-only.
/ fornax Public archive

Approximate fuzzy subgraph matching in polynomial time

License

Notifications You must be signed in to change notification settings

digicatapult/fornax

Fornax

Deprecation Notice

This application was deprecated on April 5th 2024, there will be no further dependency or security updates.

CircleCI Coverage Status Known Vulnerabilities Documentation Status

An implementation of NeMa: Fast Graph Search with Label Similarity using python3 and sqlite or postgres.

FORNAX

Install

Via pip:

pip install fornax

Note that Fornax requires numpy to be installed (part of the SciPy ecosystem) which in turn has non python dependencies. The available options for installing SciPy packages are listed here.

We recomend installing fornax via anaconda

conda create --name myenv python=3.6
source activate myenv
pip install fornax

Install (Dev)

From the root directory:

# install dev dependencies
pip install -r requirements/dev.txt

# install fornax
pip install -e .

View the Docs

View the docs at: fornax.readthedocs.io

Test

From the root directory

python run_test.py

Tutorials

See the tutorials for a full working example.

  • Part 1 - Download a small graph dataset
  • Part 2 - Search the dataset using fornax

Install Tutorial Dependencies (using conda)

The following tutorials use jupyter notebooks to create a worked example. We recommend you use the anaconda python distribution to run the notebooks.

conda env create -f environment.yml

Run the Tutorials

source activate fornax_tutorial
cd docs/tutorial
jupyter-notebook

Documentation

Build the Docs

# install docs dependencies
pip install -r requirements/docs.txt
# install fornax
pip install .

# build
cd docs
make html

View the Docs Locally

cd _build/html
python3 -m http.server

navigate to 0.0.0.0:8000 in your browser.