ruvector/crates/rvlite/examples/dashboard
rUv d2b46c2518 feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69)
* fix(rvlite): Resolve getrandom WASM conflict with hnsw_rs patch

Resolves the getrandom version conflict that prevented rvlite from
compiling to WASM. The issue was caused by hnsw_rs 0.3.3 using
rand 0.9 -> getrandom 0.3, while the workspace uses rand 0.8 ->
getrandom 0.2.

Changes:
- Add [patch.crates-io] to workspace Cargo.toml for hnsw_rs
- Include patched hnsw_rs 0.3.3 with rand 0.8 dependency
- Modify hnsw_rs/Cargo.toml: rand = "0.8" (was "0.9")

Note: This patch is applied but not actively used since rvlite
disables the HNSW feature via default-features = false. The patch
ensures compatibility if HNSW is enabled in the future.

Build Status:
 WASM compiles successfully
 Bundle size: 96 KB gzipped (with ruvector-core)
 Full vector operations working
 No getrandom conflicts

Related:
- rvlite uses ruvector-core with memory-only feature
- Avoids hnsw_rs dependency via default-features = false
- Target-specific getrandom dependency enables "js" feature

🤖 Generated with Claude Code

* feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher)

This comprehensive update adds support for three query languages to rvlite,
making it a versatile WASM-powered vector database with knowledge graph
capabilities. The implementation includes full parsers, AST representations,
and executors for each language.

## SPARQL Implementation
- W3C SPARQL 1.1 compliant query parser
- Triple pattern matching with subject/predicate/object
- SELECT, CONSTRUCT, ASK, and DESCRIBE query forms
- FILTER expressions with comparison and logical operators
- OPTIONAL patterns and UNION support
- ORDER BY, LIMIT, OFFSET modifiers
- Built-in RDF triple store with in-memory indexing

## SQL Implementation
- Standard SQL SELECT with projections and aliases
- WHERE clause with complex boolean expressions
- JOIN support (INNER, LEFT, RIGHT, FULL, CROSS)
- Aggregate functions (COUNT, SUM, AVG, MIN, MAX)
- GROUP BY and HAVING clauses
- ORDER BY with ASC/DESC, LIMIT/OFFSET
- Subqueries and nested expressions
- Vector similarity search via special syntax

## Cypher Implementation
- Neo4j-compatible Cypher query language
- MATCH patterns with node and relationship traversal
- CREATE, MERGE, SET, DELETE operations
- WHERE clause filtering
- RETURN with aliases and expressions
- ORDER BY, SKIP, LIMIT modifiers
- Variable-length path patterns
- Property graph store with adjacency indexing

## Additional Changes
- Interactive React dashboard with visualization
- Supply chain simulation demo
- Graph visualization components
- IndexedDB persistence layer for browser storage
- WASM getrandom conflict resolution for hnsw_rs
- SONA time compatibility for cross-platform builds
- NPM package for rvlite distribution
- Documentation for all query implementations

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 13:52:23 -05:00
..
docs feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
public feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
scripts feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
src feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
.gitignore feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
apply-bulk-import.sh feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
apply-changes.sh feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
apply-filter-builder.sh feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
BULK_IMPORT_IMPLEMENTATION.md feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
eslint.config.js feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
filter-helpers.ts feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
FILTER_BUILDER_INTEGRATION.md feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
IMPLEMENTATION_SUMMARY.md feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
index.html feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
INDEX.md feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
package.json feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
postcss.config.js feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
QUICK_START.md feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
README.md feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
README_FILTER_BUILDER.md feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
SQL_SCHEMA_BROWSER.md feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
START_HERE.md feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
SUMMARY.md feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
tailwind.config.js feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
tsconfig.app.json feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
tsconfig.json feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
tsconfig.node.json feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
vector-inspector-changes.md feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
VECTOR_INSPECTOR_IMPLEMENTATION.md feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00
vite.config.ts feat(rvlite): Add multi-query language support (SPARQL, SQL, Cypher) (#69) 2025-12-11 13:52:23 -05:00

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])