
Knowledge Graph Hybrid RAG
https://github.com/safishamsi/knowledge-graph-based-hybrid-rag-system- Category
- AI Tools
- Rank
- No. 1721Tools index
Previous survey · No. 1728 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- safishamsi
- GitHub
- 21 stars
- Date
About
Hybrid RAG system on Neo4j with LangChain and LangGraph — combines SBERT embeddings, graph traversal, and BM25 over 61K papers.
What it does
An academic discovery assistant focused on University of Birmingham research. It finds relevant papers and researchers, studies collaboration networks and topic trends, then asks Claude to turn those results into practical guidance and suggested next steps.
Why it's ranked here
The case is mixed. The project covers a useful research workflow, from discovery through institutional collaboration analysis, and includes concrete example output. However, its headline performance claims lack supporting methodology in the supplied text, while setup and source integration remain closer to a thesis prototype than a reusable product.
What's good
The graph models papers, authors, affiliations, publications and their relationships with explicit identifiers. Search results retain titles, abstracts, authors, institutions, years, citations and similarity values. Network analysis adds centrality and community detection, while trend analysis summarizes yearly activity and emerging title keywords.
Tradeoffs
The implementation assumes local infrastructure, prepared Scopus data and an Anthropic key. Some database credentials are hardcoded. The main assistant depends on objects created elsewhere, and the documented import does not match the supplied class definitions. Researcher scoring uses fixed weights, while recent work relies on a fixed year threshold. Several broad accuracy, bias, speed and preference claims appear without evaluation details.
How to use it well
Use it as a research prototype for teams exploring an institution's papers, expertise, collaboration structure and topic movement. Expect to assemble the Python components, populate Neo4j and build the search index yourself. It does not provide a hosted service, polished package installation or evidence that its reported benchmark gains generalize beyond the project data.
Technical notes+
LLMpoweredRAG.py defines SmartResearchAssistant as a five-node LangGraph sequence and initializes it at import time through create_smart_assistant(), but the referenced rag, research_assistant and collab_trend_analyzer objects are not defined in the supplied portion. embeddings/embeddingskg.py defines FixedAcademicRAGSystem, loads all-MiniLM-L6-v2, normalizes vectors and builds a FAISS inner-product index before fetching authors from Neo4j per result. RAG/collaboration.py builds NetworkX graphs, calculates four centrality measures and applies greedy modularity communities. Neo4jKG/kgbuilder.py contains retry logic and schema creation, but hardcodes the local URI and password. README.md documents AcademicSearchSystem, a class not present in the supplied source, and uses manual dependency installation rather than a root package manifest.
Observed
- License
- MIT License.
- Primary language
- Python.
- Installation surface
- Source checkout with manual pip installation; no root package manifest is shown.
- Interfaces
- Python classes plus an interactive terminal prompt for research questions.
- Required services
- A Neo4j database and an Anthropic API key are required by the documented setup.
- Data model
- Neo4j nodes cover documents, authors, affiliations and publications, with authorship, coauthor, affiliation and publication relationships.
- Repository structure
- Separate directories hold graph construction, retrieval and analysis, embeddings, Scopus collection, data and dissertation material.
Read from README.md, LLMpoweredRAG.py, Neo4jKG/kgbuilder.py, RAG/collaboration.py, RAG/retrievalqueries.py, embeddings/embeddingskg.py, LICENSE, queries.txt, README_template.md, RAG/readme.md, Neo4jKG/README.md.
What it can do
Search papers using semantic similarity
Natural language query → Ranked list of semantically similar research papers
Traverse knowledge graph relationships
Starting paper or concept node → Connected papers and relationship paths
Search papers using keyword matching
Keywords or phrases → Papers containing exact keyword matches with BM25 scoring
Generate embeddings for research papers
Paper text content → SBERT vector embeddings
Combine multiple search strategies
User query → Unified search results from semantic, graph, and keyword approaches
Query knowledge graph structure
Graph traversal parameters → Node and edge information from Neo4j database
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.