1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9306],{5543:(e,t,n)=>{"use strict";n.d(t,{Cy:()=>g,H2:()=>m,OH:()=>u,P:()=>p,Pq:()=>f,UL:()=>x,m7:()=>w});var r=n(7876),s=n(8230),a=n.n(s),i=n(8419),o=n(6075),l=n(6887),d=n(1298),h=n(8558),c=n(8300);function m(e){let{children:t}=e;return(0,r.jsx)("h2",{className:"mt-12 text-2xl md:text-[28px] font-bold text-white tracking-tight",children:t})}function p(e){let{children:t}=e;return(0,r.jsx)("p",{className:"mt-5 text-[15.5px] text-white/60 leading-relaxed",children:t})}function u(e){let{children:t}=e;return(0,r.jsx)("strong",{className:"text-white font-semibold",children:t})}function x(e){let{items:t}=e;return(0,r.jsx)("ul",{className:"mt-5 space-y-2.5",children:t.map((e,t)=>(0,r.jsxs)("li",{className:"flex gap-3 text-[15.5px] text-white/60 leading-relaxed",children:[(0,r.jsx)("span",{className:"mt-[9px] w-1.5 h-1.5 rounded-full bg-[#8CCB43] shrink-0"}),(0,r.jsx)("span",{children:e})]},t))})}function g(e){let{label:t,code:n}=e;return(0,r.jsxs)("div",{className:"mt-6 rounded-2xl border border-white/[0.08] bg-[#0C0F0A] overflow-hidden",children:[(0,r.jsx)("div",{className:"px-5 py-2.5 border-b border-white/[0.06] font-mono text-xs text-white/45",children:t}),(0,r.jsx)("pre",{className:"px-5 py-4 overflow-x-auto text-[13px] leading-relaxed font-mono text-white/80",children:(0,r.jsx)("code",{children:n})})]})}function f(e){let{children:t}=e;return(0,r.jsx)("div",{className:"mt-6 rounded-2xl border border-[#2C3D1B] bg-[#12190C] px-6 py-5 text-[15px] text-white/70 leading-relaxed",children:t})}function w(e){var t,n,s,m,p;let{meta:u,children:x}=e,g=[{"@context":"https://schema.org","@type":null!=(p=u.type)?p:"TechArticle",headline:u.h1,description:u.description,url:"".concat(c.W6).concat(u.slug),datePublished:u.datePublished,dateModified:u.datePublished,author:u.author?{"@type":"Person",name:u.author.name,...u.author.url?{url:u.author.url}:{},worksFor:{"@type":"Organization",name:"Verificate Pty Ltd",url:c.W6}}:{"@type":"Organization",name:"Verificate Pty Ltd",url:c.W6},publisher:{"@type":"Organization",name:"Verificate Pty Ltd",url:c.W6},mainEntityOfPage:"".concat(c.W6).concat(u.slug),...(null==(s=u.keywords)?void 0:s.length)?{keywords:u.keywords.join(", ")}:{},...(null==(m=u.citation)?void 0:m.length)?{citation:u.citation.map(e=>({"@type":"CreativeWork",name:e.name,url:e.url})),isBasedOn:u.citation.map(e=>e.url)}:{}}];return(null==(t=u.faq)?void 0:t.length)&&g.push((0,c.P$)(u.faq)),(0,r.jsxs)("div",{className:"bg-[#080A08] text-white/85 min-h-screen antialiased",children:[(0,r.jsx)(h.A,{title:u.title,path:u.slug,description:u.description,image:u.image,type:"article",jsonLd:g}),(0,r.jsx)(d.Nv,{}),(0,r.jsxs)("main",{id:"main-content",children:[(0,r.jsx)(d.wn,{className:"pt-28 sm:pt-36 pb-4",children:(0,r.jsxs)("div",{className:"max-w-3xl",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 text-white/40 font-mono text-xs",children:[(0,r.jsx)(a(),{href:"/articles",className:"text-[#8CCB43] hover:underline",children:"Articles"}),(0,r.jsx)("span",{children:"\xb7"}),(0,r.jsx)(a(),{href:"/news",className:"hover:text-[#8CCB43] hover:underline",children:"News & press"}),(0,r.jsx)("span",{children:"\xb7"}),(0,r.jsx)("span",{children:new Date(u.datePublished).toLocaleDateString("en-AU",{year:"numeric",month:"short",day:"numeric"})}),(0,r.jsx)("span",{children:"\xb7"}),(0,r.jsxs)("span",{children:[u.readMinutes," min read"]})]}),(0,r.jsx)("h1",{className:"mt-5 text-3xl sm:text-4xl md:text-[44px] font-bold tracking-tight text-white leading-tight",children:u.h1})]})}),(0,r.jsx)(d.wn,{className:"pb-10",children:(0,r.jsx)("article",{className:"max-w-3xl",children:x})}),(null==(n=u.faq)?void 0:n.length)?(0,r.jsx)(d.wn,{className:"py-10 border-t border-white/[0.06]",children:(0,r.jsxs)("div",{className:"max-w-3xl",children:[(0,r.jsx)(d.YZ,{children:"FAQ"}),(0,r.jsx)("div",{className:"mt-6 space-y-6",children:u.faq.map(e=>(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"font-bold text-white",children:e.q}),(0,r.jsx)("p",{className:"mt-2 text-[15px] text-white/55 leading-relaxed",children:e.a})]},e.q))})]})}):null,"cti"===u.cta?(0,r.jsx)(d.wn,{className:"py-16",children:(0,r.jsxs)("div",{className:"rounded-3xl border border-[#2C3D1B] bg-gradient-to-b from-[#12190C] to-[#0B0F0A] px-8 md:px-14 py-12 text-center",children:[(0,r.jsx)("h2",{className:"text-2xl md:text-3xl font-bold text-white tracking-tight",children:"Bring a question your AI needs to get right."}),(0,r.jsx)("p",{className:"mt-4 text-white/60 max-w-2xl mx-auto",children:"Compile-Time Inference prepares your records before questions arrive, so supported answers and decisions can be checked against their evidence. Start with the questions where a wrong answer costs the most."}),(0,r.jsxs)("div",{className:"mt-8 flex flex-wrap justify-center gap-4",children:[(0,r.jsxs)(a(),{href:"/compile-time-inference",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg bg-[#8CCB43] hover:bg-[#7cbb37] text-[#0A0D0A] font-semibold transition-colors",children:["See Compile-Time Inference ",(0,r.jsx)(i.A,{className:"w-4 h-4"})]}),(0,r.jsxs)("a",{href:"/Verificate_Compile-Time_Inference_Brochure.pdf",download:"Verificate_Compile-Time_Inference_Brochure.pdf",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg border border-white/15 hover:border-[#8CCB43]/50 text-white font-semibold transition-colors",children:[(0,r.jsx)(o.A,{className:"w-4 h-4"})," Download the brochure (PDF)"]}),(0,r.jsxs)(a(),{href:"/contact?interest=compile-time-inference",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg border border-white/15 hover:border-[#8CCB43]/50 text-white font-semibold transition-colors",children:["Talk to us ",(0,r.jsx)(i.A,{className:"w-4 h-4"})]})]})]})}):(0,r.jsx)(d.wn,{className:"py-16",children:(0,r.jsxs)("div",{className:"rounded-3xl border border-[#2C3D1B] bg-gradient-to-b from-[#12190C] to-[#0B0F0A] px-8 md:px-14 py-12 text-center",children:[(0,r.jsx)("h2",{className:"text-2xl md:text-3xl font-bold text-white tracking-tight",children:"Put a real gate on your AI output."}),(0,r.jsx)("p",{className:"mt-4 text-white/60 max-w-2xl mx-auto",children:"Verificate Gate (available via MCP) runs deterministic checks plus an engineering-quality review on every AI output â in Claude Code, Cursor, Windsurf or any MCP client. 30-day free trial, no card required."}),(0,r.jsxs)("div",{className:"mt-8 flex flex-wrap justify-center gap-4",children:[(0,r.jsxs)(a(),{href:"/auth/signup",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg bg-[#8CCB43] hover:bg-[#7cbb37] text-[#0A0D0A] font-semibold transition-colors",children:[(0,r.jsx)(l.A,{className:"w-4 h-4"})," Start 30-day free trial"]}),(0,r.jsxs)(a(),{href:"/gate",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg border border-white/15 hover:border-[#8CCB43]/50 text-white font-semibold transition-colors",children:["See how the Gate works ",(0,r.jsx)(i.A,{className:"w-4 h-4"})]})]})]})})]})]})}},6222:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>d});var r=n(7876),s=n(8230),a=n.n(s),i=n(5543);let o={slug:"/articles/graphrag-vs-compile-time-inference",type:"TechArticle",cta:"cti",title:"GraphRAG vs Compile-Time Inference â what a knowledge graph does and doesnât fix | Verificate",h1:"GraphRAG vs Compile-Time Inference: a graph connects information. What decides the answer?",description:"GraphRAG adds a knowledge graph to retrieval so an AI system can follow connections between facts. A plain-language guide to what that improves, what it leaves unchanged, and how it compares with Compile-Time Inference.",datePublished:"2026-09-19",readMinutes:6,keywords:["GraphRAG alternative","GraphRAG vs Compile-Time Inference","knowledge graph RAG","GraphRAG limitations","GraphRAG hallucination","compile-time inference","graph retrieval"],faq:[{q:"What is GraphRAG?",a:"GraphRAG is retrieval-augmented generation that uses a knowledge graph â a map of entities and the relationships between them â to find connected information, rather than relying only on passages that look similar to the question. A language model still writes the answer."},{q:"Does GraphRAG stop hallucination?",a:"It can reduce errors caused by missing connections, because the model sees related facts together. It does not remove generation errors: the model can still misread, over-state or add to what it was given. Graphs built automatically by a language model can also contain extraction errors."},{q:"How is Compile-Time Inference different from GraphRAG?",a:"Both prepare structured knowledge ahead of time. The difference is what happens at question time. In GraphRAG, the graph improves what the model reads, and the model writes the answer. In Compile-Time Inference, software selects a supp
1orted result from prepared knowledge and the model explains it."},{q:"Can I use a knowledge graph with Compile-Time Inference?",a:"An existing graph is useful source material, and the work of defining your entities and relationships carries over. Whether and how it is used is something to scope in an evaluation."}]},l=e=>{let{href:t,children:n}=e;return(0,r.jsx)(a(),{href:t,className:"text-[#8CCB43] underline underline-offset-4",children:n})};function d(){return(0,r.jsxs)(i.m7,{meta:o,children:[(0,r.jsxs)(i.P,{children:["If ordinary RAG has let you down, GraphRAG is probably on your shortlist. It is a real improvement for a specific problem. It is worth being clear about which problem, because adding a graph changes what the model ",(0,r.jsx)("em",{children:"reads"}),", not who ",(0,r.jsx)("em",{children:"decides"}),"."]}),(0,r.jsx)(i.H2,{children:"What GraphRAG adds"}),(0,r.jsxs)(i.P,{children:["Standard RAG retrieves passages that resemble the question. That struggles when the answer depends on connections: which contracts reference this supplier, who reported to whom, what changed between versions. A ",(0,r.jsx)(i.OH,{children:"knowledge graph"})," stores entities and the relationships between them, so the system can follow those links and gather connected facts, or summarise whole clusters of related material."]}),(0,r.jsx)(i.P,{children:"GraphRAG is genuinely better at:"}),(0,r.jsx)(i.UL,{items:["Questions that need several connected facts at once.","âBig pictureâ questions across a whole collection.","Keeping related information together instead of in scattered chunks."]}),(0,r.jsx)(i.H2,{children:"What it leaves unchanged"}),(0,r.jsx)(i.P,{children:"In most GraphRAG designs, the graph improves retrieval and then a language model writes the answer from what was retrieved. So the generation risks remain: the model can over-read, blend in what it learned in training, or fill gaps fluently. Answers can still differ between runs."}),(0,r.jsx)(i.P,{children:"Two further points are easy to miss:"}),(0,r.jsx)(i.UL,{items:[(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.OH,{children:"The graph has to be built."})," Graphs are often extracted from documents by a language model. Extraction makes mistakes, and an error in the graph is an error the system will repeat with confidence. Ask how extraction is checked."]}),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.OH,{children:"The graph has to be maintained."})," When documents change, the affected parts of the graph must be updated. Rebuilding can be slow and costly for large collections. Ask what an update costs and how long it takes."]})]}),(0,r.jsx)(i.Pq,{children:"The useful question for any design is: at the moment an answer is produced, what decides it â and can I inspect the evidence behind it?"}),(0,r.jsx)(i.H2,{children:"How Compile-Time Inference differs"}),(0,r.jsx)(i.P,{children:"Compile-Time Inference shares GraphRAGâs starting point: do structured work on your information before questions arrive. It differs at question time. For supported tasks, software selects a result from the prepared knowledge, and the language modelâs job is to interpret the question and explain that result, with the supporting evidence available to inspect. When support is missing, the intended behaviour is to decline."}),(0,r.jsx)(i.P,{children:"The practical differences:"}),(0,r.jsx)(i.UL,{items:[(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.OH,{children:"Deciding step."})," GraphRAG: the model, reading better context. Compile-Time Inference: selection over prepared records and rules, for supported tasks."]}),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.OH,{children:"Repeatability."})," GraphRAG answers can vary between runs. Compile-Time Inference aims for the same supported decision given the same inputs, records and rules â though wording may vary, and repeatable does not mean correct."]}),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.OH,{children:"Scope."})," GraphRAG will attempt most questions. Compile-Time Inference is scoped to agreed tasks and should decline outside them."]}),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.OH,{children:"Shared burden."})," Both must check what they extract and both must keep prepared knowledge current. Neither makes update cost disappear."]})]}),(0,r.jsx)(i.P,{children:"These describe typical designs. A GraphRAG system can add claim checks, refusal and fixed rules, and some do."}),(0,r.jsx)(i.H2,{children:"Which should you choose?"}),(0,r.jsx)(i.UL,{items:[(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.OH,{children:"Choose GraphRAG"})," when the need is exploration and synthesis across connected material, and a person reviews the result."]}),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.OH,{children:"Evaluate Compile-Time Inference"})," when answers must be checkable against a record, decisions must repeat under an agreed policy, and the system must say when it cannot answer."]}
1),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.OH,{children:"Keep plain RAG or search"})," when questions are simple look-ups and the stakes are low. More machinery is not automatically better."]})]}),(0,r.jsx)(i.P,{children:"If you have already invested in a knowledge graph, that work is not wasted under either approach: the effort of defining your entities and relationships is the hard part, and it carries over."}),(0,r.jsx)(i.H2,{children:"Questions to ask any vendor â including us"}),(0,r.jsx)(i.UL,{items:["At answer time, what decides the result?","How is extracted knowledge checked, and what is the error rate?","What happens when the answer is not in the data?","Will the same question give the same answer tomorrow? Under what conditions?","What does an update cost, and how long until it is reflected?","Can I see the measurements, with their scope and failure cases?"]}),(0,r.jsxs)(i.P,{children:["Our own answers, with their limits, are in the ",(0,r.jsx)(l,{href:"/docs/compile-time-inference",children:"Compile-Time Inference documentation"})," and on ",(0,r.jsx)(l,{href:"/evidence",children:"Evidence & evaluation"}),". For the broader comparison, read ",(0,r.jsx)(l,{href:"/articles/rag-vs-compile-time-inference",children:"RAG vs Compile-Time Inference"}),"; for diagnosing an existing system, ",(0,r.jsx)(l,{href:"/articles/why-rag-hallucinates",children:"Why RAG still hallucinates"}),"."]})]})}},6668:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/articles/graphrag-vs-compile-time-inference",function(){return n(6222)}])}},e=>{e.O(0,[8096,8799,636,8792],()=>e(e.s=6668)),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.