fuzon helps you quickly find relevant entities (URIs) based on text. It does so by fuzzy matching inputs against the annotations attached to concepts in an RDF graph, allowing for partial matches and typos.
The goal of fuzon is to accelerate exploration of complex ontologies or terminologies to make semantic data more accessible to users. It can be used directly as a command line tool, deployed as a web service, or integrated into other tools as a (rust or python) library.
fuzon parses input ontologies from local files or URLs and indexes URI - label pairs. This allows for highly performant fuzzy searches, with near-instant feedback to use in "auto-complete" interfaces. Previously loaded ontologies are also cached on disk to speed-up subsequent runs. The fuzzy search relies on the rff fuzzy finder which itself uses the algorithm from fzy, a variant of Needleman-Wunsch.
Installation and usage instructions are available for the individual crates:
A nix dev shell with all build dependencies is provided. Assuming just and nix are installed on the machine, you can enter the shell with:
just develop-nix
Alternatively, docker can be used as a development shell:
just develop-docker
Once inside a development shell, the python+rust packages can be built with:
just build
Or the python bindings can be installed in editable mode using:
just maturin-dev
# pyfuzon now available in python shells