All Projects → dyedgreen → cqlite

dyedgreen / cqlite

Licence: MIT license
Embedded graph database

Programming Languages

rust
11053 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to cqlite

janusgraph-docker
Yet another JanusGraph, Cassandra/Scylla and Elasticsearch in Docker Compose setup
Stars: ✭ 54 (-27.03%)
Mutual labels:  graph-database, cypher-query-language
Cypher.js
Cypher graph database for Javascript
Stars: ✭ 30 (-59.46%)
Mutual labels:  graph-database, cypher-query-language
seabolt
Neo4j Bolt Connector for C
Stars: ✭ 37 (-50%)
Mutual labels:  graph-database, cypher-query-language
database-journal
Databases: Concepts, commands, codes, interview questions and more...
Stars: ✭ 50 (-32.43%)
Mutual labels:  graph-database
uber-graph-benchmark
A framework to benchmark different graph databases, based on generated data from customizable schema, distribution, and size.
Stars: ✭ 25 (-66.22%)
Mutual labels:  graph-database
yildiz
🦄🌟 Graph Database layer on top of Google Bigtable
Stars: ✭ 24 (-67.57%)
Mutual labels:  graph-database
neo4j.cr
Pure-Crystal implementation of Neo4j's Bolt protocol
Stars: ✭ 29 (-60.81%)
Mutual labels:  graph-database
NoSQLDataEngineering
NoSQL Data Engineering
Stars: ✭ 25 (-66.22%)
Mutual labels:  graph-database
nebula-graph
A distributed, fast open-source graph database featuring horizontal scalability and high availability. This is an archived repo for v2.5 only, from 2.6.0 +, NebulaGraph switched back to https://github.com/vesoft-inc/nebula
Stars: ✭ 833 (+1025.68%)
Mutual labels:  graph-database
Cayley.Net
.Net Client for an open-source graph database Cayley
Stars: ✭ 14 (-81.08%)
Mutual labels:  graph-database
CyFHIR
A Neo4j Plugin for Handling HL7 FHIR Data
Stars: ✭ 39 (-47.3%)
Mutual labels:  graph-database
docs
Source code of the ArangoDB online documentation
Stars: ✭ 18 (-75.68%)
Mutual labels:  graph-database
greycat
GreyCat - Data Analytics, Temporal data, What-if, Live machine learning
Stars: ✭ 104 (+40.54%)
Mutual labels:  graph-database
Public-Transport-SP-Graph-Database
Metropolitan Transport Network from São Paulo mapped in a NoSQL graph database.
Stars: ✭ 25 (-66.22%)
Mutual labels:  graph-database
grafito
Portable, Serverless & Lightweight SQLite-based Graph Database in Arturo
Stars: ✭ 95 (+28.38%)
Mutual labels:  graph-database
nebula
A distributed, fast open-source graph database featuring horizontal scalability and high availability
Stars: ✭ 8,196 (+10975.68%)
Mutual labels:  graph-database
neo4j-faker
Use faker cypher functions to generate demo and test data with cypher
Stars: ✭ 30 (-59.46%)
Mutual labels:  graph-database
angular-neo4j
Neo4j Bolt driver wrapper for Angular
Stars: ✭ 18 (-75.68%)
Mutual labels:  graph-database
GraphOfDocs
GraphOfDocs: Representing multiple documents as a single graph
Stars: ✭ 13 (-82.43%)
Mutual labels:  graph-database
ml-models
Machine Learning Procedures and Functions for Neo4j
Stars: ✭ 63 (-14.86%)
Mutual labels:  graph-database

CQLite

crates.io Released API docs CI MIT licensed

An embedded graph database implemented in Rust. This is currently a pre-release. It has not been extensively tested with 'real-world work-loads', and the file-format and API are not yet stabilized.

The longer term goal is to create an in-process graph database with a stable on-disk format and support for a wide range of programming languages, providing a native Rust API, as well as a C FFI interface.

use cqlite::Graph;

let graph = Graph::open_anon()?;

let mut txn = graph.mut_txn()?;
let edge: u64 = graph.prepare(
        "
        CREATE (a:PERSON { name: 'Peter Parker' })
        CREATE (b:PERSON { name: 'Clark Kent' })
        CREATE (a) -[e:KNOWS]-> (b)
        RETURN ID(e)
        "
    )?
    .query_map(&mut txn, (), |m| m.get(0))?
    .next()
    .unwrap()?;
txn.commit()?;

let name: String = graph.prepare(
        "
        MATCH (p:PERSON) <-[e:KNOWS]- (:PERSON)
        WHERE ID(e) = $edge
        RETURN p.name
        "
    )?
    .query_map(&mut graph.txn()?, ("edge", edge), |m| m.get(0))?
    .next()
    .unwrap()?;
assert_eq!("Clark Kent", name);

Architecture Overview

Parser :: src/parser

PEG grammar and parser for a subset of the CYPHER graph query language

Query Planner :: src/planner

Transforms a parsed query ast into a logical query plan. Performs some optimizations on the query plan.

Byte-Code Interpreter :: src/runtime

Defines a simple 'byte' code (Instructions) and can execute those against a given database, as well as generate instructions for a given query plan.

Storage Backend :: src/store

Uses a disc-backed btree to provide basic storage, iteration and lockup for nodes and edges.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].