{"id":53709,"date":"2025-08-26T09:50:24","date_gmt":"2025-08-25T23:50:24","guid":{"rendered":"https:\/\/www.cloudproinc.com.au\/?p=53709"},"modified":"2025-08-26T09:53:58","modified_gmt":"2025-08-25T23:53:58","slug":"graphrag-explained","status":"publish","type":"post","link":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/","title":{"rendered":"GraphRAG Explained"},"content":{"rendered":"\n<p>This article &#8220;GraphRAG Explained&#8221; will explain what is GraphRAG and how incorporated with LLM.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-graphrag\">What is GraphRAG?<\/h2>\n\n\n\n<p>Graph-Based Retrieval Augmented Generation is a way to supercharge Retrieval Augmented Generation (RAG) by storing your knowledge as a graph and retrieving context via relationships\u2014not just text similarity. Instead of pulling a few semantically similar chunks, <a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/08\/25\/run-neo4j-with-docker-inside-github-codespaces\/\">GraphRAG <\/a>traverses nodes and edges (people, products, events, their connections) to assemble a precise, multi-hop context for a <a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/category\/llm\/\">large language model (LLM)<\/a>.<\/p>\n\n\n\n<p>At a high level, GraphRAG blends two strengths: graphs capture structure and provenance, while LLMs generate fluent, task-aware responses. The result is a system that answers complex questions (why, how, what-if) with better grounding, transparency, and control than flat vector search alone.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"683\" data-src=\"\/wp-content\/uploads\/2025\/08\/image-15-1024x683.png\" alt=\"GraphRAG Explained\" class=\"wp-image-53715 lazyload\" data-srcset=\"\/wp-content\/uploads\/2025\/08\/image-15-1024x683.png 1024w, \/wp-content\/uploads\/2025\/08\/image-15-300x200.png 300w, \/wp-content\/uploads\/2025\/08\/image-15-768x512.png 768w, \/wp-content\/uploads\/2025\/08\/image-15-1080x720.png 1080w, \/wp-content\/uploads\/2025\/08\/image-15-1280x853.png 1280w, \/wp-content\/uploads\/2025\/08\/image-15-980x653.png 980w, \/wp-content\/uploads\/2025\/08\/image-15-480x320.png 480w, \/wp-content\/uploads\/2025\/08\/image-15.png 1536w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/683;\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-why-graphs-help-rag\">Why graphs help RAG<\/h2>\n\n\n\n<p>Traditional RAG treats knowledge as independent chunks. That works for FAQs or one-hop lookups. But many enterprise questions require stitching facts across sources: \u201cWho approved the change that caused last week\u2019s outage?\u201d or \u201cWhich suppliers indirectly depend on Vendor X?\u201d A graph naturally models entities and relationships so you can:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Retrieve by structure: follow edges across systems, time, and teams.<\/li>\n\n\n\n<li>Do multi-hop reasoning: chain facts without brute-forcing huge context windows.<\/li>\n\n\n\n<li>Preserve provenance: every node\/edge can point to the exact source passage.<\/li>\n\n\n\n<li>Reduce duplication: unify entities, normalize synonyms, and de-duplicate facts.<\/li>\n\n\n\n<li>Explain answers: show paths and citations, not just paragraphs.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-architecture-at-a-glance\">Architecture at a glance<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Ingest<\/strong>: Collect documents, tables, tickets, code, logs.<\/li>\n\n\n\n<li><strong>Extract<\/strong>: Use LLMs and rules to identify entities, attributes, and relations; create triples or structured records.<\/li>\n\n\n\n<li><strong>Build the graph<\/strong>: Upsert nodes\/edges in a graph store; attach provenance and metadata.<\/li>\n\n\n\n<li><strong>Index<\/strong>: Create hybrid indexes: graph indexes (labels, properties), text\/keyword, and vector embeddings.<\/li>\n\n\n\n<li><strong>Summarize<\/strong>: Generate concise node summaries and community-level summaries for scalable retrieval.<\/li>\n\n\n\n<li><strong>Plan queries<\/strong>: Classify intent; generate Cypher\/Gremlin queries; combine with vector search if needed.<\/li>\n\n\n\n<li><strong>Retrieve subgraph<\/strong>: Pull relevant nodes, paths, and supporting passages.<\/li>\n\n\n\n<li><strong>Construct context<\/strong>: Assemble citations and summaries into a compact prompt.<\/li>\n\n\n\n<li><strong>Generate<\/strong>: Ask the LLM to answer using only provided context; include paths\/citations.<\/li>\n\n\n\n<li><strong>Evaluate &amp; improve<\/strong>: Track accuracy, groundedness, path correctness, and cost\/latency.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-when-to-use-graphrag-and-when-not\">When to use GraphRAG (and when not)<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Great fit<\/strong>: cross-document analysis (incidents, audits), investigations (fraud, supply chain risk), research (biomed, legal), software and architecture Q&amp;A, codebase and dependency queries, enterprise knowledge consolidation.<\/li>\n\n\n\n<li><strong>Overkill<\/strong>: simple FAQ, short-lived contexts, or domains with minimal relationships.<\/li>\n\n\n\n<li><strong>Costs<\/strong>: upfront schema design, extraction pipelines, and operations; LLM calls for extraction and query planning; graph storage.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-data-modeling-essentials\">Data modeling essentials<\/h2>\n\n\n\n<p>Start small and evolve. Define:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Node labels<\/strong>: e.g., Person, System, Service, Document, Incident, Vendor.<\/li>\n\n\n\n<li><strong>Edge types<\/strong>: e.g., OWNS, DEPENDS_ON, REPORTED, CAUSED, MENTIONS, CITES.<\/li>\n\n\n\n<li><strong>Properties<\/strong>: name, ids, timestamps, categories, confidence scores.<\/li>\n\n\n\n<li><strong>Provenance<\/strong>: source_id, passage_offset, url, revision.<\/li>\n\n\n\n<li><strong>Versioning<\/strong>: updated_at, valid_from\/valid_to; soft-delete with flags.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-indexing-pipeline-llm-assisted-extraction\">Indexing pipeline (LLM-assisted extraction)<\/h2>\n\n\n\n<p>Use an LLM to turn unstructured text into nodes and edges. Validate with schemas and confidence thresholds before writing to the graph.<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-959af56d268d1c1fa2e28302f75e1c6f\"><code># Pseudocode illustrating an indexing pipeline with a graph DB\n\nfrom typing import List, Dict\n\n# 1) Chunk documents with stable IDs\ndocs = load_documents()  # &#91;{\"id\": \"doc1\", \"text\": \"...\"}, ...]\n\n# 2) Prompt the LLM to extract entities and relations\ndef extract_graph_units(text: str) -&gt; Dict:\n    system = \"Extract entities, attributes, and typed relations. Return JSON.\"\n    user = f\"Text:\\n{text}\\nReturn: {{nodes: &#91;...], edges: &#91;...]}}\"\n    return llm_complete(system=system, user=user)  # JSON with nodes\/edges\n\n# 3) Upsert into the graph database\n\ndef upsert_graph(payload: Dict, neo4j):\n    # nodes: &#91;{label:\"Service\", key:\"svc:payments\", props:{name:\"Payments\"}}]\n    # edges: &#91;{type:\"DEPENDS_ON\", start:\"svc:payments\", end:\"svc:ledger\", props:{...}}]\n    with neo4j.session() as s:\n        for n in payload&#91;\"nodes\"]:\n            s.run(\n                \"\"\"\n                MERGE (x:Generic {key:$key})\n                SET x += $props\n                WITH x\n                CALL apoc.create.addLabels(x, &#91;$label]) YIELD node\n                RETURN node\n                \"\"\",\n                {\n                    \"key\": n&#91;\"key\"],\n                    \"props\": {**n.get(\"props\", {}), \"source_id\": payload.get(\"source_id\")},\n                    \"label\": n&#91;\"label\"],\n                },\n            )\n        for e in payload&#91;\"edges\"]:\n            s.run(\n                \"\"\"\n                MATCH (a:Generic {key:$start}),(b:Generic {key:$end})\n                MERGE (a)-&#91;r:REL {type:$type}]-&gt;(b)\n                SET r += $props\n                \"\"\",\n                {\n                    \"start\": e&#91;\"start\"], \"end\": e&#91;\"end\"],\n                    \"type\": e&#91;\"type\"], \"props\": e.get(\"props\", {})\n                },\n            )\n\n# 4) Create or update embeddings (optional, hybrid retrieval)\n\ndef embed_and_store(texts: List&#91;str]):\n    vectors = embedding_model.embed(texts)\n    vector_store.upsert(ids=&#91;...], vectors=vectors, metadata=&#91;...])\n\nfor d in docs:\n    payload = extract_graph_units(d&#91;\"text\"])  # JSON\n    payload&#91;\"source_id\"] = d&#91;\"id\"]\n    upsert_graph(payload, neo4j)\n    embed_and_store(split_passages(d))\n<\/code><\/pre>\n\n\n\n<p>Notes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Constrain outputs with schemas and validators; reject low-confidence edges.<\/li>\n\n\n\n<li>Deduplicate using canonical keys and alias tables.<\/li>\n\n\n\n<li>Summarize nodes and communities to keep context compact.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-query-pipeline-hybrid-structural-semantic\">Query pipeline (hybrid structural + semantic)<\/h2>\n\n\n\n<p>At query time, classify the question, plan a graph query, retrieve supporting passages, and then generate the answer.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Pseudocode for a GraphRAG query\n\ndef plan_graph_query(question: str) -&gt; str:\n    system = \"You translate questions into Cypher over our schema.\"\n    schema_hint = \"Nodes: Service, Incident, Vendor; Rels: DEPENDS_ON, CAUSED, SUPPLIES\"\n    user = f\"Question: {question}\\nReturn only Cypher. {schema_hint}\"\n    cypher = llm_complete(system=system, user=user)\n    return cypher.strip()\n\n\ndef retrieve_context(question: str):\n    cypher = plan_graph_query(question)\n    subgraph = neo4j.run(cypher)  # nodes, edges, properties\n\n    # Also pull relevant passages via vector or keyword search\n    passages = vector_store.search(question, top_k=10)\n\n    # Build concise context with citations\n    context = build_context(subgraph, passages)\n    return context, cypher\n\n\ndef answer_with_grounding(question: str):\n    context, cypher = retrieve_context(question)\n    system = \"Answer only from the provided context. Cite node keys and passage ids.\"\n    user = f\"Question: {question}\\nContext:\\n{context}\\n\" \n    answer = llm_complete(system=system, user=user)\n    return {\"answer\": answer, \"cypher\": cypher, \"context\": context}\n\n# Example\nresult = answer_with_grounding(\"Which services indirectly depend on Vendor X and were affected by Incident-42?\")\nprint(result&#91;\"answer\"])  # includes citations and graph paths\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-example-cypher-patterns\">Example Cypher patterns<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Multi-hop dependency (up to 3 levels)\nMATCH (v:Vendor {name:$vendor})&lt;-&#91;:SUPPLIES*1..3]-(s:Service)\nRETURN DISTINCT s.name\n\n\/\/ Root-cause chain with time window\nMATCH (i:Incident {id:$id})-&#91;:CAUSED]-&gt;(s:Service)-&#91;:DEPENDS_ON*1..2]-&gt;(d:Service)\nWHERE i.started_at &gt; datetime() - duration('P30D')\nRETURN i, s, d\n\n\/\/ Retrieve provenance for an edge\nMATCH (a)-&#91;r:DEPENDS_ON]-&gt;(b)\nRETURN a.key, b.key, r.source_id, r.evidence\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-community-summaries-scaling-trick\">Community summaries (scaling trick)<\/h2>\n\n\n\n<p>A practical GraphRAG technique is community-level summarization. Detect clusters (e.g., services that co-change or co-occur), then summarize each cluster once. At query time, retrieve a few summaries first; only expand into detailed nodes if needed. This reduces tokens and latency while preserving coverage.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-evaluation-and-quality\">Evaluation and quality<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Answer correctness<\/strong>: human or programmatic grading against gold labels.<\/li>\n\n\n\n<li><strong>Groundedness<\/strong>: is every claim supported by provided nodes\/passages?<\/li>\n\n\n\n<li><strong>Path correctness<\/strong>: does the cited graph path logically support the claim?<\/li>\n\n\n\n<li><strong>Coverage\/Recall<\/strong>: fraction of necessary nodes\/edges retrieved.<\/li>\n\n\n\n<li><strong>Latency<\/strong>: ingestion, planning, retrieval, and generation breakdown.<\/li>\n\n\n\n<li><strong>Cost<\/strong>: per query token spend and ingestion cost.<\/li>\n<\/ul>\n\n\n\n<p>Automate with synthetic question generation over your graph, assert path and citation presence, and measure drift after updates.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-performance-and-cost-tips\">Performance and cost tips<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cache query plans and subgraphs for recurring questions.<\/li>\n\n\n\n<li>Use community summaries and node summaries to shrink prompts.<\/li>\n\n\n\n<li>Limit traversal depth; prefer k-shortest paths or weighted walks.<\/li>\n\n\n\n<li>Hybrid retrieval: combine graph constraints with vector re-ranking.<\/li>\n\n\n\n<li>Enforce budgets: max nodes\/edges, max tokens, and early stopping.<\/li>\n\n\n\n<li>Incremental updates: stream changes, avoid full re-extraction.<\/li>\n\n\n\n<li>Store confidence scores and filter low-quality edges at query time.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-tooling-choices\">Tooling choices<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Graph stores<\/strong>: Neo4j, Memgraph, TigerGraph, Amazon Neptune, ArangoDB. Choose based on query language, scale, and ops maturity.<\/li>\n\n\n\n<li><strong>Frameworks<\/strong>: LangChain and LlamaIndex include graph and knowledge-graph RAG modules; some projects provide ready-made GraphRAG pipelines with community summaries and reporting.<\/li>\n\n\n\n<li><strong>Embeddings<\/strong>: Use modern embedding models for passages and graph elements; store in a vector DB or in the graph as properties.<\/li>\n\n\n\n<li><strong>Pipelines<\/strong>: Orchestrate with your favorite scheduler; enforce schema validation and retries.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-security-governance-and-trust\">Security, governance, and trust<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Apply row-\/edge-level security: filter nodes and edges per user at query time.<\/li>\n\n\n\n<li>Mask PII and sensitive attributes; log accesses for audits.<\/li>\n\n\n\n<li>Track provenance per node\/edge; show citations in answers by default.<\/li>\n\n\n\n<li>Control drift: monitor changes in extraction quality and schema usage.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-common-pitfalls\">Common pitfalls<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Over-extraction<\/strong>: Too many low-confidence edges bloat the graph. Enforce thresholds and human review for critical domains.<\/li>\n\n\n\n<li><strong>Schema churn<\/strong>: Frequent label\/property changes break prompts and queries. Version your schema and prompts.<\/li>\n\n\n\n<li><strong>Unbounded traversals<\/strong>: Depth-unlimited queries explode token usage. Cap depth and fan-out.<\/li>\n\n\n\n<li><strong>Context sprawl<\/strong>: Raw passages plus subgraphs can exceed limits. Summarize aggressively and re-rank.<\/li>\n\n\n\n<li><strong>Opaque answers<\/strong>: Always include paths and citations; hide them only in UI if necessary.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-a-minimal-checklist-to-get-started\">A minimal checklist to get started<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Pick a sharp use case (e.g., incident root cause, supplier risk).<\/li>\n\n\n\n<li>Define a small schema and provenance policy.<\/li>\n\n\n\n<li>Build an extraction prompt with validation; process 100\u2013500 docs.<\/li>\n\n\n\n<li>Upsert into a graph DB; create basic indexes and embeddings.<\/li>\n\n\n\n<li>Implement query planning (LLM-to-Cypher) with a handful of patterns.<\/li>\n\n\n\n<li>Add community and node summaries; enforce budgets and citations.<\/li>\n\n\n\n<li>Evaluate on a test set; iterate on schema, prompts, and ranking.<\/li>\n\n\n\n<li>Productionize with monitoring, ACLs, and cost controls.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-bottom-line\">Bottom line<\/h2>\n\n\n\n<p>GraphRAG elevates RAG from \u201cfind similar text\u201d to \u201cretrieve the right structured evidence.\u201d If your domain is relational and your questions are multi-hop, a graph-first index can improve accuracy, explainability, and efficiency. Start small: define a schema, extract reliable edges, and wire a simple query planner. You can expand to community summaries and hybrid retrieval once the core loop is working. The payoff is a system that answers the questions your organization actually asks\u2014grounded, traceable, and fast enough to trust.<\/p>\n\n\n\n<ul class=\"wp-block-yoast-seo-related-links yoast-seo-related-links\">\n<li><a href=\"https:\/\/cloudproinc.com.au\/index.php\/2024\/03\/28\/updating-microsoft-edge-using-intune\/\">Updating Microsoft Edge Using Intune<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/2024\/08\/01\/automating-access-to-microsoft-graph-api-using-azure-pipelines\/\">Automating Access to Microsoft Graph API Using Azure Pipelines<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/01\/28\/running-c-net-applications-in-azure-devops-pipelines\/\">Running C# .NET Applications in Azure DevOps Pipelines<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudproinc.com.au\/index.php\/developing-openai-applications-with-net\/\">Developing OpenAI Applications with .NET<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/21\/build-git-mcp-server-with-the-openai-agents-sdk\/\">Build Git MCP Server with the OpenAI Agents SDK<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>GraphRAG combines knowledge graphs with RAG to retrieve structured, multi-hop context for LLMs. Learn how it works and how to build one.<\/p>\n","protected":false},"author":1,"featured_media":53717,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_focuskw":"GraphRAG Explained","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"GraphRAG Explained unveils how this innovative approach combines graphs and LLMs for smarter knowledge retrieval and context.","_yoast_wpseo_opengraph-title":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_twitter-title":"","_yoast_wpseo_twitter-description":"","_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[24,13,82],"tags":[],"class_list":["post-53709","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-blog","category-neo4j"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>GraphRAG Explained - CPI Consulting<\/title>\n<meta name=\"description\" content=\"GraphRAG Explained unveils how this innovative approach combines graphs and LLMs for smarter knowledge retrieval and context.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GraphRAG Explained\" \/>\n<meta property=\"og:description\" content=\"GraphRAG Explained unveils how this innovative approach combines graphs and LLMs for smarter knowledge retrieval and context.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/\" \/>\n<meta property=\"og:site_name\" content=\"CPI Consulting\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-25T23:50:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-25T23:53:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cloudproinc.com.au\/wp-content\/uploads\/2025\/08\/graphrag-explained.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"CPI Staff\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"CPI Staff\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/08\\\/26\\\/graphrag-explained\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/08\\\/26\\\/graphrag-explained\\\/\"},\"author\":{\"name\":\"CPI Staff\",\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#\\\/schema\\\/person\\\/192eeeb0ce91062126ce3822ae88fe6e\"},\"headline\":\"GraphRAG Explained\",\"datePublished\":\"2025-08-25T23:50:24+00:00\",\"dateModified\":\"2025-08-25T23:53:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/08\\\/26\\\/graphrag-explained\\\/\"},\"wordCount\":1113,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/08\\\/26\\\/graphrag-explained\\\/#primaryimage\"},\"thumbnailUrl\":\"\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/graphrag-explained.png\",\"articleSection\":[\"AI\",\"Blog\",\"Neo4j\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/08\\\/26\\\/graphrag-explained\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/08\\\/26\\\/graphrag-explained\\\/\",\"url\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/08\\\/26\\\/graphrag-explained\\\/\",\"name\":\"GraphRAG Explained - CPI Consulting\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/08\\\/26\\\/graphrag-explained\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/08\\\/26\\\/graphrag-explained\\\/#primaryimage\"},\"thumbnailUrl\":\"\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/graphrag-explained.png\",\"datePublished\":\"2025-08-25T23:50:24+00:00\",\"dateModified\":\"2025-08-25T23:53:58+00:00\",\"description\":\"GraphRAG Explained unveils how this innovative approach combines graphs and LLMs for smarter knowledge retrieval and context.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/08\\\/26\\\/graphrag-explained\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/08\\\/26\\\/graphrag-explained\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/08\\\/26\\\/graphrag-explained\\\/#primaryimage\",\"url\":\"\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/graphrag-explained.png\",\"contentUrl\":\"\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/graphrag-explained.png\",\"width\":1536,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/08\\\/26\\\/graphrag-explained\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GraphRAG Explained\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#website\",\"url\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/\",\"name\":\"Cloud Pro Inc - CPI Consulting Pty Ltd\",\"description\":\"Cloud, AI &amp; Cybersecurity Consulting | Melbourne\",\"publisher\":{\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#organization\",\"name\":\"Cloud Pro Inc - Cloud Pro Inc - CPI Consulting Pty Ltd\",\"url\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/favfinalfile.png\",\"contentUrl\":\"\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/favfinalfile.png\",\"width\":500,\"height\":500,\"caption\":\"Cloud Pro Inc - Cloud Pro Inc - CPI Consulting Pty Ltd\"},\"image\":{\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#\\\/schema\\\/person\\\/192eeeb0ce91062126ce3822ae88fe6e\",\"name\":\"CPI Staff\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g\",\"caption\":\"CPI Staff\"},\"sameAs\":[\"http:\\\/\\\/www.cloudproinc.com.au\"],\"url\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/author\\\/cpiadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"GraphRAG Explained - CPI Consulting","description":"GraphRAG Explained unveils how this innovative approach combines graphs and LLMs for smarter knowledge retrieval and context.","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:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/","og_locale":"en_US","og_type":"article","og_title":"GraphRAG Explained","og_description":"GraphRAG Explained unveils how this innovative approach combines graphs and LLMs for smarter knowledge retrieval and context.","og_url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/","og_site_name":"CPI Consulting","article_published_time":"2025-08-25T23:50:24+00:00","article_modified_time":"2025-08-25T23:53:58+00:00","og_image":[{"width":1536,"height":1024,"url":"https:\/\/cloudproinc.com.au\/wp-content\/uploads\/2025\/08\/graphrag-explained.png","type":"image\/png"}],"author":"CPI Staff","twitter_card":"summary_large_image","twitter_misc":{"Written by":"CPI Staff","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/#article","isPartOf":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/"},"author":{"name":"CPI Staff","@id":"https:\/\/cloudproinc.azurewebsites.net\/#\/schema\/person\/192eeeb0ce91062126ce3822ae88fe6e"},"headline":"GraphRAG Explained","datePublished":"2025-08-25T23:50:24+00:00","dateModified":"2025-08-25T23:53:58+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/"},"wordCount":1113,"commentCount":0,"publisher":{"@id":"https:\/\/cloudproinc.azurewebsites.net\/#organization"},"image":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2025\/08\/graphrag-explained.png","articleSection":["AI","Blog","Neo4j"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/","url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/","name":"GraphRAG Explained - CPI Consulting","isPartOf":{"@id":"https:\/\/cloudproinc.azurewebsites.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/#primaryimage"},"image":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2025\/08\/graphrag-explained.png","datePublished":"2025-08-25T23:50:24+00:00","dateModified":"2025-08-25T23:53:58+00:00","description":"GraphRAG Explained unveils how this innovative approach combines graphs and LLMs for smarter knowledge retrieval and context.","breadcrumb":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/#primaryimage","url":"\/wp-content\/uploads\/2025\/08\/graphrag-explained.png","contentUrl":"\/wp-content\/uploads\/2025\/08\/graphrag-explained.png","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudproinc.azurewebsites.net\/"},{"@type":"ListItem","position":2,"name":"GraphRAG Explained"}]},{"@type":"WebSite","@id":"https:\/\/cloudproinc.azurewebsites.net\/#website","url":"https:\/\/cloudproinc.azurewebsites.net\/","name":"Cloud Pro Inc - CPI Consulting Pty Ltd","description":"Cloud, AI &amp; Cybersecurity Consulting | Melbourne","publisher":{"@id":"https:\/\/cloudproinc.azurewebsites.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudproinc.azurewebsites.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudproinc.azurewebsites.net\/#organization","name":"Cloud Pro Inc - Cloud Pro Inc - CPI Consulting Pty Ltd","url":"https:\/\/cloudproinc.azurewebsites.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudproinc.azurewebsites.net\/#\/schema\/logo\/image\/","url":"\/wp-content\/uploads\/2022\/01\/favfinalfile.png","contentUrl":"\/wp-content\/uploads\/2022\/01\/favfinalfile.png","width":500,"height":500,"caption":"Cloud Pro Inc - Cloud Pro Inc - CPI Consulting Pty Ltd"},"image":{"@id":"https:\/\/cloudproinc.azurewebsites.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/cloudproinc.azurewebsites.net\/#\/schema\/person\/192eeeb0ce91062126ce3822ae88fe6e","name":"CPI Staff","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g","caption":"CPI Staff"},"sameAs":["http:\/\/www.cloudproinc.com.au"],"url":"https:\/\/cloudproinc.com.au\/index.php\/author\/cpiadmin\/"}]}},"jetpack_featured_media_url":"\/wp-content\/uploads\/2025\/08\/graphrag-explained.png","jetpack-related-posts":[{"id":53732,"url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/28\/cypher-queries-and-rag-technology-explained\/","url_meta":{"origin":53709,"position":0},"title":"Cypher Queries and RAG Technology Explained","author":"CPI Staff","date":"August 28, 2025","format":false,"excerpt":"When it comes to making sense of complex data, especially in the era of AI, two concepts often come up together: Cypher queries and RAG technology. Cypher queries are the language behind graph databases like Neo4j, while RAG (Retrieval-Augmented Generation) is an approach used in modern AI systems to improve\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/cloudproinc.com.au\/index.php\/category\/ai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/08\/cypher-queries-and-rag-technology-explained.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/08\/cypher-queries-and-rag-technology-explained.png 1x, \/wp-content\/uploads\/2025\/08\/cypher-queries-and-rag-technology-explained.png 1.5x, \/wp-content\/uploads\/2025\/08\/cypher-queries-and-rag-technology-explained.png 2x, \/wp-content\/uploads\/2025\/08\/cypher-queries-and-rag-technology-explained.png 3x, \/wp-content\/uploads\/2025\/08\/cypher-queries-and-rag-technology-explained.png 4x"},"classes":[]},{"id":53838,"url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/","url_meta":{"origin":53709,"position":1},"title":"Use Text2Cypher with RAG","author":"CPI Staff","date":"September 15, 2025","format":false,"excerpt":"Learn how to combine Text2Cypher and RAG to turn natural language into precise Cypher, execute safely, and deliver trustworthy graph answers.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/cloudproinc.com.au\/index.php\/category\/ai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/09\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/09\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.png 1x, \/wp-content\/uploads\/2025\/09\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.png 1.5x, \/wp-content\/uploads\/2025\/09\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.png 2x, \/wp-content\/uploads\/2025\/09\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.png 3x, \/wp-content\/uploads\/2025\/09\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.png 4x"},"classes":[]},{"id":53836,"url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/09\/15\/architecture-of-rag-building-reliable-retrieval-augmented-ai\/","url_meta":{"origin":53709,"position":2},"title":"Architecture of RAG Building Reliable Retrieval Augmented AI","author":"CPI Staff","date":"September 15, 2025","format":false,"excerpt":"A practical guide to RAG architecture, from data ingestion to retrieval, generation, and evaluation, with patterns, pitfalls, and a minimal Python example you can adapt to your stack.","rel":"","context":"In &quot;Blog&quot;","block_context":{"text":"Blog","link":"https:\/\/cloudproinc.com.au\/index.php\/category\/blog\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/09\/architecture-of-rag-building-reliable-retrieval-augmented-ai.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/09\/architecture-of-rag-building-reliable-retrieval-augmented-ai.png 1x, \/wp-content\/uploads\/2025\/09\/architecture-of-rag-building-reliable-retrieval-augmented-ai.png 1.5x, \/wp-content\/uploads\/2025\/09\/architecture-of-rag-building-reliable-retrieval-augmented-ai.png 2x, \/wp-content\/uploads\/2025\/09\/architecture-of-rag-building-reliable-retrieval-augmented-ai.png 3x, \/wp-content\/uploads\/2025\/09\/architecture-of-rag-building-reliable-retrieval-augmented-ai.png 4x"},"classes":[]},{"id":53834,"url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/09\/15\/how-text-chunking-works-for-rag-pipelines\/","url_meta":{"origin":53709,"position":3},"title":"How Text Chunking Works for RAG Pipelines","author":"CPI Staff","date":"September 15, 2025","format":false,"excerpt":"A practical guide to text chunking for RAG and search. Learn strategies, token sizes, overlap, and code to lift retrieval quality without inflating cost or latency.","rel":"","context":"In &quot;Blog&quot;","block_context":{"text":"Blog","link":"https:\/\/cloudproinc.com.au\/index.php\/category\/blog\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/09\/how-text-chunking-works-for-rag-pipelines-and-search-quality.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/09\/how-text-chunking-works-for-rag-pipelines-and-search-quality.png 1x, \/wp-content\/uploads\/2025\/09\/how-text-chunking-works-for-rag-pipelines-and-search-quality.png 1.5x, \/wp-content\/uploads\/2025\/09\/how-text-chunking-works-for-rag-pipelines-and-search-quality.png 2x, \/wp-content\/uploads\/2025\/09\/how-text-chunking-works-for-rag-pipelines-and-search-quality.png 3x, \/wp-content\/uploads\/2025\/09\/how-text-chunking-works-for-rag-pipelines-and-search-quality.png 4x"},"classes":[]},{"id":53745,"url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/31\/understanding-openai-embedding-models\/","url_meta":{"origin":53709,"position":4},"title":"Understanding OpenAI Embedding Models","author":"CPI Staff","date":"August 31, 2025","format":false,"excerpt":"A practical guide to OpenAI\u2019s embedding models\u2014what they are, how they work, and how to use them for search, RAG, clustering, and more.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/cloudproinc.com.au\/index.php\/category\/ai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/08\/understanding-openai-embedding-models.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/08\/understanding-openai-embedding-models.png 1x, \/wp-content\/uploads\/2025\/08\/understanding-openai-embedding-models.png 1.5x, \/wp-content\/uploads\/2025\/08\/understanding-openai-embedding-models.png 2x, \/wp-content\/uploads\/2025\/08\/understanding-openai-embedding-models.png 3x, \/wp-content\/uploads\/2025\/08\/understanding-openai-embedding-models.png 4x"},"classes":[]},{"id":53960,"url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/09\/25\/langchain-architecture-explained\/","url_meta":{"origin":53709,"position":5},"title":"LangChain Architecture Explained","author":"CPI Staff","date":"September 25, 2025","format":false,"excerpt":"A practical tour of LangChain\u2019s building blocks\u2014models, prompts, chains, memory, tools, and RAG\u2014plus LCEL, tracing, and deployment tips for production AI apps.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/cloudproinc.com.au\/index.php\/category\/ai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/09\/langchain-architecture-explained-for-agents-rag-and-production-apps.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/09\/langchain-architecture-explained-for-agents-rag-and-production-apps.png 1x, \/wp-content\/uploads\/2025\/09\/langchain-architecture-explained-for-agents-rag-and-production-apps.png 1.5x, \/wp-content\/uploads\/2025\/09\/langchain-architecture-explained-for-agents-rag-and-production-apps.png 2x, \/wp-content\/uploads\/2025\/09\/langchain-architecture-explained-for-agents-rag-and-production-apps.png 3x, \/wp-content\/uploads\/2025\/09\/langchain-architecture-explained-for-agents-rag-and-production-apps.png 4x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts\/53709","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/comments?post=53709"}],"version-history":[{"count":1,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts\/53709\/revisions"}],"predecessor-version":[{"id":53716,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts\/53709\/revisions\/53716"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/media\/53717"}],"wp:attachment":[{"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/media?parent=53709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/categories?post=53709"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/tags?post=53709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}