graph-api-lib

Crates.iograph-api-lib
lib.rsgraph-api-lib
version
sourcesrc
created_at2025-04-12 22:40:45.716644+00
updated_at2025-04-20 22:43:41.22817+00
descriptionCore library for the graph-api ecosystem - a flexible, type-safe API for working with in-memory graphs in Rust
homepage
repositoryhttps://github.com/BrynCooke/graph-api
max_upload_size
id1631323
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Bryn Cooke (BrynCooke)

documentation

https://bryncooke.github.io/graph-api/

README

Graph-API-Lib

Welcome to graph-api-lib — a delightful and powerful general-purpose library for working with graph data structures in Rust!

graph-api-lib provides a standardized API for graph mutation and traversal, abstracting away the complexity of working with different graph implementations. It allows you to write clean, maintainable graph-related code that isn't tied to a specific backend.

With graph-api-lib, graph operations become intuitive and enjoyable. Add vertices, create edges, traverse your data, and analyze graph structures with a consistent, ergonomic interface.

Dive into the graph-api book for a comprehensive guide to using this library.

Key Features

  1. Type-Safe Graph Operations: Leverage Rust's type system for safer, more maintainable code.
  2. Flexible Traversal System: Navigate your graph data with intuitive, chainable operations.
  3. Implementation Agnostic: Write code once that works across different graph backends.
  4. Ergonomic API Design: Enjoy a clean, intuitive interface that makes graph code readable and maintainable.
  5. Rich Query Capabilities: Find exactly what you're looking for with expressive queries.

Example Usage

// Find all people who created projects written in Rust:
let rust_creators = graph
.walk()
.vertices(Vertex::person())
.edges(Edge::created().direction(Direction::Outgoing))
.tail()
.edges(Edge::language().direction(Direction::Outgoing))
.tail()
.filter_rust()
.head()
.collect::<Vec<_ > > ();

Future Development

  1. Algorithm Support: Shortest path, spanning trees, and more graph algorithms.
  2. Cycle Detection: Prevent traversals from visiting the same element twice.
  3. API Refinements: Continued improvements to make graph operations even more intuitive.

Perfect For

  • Social network analysis
  • Dependency tracking
  • Knowledge graphs
  • Recommendation systems
  • Any application dealing with connected data!
Commit count: 0

cargo fmt