# RAG & GraphRAG in the Humanities: Limitations and Advances
**Retrieval-Augmented Generation (RAG)** – using external knowledge retrieval to enhance LLM responses – holds promise for digital humanities. However, naïvely applying **embedding-based retrieval** on large textual traditions (e.g. Dickens’s novels, Homeric epics, Foucault’s writings) often fails to capture scholarly nuance. This report examines the gap between simple semantic similarity search and the **conceptual mapping** that humanists do, and how approaches like **GraphRAG** (RAG with knowledge graphs) or ontology-augmented retrieval aim to bridge that gap. We compare a baseline vector-search RAG to GraphRAG on humanities corpora, highlighting where academic reasoning breaks down and what design patterns can help.
## From Semantic Similarity to Scholarly Relevance
Traditional RAG systems rely on **dense embedding** vectors: texts and queries are encoded into high-dimensional vectors, and nearest neighbors are retrieved based on cosine similarity[*\[1\]*](https://dev.to/needle-ai/embedding-rag-vs-graph-rag-under-5-minutes-20h3#:~:text=How%20It%20Works%3A%20Embedding%20RAG,information%20by%20comparing%20vector%20similarities). This works well for finding semantically related passages quickly, especially for factoid queries[*\[2\]*](https://dev.to/needle-ai/embedding-rag-vs-graph-rag-under-5-minutes-20h3#:~:text=Speed%20%26%20Scalability%3A%20Embedding%20RAG,significantly%20speeding%20up%20response%20times). But “semantic similarity” is not the same as **scholarly relevance**. In humanities research, relevance often depends on conceptual or relational connections that go beyond surface wording[*\[3\]*](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f#:~:text=Relevance%20vs%20Similarity). Simply put: *similarity is about matching words, whereas relevance in scholarship is about connectedness of ideas[\[3\]](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f#:~:text=Relevance%20vs%20Similarity)*.
* **Literal Matching vs Conceptual Mapping:** An embedding model might retrieve text that shares keywords or phrasing with the query, yet miss the deeper concept the question targets. For example, a query about *“industrialization in Dickens’s work”* might not explicitly match passages in Dickens’s text (he may not use the word “industrialization”). A scholar, however, knows to examine **Hard Times** (Coketown’s factories) or **Oliver Twist** (workhouse scenes) as relevant. The embedding retriever, lacking that conceptual map, could return irrelevant hits that happen to mention “industry” in another context, missing the true focus.
* **Multi-Hop Reasoning:** Humanities questions often require connecting information spread across texts. Baseline RAG **struggles to “connect the dots”** across disparate pieces of information[*\[4\]*](https://microsoft.github.io/graphrag/#:~:text=,or%20even%20singular%20large%20documents). It treats each chunk independently, so a complex question requiring multi-hop reasoning or synthesis (e.g. “Compare the treatment of justice in *The Odyssey* and *The Iliad*”) is problematic. The single-vector query can’t easily retrieve two different epics and then compare; it might return one chunk from one epic that is semantically closest, ignoring the other. Microsoft researchers observe that baseline RAG fails when answering a question needs traversing multiple pieces of knowledge or summarizing large collections[*\[4\]*](https://microsoft.github.io/graphrag/#:~:text=,or%20even%20singular%20large%20documents). Even in simpler domains, these theoretical limits show up – recent work demonstrates fundamental limits of single-vector embeddings to capture all aspects of a query[*\[5\]*](https://arxiv.org/abs/2508.21038#:~:text=query%20is%20limited%20by%20the,can%20resolve%20this%20fundamental%20limitation). In short, one vector cannot encode multiple hops or facets well[*\[5\]*](https://arxiv.org/abs/2508.21038#:~:text=query%20is%20limited%20by%20the,can%20resolve%20this%20fundamental%20limitation).
* **Holistic Summaries:** Similarly, baseline embedding retrieval falters at **holistic or broad questions** about a corpus[*\[6\]*](https://microsoft.github.io/graphrag/#:~:text=question%20requires%20traversing%20disparate%20pieces,or%20even%20singular%20large%20documents). For instance, *“What are the main themes across Dickens’s novels?”* is asking for an aggregation over many documents. A naive RAG might pull a few semantically similar excerpts (perhaps a SparkNotes-like summary if one is in the index, or just a random thematic mention), but it won’t systematically cover all major themes. As the GraphRAG team notes, baseline RAG performs poorly on *“holistically understanding summarized semantic concepts over large data collections”[\[7\]](https://microsoft.github.io/graphrag/#:~:text=question%20requires%20traversing%20disparate%20pieces,or%20even%20singular%20large%20documents)* – exactly the kind of insight humanities scholars seek.
* **Interpretation and Context:** Pure similarity search also lacks **interpretive context**. A scholar’s concept mapping includes background knowledge, historical context, and nuanced understanding of terms. An embedding model, however, only knows statistical co-occurrences from training data. This can lead to retrieval of *semantically similar but contextually wrong* passages. For example, a question about Foucault’s concept of “power/knowledge” might retrieve any text where Foucault mentions “power” and “knowledge” in proximity, even if it’s not an explanation of the concept. The subtle evolution of a concept or its specific meaning in context might be lost in the embedding representation. Indeed, researchers note that **dense embeddings compress text in a lossy way**, potentially losing the rich relational info needed for nuanced answers[*\[8\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=When%20you%20rely%20solely%20on,to%20build%20an%20accurate%20answer). Important connections can be left out if a query isn’t phrased exactly in a way the model expects[*\[9\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=out%20on%20the%20nuanced%20relationships,to%20build%20an%20accurate%20answer).
In summary, **embedding-based RAG** is *fast and effective for surface-level matching*, but it can fail for complex humanities queries requiring multi-part reasoning, conceptual leaps, or broad synthesis[*\[10\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=A%20baseline%20RAG%20usually%20integrates,connecting%20disparate%20pieces%20of%20information)*[\[11\]](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=The%20challenge%20usually%20arises%20at,Q%26A%20pairs%20for%20frequent%20queries)*. The “technical gap” here is that scholarly inquiry relies on networks of related ideas (themes, motifs, influences, historical context), whereas embeddings provide a flat similarity measure without explicit relational structure.
## GraphRAG: Injecting Knowledge Graph Structure
To address these limitations, new approaches augment RAG with **knowledge graphs**. **GraphRAG** (Graph Retrieval-Augmented Generation) is one such method that integrates a graph-structured knowledge base into the RAG pipeline[*\[12\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=To%20address%20such%20challenges%2C%20Microsoft,with%20the%20Milvus%20vector%20database)*[\[13\]](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=Unlike%20a%20baseline%20RAG%20that,data%20based%20on%20their%20relationships)*. Instead of only retrieving free-text chunks by vector similarity, GraphRAG builds and uses a graph of entities and their relationships extracted from the corpus. This adds a layer of explicit context and reasoning structure.
*Figure 1: An example of an LLM-generated knowledge graph from a text corpus (GraphRAG). Each node (circle) represents an entity (e.g. a person, place, concept) extracted from the texts. Nodes are clustered by community (indicated by color), and node size reflects its degree (connectivity) in the graph[\[14\]](https://microsoft.github.io/graphrag/#:~:text=,holistic%20understanding%20of%20the%20dataset). Such a graph encodes the relationships in the corpus, providing a richer model of knowledge than isolated text chunks.*
**How GraphRAG Works:** In the indexing stage, GraphRAG uses an LLM to **extract entities, relations, and key claims** from each document or text chunk[*\[15\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=1,to%20construct%20an%20initial%20knowledge). From Dickens, for example, it would identify characters (e.g. *Oliver Twist*, *Fagin*), places (London, workhouse), and relationships (Oliver is an orphan, Fagin mentors thieves, etc.), as well as key statements or claims (perhaps “the workhouse system is cruel”). These become nodes and edges in a **knowledge graph**. The system then applies **hierarchical clustering** (e.g. Leiden community detection) on the graph to find groups of closely related nodes[*\[16\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=unit,depth%20analysis). In Dickens’s corpus, one community might cluster characters and places around the theme of poverty and crime (Oliver, Fagin, London slums), another around legal systems, etc. GraphRAG generates **summaries for each community** – essentially thematic summaries that capture what that cluster of the graph is about[*\[17\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=1,contextual%20information%20for%20subsequent%20queries). This creates a multi-layer, interpretable representation: bottom-up knowledge of relationships and high-level summaries of themes[*\[17\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=1,contextual%20information%20for%20subsequent%20queries).
During querying, GraphRAG can take two paths[*\[18\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=GraphRAG%20has%20two%20different%20querying,workflows%20tailored%20for%20different%20queries):
* **Global Search:** For broad questions about the whole corpus, it leverages the community summaries[*\[19\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=,their%20neighbors%20and%20associated%20concepts). It can provide context by saying “According to the summaries of themes in these works, here are the main points…”. In our Dickens example query about **major themes across novels**, GraphRAG’s global mode would likely pull the summaries of the thematic communities (e.g. one summary says Dickens often addresses social injustice; another highlights childhood and orphanhood). These summaries, which were generated by analyzing the entire corpus structure, serve as a synthesized context. The LLM can then generate an answer citing those themes and examples, rather than fumbling through a few random passages.
* **Local Search:** For specific, targeted queries (e.g. “Who is Achilleus’ father in *The Iliad*?” or “What does Foucault say about ‘Panopticon’?”), GraphRAG performs a **focused traversal**. It finds the relevant entity node (Achilleus, or the concept of Panopticon) and **fans out** to its neighbors and related concepts in the graph[*\[19\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=,their%20neighbors%20and%20associated%20concepts)*[\[20\]](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=2,maps%20entities%20to%20their%20covariates)*. Essentially, it gathers the network of directly connected information about that entity. This could be the lines in Homer where Achilleus’ lineage is mentioned, or the sections in Foucault where Panopticon is described, along with connected ideas (surveillance, prisons, Bentham). By pulling in that subgraph, GraphRAG gives the LLM a concentrated, rich context to answer the query accurately.
Notably, Microsoft’s GraphRAG design showed two levels of search produce much better answers for complex queries than naive search[*\[21\]*](https://microsoft.github.io/graphrag/#:~:text=At%20query%20time%2C%20these%20structures,The%20primary%20query%20modes%20are)*[\[22\]](https://microsoft.github.io/graphrag/#:~:text=To%20address%20this%2C%20the%20tech,previously%20applied%20to%20private%20datasets)*. Where baseline RAG failed to connect disparate info or summarize a large text, GraphRAG’s knowledge graph and summaries filled in those gaps[*\[22\]*](https://microsoft.github.io/graphrag/#:~:text=To%20address%20this%2C%20the%20tech,previously%20applied%20to%20private%20datasets). One case study from the GraphRAG team was a question asking for the *top 5 themes* in a war news dataset. The **baseline RAG** (vector search) returned irrelevant snippets, “leading to an inaccurate assessment,” because it couldn’t aggregate themes properly[*\[23\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=Q%3A%20What%20are%20the%20top,5%20themes%20in%20the%20dataset). In contrast, **GraphRAG** produced *“a clear and relevant answer, identifying the main themes and supporting details,”* with references[*\[24\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=The%20answers%20are%20shown%20in,with%20references%20to%20source%20material). The structured approach was aligned with the actual dataset contents, whereas pure similarity had led the model astray[*\[24\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=The%20answers%20are%20shown%20in,with%20references%20to%20source%20material).
This example mirrors what we’d expect in humanities: ask a broad question like “themes in Dickens,” and a vanilla vector search might miss the mark entirely, while a GraphRAG that *understands the corpus structure* could enumerate themes like *poverty, childhood, industrialization, class* and point to evidence in multiple novels. Indeed, experiments have found GraphRAG’s answers to complex, multi-hop or summary questions to be significantly more **comprehensive and diverse** than baseline RAG[*\[25\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=Further%20experiments%20in%20the%20paper,in%20both%20comprehensiveness%20and%20diversity). *Comprehensiveness* here means covering all aspects of the query, and *diversity* means bringing in varied perspectives or examples[*\[26\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=both%20comprehensiveness%20and%20diversity%3A) – qualities one expects in scholarly reasoning.
**Why GraphRAG Helps:** At a high level, knowledge graphs help RAG because they preserve the **rich relationships** in data that embeddings often flatten. As an AWS report notes, relying solely on vector similarity *“misses out on nuanced relationships… translating text to vectors reduces the richness of information”*, whereas *“graphs maintain the natural structure of the data”[\[8\]](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=When%20you%20rely%20solely%20on,to%20build%20an%20accurate%20answer)*. Graphs can model one-to-many relations, hierarchies, and connections that are not obvious from word co-occurrence. Humanists think in terms of networks: characters in a novel interact in a social network; philosophical ideas connect across texts; historical events have cause and effect links. GraphRAG’s graph is essentially encoding these networks in a machine-readable way. It even mirrors how we ask complex questions: *“Graphs are designed to mirror the way humans naturally think and ask questions,”* capturing multiple linked pieces of context needed for an answer[*\[27\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=Human%20questions%20are%20inherently%20complex%2C,the%20rich%20relationships%20between%20entities).
Concretely, graphs enable **multi-step inference**. Graph RAG can traverse from one node to another to resolve a query – a bit like how a scholar might follow citations or cross-references. A blog post describes GraphRAG as excelling at “deductional questions – queries that require the system to draw inferences by traversing connections between data points.”[*\[28\]*](https://dev.to/needle-ai/embedding-rag-vs-graph-rag-under-5-minutes-20h3#:~:text=Precision%20in%20Deductional%20Queries%3A%20Because,the%20connections%20between%20data%20points). For example, consider asking: *“Which Greek heroes are both mentioned by Homer and later analyzed by Foucault?”* A vector search might not handle this well at all (it’s a query spanning two corpora and an implicit connection). But a GraphRAG that contains a node for each figure and edges for mentions/analysis could find that **Oedipus** (or whichever figure) appears in Homer’s text and also in Foucault’s discussion, then let the LLM generate an answer about that connection. This is a contrived example, but it shows how traversing a knowledge graph can answer questions that are essentially multi-hop queries (Homer \-\> hero \-\> Foucault). Traditional RAG would require the model itself to figure out this chain, which is brittle.
**Ontology and Domain Knowledge:** A related approach is to incorporate an **ontology or taxonomy** – essentially a scholarly concept schema – into retrieval. In GraphRAG terms, this is using a knowledge graph as a *“subject matter expert”[\[29\]](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=,implementation%20requires%20entity%20linking%20or)*. For instance, one could integrate an ontology of literary themes or characters. The retrieval then isn’t purely by raw text similarity, but by matching the query to a concept in the ontology and pulling all linked information. Ontotext describes this mode: *extract descriptions of concepts/entities relevant to the query (including relationships) and feed those to the LLM as semantic context[\[29\]](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=,implementation%20requires%20entity%20linking%20or)*. If we had a **“Victorian Literature Ontology”** where *Industrialization*, *Urban Poverty*, *Orphans* are defined and connected to Dickens’s works, a question about “industrialization in Dickens” could directly retrieve that concept’s node, which might have links to *Hard Times*, *Coketown*, *machinery*, etc., giving the LLM a robust conceptual context to answer. This ontology-augmented retrieval can capture scholarly mappings that an embedding alone would miss (since the ontology encodes synonyms, broader-narrower relations, and domain-specific terms).
Another benefit is that GraphRAG can combine structured and unstructured data. It can attach *textual descriptions* to each node (e.g. a summary of a concept or a character bio) and still use embeddings to compare or retrieve those[*\[30\]*](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=LLM%20to%20understand%20the%20received,combined%20with%20the%20vastness%20of). In other words, each node in the knowledge graph can have an **embedding representation** too, stored in a vector index, so you get the best of both worlds: the precision of graph structure plus the flexibility of semantic search[*\[30\]*](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=LLM%20to%20understand%20the%20received,combined%20with%20the%20vastness%20of)*[\[31\]](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=information%20to%20the%20LLM%20combining,the%20vastness%20of%20textual%20content)*. This hybrid approach is gaining traction. In fact, benchmarks by one AI company (Lettria) found that a hybrid Graph+Vector RAG achieved **80% correct answers vs \~50% for vector-only RAG** on complex queries, by leveraging the graph for explicit relations and falling back to vectors for broader semantic matching[*\[32\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=Lettria%20demonstrated%20improvement%20on%20correctness,Union%20directives%20on%20environmental%20regulations)*[\[33\]](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=GraphRAG%20specializes%20in%20using%20fine,context%20when%20structure%20is%20missing)*. The graph provides structured **precision**, and the vector search provides **semantic coverage***[\[33\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=GraphRAG%20specializes%20in%20using%20fine,context%20when%20structure%20is%20missing). This synergy is promising for humanities, where we have both structured knowledge (dates, genealogy, character lists) and unstructured text (literary prose, philosophical argumentation). A hybrid system might retrieve a relevant scholarly entry or timeline from the graph and a poignant quote from the text via embeddings, and combine them in the answer.
**Example – Dickens Case Study:** To illustrate baseline vs GraphRAG, imagine a question: *“How do Dickens’s novels portray social class and does this change over time?”*
* A **naïve RAG** pipeline would vectorize the question and find the closest matching passages in Dickens’s corpus. It might latch onto a paragraph in *“A Tale of Two Cities”* that literally mentions classes, or a random line from *“Great Expectations”* about a gentleman – whichever has high cosine similarity. These snippets on their own are unlikely to directly answer the question. The LLM might then produce a generic answer (“Dickens portrays social class in various ways…”) potentially hallucinating trends over time, because the retrieved evidence was sparse. Crucially, the model might miss that early works like *Oliver Twist* and *Nicholas Nickleby* focus on poverty and charity, whereas later works like *Great Expectations* examine class mobility and gentility. Those insights require synthesizing across many novels and knowing their chronological order – something a few isolated similar chunks won’t provide.
* A **GraphRAG approach** would start differently. In indexing, it would have noted entities like **Characters** (Oliver Twist, Pip, etc.), their attributes (Oliver – orphan, poor; Pip – rises in class), and key relationships (Pip becomes a gentleman, which is a class change; Oliver is rescued from poverty by Mr. Brownlow, etc.). It might also cluster by novels or by themes. Perhaps one community clusters all the orphan/child characters and their benefactors (a theme of charitable rescue), another clusters around the aristocrats and social climbers in other novels. At query time, GraphRAG’s **global search** sees this is a holistic question about the corpus. It could retrieve summary reports of the communities related to social class. For example, a summary for the “poverty and charity” cluster might say: *“Dickens frequently depicts stark class differences; in early novels (e.g.* Oliver Twist*) the plight of the poor and the indifference of the rich are emphasized….”* and another summary for “ambition and class mobility” might cover *Great Expectations* and *Nicholas Nickleby*. These summaries (plus perhaps some representative character arcs from the graph) would be fed to the LLM. The LLM’s answer, grounded in those, would be far more **comprehensive** – noting early vs late career differences, citing examples of characters, and not hallucinated but drawn from the structured knowledge the graph provided. In essence, GraphRAG can *perform a task akin to literary analysis*: grouping novels by concept and summarizing patterns, which is exactly what a human scholar would do, but which a vector search on raw text cannot do reliably.
This example also shows how **academic reasoning** (like tracking thematic evolution) can break down with naive RAG. The baseline system lacks memory of the **whole corpus context** and any sense of temporal order or conceptual linkage. It treats each book and passage in isolation. The GraphRAG system, by encoding a mini-ontology of Dickens’s world (characters, themes, timeline), addresses that by providing a scaffold for the LLM’s reasoning.
## Do Graph Enhancements Capture Interpretive Nuance?
GraphRAG and similar approaches clearly improve on factual and structural queries. They handle “who, what, where” connections and even “what are the themes” questions in a way that’s more aligned with scholarly expectations[*\[24\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=The%20answers%20are%20shown%20in,with%20references%20to%20source%20material)*[\[25\]](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=Further%20experiments%20in%20the%20paper,in%20both%20comprehensiveness%20and%20diversity)*. However, we must ask: *do they address the full* *interpretive nuance* *that humanists care about?* The answer is **only partially**.
**What GraphRAG Excels at:** Relational knowledge and explicit connections. In humanities texts, a lot of information is implicit or spread out. GraphRAG makes some of that explicit by extracting relations and clustering context. For example, if a question is *“Explain the concept of the panopticon in Foucault’s work,”* GraphRAG will likely identify the entity *Panopticon* and pull in its neighbors: nodes for Bentham (the originator of the idea), nodes for *Discipline and Punish* (where Foucault discusses it), and maybe a key claim like “panopticism induces self-surveillance.” This gives a **rich factual context** to answer with accuracy (citing Foucault’s text about the Panopticon design and its effect on power relations). Baseline RAG might have returned one paragraph mentioning “panopticon” and missed other relevant sections, whereas GraphRAG ensures the **breadth of discussion** on that term is covered.
Graph-based retrieval also improves **explainability**. Because it can cite not just raw text but the structure (e.g. “according to the summary of cluster X…”) and because each piece of info has a place in the graph, the resulting answer can be more transparently linked to the source material[*\[34\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=In%20this%20post%2C%20we%20explore,using%20AWS%20services%20and%20Lettria). This is valuable in scholarly settings, where you want to trace claims back to sources. A baseline LLM might say something plausible-sounding without clear source, but a GraphRAG-backed LLM could say: “In *Discipline and Punish*, Foucault uses Jeremy Bentham’s Panopticon as a metaphor for modern disciplinary power[*\[23\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=Q%3A%20What%20are%20the%20top,5%20themes%20in%20the%20dataset),” grounding it in a known relationship.
**Where Nuance Slips Through:** Not all humanities insights are about *explicit* relationships. Many are about interpretation, subtext, and context beyond the text itself. GraphRAG’s knowledge graph is only as good as the information **explicitly extracted** or encoded in it. It will capture things like who did what, who is related to whom, which concept appears where – basically the **explicit knowledge**. But consider questions of **tone, style, symbolism, or critical interpretation**. For example, *“How does irony function in Jane Austen’s narrative voice?”* or *“What is the significance of blindness as a metaphor in Greek tragedy?”* These require recognizing patterns and meaning that are not literally labeled in the text.
A naive RAG definitely fails here – an embedding search for “irony” or “blindness metaphor” might find nothing useful if those words aren’t used the way the question implies. But would GraphRAG fare much better automatically? GraphRAG might not have a node for “irony” in Austen unless the indexing LLM was somehow prompted to identify literary devices as “claims”. Most likely, it would identify characters, plot events, maybe quotes. It wouldn’t spontaneously create a node for a *narrative technique* unless instructed. An **ontology-driven approach** could help: if we extended the knowledge graph with nodes like “Literary Device: Irony” and linked it to places Austen uses irony (which a literary analyst could identify), then yes, the system could retrieve those connections. That, however, veers into needing **manual scholarly annotation** or very clever automated detection of such patterns. We’re not quite there yet in automation.
Similarly, **metaphorical or thematic nuance** might be beyond a straightforward GraphRAG. It can cluster themes if they manifest as clusters of entities or keywords, but subtle themes might be missed. For example, the theme of “surveillance” in Dickens (just a hypothetical) might not be an obvious cluster of entities, because it’s more of an abstract concept that permeates scenes. A human scholar perceives it, but an LLM might not tag it unless explicitly guided. GraphRAG does allow *“key claims”* extraction, which might catch some interpretive statements if present in the text (or possibly from commentary if included). But if the **corpus is just the primary texts**, many interpretive claims are not present. Scholars often rely on **secondary sources** (criticism, analysis). A robust humanities RAG might need to incorporate those as well, effectively retrieving from commentaries or scholarly works in addition to the primary text. GraphRAG could certainly index a combined graph of primary and secondary sources, linking them (e.g. a node for a novel connected to nodes for critical articles about it). This could enrich answers with scholarly interpretations. Yet, that introduces complexity (and the risk of the model not distinguishing between Dickens’s own words and a critic’s interpretation if not carefully handled).
**Ontology-Augmented Retrieval** can encode *interpretive frameworks*. For instance, an ontology might encode that “darkness” is a recurring motif symbolizing ignorance in a given literary tradition. If our system knew that and could link to instances of “darkness” in text, it might better answer a question about symbolism of darkness. Without such an ontology, an LLM might miss the connection or not have evidence to back it. Efforts like knowledge graphs of motifs, characters, historical context could greatly enhance retrieval for interpretive questions, but these require either manual curation or advanced NLP to populate.
There’s also the challenge of **ambiguity and multiple interpretations**. In humanities, two scholars might map the concepts differently. A knowledge graph, once built, can ossify a certain interpretation. For example, one graph might classify a Dickens character strictly as representing “charity”, but another reading might see that character more cynically. An automated system might not capture those ambiguities unless it’s built into the data (e.g. nodes can carry multiple viewpoints or conflicting claims). Currently, GraphRAG doesn’t inherently resolve that – it will reflect whatever was in the source data. If the source texts themselves contain differing views (say in a compilation of literary criticism), the graph could encode that (like claim nodes that disagree). Then an LLM could mention both. But again, this depends on input; GraphRAG isn’t “thinking” like a scholar, it’s organizing what we give it.
In summary, **GraphRAG and ontology-augmented RAG substantially improve retrieval of facts and relationships**, and even assist with broad thematic questions by providing structured summaries. They *partially address interpretive nuance* by ensuring relevant context isn’t overlooked (no more missing that key chapter or character link that a pure vector approach might skip). Yet, they **don’t fully automate interpretation**. They don’t inherently understand metaphor, irony, or aesthetic quality – those still rely on the LLM’s language understanding and whatever hints the data can provide. The generator LLM, if powerful (like GPT-4), might perform some of this interpretation when given enough context. But without being fed the right clues, it could hallucinate or err. GraphRAG’s advantage is making sure the LLM sees the right clues (e.g. multiple instances of a motif, or a summary stating a theme), guiding it toward a more nuanced answer than it would produce with sparse data.
## Designing a Humanities-Specific RAG Workflow
Given these observations, how might we build a RAG system tailored for humanities scholars or student use? The goal would be to combine the **breadth** of vector search with the **depth** of scholarly concept mapping. Here are some design patterns and tools to consider:
* **Preprocessing and Indexing:** Start by preparing the corpus with a strategy that aligns with scholarly units of meaning. For literature, this might mean indexing by chapter or scene (rather than arbitrary chunks) to keep context. For philosophy, maybe by section or paragraph, since a single paragraph of Foucault can be dense with meaning. Use **domain-specific chunking** heuristics (e.g. preserve poem stanza boundaries or book chapters) to avoid losing context that an overlapping window might miss[*\[35\]*](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f#:~:text=How%20can%20you%20ensure%20you%E2%80%99re,and%20structure%20of%20these%20chunks)*[\[36\]](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f#:~:text=One%20limitation%20is%20that%20this,document%20hierarchies%20and%20knowledge%20graphs)*. Overlapping chunks are often used to ensure continuity[*\[37\]*](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f#:~:text=While%20larger%20chunks%20can%20capture,generate%20a%20properly%20contextualized%20response), but in a novel you might instead use chapter boundaries as natural separators and rely on retrieval of multiple chunks if needed.
* **Metadata and Sparse Signals:** Don’t rely only on dense vectors. Humanities texts have rich metadata (publication dates, authors, genres, settings). Incorporating a **sparse retriever** (keyword or metadata filter) can improve relevance when queries specify things like “in **late** Dickens novels” or “in Homer’s **Odyssey** vs **Iliad**”[*\[38\]*](https://www.griddynamics.com/blog/retrieval-augmented-generation-llm#:~:text=Sparse%20Retrieval%20has%20traditionally%20been,to%20handle%20synonyms%20and%20paraphrasing)*[\[39\]](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f#:~:text=One%20limitation%20is%20that%20this,document%20hierarchies%20and%20knowledge%20graphs)*. A hybrid retrieval can first narrow by metadata (e.g. identify which documents are relevant by a keyword or category) and then use embedding similarity within that subset[*\[40\]*](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f#:~:text=and%20each%20office%20has%20their,for%20public%20holidays%2C%20healthcare%2C%20etc). This avoids a known pitfall where vector search might retrieve many similar passages from the wrong context (e.g. asking about *Odyssey*, the model might retrieve from *Iliad* because semantically battles are similar – unless constrained). **Hierarchical retrieval** is another pattern: first find relevant document(s), then passages within them[*\[40\]*](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f#:~:text=and%20each%20office%20has%20their,for%20public%20holidays%2C%20healthcare%2C%20etc), which mirrors how a scholar uses an index or table of contents before drilling down.
* **Knowledge Graph Construction:** Using tools like GraphRAG’s indexing pipeline or other NLP, you can build a knowledge graph of the corpus. This could be done with an out-of-the-box GraphRAG (which uses GPT-4 or similar to extract entities/relations) or with custom rules if you have specific ontology. For example, a **character network** can be extracted by detecting co-occurrences of character names in the same scene – this yields a social graph of a novel[*\[41\]*](https://cdh.princeton.edu/blog/2022/11/06/networking-connections-in-victorian-novels/#:~:text=CDH%40Princeton%20cdh,character%20position%20in%20Dickens%27s). Similarly, one can use **entity linking** to link mentions to external databases: e.g. link historical figures in the text to Wikipedia/DBpedia entries. This effectively brings in external knowledge (dates, biographies) into your graph as node properties. There are libraries and APIs (like spaCy or transformers NER, or fine-tuned LLM prompts) to help get these nodes and edges. The result is a graph where you can query things like “give me all characters who are orphans” or “find all places mentioned in both *Iliad* and *Odyssey*” – queries a vector search wouldn’t easily do.
* **Ontologies and Taxonomies:** If available, integrate scholarly ontologies. Many humanities fields have controlled vocabularies (e.g. the **Getty Art & Architecture Thesaurus**, or literary themes lists). You can map terms in texts to these concepts via entity linking or keyword matching. For instance, tag occurrences of concepts like *“industrialization”*, *“colonialism”* in the text via a vocabulary. These concept tags can then be part of the graph or at least used as metadata for retrieval. When a user question uses one of those concept terms (or a synonym), the system can directly pull relevant tagged passages. Even if the exact wording differs, the ontology mapping covers it. This addresses the synonymy/gap issue – e.g. user asks about “madness” but the text says “insanity”; if both map to a concept node, the retrieval catches it.
* **Vector Database \+ Graph Database Integration:** Implementing GraphRAG requires a combination of a graph data store and a vector index. Modern graph databases like **Neo4j** or **Ontotext GraphDB** now support vector search alongside graph queries[*\[42\]*](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=Ontotext%20GraphDB%20provides%20numerous%20integrations,closest%20to%20the%20user%20question)*[\[43\]](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=to%20continuously%20sync%20the%20state,available%20for%20an%20LLM%20integration)*. One architecture is to store all textual nodes (like quotes or summaries) in a vector index (like Pinecone, Weaviate, or even Elasticsearch with dense vectors), and also store the knowledge graph (entities and relationships) in a graph DB. At query time, you can do a **two-step retrieval**: first, use the graph to collect relevant nodes (entities) via SPARQL or Cypher query (for example, “find all nodes connected to X concept”), then fetch any associated text or descriptions via the vector index (perhaps by embedding the descriptions and doing a similarity search for refinement)[*\[33\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=GraphRAG%20specializes%20in%20using%20fine,context%20when%20structure%20is%20missing). Alternatively, do a vector search first to get candidate passages, then see which knowledge graph nodes they correspond to, and use the graph to expand the context (e.g. if a passage about *Oliver Twist* is retrieved, the graph could tell you Oliver Twist is in the orphan community and also link to *Nicholas Nickleby*’s orphan characters – suggesting you should also consider those). This kind of **feedback loop between vector and graph** is essentially what Lettria’s hybrid approach does[*\[33\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=GraphRAG%20specializes%20in%20using%20fine,context%20when%20structure%20is%20missing)*[\[44\]](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=fallback%20mechanism%3A%20when%20one%20system,context%20when%20structure%20is%20missing)*: vector RAG for semantic breadth, graph for structured depth, each compensating when the other “struggles to provide relevant data”[*\[45\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=vector%20RAG%20excels%20at%20retrieving,context%20when%20structure%20is%20missing).
* **Visualization and Validation:** For a faculty workshop setting, it’s very useful to **visualize the embedding space vs the concept graph**. One could plot an embedding projection (say via t-SNE or UMAP) of all document chunks from a corpus to see how they cluster. Likely, chunks from the same work or same literal topic will cluster. Then overlay or compare this with a concept map (for example, color the points by which theme or character they involve, if known). Faculty might observe that the embedding clusters don’t perfectly correspond to the meaningful categories – for instance, chapters from two different novels might cluster because of similar language, even though narratively they’re unrelated. Conversely, all scenes involving “law” or “courtroom” across novels might not cluster together in vector space because each is described differently – but a concept map would group them. By showing such **embedding maps**, one can concretely demonstrate the limitations of similarity search. It also provides an intuitive rationale for adding knowledge graphs: to reconnect points that should be related conceptually but aren’t nearby in raw embedding space.
* **Prototype Notebook:** As part of a case study, one could prepare a Jupyter Notebook that allows users to input a query and see results from (a) pure vector RAG and (b) GraphRAG on a sample corpus. For example, using a subset of Dickens (or Aristotle’s works), and a question like “What does Dickens critique about the workhouse system?” The notebook could show that a vector query returns perhaps one or two passages from *Oliver Twist* where workhouse is mentioned, whereas GraphRAG (with a small knowledge graph of social institutions in Dickens) returns a more complete set: maybe a summary that Dickens portrays workhouses negatively across several novels, plus references to those instances. Even if we don’t implement the full GraphRAG, we could simulate it by manually constructing a small graph of relationships and using it to fetch relevant info. The key is to illustrate where the **baseline misses pieces or provides a disjointed answer**, and how structured retrieval brings in more relevant evidence. This kind of interactive demo would drive home to faculty why “AI \+ Library” (LLM \+ curated knowledge) is better than AI alone.
* **Interpreting Results with Caution:** Finally, emphasize the continued role of scholarly judgment. The system might retrieve relevant quotes and even provide a draft synthesis, but a human expert must verify and interpret the subtleties. For instance, if asked “Was Homer aware of the concept of free will versus fate?”, a GraphRAG might pull lines about gods ordaining fate and heroes making choices, and GPT might formulate an answer. But determining *Homer’s awareness* is an interpretive leap that depends on how one reads the text. The system can provide the evidence (instances where fate is mentioned, etc.), but the **interpretation** (was Homer consciously exploring that theme, or is that a later imposition?) is something scholars debate. A humanities-specific RAG system should thus be presented as a *research aid* – a way to find and compile relevant textual evidence and scholarly commentary – rather than an oracle of truth. This could be a point in a workshop: show an example where the LLM’s answer might reflect one interpretation, and discuss how a researcher might cross-check or consider alternative angles.
## Conclusion
**Naïve RAG vs GraphRAG in humanities** reveals a sharp contrast in quality. Embedding-based retrieval alone often fails to retrieve or synthesize the depth of information that complex humanities questions demand, because it lacks a model of the relationships and concepts that give meaning to the text[*\[4\]\[46\]*](https://microsoft.github.io/graphrag/#:~:text=,or%20even%20singular%20large%20documents). We see this in how a baseline RAG can return irrelevant or shallow answers for multi-faceted questions[*\[24\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=The%20answers%20are%20shown%20in,with%20references%20to%20source%20material), or miss connections that a human scholar would instantly make. The technical gap is essentially one of *knowledge representation*: embeddings represent text as points in space, which is powerful for matching similarity but loses the graph of connections – the very graph a scholar mentally builds when studying a corpus.
GraphRAG and ontology-enhanced retrieval take important steps to close that gap by reintroducing structure. They model the corpus as a web of entities, relations, and themes, closer to a **knowledge map** that scholars might sketch. This leads to answers that are more **precise, comprehensive, and contextually grounded***[\[47\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=structures%20provide%20enhanced%20reasoning%20and,relationship%20modeling%20capabilities)*[\[25\]](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=Further%20experiments%20in%20the%20paper,in%20both%20comprehensiveness%20and%20diversity)*. GraphRAG particularly shines for complex queries, achieving notable accuracy gains (in empirical tests, vector RAG’s correctness jumped from \~50% to 80% with graph integration on hard tasks)[*\[47\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=structures%20provide%20enhanced%20reasoning%20and,relationship%20modeling%20capabilities)*[\[48\]](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=Lettria%20demonstrated%20improvement%20on%20correctness,Union%20directives%20on%20environmental%20regulations)*. It addresses many failure cases of naive RAG: needing to aggregate information across documents, needing to follow chains of reasoning, and ensuring the answer is anchored in the actual content rather than guesswork[*\[22\]*](https://microsoft.github.io/graphrag/#:~:text=To%20address%20this%2C%20the%20tech,previously%20applied%20to%20private%20datasets)*[\[25\]](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=Further%20experiments%20in%20the%20paper,in%20both%20comprehensiveness%20and%20diversity)*.
However, our exploration also underscores that **not all humanities problems are solved** by these techniques. Interpretive nuance – the subtle art of meaning-making – isn’t fully captured by either vectors or graphs alone. A knowledge graph is only as rich as the knowledge we put into it. For now, building a truly effective humanities RAG system likely means **hybridizing machine retrieval with human-curated knowledge**. This could mean using existing scholarly databases, ontologies, or even involving experts to validate and enrich the knowledge base. The encouraging news is that these tools (LLMs, vector DBs, graph DBs) can be configured to work together: one can create pipelines that incorporate symbolic knowledge without sacrificing the flexibility of language models.
For a faculty or digital humanist audience, a case study as described – comparing a question answered by naive RAG vs GraphRAG – can be eye-opening. It shows in concrete terms where the *“academic reasoning breaks down”* with a simplistic approach, and how adding a layer of knowledge engineering restores some of that reasoning. Visual diagrams, like knowledge graphs of a corpus or embedding visualizations, help demystify what the AI is doing under the hood and why it might miss things a human considers obvious. This aligns well with the goals of “Expos with AI” workshops: to critically evaluate AI tools in an academic context, not just use them as black boxes.
In conclusion, **RAG in the humanities must evolve beyond brute-force similarity search toward knowledge-aware methods**. GraphRAG is a promising evolution, blending the quantitative power of embeddings with qualitative structures of knowledge. It’s not a replacement for scholarly thinking, but it’s a step toward AI that can engage with texts on more of the latter’s own terms – following characters through a narrative, tracing ideas through a philosophy, or mapping motifs across an oeuvre. By understanding its limitations and leveraging its strengths, we can build AI systems that serve as intelligent research assistants, helping uncover connections while respecting the complexity of humanistic interpretation.[*\[22\]*](https://microsoft.github.io/graphrag/#:~:text=To%20address%20this%2C%20the%20tech,previously%20applied%20to%20private%20datasets)*[\[49\]](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=Graph%20RAG%20is%20an%20enhancement,vector%20database%20can%20have%20contextually)*
**Sources:**
· Han et al., “*Retrieval-Augmented Generation with Graphs (GraphRAG)*,” *arXiv preprint*, 2025[*\[22\]*](https://microsoft.github.io/graphrag/#:~:text=To%20address%20this%2C%20the%20tech,previously%20applied%20to%20private%20datasets)*[\[14\]](https://microsoft.github.io/graphrag/#:~:text=,holistic%20understanding%20of%20the%20dataset)*.
· Zilliz AI, “*GraphRAG Explained: Enhancing RAG with Knowledge Graphs*,” *Medium*, 2024[*\[10\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=A%20baseline%20RAG%20usually%20integrates,connecting%20disparate%20pieces%20of%20information)*[\[50\]](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=The%20answers%20are%20shown%20in,with%20references%20to%20source%20material)*.
· Chia Jeng Yang, “*A first intro to Complex RAG (Retrieval Augmented Generation)*,” *Knowledge Graph RAG Medium*, 2023[*\[3\]*](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f#:~:text=Relevance%20vs%20Similarity).
· Denise Gosnell & Vivien de Saint Pern, “*Improving RAG accuracy with GraphRAG*,” *AWS ML Blog*, 2024[*\[8\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=When%20you%20rely%20solely%20on,to%20build%20an%20accurate%20answer)*[\[27\]](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=Human%20questions%20are%20inherently%20complex%2C,the%20rich%20relationships%20between%20entities)*.
· Ontotext, “*What is Graph RAG?*,” *Ontotext Fundamentals*, 2025[*\[30\]*](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=LLM%20to%20understand%20the%20received,combined%20with%20the%20vastness%20of)*[\[29\]](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=,implementation%20requires%20entity%20linking%20or)*.
· Jan Heimes, “*Embedding RAG vs Graph RAG (Under 5 Minutes)*,” *Dev.to blog*, 2024[*\[28\]*](https://dev.to/needle-ai/embedding-rag-vs-graph-rag-under-5-minutes-20h3#:~:text=Precision%20in%20Deductional%20Queries%3A%20Because,the%20connections%20between%20data%20points)*[\[51\]](https://dev.to/needle-ai/embedding-rag-vs-graph-rag-under-5-minutes-20h3#:~:text=The%20Catch%20with%20Graph%20RAG%3A,unparalleled%20query%20power%20and%20precision)*.
· Weller et al., “*On the Theoretical Limitations of Embedding-Based Retrieval*,” *arXiv*, 2025[*\[5\]*](https://arxiv.org/abs/2508.21038#:~:text=query%20is%20limited%20by%20the,can%20resolve%20this%20fundamental%20limitation).
· Zilliz AI, “*Baseline RAG vs. GraphRAG Output Quality*,” citing Microsoft GraphRAG blog, 2024[*\[24\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=The%20answers%20are%20shown%20in,with%20references%20to%20source%20material)*[\[25\]](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=Further%20experiments%20in%20the%20paper,in%20both%20comprehensiveness%20and%20diversity)*.
· Neo4j, “*The Limitations of Text Embeddings in RAG Applications*,” *Neo4j Developer Blog*, 2024[*\[52\]*](https://neo4j.com/blog/developer/rag-text-embeddings-limitations/#:~:text=While%20text%20embeddings%20are%20excellent,The%20key) (discussing need for structured filters in retrieval).
---
[*\[1\]*](https://dev.to/needle-ai/embedding-rag-vs-graph-rag-under-5-minutes-20h3#:~:text=How%20It%20Works%3A%20Embedding%20RAG,information%20by%20comparing%20vector%20similarities) [*\[2\]*](https://dev.to/needle-ai/embedding-rag-vs-graph-rag-under-5-minutes-20h3#:~:text=Speed%20%26%20Scalability%3A%20Embedding%20RAG,significantly%20speeding%20up%20response%20times) [*\[28\]*](https://dev.to/needle-ai/embedding-rag-vs-graph-rag-under-5-minutes-20h3#:~:text=Precision%20in%20Deductional%20Queries%3A%20Because,the%20connections%20between%20data%20points) [*\[51\]*](https://dev.to/needle-ai/embedding-rag-vs-graph-rag-under-5-minutes-20h3#:~:text=The%20Catch%20with%20Graph%20RAG%3A,unparalleled%20query%20power%20and%20precision) Embedding RAG VS Graph RAG: (Under 5 Minutes) \- DEV Community
[*https://dev.to/needle-ai/embedding-rag-vs-graph-rag-under-5-minutes-20h3*](https://dev.to/needle-ai/embedding-rag-vs-graph-rag-under-5-minutes-20h3)
[*\[3\]*](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f#:~:text=Relevance%20vs%20Similarity) [*\[35\]*](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f#:~:text=How%20can%20you%20ensure%20you%E2%80%99re,and%20structure%20of%20these%20chunks) [*\[36\]*](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f#:~:text=One%20limitation%20is%20that%20this,document%20hierarchies%20and%20knowledge%20graphs) [*\[37\]*](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f#:~:text=While%20larger%20chunks%20can%20capture,generate%20a%20properly%20contextualized%20response) [*\[39\]*](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f#:~:text=One%20limitation%20is%20that%20this,document%20hierarchies%20and%20knowledge%20graphs) [*\[40\]*](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f#:~:text=and%20each%20office%20has%20their,for%20public%20holidays%2C%20healthcare%2C%20etc) A first intro to Complex RAG (Retrieval Augmented Generation) | by Chia Jeng Yang | Knowledge Graph RAG | Medium
[*https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f*](https://medium.com/enterprise-rag/a-first-intro-to-complex-rag-retrieval-augmented-generation-a8624d70090f)
[*\[4\]*](https://microsoft.github.io/graphrag/#:~:text=,or%20even%20singular%20large%20documents) [*\[6\]* *\[7\]*](https://microsoft.github.io/graphrag/#:~:text=question%20requires%20traversing%20disparate%20pieces,or%20even%20singular%20large%20documents) [*\[14\]*](https://microsoft.github.io/graphrag/#:~:text=,holistic%20understanding%20of%20the%20dataset) [*\[21\]*](https://microsoft.github.io/graphrag/#:~:text=At%20query%20time%2C%20these%20structures,The%20primary%20query%20modes%20are) [*\[22\]*](https://microsoft.github.io/graphrag/#:~:text=To%20address%20this%2C%20the%20tech,previously%20applied%20to%20private%20datasets) [*\[46\]*](https://microsoft.github.io/graphrag/#:~:text=,or%20even%20singular%20large%20documents) Welcome \- GraphRAG
[*https://microsoft.github.io/graphrag/*](https://microsoft.github.io/graphrag/)
[*\[5\]*](https://arxiv.org/abs/2508.21038#:~:text=query%20is%20limited%20by%20the,can%20resolve%20this%20fundamental%20limitation) \[2508.21038\] On the Theoretical Limitations of Embedding-Based Retrieval
[*https://arxiv.org/abs/2508.21038*](https://arxiv.org/abs/2508.21038)
[*\[8\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=When%20you%20rely%20solely%20on,to%20build%20an%20accurate%20answer) [*\[9\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=out%20on%20the%20nuanced%20relationships,to%20build%20an%20accurate%20answer) [*\[27\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=Human%20questions%20are%20inherently%20complex%2C,the%20rich%20relationships%20between%20entities) [*\[32\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=Lettria%20demonstrated%20improvement%20on%20correctness,Union%20directives%20on%20environmental%20regulations) [*\[33\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=GraphRAG%20specializes%20in%20using%20fine,context%20when%20structure%20is%20missing) [*\[34\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=In%20this%20post%2C%20we%20explore,using%20AWS%20services%20and%20Lettria) [*\[44\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=fallback%20mechanism%3A%20when%20one%20system,context%20when%20structure%20is%20missing) [*\[45\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=vector%20RAG%20excels%20at%20retrieving,context%20when%20structure%20is%20missing) [*\[47\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=structures%20provide%20enhanced%20reasoning%20and,relationship%20modeling%20capabilities) [*\[48\]*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/#:~:text=Lettria%20demonstrated%20improvement%20on%20correctness,Union%20directives%20on%20environmental%20regulations) Improving Retrieval Augmented Generation accuracy with GraphRAG | Artificial Intelligence
[*https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/*](https://aws.amazon.com/blogs/machine-learning/improving-retrieval-augmented-generation-accuracy-with-graphrag/)
[*\[10\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=A%20baseline%20RAG%20usually%20integrates,connecting%20disparate%20pieces%20of%20information) [*\[11\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=The%20challenge%20usually%20arises%20at,Q%26A%20pairs%20for%20frequent%20queries) [*\[12\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=To%20address%20such%20challenges%2C%20Microsoft,with%20the%20Milvus%20vector%20database) [*\[13\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=Unlike%20a%20baseline%20RAG%20that,data%20based%20on%20their%20relationships) [*\[15\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=1,to%20construct%20an%20initial%20knowledge) [*\[16\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=unit,depth%20analysis) [*\[17\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=1,contextual%20information%20for%20subsequent%20queries) [*\[18\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=GraphRAG%20has%20two%20different%20querying,workflows%20tailored%20for%20different%20queries) [*\[19\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=,their%20neighbors%20and%20associated%20concepts) [*\[20\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=2,maps%20entities%20to%20their%20covariates) [*\[23\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=Q%3A%20What%20are%20the%20top,5%20themes%20in%20the%20dataset) [*\[24\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=The%20answers%20are%20shown%20in,with%20references%20to%20source%20material) [*\[25\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=Further%20experiments%20in%20the%20paper,in%20both%20comprehensiveness%20and%20diversity) [*\[26\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=both%20comprehensiveness%20and%20diversity%3A) [*\[50\]*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1#:~:text=The%20answers%20are%20shown%20in,with%20references%20to%20source%20material) GraphRAG Explained: Enhancing RAG with Knowledge Graphs | by Zilliz | Medium
[*https://medium.com/@zilliz\_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1*](https://medium.com/@zilliz_learn/graphrag-explained-enhancing-rag-with-knowledge-graphs-3312065f99e1)
[*\[29\]*](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=,implementation%20requires%20entity%20linking%20or) [*\[30\]*](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=LLM%20to%20understand%20the%20received,combined%20with%20the%20vastness%20of) [*\[31\]*](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=information%20to%20the%20LLM%20combining,the%20vastness%20of%20textual%20content) [*\[42\]*](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=Ontotext%20GraphDB%20provides%20numerous%20integrations,closest%20to%20the%20user%20question) [*\[43\]*](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=to%20continuously%20sync%20the%20state,available%20for%20an%20LLM%20integration) [*\[49\]*](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/#:~:text=Graph%20RAG%20is%20an%20enhancement,vector%20database%20can%20have%20contextually) What is Graph RAG | Ontotext Fundamentals
[*https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/*](https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/)
[*\[38\]*](https://www.griddynamics.com/blog/retrieval-augmented-generation-llm#:~:text=Sparse%20Retrieval%20has%20traditionally%20been,to%20handle%20synonyms%20and%20paraphrasing) RAG and LLM business process automation: A technical strategy
[*https://www.griddynamics.com/blog/retrieval-augmented-generation-llm*](https://www.griddynamics.com/blog/retrieval-augmented-generation-llm)
[*\[41\]*](https://cdh.princeton.edu/blog/2022/11/06/networking-connections-in-victorian-novels/#:~:text=CDH%40Princeton%20cdh,character%20position%20in%20Dickens%27s) Networking Connections in Victorian Novels \- CDH@Princeton
[*https://cdh.princeton.edu/blog/2022/11/06/networking-connections-in-victorian-novels/*](https://cdh.princeton.edu/blog/2022/11/06/networking-connections-in-victorian-novels/)
[*\[52\]*](https://neo4j.com/blog/developer/rag-text-embeddings-limitations/#:~:text=While%20text%20embeddings%20are%20excellent,The%20key) The Limitations of Text Embeddings in RAG Applications
[*https://neo4j.com/blog/developer/rag-text-embeddings-limitations/*](https://neo4j.com/blog/developer/rag-text-embeddings-limitations/)