Expand description
§OxiRS GraphRAG
GraphRAG (Graph Retrieval-Augmented Generation) combines vector similarity search with graph topology traversal for enhanced knowledge retrieval.
§Architecture
Query → Embed → Vector KNN + Keyword Search → Fusion → Graph Expansion → LLM Answer§Key Features
- Hybrid Retrieval: Vector similarity + BM25 keyword search
- Graph Expansion: SPARQL-based N-hop neighbor traversal
- Community Detection: Louvain algorithm for hierarchical summarization
- Context Building: Intelligent subgraph extraction for LLM context
§Example
ⓘ
use oxirs_graphrag::{GraphRAGEngine, GraphRAGConfig};
let engine = GraphRAGEngine::new(config).await?;
let result = engine.query("What safety issues affect battery cells?").await?;
println!("Answer: {}", result.answer);Re-exports§
pub use config::GraphRAGConfig;pub use graph::community::CommunityDetector;pub use graph::traversal::GraphTraversal;pub use query::planner::QueryPlanner;pub use retrieval::fusion::FusionStrategy;
Modules§
- config
- GraphRAG configuration
- generation
- Answer generation module
- graph
- Graph processing module
- query
- Query processing module
- retrieval
- Retrieval module for GraphRAG
- sparql
- SPARQL extension functions for GraphRAG
Structs§
- Community
Summary - Community summary for hierarchical retrieval
- GraphRAG
Engine - Main GraphRAG engine
- GraphRAG
Result2 - GraphRAG query result
- Query
Provenance - Query provenance for attribution
- Scored
Entity - Entity with relevance score
- Triple
- Triple representation for RDF data
Enums§
- GraphRAG
Error - GraphRAG error types
- Score
Source - Source of entity score
Traits§
- Embedding
Model Trait - Trait for embedding model operations
- LlmClient
Trait - Trait for LLM client operations
- Sparql
Engine Trait - Trait for SPARQL engine operations
- Vector
Index Trait - Trait for vector index operations