mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-05-23 21:25:02 +00:00
Major new package implementing a distributed hypergraph database with: ## Core Components (crates/ruvector-graph/) - Cypher-compatible query parser with lexer, AST, optimizer - Query execution engine with SIMD optimization and parallel execution - ACID transaction support with MVCC isolation levels - Distributed consensus and federation layer - Vector-graph hybrid queries for AI/RAG workloads - Performance optimizations (100x faster than Neo4j target) ## Bindings - WASM bindings (crates/ruvector-graph-wasm/) - NAPI-RS Node.js bindings (crates/ruvector-graph-node/) - NPM packages for both targets ## CLI Integration - 8 new graph commands: create, query, shell, import, export, info, benchmark, serve ## CI/CD - Updated build-native.yml for graph packages - New graph-ci.yml for testing and benchmarks - New graph-release.yml for automated publishing ## Data Generation - OpenRouter/Kimi K2 integration (packages/graph-data-generator/) - Agentic-synth benchmark suite integration ## Tests & Benchmarks - 11 test files covering all components - Criterion benchmarks for performance validation - Neo4j compatibility test suite ## Architecture Highlights - CSR graph layout for cache-friendly access - SIMD-vectorized query operators - Roaring bitmaps for label indexes - Bloom filters for fast negative lookups - Adaptive radix tree for property indexes Note: This is a comprehensive implementation created by 15 parallel agents. Some integration fixes may be needed to resolve cross-module dependencies. Co-authored-by: Claude AI Swarm <swarm@claude.ai>
59 lines
2 KiB
Bash
Executable file
59 lines
2 KiB
Bash
Executable file
#!/bin/bash
|
|
# Comprehensive test of all RuVector graph CLI commands
|
|
|
|
set -e
|
|
|
|
CLI="./target/debug/ruvector"
|
|
TEST_DB="/tmp/ruvector-graph-test.db"
|
|
|
|
echo "=========================================="
|
|
echo "RuVector Graph CLI - Full Command Test"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# Test 1: Create
|
|
echo "1. Testing: graph create"
|
|
$CLI graph create --path $TEST_DB --name test-graph --indexed
|
|
echo ""
|
|
|
|
# Test 2: Info
|
|
echo "2. Testing: graph info"
|
|
$CLI graph info --db $TEST_DB --detailed
|
|
echo ""
|
|
|
|
# Test 3: Query
|
|
echo "3. Testing: graph query"
|
|
$CLI graph query --db $TEST_DB --cypher "MATCH (n) RETURN n" --format table
|
|
echo ""
|
|
|
|
# Test 4: Query with explain
|
|
echo "4. Testing: graph query --explain"
|
|
$CLI graph query --db $TEST_DB --cypher "MATCH (n:Person) WHERE n.age > 25 RETURN n" --explain
|
|
echo ""
|
|
|
|
# Test 5: Benchmark
|
|
echo "5. Testing: graph benchmark"
|
|
$CLI graph benchmark --db $TEST_DB --queries 100 --bench-type traverse
|
|
echo ""
|
|
|
|
# Test 6: Serve (won't actually start, just test args)
|
|
echo "6. Testing: graph serve (dry run)"
|
|
timeout 2 $CLI graph serve --db $TEST_DB --host 127.0.0.1 --http-port 8080 --grpc-port 50051 --graphql 2>&1 || true
|
|
echo ""
|
|
|
|
echo "=========================================="
|
|
echo "All Tests Completed Successfully!"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo "Summary of implemented commands:"
|
|
echo " ✓ graph create - Create new graph database"
|
|
echo " ✓ graph query - Execute Cypher queries (-q flag)"
|
|
echo " ✓ graph shell - Interactive REPL (use Ctrl+C to exit)"
|
|
echo " ✓ graph import - Import from files (-i flag)"
|
|
echo " ✓ graph export - Export to files (-o flag)"
|
|
echo " ✓ graph info - Show statistics (--detailed flag)"
|
|
echo " ✓ graph benchmark - Performance tests (-n, -t flags)"
|
|
echo " ✓ graph serve - HTTP/gRPC server (--graphql flag)"
|
|
echo ""
|
|
echo "All commands use -b for --db (not -d, which is for --debug)"
|
|
echo "Query uses -q for --cypher (not -c, which is for --config)"
|