{"id":16801,"date":"2026-09-30T17:29:05","date_gmt":"2026-10-01T00:29:05","guid":{"rendered":"https:\/\/www.pingcap.com\/?post_type=article&#038;p=16801"},"modified":"2026-09-30T17:29:37","modified_gmt":"2026-10-01T00:29:37","slug":"graphrag-enhancing-traditional-rag-through-knowledge-graph","status":"publish","type":"article","link":"https:\/\/www.pingcap.com\/ko\/article\/graphrag-enhancing-traditional-rag-through-knowledge-graph\/","title":{"rendered":"GraphRAG: How Knowledge Graphs Make RAG More Accurate"},"content":{"rendered":"<p class=\"wp-block-paragraph\">A support bot built on plain retrieval-augmented generation (RAG) can answer &#8220;What is our refund policy?&#8221; It struggles with &#8220;Which customers who churned last quarter also filed a refund request?&#8221; The first question matches a single chunk of text. The second requires connecting facts across multiple documents, something vector similarity search alone was never built to do. GraphRAG closes that gap by indexing entities and relationships as a knowledge graph alongside the usual vector embeddings, so an AI application can answer both kinds of questions from the same pipeline.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Overview_of_LLMs_RAG_and_Knowledge_Graphs\"><\/span><strong>Overview of LLMs, RAG, and Knowledge Graphs<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Brief explanation of Large Language Models (LLMs)<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">LLMs, such as GPT (Generative Pre-trained Transformer) series, are deep learning algorithms trained on vast amounts of text data. They can predict the next word in a sentence, making them powerful tools for generating human-like text based on the input they&#8217;re fed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Short introduction to RAG<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Retrieval-Augmented Generation (RAG) combines the generative power of LLMs with an external knowledge source, allowing the model to &#8220;retrieve&#8221; relevant information before &#8220;generating&#8221; a response. This process enhances the model&#8217;s ability to provide informed and precise answers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Short Introduction to Knowledge Graphs<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Knowledge Graphs organize and store complex data in an interconnected, graph-like structure. They enable logical reasoning over the stored data, facilitating precise information retrieval and data interconnectivity essential for various AI applications.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_Is_GraphRAG\"><\/span><strong>What Is GraphRAG?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">GraphRAG is an approach, first introduced by Microsoft Research, that augments RAG by indexing a knowledge graph, entities and their relationships, alongside the usual vector embeddings. Instead of retrieving isolated chunks of text ranked by similarity, GraphRAG can traverse relationships between entities to answer questions that span multiple documents or facts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The difference matters most on multi-hop questions. Asking &#8220;Which products did the customer who filed complaint #4021 previously return?&#8221; needs the retrieval system to connect a complaint to a customer to a return history, three separate facts a similarity search treats as unrelated text.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Why_Plain_RAG_Falls_Short_on_Connected_Questions\"><\/span><strong>Why Plain RAG Falls Short on Connected Questions<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Large language models generate fluent text but are limited by their training data. They produce outdated or irrelevant answers on anything requiring current or domain-specific knowledge. RAG addresses this by retrieving external context before generation, but the retrieval step still depends on vector similarity, which finds text that reads like the query, not text that is logically connected to it. Two mentions of the same customer in different documents can end up in entirely different regions of vector space if they&#8217;re phrased differently, so a plain RAG pipeline never connects them.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_TiDB_Solves_the_Graph-Plus-Vector_Storage_Problem\"><\/span><strong>How TiDB Solves the Graph-Plus-Vector Storage Problem<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Most GraphRAG implementations run two databases: a dedicated graph database for entities and relationships, and a separate vector database for embeddings, joined by application code. <a href=\"https:\/\/www.pingcap.com\/ko\/what-is-tidb\/\">\ud2f0DB<\/a> stores both in one MySQL-compatible schema. An entities table holds a native VECTOR column for embeddings; a relationships table holds foreign keys back to entities. Because both tables live in the same database, a single SQL query can traverse relationships and run a vector similarity search in one transaction, no separate graph store, no ETL pipeline syncing data between systems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This single-schema approach is the same underlying vector and transactional infrastructure that powers production AI agent platforms on <a href=\"https:\/\/www.pingcap.com\/ko\/tidb\/cloud\/\">TiDB Cloud \uc2a4\ud0c0\ud130<\/a>, including <a href=\"https:\/\/www.pingcap.com\/ko\/case-study\/kimi-2-6-agent-hosting-platform-tidb-cloud\/\">Kimi&#8217;s agent hosting platform<\/a>, which provisions isolated databases for millions of concurrent agent-created applications. TiDB&#8217;s MySQL compatibility means the schema below works with standard SQL clients and ORMs, no proprietary graph query language to learn.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Building_a_GraphRAG_Pipeline_Indexing_Retrieval_Reranking\"><\/span><strong>Building a GraphRAG Pipeline: Indexing, Retrieval, Reranking<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A GraphRAG pipeline built this way runs in three stages.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Data indexing.<\/strong> An LLM extracts entities and relationships from source text, and both are written into TiDB alongside a vector embedding of each entity&#8217;s description. The schema:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE TABLE `entities` (<br>&nbsp; `id` int(11) NOT NULL AUTO_INCREMENT,<br>&nbsp; `name` varchar(512) DEFAULT NULL,<br>&nbsp; `description` text DEFAULT NULL,<br>&nbsp; `description_vec` vector&lt;float&gt; DEFAULT NULL,<br>&nbsp; PRIMARY KEY (`id`) \/*T!&#91;clustered_index] CLUSTERED *\/<br>) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;<br><br>CREATE TABLE `relationships` (<br>&nbsp; `id` int(11) NOT NULL AUTO_INCREMENT,<br>&nbsp; `source_entity_id` int(11) DEFAULT NULL,<br>&nbsp; `target_entity_id` int(11) DEFAULT NULL,<br>&nbsp; `relationship_desc` text DEFAULT NULL,<br>&nbsp; PRIMARY KEY (`id`) \/*T!&#91;clustered_index] CLUSTERED *\/,<br>&nbsp; KEY `fk_1` (`source_entity_id`),<br>&nbsp; KEY `fk_2` (`target_entity_id`),<br>&nbsp; CONSTRAINT `fk_1` FOREIGN KEY (`source_entity_id`) REFERENCES `entities` (`id`),<br>&nbsp; CONSTRAINT `fk_2` FOREIGN KEY (`target_entity_id`) REFERENCES `entities` (`id`)<br>) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Because both tables are ordinary SQL tables, adding new entities or updating existing relationships as source data changes is a standard INSERT or UPDATE, not a separate graph-rebuild job. This matters for anything beyond a one-time demo: a support knowledge base or product catalog that changes daily needs the graph to stay current without a nightly batch re-index.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Data retrieval.<\/strong> Given a query, TiDB finds the nearest entity by vector distance, then joins through relationships to pull in connected entities:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>WITH initial_entity AS (<br>&nbsp; &nbsp; SELECT id FROM `entities`<br>&nbsp; &nbsp; ORDER BY VEC_Cosine_Distance(description_vec, :embedding) LIMIT 1<br>), entities_ids AS (<br>&nbsp; &nbsp; SELECT source_entity_id i FROM relationships r INNER JOIN initial_entity i ON r.target_entity_id = i.id<br>&nbsp; &nbsp; UNION SELECT target_entity_id i FROM relationships r INNER JOIN initial_entity i ON r.source_entity_id = i.id<br>&nbsp; &nbsp; UNION SELECT initial_entity.id i FROM initial_entity<br>) SELECT description FROM `entities` WHERE id IN (SELECT i FROM entities_ids);<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Reranking.<\/strong> The retrieved entities are reranked for relevance to the query before being passed to the LLM for response generation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A full working example, including the OpenAI embedding calls, is available in the <a href=\"https:\/\/github.com\/pingcap\/tidb-vector-python\/tree\/main\/examples\/graphrag-demo\">GraphRAG demo on GitHub<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"FAQ\"><\/span><strong>\uc790\uc8fc \ubb3b\ub294 \uc9c8\ubb38<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What is the difference between RAG and GraphRAG?<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>RAG retrieves text chunks ranked by vector similarity alone.<\/li>\n\n\n\n<li>GraphRAG additionally indexes entities and relationships as a knowledge graph.<\/li>\n\n\n\n<li>This lets GraphRAG answer multi-hop questions that connect facts across documents, not just questions a single chunk can answer.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Do I need a separate graph database to build GraphRAG?<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No. A relational database with a native vector column, like TiDB, can store entities, relationships, and embeddings together.<\/li>\n\n\n\n<li>This avoids running and syncing two separate systems (a graph database and a vector database).<\/li>\n\n\n\n<li>Traversal queries run as standard SQL joins instead of a proprietary graph query language.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Is GraphRAG more expensive to run than vector-only RAG?<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Indexing costs more up front, since an LLM has to extract entities and relationships, not just generate embeddings.<\/li>\n\n\n\n<li>Query-time cost is comparable if entities and vectors live in one database, since retrieval is a single query instead of two round trips.<\/li>\n\n\n\n<li>The cost tradeoff is usually worth it for domains where multi-hop questions are common, like support history or compliance records.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Can I add GraphRAG to an existing RAG pipeline without rebuilding it?<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Yes, if the existing vector store can add a relationships table alongside the entities table already storing embeddings.<\/li>\n\n\n\n<li>Existing embeddings don&#8217;t need to be regenerated, only the entity-relationship extraction step is new.<\/li>\n\n\n\n<li>The GitHub demo linked above shows the schema addition needed on top of a standard entities table.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Get_Started_with_GraphRAG_on_TiDB\"><\/span><strong>Get Started with GraphRAG on TiDB<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">GraphRAG works because it treats entities and relationships as first-class data, not just text to embed. Storing that graph and its vector embeddings in the same MySQL-compatible database removes the ETL layer most GraphRAG tutorials assume is necessary. <a href=\"https:\/\/www.pingcap.com\/ko\/tidb\/cloud\/\">TiDB Cloud \uc2a4\ud0c0\ud130<\/a>, TiDB&#8217;s free tier, includes native vector search alongside standard SQL, so the schema in this piece runs without any additional infrastructure. Explore the full <a href=\"https:\/\/www.pingcap.com\/ko\/ai\/vector-search\/\">vector search and RAG pipelines<\/a> documentation, or start with the <a href=\"https:\/\/github.com\/pingcap\/tidb-vector-python\/tree\/main\/examples\/graphrag-demo\">GraphRAG demo<\/a> on GitHub.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>","protected":false},"excerpt":{"rendered":"<p>A support bot built on plain retrieval-augmented generation (RAG) can answer &#8220;What is our refund policy?&#8221; It struggles with &#8220;Which customers who churned last quarter also filed a refund request?&#8221; The first question matches a single chunk of text. The second requires connecting facts across multiple documents, something vector similarity search alone was never built [&hellip;]<\/p>\n","protected":false},"author":305,"featured_media":0,"template":"","class_list":["post-16801","article","type-article","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>GraphRAG Explained: Knowledge Graphs + RAG in One DB<\/title>\n<meta name=\"description\" content=\"GraphRAG combines knowledge graphs with RAG for more accurate retrieval. See how to build it on one MySQL-compatible database with TiDB.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.pingcap.com\/ko\/article\/graphrag-enhancing-traditional-rag-through-knowledge-graph\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GraphRAG Explained: Knowledge Graphs + RAG in One DB\" \/>\n<meta property=\"og:description\" content=\"GraphRAG combines knowledge graphs with RAG for more accurate retrieval. See how to build it on one MySQL-compatible database with TiDB.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pingcap.com\/ko\/article\/graphrag-enhancing-traditional-rag-through-knowledge-graph\/\" \/>\n<meta property=\"og:site_name\" content=\"TiDB\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/pingcap2015\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-01T00:29:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/static.pingcap.com\/files\/2024\/09\/11005522\/Homepage-Ad.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1440\" \/>\n\t<meta property=\"og:image:height\" content=\"714\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:label1\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data1\" content=\"6\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/article\\\/graphrag-enhancing-traditional-rag-through-knowledge-graph\\\/\",\"url\":\"https:\\\/\\\/www.pingcap.com\\\/article\\\/graphrag-enhancing-traditional-rag-through-knowledge-graph\\\/\",\"name\":\"GraphRAG Explained: Knowledge Graphs + RAG in One DB\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/#website\"},\"datePublished\":\"2026-10-01T00:29:05+00:00\",\"dateModified\":\"2026-10-01T00:29:37+00:00\",\"description\":\"GraphRAG combines knowledge graphs with RAG for more accurate retrieval. See how to build it on one MySQL-compatible database with TiDB.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/article\\\/graphrag-enhancing-traditional-rag-through-knowledge-graph\\\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.pingcap.com\\\/article\\\/graphrag-enhancing-traditional-rag-through-knowledge-graph\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/article\\\/graphrag-enhancing-traditional-rag-through-knowledge-graph\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.pingcap.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Articles\",\"item\":\"https:\\\/\\\/www.pingcap.com\\\/article\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"GraphRAG: How Knowledge Graphs Make RAG More Accurate\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/#website\",\"url\":\"https:\\\/\\\/www.pingcap.com\\\/\",\"name\":\"TiDB\",\"description\":\"TiDB | SQL at Scale\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.pingcap.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/#organization\",\"name\":\"PingCAP\",\"url\":\"https:\\\/\\\/www.pingcap.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/static.pingcap.com\\\/files\\\/2021\\\/11\\\/pingcap-logo.png\",\"contentUrl\":\"https:\\\/\\\/static.pingcap.com\\\/files\\\/2021\\\/11\\\/pingcap-logo.png\",\"width\":811,\"height\":232,\"caption\":\"PingCAP\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/facebook.com\\\/pingcap2015\",\"https:\\\/\\\/x.com\\\/PingCAP\",\"https:\\\/\\\/linkedin.com\\\/company\\\/pingcap\",\"https:\\\/\\\/youtube.com\\\/channel\\\/UCuq4puT32DzHKT5rU1IZpIA\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GraphRAG Explained: Knowledge Graphs + RAG in One DB","description":"GraphRAG combines knowledge graphs with RAG for more accurate retrieval. See how to build it on one MySQL-compatible database with TiDB.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.pingcap.com\/ko\/article\/graphrag-enhancing-traditional-rag-through-knowledge-graph\/","og_locale":"ko_KR","og_type":"article","og_title":"GraphRAG Explained: Knowledge Graphs + RAG in One DB","og_description":"GraphRAG combines knowledge graphs with RAG for more accurate retrieval. See how to build it on one MySQL-compatible database with TiDB.","og_url":"https:\/\/www.pingcap.com\/ko\/article\/graphrag-enhancing-traditional-rag-through-knowledge-graph\/","og_site_name":"TiDB","article_publisher":"https:\/\/facebook.com\/pingcap2015","article_modified_time":"2026-10-01T00:29:37+00:00","og_image":[{"width":1440,"height":714,"url":"https:\/\/static.pingcap.com\/files\/2024\/09\/11005522\/Homepage-Ad.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@PingCAP","twitter_misc":{"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"6\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.pingcap.com\/article\/graphrag-enhancing-traditional-rag-through-knowledge-graph\/","url":"https:\/\/www.pingcap.com\/article\/graphrag-enhancing-traditional-rag-through-knowledge-graph\/","name":"GraphRAG Explained: Knowledge Graphs + RAG in One DB","isPartOf":{"@id":"https:\/\/www.pingcap.com\/#website"},"datePublished":"2026-10-01T00:29:05+00:00","dateModified":"2026-10-01T00:29:37+00:00","description":"GraphRAG combines knowledge graphs with RAG for more accurate retrieval. See how to build it on one MySQL-compatible database with TiDB.","breadcrumb":{"@id":"https:\/\/www.pingcap.com\/article\/graphrag-enhancing-traditional-rag-through-knowledge-graph\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pingcap.com\/article\/graphrag-enhancing-traditional-rag-through-knowledge-graph\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.pingcap.com\/article\/graphrag-enhancing-traditional-rag-through-knowledge-graph\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pingcap.com\/"},{"@type":"ListItem","position":2,"name":"Articles","item":"https:\/\/www.pingcap.com\/article\/"},{"@type":"ListItem","position":3,"name":"GraphRAG: How Knowledge Graphs Make RAG More Accurate"}]},{"@type":"WebSite","@id":"https:\/\/www.pingcap.com\/#website","url":"https:\/\/www.pingcap.com\/","name":"\ud2f0DB","description":"TiDB | SQL at Scale","publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pingcap.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.pingcap.com\/#organization","name":"PingCAP","url":"https:\/\/www.pingcap.com\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/","url":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","contentUrl":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","width":811,"height":232,"caption":"PingCAP"},"image":{"@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/pingcap2015","https:\/\/x.com\/PingCAP","https:\/\/linkedin.com\/company\/pingcap","https:\/\/youtube.com\/channel\/UCuq4puT32DzHKT5rU1IZpIA"]}]}},"card_markup":"        <a class=\"card-article\" href=\"https:\/\/www.pingcap.com\/ko\/article\/graphrag-enhancing-traditional-rag-through-knowledge-graph\/\">            <h3>GraphRAG: How Knowledge Graphs Make RAG More Accurate<\/h3>            <p>A support bot built on plain retrieval-augmented generation (RAG) can answer &#8220;What is our refund policy?&#8221; It struggles with &#8220;Which customers who churned last quarter also filed a refund request?&#8221; The first question matches a single chunk of text. The second requires connecting facts across multiple documents, something vector similarity search alone was never built [&hellip;]<\/p>        <\/a>","_links":{"self":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/article\/16801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/users\/305"}],"wp:attachment":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media?parent=16801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}