{"id":53838,"date":"2025-09-15T10:48:40","date_gmt":"2025-09-15T00:48:40","guid":{"rendered":"https:\/\/www.cloudproinc.com.au\/?p=53838"},"modified":"2025-09-15T10:48:42","modified_gmt":"2025-09-15T00:48:42","slug":"use-text2cypher-with-rag","status":"publish","type":"post","link":"https:\/\/cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/","title":{"rendered":"Use Text2Cypher with RAG"},"content":{"rendered":"\n<p>In this blog post Use Text2Cypher with RAG for dependable graph-based answers today we will show how to turn natural-language questions into precise Cypher queries and reliable answers over your graph data.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Before diving into code, let\u2019s clarify the idea. Text2Cypher uses a language model to translate a user question into a Cypher query for <a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/category\/neo4j\/\">Neo4j<\/a> (or any Cypher-compatible graph). Retrieval-augmented generation (RAG) feeds the model the most relevant context\u2014like your graph schema, allowed operations, and example queries\u2014so it generates safer, more accurate Cypher and better final answers. Put simply: RAG gives the model the right map; Text2Cypher drives the car.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-text2cypher-and-why-pair-it-with-rag\">What is Text2Cypher and why pair it with RAG<\/h2>\n\n\n\n<p>Cypher is a declarative query language for graphs. It\u2019s expressive and readable, but users still need to know labels, relationship types, properties, and how to pattern-match paths. Text2Cypher lets them ask \u201cWhich customers bought product X after July?\u201d and have a model produce the correct MATCH\/WHERE\/RETURN.<\/p>\n\n\n\n<p>RAG improves Text2Cypher by grounding the model with:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Schema snippets (node labels, relationships, indexed properties)<\/li>\n\n\n\n<li>Business vocabulary mappings (e.g., \u201cclient\u201d means :Customer)<\/li>\n\n\n\n<li>Query patterns and constraints (read-only, no deletes)<\/li>\n\n\n\n<li>Representative examples with input-output pairs<\/li>\n<\/ul>\n\n\n\n<p>The result: fewer hallucinations, fewer dangerous queries, more precise and explainable answers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-solution-architecture-at-a-glance\">Solution architecture at a glance<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Intent understanding: classify if the question is graph-queryable.<\/li>\n\n\n\n<li>Context retrieval (RAG): fetch the minimal relevant schema, synonyms, and examples.<\/li>\n\n\n\n<li>Text2Cypher: prompt the LLM to produce a Cypher statement with parameters.<\/li>\n\n\n\n<li>Safety checks: enforce read-only, validate syntax with EXPLAIN, limit result size.<\/li>\n\n\n\n<li>Execution: run parameterized Cypher via Neo4j driver.<\/li>\n\n\n\n<li>Answer synthesis: summarize results and include lightweight citations.<\/li>\n\n\n\n<li>Observability: track query success, correctness, and token usage.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-prerequisites\">Prerequisites<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A Neo4j instance (local or managed) and the Python neo4j driver<\/li>\n\n\n\n<li>Access to an LLM API (e.g., OpenAI or Azure OpenAI)<\/li>\n\n\n\n<li>A small set of schema docs and example queries<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-sample-domain\">Sample domain<\/h2>\n\n\n\n<p>We\u2019ll use a movie graph with nodes and relationships:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Labels: Movie(title, released, tagline), Person(name, born)<\/li>\n\n\n\n<li>Relationships: (:Person)-[:ACTED_IN]->(:Movie), (:Person)-[:DIRECTED]->(:Movie)<\/li>\n<\/ul>\n\n\n\n<p>Example business synonyms: \u201cactor\u201d \u2192 :Person who ACTED_IN; \u201cfilm\u201d \u2192 :Movie.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-preparing-your-rag-context\">Preparing your RAG context<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-curate-schema-and-examples\">1) Curate schema and examples<\/h3>\n\n\n\n<p>Create short, copy-pastable documents:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Schema.md \u2013 labels, relationships, properties, indexes<\/li>\n\n\n\n<li>Synonyms.md \u2013 term-to-schema mapping<\/li>\n\n\n\n<li>Examples.md \u2013 a handful of natural-language to Cypher pairs<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-embed-and-index-the-context\">2) Embed and index the context<\/h3>\n\n\n\n<p>Use any vector store. Here\u2019s a concise example with LangChain + FAISS. Swap providers as needed.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install langchain langchain-openai langchain-community faiss-cpu neo4j<\/code><\/pre>\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-9d6a2a8cb3c40d7996bfe08af8e829a0\"><code>from langchain_openai import OpenAIEmbeddings, ChatOpenAI\nfrom langchain_community.vectorstores import FAISS\nfrom langchain.text_splitter import RecursiveCharacterTextSplitter\nfrom langchain.docstore.document import Document\n\nschema = \"\"\"\nLabels:\n- Movie(title STRING, released INT, tagline STRING)\n- Person(name STRING, born INT)\nRelationships:\n- (Person)-&#91;:ACTED_IN]-&gt;(Movie)\n- (Person)-&#91;:DIRECTED]-&gt;(Movie)\nIndexes: INDEX ON :Movie(title), :Person(name)\n\"\"\"\n\nsynonyms = \"\"\"\nSynonyms:\n- actor\/actress =&gt; Person who ACTED_IN\n- film\/movie =&gt; Movie\n- directed by =&gt; (Person)-&#91;:DIRECTED]-&gt;(Movie)\n\"\"\"\n\nexamples = \"\"\"\nQ: movies starring Tom Hanks after 1990\nCypher:\nMATCH (p:Person {name: $name})-&#91;:ACTED_IN]-&gt;(m:Movie)\nWHERE m.released &gt; $year\nRETURN m.title AS title, m.released AS year\nORDER BY year DESC LIMIT 20;\nParams: {\"name\": \"Tom Hanks\", \"year\": 1990}\n\nQ: who directed Apollo 13\nCypher:\nMATCH (p:Person)-&#91;:DIRECTED]-&gt;(m:Movie {title: $title})\nRETURN p.name AS director LIMIT 5;\nParams: {\"title\": \"Apollo 13\"}\n\"\"\"\n\nsplitter = RecursiveCharacterTextSplitter(chunk_size=800, chunk_overlap=50)\ndocs = &#91;Document(page_content=t) for t in splitter.split_text(\"\\n\\n\".join(&#91;schema, synonyms, examples]))]\n\nvec = FAISS.from_documents(docs, OpenAIEmbeddings())\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-prompting-the-model-to-produce-safe-cypher\">Prompting the model to produce safe Cypher<\/h2>\n\n\n\n<p>The LLM should only produce read-only Cypher with parameters and no data writes. We\u2019ll instruct it strictly and then validate.<\/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-2ba949325d257840a9e87b7912274f63\"><code>READ_ONLY_KEYWORDS = &#91;\"CREATE\", \"MERGE\", \"DELETE\", \"DETACH\", \"SET\", \"DROP\", \"LOAD CSV\", \"CALL dbms.\"]\n\nSYSTEM_PROMPT = \"\"\"\nYou convert natural language questions into Cypher for a Neo4j database.\nRules:\n- Only use MATCH\/WHERE\/RETURN\/ORDER\/LIMIT\/OPTIONAL MATCH\n- Use parameters, never literal user input\n- Prefer indexed lookups on :Person(name) or :Movie(title) when relevant\n- Limit results to 50 unless the user asks otherwise\n- Output only a JSON object with fields: cypher, params\n- Do not explain yourself\nContext:\n{context}\n\"\"\"\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-end-to-end-function\">End-to-end function<\/h3>\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-15bd74ff8343b55831e8b486516b06e8\"><code>import json\nfrom langchain.prompts import ChatPromptTemplate\nfrom langchain_core.output_parsers import StrOutputParser\nfrom neo4j import GraphDatabase\n\nllm = ChatOpenAI(model=\"gpt-4o-mini\", temperature=0)\n\nprompt = ChatPromptTemplate.from_messages(&#91;\n    (\"system\", SYSTEM_PROMPT),\n    (\"user\", \"Question: {question}\\nReturn JSON with cypher and params.\")\n])\n\nparser = StrOutputParser()\n\n# Neo4j driver\nNEO4J_URI = \"bolt:\/\/localhost:7687\"\nNEO4J_USER = \"neo4j\"\nNEO4J_PASS = \"password\"\ndriver = GraphDatabase.driver(NEO4J_URI, auth=(NEO4J_USER, NEO4J_PASS))\n\n\ndef retrieve_context(question: str) -&gt; str:\n    \"\"\"RAG step: pull a few relevant chunks.\"\"\"\n    hits = vec.similarity_search(question, k=4)\n    return \"\\n---\\n\".join(h.page_content for h in hits)\n\n\ndef looks_read_only(cypher: str) -&gt; bool:\n    up = cypher.upper()\n    return not any(kw in up for kw in READ_ONLY_KEYWORDS)\n\n\ndef explain_ok(tx, cypher: str, params: dict) -&gt; bool:\n    try:\n        list(tx.run(\"EXPLAIN \" + cypher, **params))\n        return True\n    except Exception as e:\n        print(\"Explain failed:\", e)\n        return False\n\n\ndef text2cypher(question: str):\n    context = retrieve_context(question)\n    chain = prompt | llm | parser\n    raw = chain.invoke({\"context\": context, \"question\": question})\n    data = json.loads(raw)\n    cypher = data.get(\"cypher\", \"\").strip()\n    params = data.get(\"params\", {})\n\n    assert looks_read_only(cypher), \"Refused: non read-only Cypher\"\n\n    with driver.session() as session:\n        ok = session.execute_read(lambda tx: explain_ok(tx, cypher, params))\n        assert ok, \"Cypher failed EXPLAIN\"\n\n        # Execute for real after EXPLAIN passes\n        records = session.run(cypher, **params)\n        rows = &#91;r.data() for r in records]\n    return cypher, params, rows, context\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-turn-rows-into-a-friendly-answer\">Turn rows into a friendly answer<\/h3>\n\n\n\n<p>After execution, use a lightweight prompt to summarize results and keep citations. We provide the rows and a pointer to what each column means.<\/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-acdd411bdef163be33a0c78b0a31d112\"><code>ANSWER_PROMPT = \"\"\"\nYou are a helpful assistant. Summarize the query results clearly.\n- Use plain language\n- If there is a 'title' or 'name' column, list top items\n- Mention constraints (e.g., after 1990) if evident\nReturn 2-5 sentences.\n\"\"\"\n\ndef synthesize_answer(question: str, rows: list&#91;dict]) -&gt; str:\n    sample = rows&#91;:10]\n    content = {\n        \"question\": question,\n        \"rows\": sample,\n        \"note\": \"Only summarize the data; do not invent new facts.\"\n    }\n    msg = &#91;\n        {\"role\": \"system\", \"content\": ANSWER_PROMPT},\n        {\"role\": \"user\", \"content\": json.dumps(content)}\n    ]\n    resp = llm.invoke(msg)\n    return resp.content\n\n# Example usage\nq = \"movies starring Tom Hanks after 1990\"\ncypher, params, rows, ctx = text2cypher(q)\nanswer = synthesize_answer(q, rows)\nprint(cypher, \"\\n\", params, \"\\n\", answer)\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-key-design-choices-that-raise-reliability\">Key design choices that raise reliability<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Schema-scoped RAG: retrieve only the relevant labels\/relationships for the question, not the entire schema. Smaller context, better precision.<\/li>\n\n\n\n<li>Strict output format: force JSON with cypher and params. Easier to validate.<\/li>\n\n\n\n<li>Read-only guardrails: both in prompt and in code using keyword checks.<\/li>\n\n\n\n<li>Dry-run with EXPLAIN: catches syntax and semantic errors early.<\/li>\n\n\n\n<li>Parameterization: never interpolate raw user strings.<\/li>\n\n\n\n<li>Result limits: protect performance and cost with LIMIT and pagination.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-handling-ambiguity-and-follow-ups\">Handling ambiguity and follow-ups<\/h2>\n\n\n\n<p>Not every question maps cleanly to your graph. Add a classification step:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If classification says \u201cneeds more info,\u201d ask a clarifying question (e.g., \u201cWhich Tom Hanks? Actor or director role?\u201d).<\/li>\n\n\n\n<li>If unanswerable from the graph, gracefully hand off to a different data source or return a helpful message.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-advanced-patterns\">Advanced patterns<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-few-shot-query-plans\">Few-shot query plans<\/h3>\n\n\n\n<p>Give the model patterns like \u201cfind people by name, then expand via ACTED_IN.\u201d This nudges reuse of efficient structures and indexed properties.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-dynamic-schema-retrieval\">Dynamic schema retrieval<\/h3>\n\n\n\n<p>Periodically introspect the database (e.g., CALL db.schema.visualization in Neo4j) to regenerate schema chunks for the vector store. Automate nightly updates so RAG stays current.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-constraint-aware-generation\">Constraint-aware generation<\/h3>\n\n\n\n<p>Pass in business constraints: maximum depth, allowed relationship types, or tenant filters. You can pre-append WHERE clauses (e.g., tenantId = $tenant) to every generated query.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-result-grounded-answers\">Result-grounded answers<\/h3>\n\n\n\n<p>When summarizing, expose which node properties were used. For example: \u201cBased on Movie.title and Movie.released.\u201d This gives users confidence and aids troubleshooting.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-testing-and-evaluation\">Testing and evaluation<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Build a test set of question \u2192 expected Cypher and top-3 result rows.<\/li>\n\n\n\n<li>Measure: generation success rate, EXPLAIN pass rate, execution success, and exact match\/precision@k on results.<\/li>\n\n\n\n<li>Track latency per stage (RAG retrieval, generation, EXPLAIN, execution).<\/li>\n\n\n\n<li>Log rejected queries (e.g., contained CREATE) to improve prompts and filters.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-production-hardening\">Production hardening<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Caching: memoize RAG retrieval for common questions and cache successful Cypher for fast repeats.<\/li>\n\n\n\n<li>Rate limits and backoff: protect your LLM and database under load.<\/li>\n\n\n\n<li>Observability: store the question, retrieved context IDs, generated Cypher, params, EXPLAIN plan summary, and outcome.<\/li>\n\n\n\n<li>Permissions: add a policy layer that injects row-level filters or denies certain labels per user role.<\/li>\n\n\n\n<li>Payload hygiene: trim long user inputs, strip markdown, normalize whitespace.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-common-pitfalls-and-fixes\">Common pitfalls and fixes<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hallucinated labels\/relationships: extend synonyms and examples; add a reject rule if unknown labels appear.<\/li>\n\n\n\n<li>Slow queries: prefer name\/title lookups; encourage bounded traversals and LIMIT.<\/li>\n\n\n\n<li>Over-long prompts: retrieve fewer, denser chunks; merge schema into concise tables.<\/li>\n\n\n\n<li>Brittle outputs: enforce JSON schema and retry on parse failure.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-when-to-consider-graphrag\">When to consider GraphRAG<\/h2>\n\n\n\n<p>If your goal is long-form answers from the graph (not just structured results), consider GraphRAG patterns that retrieve subgraphs as context and let the model reason over them. You can combine both: Text2Cypher to fetch the precise subgraph, then feed that subgraph as RAG context for the final narrative answer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wrap-up\">Wrap-up<\/h2>\n\n\n\n<p>By pairing Text2Cypher with RAG, you turn natural questions into precise, safe Cypher and explainable answers. Start small: index your schema, add a handful of examples, enforce read-only rules, and iterate with metrics. As your catalog of examples and constraints grows, the system becomes both more capable and more predictable\u2014exactly what technical teams and technical managers need for production-grade graph intelligence.<\/p>\n\n\n\n<ul class=\"wp-block-yoast-seo-related-links yoast-seo-related-links\">\n<li><a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/08\/28\/cypher-queries-and-rag-technology-explained\/\">Cypher Queries and RAG Technology Explained<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/architecture-of-rag-building-reliable-retrieval-augmented-ai\/\">Architecture of RAG Building Reliable Retrieval Augmented AI<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/\">GraphRAG Explained<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/08\/25\/run-neo4j-with-docker-inside-github-codespaces\/\">Run Neo4j with Docker inside GitHub Codespaces<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/08\/31\/understanding-openai-embedding-models\/\">Understanding OpenAI Embedding Models<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Learn how to combine Text2Cypher and RAG to turn natural language into precise Cypher, execute safely, and deliver trustworthy graph answers.<\/p>\n","protected":false},"author":1,"featured_media":53847,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_focuskw":"Use Text2Cypher with RAG","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"Learn how to use Text2Cypher with RAG to create precise Cypher queries from natural language questions over your graph data.","_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,77,87],"tags":[],"class_list":["post-53838","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-blog","category-llm","category-rag"],"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>Use Text2Cypher with RAG - CPI Consulting<\/title>\n<meta name=\"description\" content=\"Learn how to use Text2Cypher with RAG to create precise Cypher queries from natural language questions over your graph data.\" \/>\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.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Use Text2Cypher with RAG\" \/>\n<meta property=\"og:description\" content=\"Learn how to use Text2Cypher with RAG to create precise Cypher queries from natural language questions over your graph data.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/\" \/>\n<meta property=\"og:site_name\" content=\"CPI Consulting\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-15T00:48:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-15T00:48:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cloudproinc.com.au\/wp-content\/uploads\/2025\/09\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.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=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.cloudproinc.com.au\\\/index.php\\\/2025\\\/09\\\/15\\\/use-text2cypher-with-rag\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cloudproinc.com.au\\\/index.php\\\/2025\\\/09\\\/15\\\/use-text2cypher-with-rag\\\/\"},\"author\":{\"name\":\"CPI Staff\",\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#\\\/schema\\\/person\\\/192eeeb0ce91062126ce3822ae88fe6e\"},\"headline\":\"Use Text2Cypher with RAG\",\"datePublished\":\"2025-09-15T00:48:40+00:00\",\"dateModified\":\"2025-09-15T00:48:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.cloudproinc.com.au\\\/index.php\\\/2025\\\/09\\\/15\\\/use-text2cypher-with-rag\\\/\"},\"wordCount\":1036,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cloudproinc.com.au\\\/index.php\\\/2025\\\/09\\\/15\\\/use-text2cypher-with-rag\\\/#primaryimage\"},\"thumbnailUrl\":\"\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.png\",\"articleSection\":[\"AI\",\"Blog\",\"LLM\",\"RAG\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.cloudproinc.com.au\\\/index.php\\\/2025\\\/09\\\/15\\\/use-text2cypher-with-rag\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.cloudproinc.com.au\\\/index.php\\\/2025\\\/09\\\/15\\\/use-text2cypher-with-rag\\\/\",\"url\":\"https:\\\/\\\/www.cloudproinc.com.au\\\/index.php\\\/2025\\\/09\\\/15\\\/use-text2cypher-with-rag\\\/\",\"name\":\"Use Text2Cypher with RAG - CPI Consulting\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.cloudproinc.com.au\\\/index.php\\\/2025\\\/09\\\/15\\\/use-text2cypher-with-rag\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cloudproinc.com.au\\\/index.php\\\/2025\\\/09\\\/15\\\/use-text2cypher-with-rag\\\/#primaryimage\"},\"thumbnailUrl\":\"\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.png\",\"datePublished\":\"2025-09-15T00:48:40+00:00\",\"dateModified\":\"2025-09-15T00:48:42+00:00\",\"description\":\"Learn how to use Text2Cypher with RAG to create precise Cypher queries from natural language questions over your graph data.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.cloudproinc.com.au\\\/index.php\\\/2025\\\/09\\\/15\\\/use-text2cypher-with-rag\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.cloudproinc.com.au\\\/index.php\\\/2025\\\/09\\\/15\\\/use-text2cypher-with-rag\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.cloudproinc.com.au\\\/index.php\\\/2025\\\/09\\\/15\\\/use-text2cypher-with-rag\\\/#primaryimage\",\"url\":\"\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.png\",\"contentUrl\":\"\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.png\",\"width\":1536,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.cloudproinc.com.au\\\/index.php\\\/2025\\\/09\\\/15\\\/use-text2cypher-with-rag\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/cloudproinc.azurewebsites.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Use Text2Cypher with RAG\"}]},{\"@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":"Use Text2Cypher with RAG - CPI Consulting","description":"Learn how to use Text2Cypher with RAG to create precise Cypher queries from natural language questions over your graph data.","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.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/","og_locale":"en_US","og_type":"article","og_title":"Use Text2Cypher with RAG","og_description":"Learn how to use Text2Cypher with RAG to create precise Cypher queries from natural language questions over your graph data.","og_url":"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/","og_site_name":"CPI Consulting","article_published_time":"2025-09-15T00:48:40+00:00","article_modified_time":"2025-09-15T00:48:42+00:00","og_image":[{"width":1536,"height":1024,"url":"https:\/\/cloudproinc.com.au\/wp-content\/uploads\/2025\/09\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.png","type":"image\/png"}],"author":"CPI Staff","twitter_card":"summary_large_image","twitter_misc":{"Written by":"CPI Staff","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/#article","isPartOf":{"@id":"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/"},"author":{"name":"CPI Staff","@id":"https:\/\/cloudproinc.azurewebsites.net\/#\/schema\/person\/192eeeb0ce91062126ce3822ae88fe6e"},"headline":"Use Text2Cypher with RAG","datePublished":"2025-09-15T00:48:40+00:00","dateModified":"2025-09-15T00:48:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/"},"wordCount":1036,"commentCount":0,"publisher":{"@id":"https:\/\/cloudproinc.azurewebsites.net\/#organization"},"image":{"@id":"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2025\/09\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.png","articleSection":["AI","Blog","LLM","RAG"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/","url":"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/","name":"Use Text2Cypher with RAG - CPI Consulting","isPartOf":{"@id":"https:\/\/cloudproinc.azurewebsites.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/#primaryimage"},"image":{"@id":"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2025\/09\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.png","datePublished":"2025-09-15T00:48:40+00:00","dateModified":"2025-09-15T00:48:42+00:00","description":"Learn how to use Text2Cypher with RAG to create precise Cypher queries from natural language questions over your graph data.","breadcrumb":{"@id":"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/#primaryimage","url":"\/wp-content\/uploads\/2025\/09\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.png","contentUrl":"\/wp-content\/uploads\/2025\/09\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.png","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/09\/15\/use-text2cypher-with-rag\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudproinc.azurewebsites.net\/"},{"@type":"ListItem","position":2,"name":"Use Text2Cypher with RAG"}]},{"@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\/09\/use-text2cypher-with-rag-for-dependable-graph-based-answers-today.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":53838,"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":53709,"url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/26\/graphrag-explained\/","url_meta":{"origin":53838,"position":1},"title":"GraphRAG Explained","author":"CPI Staff","date":"August 26, 2025","format":false,"excerpt":"GraphRAG combines knowledge graphs with RAG to retrieve structured, multi-hop context for LLMs. Learn how it works and how to build one.","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\/graphrag-explained.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/08\/graphrag-explained.png 1x, \/wp-content\/uploads\/2025\/08\/graphrag-explained.png 1.5x, \/wp-content\/uploads\/2025\/08\/graphrag-explained.png 2x, \/wp-content\/uploads\/2025\/08\/graphrag-explained.png 3x, \/wp-content\/uploads\/2025\/08\/graphrag-explained.png 4x"},"classes":[]},{"id":53839,"url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/09\/15\/what-are-cypher-queries\/","url_meta":{"origin":53838,"position":2},"title":"What Are Cypher Queries","author":"CPI Staff","date":"September 15, 2025","format":false,"excerpt":"Understand Cypher, the query language for graph databases. Learn core concepts, syntax, best practices, and practical steps to model, query, and scale graph solutions in your organisation.","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\/what-are-cypher-queries-and-how-they-power-graph-databases-at-scale.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/09\/what-are-cypher-queries-and-how-they-power-graph-databases-at-scale.png 1x, \/wp-content\/uploads\/2025\/09\/what-are-cypher-queries-and-how-they-power-graph-databases-at-scale.png 1.5x, \/wp-content\/uploads\/2025\/09\/what-are-cypher-queries-and-how-they-power-graph-databases-at-scale.png 2x, \/wp-content\/uploads\/2025\/09\/what-are-cypher-queries-and-how-they-power-graph-databases-at-scale.png 3x, \/wp-content\/uploads\/2025\/09\/what-are-cypher-queries-and-how-they-power-graph-databases-at-scale.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":53838,"position":3},"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":53745,"url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/31\/understanding-openai-embedding-models\/","url_meta":{"origin":53838,"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":53956,"url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/09\/25\/running-prompts-with-langchain\/","url_meta":{"origin":53838,"position":5},"title":"Running Prompts with LangChain","author":"CPI Staff","date":"September 25, 2025","format":false,"excerpt":"Learn how to design, run, and evaluate prompts with LangChain using modern patterns, from simple templates to retrieval and production-ready chains.","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\/running-prompts-with-langchain-a-practical-guide-for-teams-and-leaders.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/09\/running-prompts-with-langchain-a-practical-guide-for-teams-and-leaders.png 1x, \/wp-content\/uploads\/2025\/09\/running-prompts-with-langchain-a-practical-guide-for-teams-and-leaders.png 1.5x, \/wp-content\/uploads\/2025\/09\/running-prompts-with-langchain-a-practical-guide-for-teams-and-leaders.png 2x, \/wp-content\/uploads\/2025\/09\/running-prompts-with-langchain-a-practical-guide-for-teams-and-leaders.png 3x, \/wp-content\/uploads\/2025\/09\/running-prompts-with-langchain-a-practical-guide-for-teams-and-leaders.png 4x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts\/53838","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=53838"}],"version-history":[{"count":2,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts\/53838\/revisions"}],"predecessor-version":[{"id":53859,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts\/53838\/revisions\/53859"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/media\/53847"}],"wp:attachment":[{"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/media?parent=53838"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/categories?post=53838"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/tags?post=53838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}