#actix #atomic-data #atomic #cli #linked-data #rdf #lib #sled #server #graph

atomic_lib

Library for creating, storing, querying, validating and converting Atomic Data

41 releases (22 breaking)

Uses new Rust 2021

0.29.0 Nov 21, 2021
0.28.0 Oct 31, 2021
0.24.2 Jul 13, 2021
0.23.2 Mar 30, 2021
0.17.0 Nov 22, 2020

#4 in #sled

Download history 66/week @ 2021-08-09 72/week @ 2021-08-16 6/week @ 2021-08-23 2/week @ 2021-09-06 10/week @ 2021-09-13 22/week @ 2021-09-20 35/week @ 2021-09-27 63/week @ 2021-10-04 50/week @ 2021-10-11 19/week @ 2021-10-18 51/week @ 2021-10-25 28/week @ 2021-11-01 57/week @ 2021-11-08 36/week @ 2021-11-15 15/week @ 2021-11-22

144 downloads per month
Used in 2 crates

MIT license

260KB
5.5K SLoC

atomic-lib

crates.io Released API docs Discord chat MIT licensed github

Status: Alpha. Prone to breaking changes. Changelog

Rust library for using Atomic Data. Powers atomic-cli and atomic-server.

Check out the docs on docs.rs. For code examples, see examples/basic.rs and the many tests in the code.

Features

  • Two stores for Atomic Data:
    • In-memory store for getting / setting data (Store). Useful for clients.
    • On disk database (Db, uses Sled), which powers atomic-server.
  • JSON-AD Parser & Serializer
  • Serialization of atomic data to JSON-AD, plain JSON, RDF, Turtle, N-Triples and JSON-LD.
  • Path traversal
  • Convert Atomic Data to Rust native types
  • Resolve / parse mappings (bookmarks)
  • Validate Atomic Schema
  • Atomic Commits (transactions / delta's / changes / updates / versioning / history)
  • Plugin system (although not very mature)
  • Collections (pagination, sorting, filtering)
  • Querying (using triple pattern fragments)
  • Invites
  • Hierarchy
  • Saving Atomic Config files.

Optional features

Some features of this library are optional, to minimize bundle size and compile times.

db

The db features adds persistence, which means that you can store stuff on an HDD / SSD. It uses [Sled], a performant, embedded key-value store.

rdf

If you need RDF serialization options (Turtle / N-Triples), use this feature.

config

Filesystem management of Atomic Config files. Used in atomic-cli and atomic-server.

Dependencies

~8–12MB
~332K SLoC