Expand description
§OxiRS GraphRAG
Status: Production Release (v0.1.0)
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 cache::query_cache::CacheEntry;pub use cache::query_cache::CacheStats;pub use cache::query_cache::QueryCache;pub use cache::query_cache::QueryCacheConfig;pub use config::CacheConfiguration;pub use config::GraphRAGConfig;pub use embeddings::node2vec::Node2VecConfig;pub use embeddings::node2vec::Node2VecEmbedder;pub use embeddings::node2vec::Node2VecEmbeddings;pub use embeddings::node2vec::Node2VecWalkConfig;pub use graph::community::CommunityAlgorithm;pub use graph::community::CommunityConfig;pub use graph::community::CommunityDetector;pub use graph::embeddings::CommunityAwareEmbeddings;pub use graph::embeddings::CommunityStructure;pub use graph::embeddings::EmbeddingConfig;pub use graph::traversal::GraphTraversal;pub use query::planner::QueryPlanner;pub use retrieval::fusion::FusionStrategy;
Modules§
- cache
- Cache module for GraphRAG query results
- community_
detector - Graph community detection using a greedy label-propagation approach.
- config
- GraphRAG configuration
- context_
builder - Context building for graph-based RAG.
- distributed
- Distributed GraphRAG: federated subgraph expansion across multiple SPARQL endpoints.
- embeddings
- Graph embedding algorithms for GraphRAG.
- entity_
classifier - Entity type classification for knowledge graph nodes.
- entity_
linker - String-to-RDF entity linking: mention detection and candidate ranking.
- entity_
linking - Entity linking and disambiguation for knowledge graphs.
- federation
- Federation layer for distributed GraphRAG queries.
- fusion
- Fusion and reranking module for GraphRAG
- generation
- Answer generation module
- graph
- Graph processing module
- graph_
embedder - Graph Embedder
- graph_
partitioner - Graph partitioning using greedy and label-propagation methods.
- graph_
summarization - Graph Summarization for GraphRAG
- knowledge_
fusion - Multi-source knowledge fusion.
- path_
finder - Path Finder for Graph-RAG
- path_
ranker - Knowledge Graph Path Ranker
- query
- Query processing module
- reasoning
- Reasoning module for GraphRAG
- retrieval
- Retrieval module for GraphRAG
- sparql
- SPARQL extension functions for GraphRAG
- streaming
- Streaming subgraph extraction using SPARQL-like patterns.
- summarizer
- Knowledge Graph Subgraph Summarizer
- temporal
- Temporal reasoning and time-aware retrieval for GraphRAG
- transe_
model - TransE Knowledge Graph Embedding Model
- triple_
extractor - Triple Extractor
Structs§
- Cache
Config - Cache configuration
- 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