Skip to content

sdsc-ordes/fuzon

Repository files navigation

fuzon logo

Current Release label Test Status label Documentation website License label

fuzon

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.

Under the Hood

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.

Documentation

Installation and usage instructions are available for the individual crates:

Development

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

About

Fuzzy search ontologies and knowledge graphs at ⚡ lightning ⚡ speed!

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •