unobtanium-graph-algorithms 0.1.0

Graph ranking algorithms for the unobtanium search engine
Documentation
# Unobtanium Graph Algorithms

[Documentation]https://docs.rs/unobtanium-graph-algorithms | [Codeberg]https://codeberg.org/unobtanium/unobtanium-graph-algorithms

This rust crate implements graph ranking algorithms for the [unobtanium search engine]https://codeberg.org/unobtanium.

Currently implemented Algorithms are:
* [PageRank]https://en.wikipedia.org/wiki/PageRank#Algorithm (needs fixes, only works for undirected graphs right now)
* [TextRank]https://en.wikipedia.org/wiki/Automatic_summarization#Unsupervised_approach:_TextRank

## Overview

At the core of this crate is the `Graph` data structure, which can be populated with arbitrary data (Must implement `Hash`, `Eq` and `Clone`) that represents nodes.

On top of this Graph functions like `populate_for_textrank()` and `run_pagerank()` can prepare the graph and run different algorithms on it.

Custom graph configurations can be realized by populating the graph inside a callback to its `modify` method. The callback is to make sure that node ids inside the graph stay opaque and can't be confused with the ids of another graph structure. (This is called [Data Branding](https://plv.mpi-sws.org/rustbelt/ghostcell/))

## License

The Unobtanium Graph Algorithms crate is licensed as [LGPL-3.0-only](./LICENSES/LGPL-3.0-only.txt).

The project aims to be compliant with version 3.3 of the [reuse](https://reuse.software) specification.