cypherlite 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cargo.toml +3 -3
- package/README.md +82 -0
- package/package.json +20 -3
package/Cargo.toml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "cypherlite-node"
|
|
3
|
-
version = "1.2.
|
|
3
|
+
version = "1.2.2"
|
|
4
4
|
edition = "2021"
|
|
5
5
|
rust-version = "1.84"
|
|
6
6
|
description = "Node.js bindings for CypherLite embedded graph database via napi-rs"
|
|
@@ -21,8 +21,8 @@ plugin = ["cypherlite-query/plugin", "cypherlite-core/plugin"]
|
|
|
21
21
|
[dependencies]
|
|
22
22
|
napi = { version = "2", features = ["napi9"] }
|
|
23
23
|
napi-derive = "2"
|
|
24
|
-
cypherlite-query = { version = "1.2.
|
|
25
|
-
cypherlite-core = { version = "1.2.
|
|
24
|
+
cypherlite-query = { version = "1.2.2", path = "../cypherlite-query" }
|
|
25
|
+
cypherlite-core = { version = "1.2.2", path = "../cypherlite-core" }
|
|
26
26
|
|
|
27
27
|
[build-dependencies]
|
|
28
28
|
napi-build = "2"
|
package/README.md
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/Epsilondelta-ai/CypherLite/main/assets/logo.png" alt="CypherLite" width="120">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
# CypherLite
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/cypherlite)
|
|
8
|
+
[](https://github.com/Epsilondelta-ai/CypherLite)
|
|
9
|
+
|
|
10
|
+
> SQLite-like simplicity for graph databases.
|
|
11
|
+
|
|
12
|
+
**CypherLite** is a lightweight, embedded, single-file graph database engine written in Rust with Node.js bindings via napi-rs. Zero-config, ACID-compliant, with native Cypher query support.
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install cypherlite
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Pre-built native addons are available for:
|
|
21
|
+
- Linux (x86_64, aarch64)
|
|
22
|
+
- macOS (x86_64, arm64)
|
|
23
|
+
- Windows (x86_64)
|
|
24
|
+
|
|
25
|
+
## Quick Start
|
|
26
|
+
|
|
27
|
+
```javascript
|
|
28
|
+
const { open } = require('cypherlite');
|
|
29
|
+
|
|
30
|
+
// Open (or create) a database
|
|
31
|
+
const db = open('my_graph.cyl');
|
|
32
|
+
|
|
33
|
+
// Create nodes and relationships
|
|
34
|
+
db.execute("CREATE (a:Person {name: 'Alice', age: 30})");
|
|
35
|
+
db.execute("CREATE (b:Person {name: 'Bob', age: 25})");
|
|
36
|
+
db.execute(`
|
|
37
|
+
MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})
|
|
38
|
+
CREATE (a)-[:KNOWS {since: 2024}]->(b)
|
|
39
|
+
`);
|
|
40
|
+
|
|
41
|
+
// Query the graph
|
|
42
|
+
const result = db.execute(
|
|
43
|
+
'MATCH (p:Person) RETURN p.name, p.age ORDER BY p.age'
|
|
44
|
+
);
|
|
45
|
+
for (const row of result) {
|
|
46
|
+
console.log(`${row['p.name']}: ${row['p.age']}`);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Parameterized queries
|
|
50
|
+
const alice = db.execute(
|
|
51
|
+
'MATCH (p:Person) WHERE p.name = $name RETURN p.age',
|
|
52
|
+
{ name: 'Alice' }
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
// Transactions
|
|
56
|
+
const tx = db.begin();
|
|
57
|
+
tx.execute("CREATE (c:Person {name: 'Charlie', age: 35})");
|
|
58
|
+
tx.commit();
|
|
59
|
+
|
|
60
|
+
db.close();
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Features
|
|
64
|
+
|
|
65
|
+
- **ACID Transactions** with Write-Ahead Logging
|
|
66
|
+
- **Cypher Queries**: CREATE, MATCH, SET, DELETE, MERGE, WITH, ORDER BY, LIMIT
|
|
67
|
+
- **Temporal Queries**: AT TIME, BETWEEN TIME for point-in-time lookups
|
|
68
|
+
- **Subgraph Snapshots**: CREATE SNAPSHOT for graph state capture
|
|
69
|
+
- **Hyperedges**: Native N:M relationship support
|
|
70
|
+
- **Plugin System**: Custom scalar functions, triggers, serializers
|
|
71
|
+
- **Single-file Database**: Zero configuration, embedded in your application
|
|
72
|
+
|
|
73
|
+
## Links
|
|
74
|
+
|
|
75
|
+
- [Documentation](https://epsilondelta-ai.github.io/CypherLite/en/)
|
|
76
|
+
- [GitHub Repository](https://github.com/Epsilondelta-ai/CypherLite)
|
|
77
|
+
- [Rust API (docs.rs)](https://docs.rs/cypherlite-query)
|
|
78
|
+
- [Changelog](https://github.com/Epsilondelta-ai/CypherLite/blob/main/CHANGELOG.md)
|
|
79
|
+
|
|
80
|
+
## License
|
|
81
|
+
|
|
82
|
+
MIT OR Apache-2.0
|
package/package.json
CHANGED
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cypherlite",
|
|
3
|
-
"version": "1.2.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.2.2",
|
|
4
|
+
"description": "Lightweight embedded graph database with Cypher query support",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/Epsilondelta-ai/CypherLite.git"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://epsilondelta-ai.github.io/CypherLite/en/",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/Epsilondelta-ai/CypherLite/issues"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"graph",
|
|
17
|
+
"database",
|
|
18
|
+
"cypher",
|
|
19
|
+
"embedded",
|
|
20
|
+
"property-graph",
|
|
21
|
+
"graph-database",
|
|
22
|
+
"napi-rs"
|
|
23
|
+
],
|
|
7
24
|
"napi": {
|
|
8
25
|
"name": "cypherlite",
|
|
9
26
|
"triples": {}
|
|
@@ -17,5 +34,5 @@
|
|
|
17
34
|
"@napi-rs/cli": "^2.18.0",
|
|
18
35
|
"vitest": "^3.0.0"
|
|
19
36
|
},
|
|
20
|
-
"license": "MIT"
|
|
37
|
+
"license": "MIT OR Apache-2.0"
|
|
21
38
|
}
|