rust-kgdb 0.6.19 → 0.6.21
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/CHANGELOG.md +29 -0
- package/README.md +90 -21
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the rust-kgdb TypeScript SDK will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.6.21] - 2025-12-16
|
|
6
|
+
|
|
7
|
+
### Factually Correct Feature Documentation
|
|
8
|
+
|
|
9
|
+
Complete feature tables based on actual implementation.
|
|
10
|
+
|
|
11
|
+
#### Features Section - Now Tables
|
|
12
|
+
- **SPARQL 1.1**: SELECT/CONSTRUCT/ASK, INSERT/DELETE/UPDATE, 64 builtins
|
|
13
|
+
- **Datalog**: Facts & Rules, Semi-naive Evaluation, Recursive Queries
|
|
14
|
+
- **GraphFrames**: PageRank, Connected Components, Shortest Paths, Triangle Count, **Motif Finding**
|
|
15
|
+
- **Embeddings**: HNSW Index, Multi-provider, Composite Search
|
|
16
|
+
- **HyperMind**: Schema-Aware, Typed Tools, Audit Trail, Memory
|
|
17
|
+
|
|
18
|
+
#### Available Tools Table
|
|
19
|
+
All 7 tools documented with Input → Output signatures:
|
|
20
|
+
- `kg.sparql.query`, `kg.sparql.update`
|
|
21
|
+
- `kg.datalog.apply`
|
|
22
|
+
- `kg.motif.find`
|
|
23
|
+
- `kg.embeddings.search`
|
|
24
|
+
- `kg.graphframes.pagerank`, `kg.graphframes.components`
|
|
25
|
+
|
|
26
|
+
#### New: Motif Finding Example
|
|
27
|
+
```javascript
|
|
28
|
+
// Find circular patterns (fraud detection!)
|
|
29
|
+
const circles = graph.find('(a)-[]->(b); (b)-[]->(c); (c)-[]->(a)')
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
5
34
|
## [0.6.19] - 2025-12-16
|
|
6
35
|
|
|
7
36
|
### Documentation: The Power of the Concept
|
package/README.md
CHANGED
|
@@ -182,29 +182,63 @@ const result = await agent.call('Calculate risk score for entity P001')
|
|
|
182
182
|
|
|
183
183
|
## Features
|
|
184
184
|
|
|
185
|
-
### Core Database
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
185
|
+
### Core Database (SPARQL 1.1)
|
|
186
|
+
| Feature | Description |
|
|
187
|
+
|---------|-------------|
|
|
188
|
+
| **SELECT/CONSTRUCT/ASK** | Full SPARQL 1.1 query support |
|
|
189
|
+
| **INSERT/DELETE/UPDATE** | SPARQL Update operations |
|
|
190
|
+
| **64 Builtin Functions** | String, numeric, date/time, hash functions |
|
|
191
|
+
| **Named Graphs** | Quad-based storage with graph isolation |
|
|
192
|
+
| **RDF-Star** | Statements about statements |
|
|
193
|
+
|
|
194
|
+
### Rule-Based Reasoning (Datalog)
|
|
195
|
+
| Feature | Description |
|
|
196
|
+
|---------|-------------|
|
|
197
|
+
| **Facts & Rules** | Define base facts and inference rules |
|
|
198
|
+
| **Semi-naive Evaluation** | Efficient incremental computation |
|
|
199
|
+
| **Recursive Queries** | Transitive closure, ancestor chains |
|
|
200
|
+
|
|
201
|
+
### Graph Analytics (GraphFrames)
|
|
202
|
+
| Feature | Description |
|
|
203
|
+
|---------|-------------|
|
|
204
|
+
| **PageRank** | Iterative node importance ranking |
|
|
205
|
+
| **Connected Components** | Find isolated subgraphs |
|
|
206
|
+
| **Shortest Paths** | BFS path finding from landmarks |
|
|
207
|
+
| **Triangle Count** | Graph density measurement |
|
|
208
|
+
| **Motif Finding** | Structural pattern matching DSL |
|
|
209
|
+
|
|
210
|
+
### Vector Similarity (Embeddings)
|
|
211
|
+
| Feature | Description |
|
|
212
|
+
|---------|-------------|
|
|
213
|
+
| **HNSW Index** | O(log N) approximate nearest neighbor |
|
|
214
|
+
| **Multi-provider** | OpenAI, Anthropic, Ollama support |
|
|
215
|
+
| **Composite Search** | RRF aggregation across providers |
|
|
216
|
+
|
|
217
|
+
### AI Agent Framework (HyperMind)
|
|
218
|
+
| Feature | Description |
|
|
219
|
+
|---------|-------------|
|
|
220
|
+
| **Schema-Aware** | Auto-extracts schema from your data |
|
|
221
|
+
| **Typed Tools** | Input/output validation prevents errors |
|
|
222
|
+
| **Audit Trail** | Every answer is traceable |
|
|
223
|
+
| **Memory** | Working, episodic, and long-term memory |
|
|
224
|
+
|
|
225
|
+
### Available Tools
|
|
226
|
+
| Tool | Input → Output | Description |
|
|
227
|
+
|------|----------------|-------------|
|
|
228
|
+
| `kg.sparql.query` | Query → BindingSet | Execute SPARQL SELECT |
|
|
229
|
+
| `kg.sparql.update` | Update → Result | Execute SPARQL UPDATE |
|
|
230
|
+
| `kg.datalog.apply` | Rules → InferredFacts | Apply Datalog rules |
|
|
231
|
+
| `kg.motif.find` | Pattern → Matches | Find graph patterns |
|
|
232
|
+
| `kg.embeddings.search` | Entity → SimilarEntities | Vector similarity |
|
|
233
|
+
| `kg.graphframes.pagerank` | Graph → Scores | Rank nodes |
|
|
234
|
+
| `kg.graphframes.components` | Graph → Components | Find communities |
|
|
203
235
|
|
|
204
236
|
### Performance
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
237
|
+
| Metric | Value | Comparison |
|
|
238
|
+
|--------|-------|------------|
|
|
239
|
+
| **Lookup Speed** | 2.78 µs | 35x faster than RDFox |
|
|
240
|
+
| **Bulk Insert** | 146K triples/sec | Production-grade |
|
|
241
|
+
| **Memory** | 24 bytes/triple | Best-in-class efficiency |
|
|
208
242
|
|
|
209
243
|
---
|
|
210
244
|
|
|
@@ -390,11 +424,46 @@ const graph = new GraphFrame(
|
|
|
390
424
|
])
|
|
391
425
|
)
|
|
392
426
|
|
|
427
|
+
// Built-in algorithms
|
|
393
428
|
console.log('Triangles:', graph.triangleCount()) // 1
|
|
394
429
|
console.log('PageRank:', JSON.parse(graph.pageRank(0.15, 20)))
|
|
395
430
|
console.log('Components:', JSON.parse(graph.connectedComponents()))
|
|
396
431
|
```
|
|
397
432
|
|
|
433
|
+
### Motif Finding (Pattern Matching)
|
|
434
|
+
|
|
435
|
+
```javascript
|
|
436
|
+
const { GraphFrame } = require('rust-kgdb')
|
|
437
|
+
|
|
438
|
+
// Create a graph with payment relationships
|
|
439
|
+
const graph = new GraphFrame(
|
|
440
|
+
JSON.stringify([
|
|
441
|
+
{id:'company_a'}, {id:'company_b'}, {id:'company_c'}, {id:'company_d'}
|
|
442
|
+
]),
|
|
443
|
+
JSON.stringify([
|
|
444
|
+
{src:'company_a', dst:'company_b'}, // A pays B
|
|
445
|
+
{src:'company_b', dst:'company_c'}, // B pays C
|
|
446
|
+
{src:'company_c', dst:'company_a'}, // C pays A (circular!)
|
|
447
|
+
{src:'company_c', dst:'company_d'} // C also pays D
|
|
448
|
+
])
|
|
449
|
+
)
|
|
450
|
+
|
|
451
|
+
// Find simple edge pattern: (a)-[]->(b)
|
|
452
|
+
const edges = JSON.parse(graph.find('(a)-[]->(b)'))
|
|
453
|
+
console.log('All edges:', edges.length) // 4
|
|
454
|
+
|
|
455
|
+
// Find two-hop path: (x)-[]->(y)-[]->(z)
|
|
456
|
+
const twoHops = JSON.parse(graph.find('(x)-[]->(y); (y)-[]->(z)'))
|
|
457
|
+
console.log('Two-hop paths:', twoHops.length) // 3
|
|
458
|
+
|
|
459
|
+
// Find circular pattern (fraud detection!): A->B->C->A
|
|
460
|
+
const circles = JSON.parse(graph.find('(a)-[]->(b); (b)-[]->(c); (c)-[]->(a)'))
|
|
461
|
+
console.log('Circular patterns:', circles.length) // 1 (the fraud ring!)
|
|
462
|
+
|
|
463
|
+
// Each match includes the bound variables
|
|
464
|
+
// circles[0] = { a: 'company_a', b: 'company_b', c: 'company_c' }
|
|
465
|
+
```
|
|
466
|
+
|
|
398
467
|
### Rule-Based Reasoning
|
|
399
468
|
|
|
400
469
|
```javascript
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rust-kgdb",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.21",
|
|
4
4
|
"description": "Production-grade Neuro-Symbolic AI Framework with Schema-Aware GraphDB, Context Theory, and Memory Hypergraph: +86.4% accuracy over vanilla LLMs. Features Schema-Aware GraphDB (auto schema extraction), BYOO (Bring Your Own Ontology) for enterprise, cross-agent schema caching, LLM Planner for natural language to typed SPARQL, ProofDAG with Curry-Howard witnesses. High-performance (2.78µs lookups, 35x faster than RDFox). W3C SPARQL 1.1 compliant.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|