• Stars
    star
    274
  • Rank 150,274 (Top 3 %)
  • Language
    Rust
  • License
    MIT License
  • Created about 4 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Hypergraph is data structure library to create a directed hypergraph in which a hyperedge can join any number of vertices.

graph


GitHub Workflow Status Crates.io docs.rs

Hypergraph is a data structure library to generate directed hypergraphs.

A hypergraph is a generalization of a graph in which a hyperedge can join any number of vertices.

๐Ÿ“ฃ Goal

This library aims at providing the necessary methods for modeling complex, multiway (non-pairwise) relational data found in complex networks. One of the main advantages of using a hypergraph model over a graph one is to provide a more flexible and natural framework to represent entities and their relationships (e.g. Alice uses some social network, shares some data to Bob, who shares it to Carol, etc).

๐ŸŽ Features

This library enables you to represent:

  • non-simple hypergraphs with two or more hyperedges - with different weights - containing the exact same set of vertices
  • self-loops - i.e., hyperedges containing vertices directed to themselves one or more times
  • unaries - i.e., hyperedges containing a unique vertex

โš—๏ธ Implementation

  • 100% safe Rust
  • Proper error handling
  • Stable indexes assigned for each hyperedge and each vertex
  • Parallelism (with Rayon)

๐Ÿ› ๏ธ Installation

Add this to your Cargo.toml (replace current_version with the latest version of the library):

[dependencies]
hypergraph = "curent_version"

โšก๏ธ Usage

Please read the documentation to get started.

More Repositories

1

jql

A JSON Query Language CLI tool
Rust
1,471
star
2

shrimpit

Shrimpit ๐Ÿค is a small CLI analysis tool for checking unused JavaScript, JSX & Vue templates ES6 exports in your project.
JavaScript
258
star
3

babel-react-rollup-starter

A simple boilerplate for web apps with React, Babel, and Rollup.
JavaScript
121
star
4

craftql

A CLI tool to visualize GraphQL schemas and to output a graph data structure as a graphviz .dot format
Rust
108
star
5

rust-wasm-webpack

A simple boilerplate to get WebAssembly (WASM) code generated by Rust and bundled by Webpack!
JavaScript
88
star
6

buble-react-rollup-starter

A simple starter project to build cool React applications with Bublรฉ and Rollup.
JavaScript
73
star
7

pattern-guard

JavaScript pattern guards ๐Ÿ’‚
JavaScript
68
star
8

picst

A cross-platform CLI tool to resize clipboard images on the fly
Rust
37
star
9

reflex-starter

A simple starter project for building Reflex applications with Stack.
Shell
36
star
10

Sigma.io

Sigma.io - Create and share data in true real-time
JavaScript
5
star
11

yume

An encrypted peer-to-peer IPv6 UDP messaging terminal client built with Rust
Rust
5
star
12

extend-package-scripts-example

An example of how to extend your package.json scripts by passing extra files or flags as arguments.
JavaScript
4
star
13

docker-flowtype

A Docker image for Flow based on ocaml/opam:debian-8_ocaml-4.03.0
4
star
14

nixos-configuration

Nix
3
star
15

react-vr-typescript

Create amazing 360 and VR content using React & TypeScript
JavaScript
3
star
16

hyperzig

HyperZig - A Hypergraph Implementation in Zig
Zig
2
star
17

git-chart-js

A simple chart rendering Angular app
JavaScript
1
star
18

polymer-game

JavaScript
1
star
19

ruster

A Docker image for Rust based on alpine:edge
1
star
20

yamafaktory

That's me!
1
star
21

.emacs.d

Emacs Lisp
1
star
22

roost

Rust
1
star
23

lumberjack.vim

Vim Script
1
star