Skip to content

Commit 2907a06

Browse files
committed
Updated what is graphrag from the field guide
1 parent 20dbe33 commit 2907a06

File tree

4 files changed

+123
-23
lines changed

4 files changed

+123
-23
lines changed

src/content/docs/concepts/intro-to-graphrag.md

Lines changed: 68 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,76 @@ title: Intro to GraphRAG
33
description: RAG with a knowledge graph
44
---
55

6-
![GraphRAG Overview](../../../assets/images/graphrag-diagram.svg)
7-
86
## About GraphRAG
97

108
GraphRAG is Retrieval Augmented Generation (RAG) using a Knowledge Graph.
119

12-
## Further reading
10+
Have you ever stumbled upon the term GraphRAG while diving into the world of Retrieval Augmented Generation (RAG) systems? If so, you’re not alone. This term is making waves, but its meaning can be elusive. Sometimes, it’s a specific retrieval method; other times, it’s an entire software suite, like Microsoft’s GraphRAG “data pipeline and transformation suite.” With such varied uses, it’s no wonder even the most dedicated followers of RAG discussions can feel a bit lost.
11+
12+
So, what exactly is GraphRAG?
13+
14+
> For us, it’s a set of RAG patterns that leverage a graph structure for retrieval. Each pattern demands a unique data structure, or graph pattern, to function effectively.
15+
16+
![GraphRAG Overview](../../../assets/images/graphrag-diagram.svg)
17+
18+
19+
On this site, we’ll dive into the GraphRAG pattern details, breaking down each pattern’s attributes and strategies.
20+
21+
If you’re looking for an introduction to RAG, check out [What Is Retrieval-Augmented Generation (RAG)?](https://neo4j.com/blog/what-is-retrieval-augmented-generation-rag/).
22+
23+
Each of our presented patterns is also linked directly to its [GraphRAG Pattern Catalog](/reference/) entry.
24+
This catalog is an open source initiative to stay up to date on the latest pattern evolution.
25+
26+
NOTE: We just started collecting patterns and are definitely still missing a lot of them. Please help us build a comprehensive catalog for GraphRAG patterns and join the discussion on the [GraphRAG Discord](https://discord.com/invite/graphrag) channel.
27+
28+
To give you a clearer picture, the patterns explained in this post include:
29+
30+
### Basic GraphRAG Patterns
31+
32+
* [Basic Retriever](/reference/graphrag/basic-retriever/)
33+
* [Pattern Matching](reference/graphrag/pattern-matching/)
34+
* [Cypher Templates](/reference/graphrag/cypher-templates/)
35+
* [Graph-Enhanced Vector Search](reference/graphrag/graph-enhanced-vector-search/)
36+
* [Metadata Filtering](reference/graphrag/metadata-filtering/)
37+
* [Parent-Child Retriever](reference/graphrag/parent-child-retriever/)
38+
39+
### Advanced GraphRAG patterns
40+
41+
* [Dynamic Cypher Generation](/reference/graphrag/dynamic-cypher-generation/)
42+
* [Global Community Summary Retriever](/reference/graphrag/global-community-summary-retriever/)
43+
* [Local Retriever](reference/graphrag/local-retriever/)
44+
* [Hypothetical Question Retriever](reference/graphrag/hypothetical-question-retriever/)
45+
46+
47+
### Knowledge Graph Models
48+
49+
* [Domain Graph](reference/knowledge-graph/domain-graph/)
50+
* [Lexical Graph](reference/knowledge-graph/lexical-graph/)
51+
* [Parent-Child Lexical Graph](reference/knowledge-graph/lexical-graph-parent-child/)
52+
* [Lexical Graph with Sibling Structure](reference/knowledge-graph/lexical-graph-sibling-structure/)
53+
* [Lexical Graph with Extracted Entities](reference/knowledge-graph/lexical-graph-extracted-entities/)
54+
* [Lexical Graph with Extracted Entities and Community Summaries](reference/knowledge-graph/lexical-graph-extracted-entities-community-summaries/)
55+
* [Lexical Graph with Hierarchical Structure](reference/knowledge-graph/lexical-graph-hierarchical-structure/)
56+
* [Lexical Graph with Hypothetical Questions](reference/knowledge-graph/lexical-graph-hypothetical-questions/)
57+
* [Memory Graph](reference/knowledge-graph/memory-graph/)
58+
* [Text Sequence](reference/knowledge-graph/text-seq/)
59+
60+
### Thematic Classification
61+
62+
According to Gao et al., there are three RAG paradigms: naive RAG, advanced RAG, and modular RAG:
63+
64+
![](https://cdn-images-1.medium.com/max/1024/0*okG4Sok4aweO7SIQ)
65+
66+
67+
In an advanced RAG paradigm, pre-retrieval and post-retrieval phases are added to the naive RAG paradigm.
68+
A modular RAG system contains more complex patterns, which require orchestration and routing of the user query.
69+
70+
### The phases of an advanced RAG system:
71+
72+
* Pre-retrieval — Query rewriting, query entity extraction, query expansion, etc.
73+
* Retrieval of relevant context
74+
* Post-retrieval: Reranking, pruning, etc.
75+
* Answer generation
1376

14-
- How-to: [chunking](/guides/chunking/)
77+
Here, we want to focus on the *retrieval phase* and compile a catalog of the most-often referenced GraphRAG retrieval patterns and their required graph patterns.
78+
Please note that the patterns here are not an exhaustive list.

src/content/docs/reference/graphrag/search.md

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,46 @@
11
---
2-
title: Reference Material
3-
description: A reference page in my new Starlight docs site.
2+
title: GraphRAG Patterns Catalog
3+
description: List of GraphRAG retriever patterns and accompanying Knowledge Graph Models
44
---
55

6-
Reference pages are ideal for outlining how things work in terse and clear terms.
7-
Less concerned with telling a story or addressing a specific use case, they should give a comprehensive outline of what you're documenting.
6+
## GraphRAG Patterns Catalog
7+
8+
In this GraphRAG Patterns catalog you can find an ever growing set of patterns for knowledge graph models, GraphRAG retrievers and Data Preparation tasks.
9+
10+
### GraphRAG Patterns
11+
12+
* [Basic Retriever](/reference/graphrag/basic-retriever/)
13+
* [Cypher Templates](/reference/graphrag/cypher-templates/)
14+
* [Dynamic Cypher Generation](/reference/graphrag/dynamic-cypher-generation/)
15+
* [Global Community Summary Retriever](/reference/graphrag/global-community-summary-retriever/)
16+
* [Graph-Enhanced Vector Search](reference/graphrag/graph-enhanced-vector-search/)
17+
* [Hypothetical Question Retriever](reference/graphrag/hypothetical-question-retriever/)
18+
* [Local Retriever](reference/graphrag/local-retriever/)
19+
* [Metadata Filtering](reference/graphrag/metadata-filtering/)
20+
* [Parent-Child Retriever](reference/graphrag/parent-child-retriever/)
21+
* [Pattern Matching](reference/graphrag/pattern-matching/)
22+
* [Text2Cypher](reference/graphrag/text2cypher/)
23+
24+
### Knowledge Graph Models
25+
26+
* [Domain Graph](reference/knowledge-graph/domain-graph/)
27+
* [Lexical Graph](reference/knowledge-graph/lexical-graph/)
28+
* [Parent-Child Lexical Graph](reference/knowledge-graph/lexical-graph-parent-child/)
29+
* [Lexical Graph with Sibling Structure](reference/knowledge-graph/lexical-graph-sibling-structure/)
30+
* [Lexical Graph with Extracted Entities](reference/knowledge-graph/lexical-graph-extracted-entities/)
31+
* [Lexical Graph with Extracted Entities and Community Summaries](reference/knowledge-graph/lexical-graph-extracted-entities-community-summaries/)
32+
* [Lexical Graph with Hierarchical Structure](reference/knowledge-graph/lexical-graph-hierarchical-structure/)
33+
* [Lexical Graph with Hypothetical Questions](reference/knowledge-graph/lexical-graph-hypothetical-questions/)
34+
* [Memory Graph](reference/knowledge-graph/memory-graph/)
35+
* [Text Sequence](reference/knowledge-graph/text-seq/)
36+
37+
### Data Preparation
38+
39+
* [Chunking](/guides/chunking)
40+
* [Named Entity Recognition](/preparation/ner)
841

942
## Further reading
1043

11-
- Read [about reference](https://diataxis.fr/reference/) in the Diátaxis framework
44+
* [GraphRAG Patterns Field Guide](https://neo4j.com/developer-blog/graphrag-field-guide-rag-patterns/)
45+
* [Writing Software Patterns](https://www.martinfowler.com/articles/writingPatterns.html)
46+
* [Patterns of Software Architecture 5 - Pattern Languages](https://github.com/ppizarro/coursera/blob/master/POSA/Books/Pattern-Oriented%20Software%20Architecture/Pattern-Oriented%20Software%20Architecture%20Volume%205%20-%20%20On%20Patterns%20and%20Pattern%20Languages%20-%200471486485.pdf)

src/content/docs/reference/knowledge-graph/memory-graph.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,21 @@ title: Memory Graph
33
description: Structured, navigable, annotated and summarized content
44
---
55

6-
Reference pages are ideal for outlining how things work in terse and clear terms.
7-
Less concerned with telling a story or addressing a specific use case, they should give a comprehensive outline of what you're documenting.
6+
## Memory Graph
7+
8+
A memory graph is a graph that captures information from conversations either automatically through a framework, or intentionally by the user storing facts or relationships.
9+
10+
Conversations are rich interactions which pull in facts, optionions, sources, arguments, discussions.
11+
12+
Entities and relationships are
13+
14+
* Questions
15+
* Answers
16+
* Facts
17+
* Sources
18+
* Rating / Feedback
819

920
## Further reading
1021

11-
- Read [about reference](https://diataxis.fr/reference/) in the Diátaxis framework
22+
* [Memory Graphs in Model Context Protocol](https://github.com/modelcontextprotocol/servers/tree/main/src/memory)
23+
* [Langchain Chat Message History w/ Neo4j](https://python.langchain.com/docs/integrations/memory/neo4j_chat_message_history/)

0 commit comments

Comments
 (0)