ruvector/crates/ruvector-graph/tests/fixtures
Claude f3f7a95752 feat: Add Neo4j-compatible hypergraph database package (ruvector-graph)
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>
2025-11-25 23:11:54 +00:00
..
expected_results.json feat: Add Neo4j-compatible hypergraph database package (ruvector-graph) 2025-11-25 23:11:54 +00:00
movie_database.json feat: Add Neo4j-compatible hypergraph database package (ruvector-graph) 2025-11-25 23:11:54 +00:00
README.md feat: Add Neo4j-compatible hypergraph database package (ruvector-graph) 2025-11-25 23:11:54 +00:00
social_network.json feat: Add Neo4j-compatible hypergraph database package (ruvector-graph) 2025-11-25 23:11:54 +00:00

Test Fixtures

This directory contains sample datasets and expected results for testing the RuVector graph database.

Datasets

movie_database.json

A small movie database inspired by Neo4j's example dataset:

  • 3 actors (Keanu Reeves, Carrie-Anne Moss, Laurence Fishburne)
  • 1 movie (The Matrix)
  • 3 ACTED_IN relationships with role properties

social_network.json

A simple social network for testing graph algorithms:

  • 5 people
  • 6 KNOWS relationships forming a small network

Expected Results

expected_results.json

Contains test cases with:

  • Query text (Cypher)
  • Which dataset to use
  • Expected query results

Use these to validate that query execution returns correct results.

Usage in Tests

use std::fs;
use serde_json::Value;

#[test]
fn test_with_fixture() {
    let fixture = fs::read_to_string("tests/fixtures/movie_database.json").unwrap();
    let data: Value = serde_json::from_str(&fixture).unwrap();

    // Load data into graph
    // Execute queries
    // Validate against expected results
}

Adding New Fixtures

When adding new fixtures:

  1. Follow the JSON schema used in existing files
  2. Add corresponding expected results
  3. Document the dataset purpose
  4. Keep datasets small and focused on specific test scenarios