{"id":31200,"date":"2026-06-12T19:19:17","date_gmt":"2026-06-12T17:19:17","guid":{"rendered":"https:\/\/wordlift.io\/blog\/en\/?p=31200"},"modified":"2026-06-12T19:19:22","modified_gmt":"2026-06-12T17:19:22","slug":"sangue-e-grafi","status":"publish","type":"post","link":"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/","title":{"rendered":"Sangue e Grafi: Teaching a Small Model to Read the Bloodline"},"content":{"rendered":"\n<p>A few weeks ago at SEO Week I argued that <strong>structure is the moat<\/strong>. This month I spent <em>two weekends in the woods<\/em> proving it, literally. The Hugging Face <a href=\"https:\/\/huggingface.co\/build-small-hackathon\" target=\"_blank\" rel=\"noreferrer noopener\">Build Small Hackathon<\/a> has a track called <em>An Adventure in Thousand Token Wood<\/em>, and the rules read like a manifesto we could have written ourselves: <strong>small models only<\/strong>, the AI must be load-bearing, joyful is the bar. I built an Italian inheritance mystery. It is called <strong>Sangue e Grafi<\/strong> \ud83e\ude78 Blood and Graphs \ud83d\udcca and you can play it at <a href=\"https:\/\/wor.ai\/sangue-e-grafi\">wor.ai\/sangue-e-grafi<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi-wordlift-1024x683.png\" alt=\"\" class=\"wp-image-31205\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi-wordlift-1024x683.png 1024w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi-wordlift-300x200.png 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi-wordlift-768x512.png 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi-wordlift-150x100.png 150w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi-wordlift.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The weekend was mine; the thesis behind it is not. It belongs to a research direction that <strong><a class=\"wl-entity-page-link\"  href=\"https:\/\/wordlift.io\/blog\/en\/entity\/chiara-carrozza\/\" data-id=\"http:\/\/data.wordlift.io\/wl0216\/entity\/chiara-carrozza-26562;https:\/\/www.linkedin.com\/in\/chiara-carrozza-1a854936\/\" >Chiara Carrozza<\/a><\/strong>, our Director of R&amp;D, and I have been developing at WordLift Lab, <a href=\"https:\/\/wordlift.io\/blog\/en\/future-proofing-your-content-an-ontology-driven-approach-to-train-your-next-seo-agent\/\">ontologies as executable specifications of agent behavior<\/a>, not as documentation. The hackathon was its smallest, most joyful test.<\/p>\n\n\n\n<p>Here is the game. A patriarch dies. His will says something precise: &#8220;<em>my estate goes to my eldest living biological grandchild.<\/em>&#8221; The narrative you read, however, is a soap opera. It spends three loving sentences on the daughter-in-law who managed the family finances for decades, who everyone agreed was the backbone of the family, who surely <em>deserved<\/em> the estate. The actual heir gets one sentence: he is twenty-two, and he &#8220;also lived in the area.&#8221;<\/p>\n\n\n\n<p>We gave ten of these puzzles to frontier models. Gemini 2.5 Flash scored three out of ten. Gemini 3.5 Flash and 3.1 Pro scored six. And here is the detail that kept me up at night: on several puzzles, all three named the <em>same wrong person<\/em>. Not random errors, a systematic failure. The models found the right family. They fell for the wrong relative.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Semantic drift is the bug, and it is everywhere<\/h2>\n\n\n\n<p>Language models are extraordinary at semantic association. That is precisely the trap. A spouse, a caregiver, a child, and an heir all belong to the same family story, and a model trained on stories will follow the character the story makes salient. But inheritance is not decided by salience. It is decided by formal constraints: biological lineage and its direction, age, aliveness, exclusions, the exact clause of the will.<\/p>\n\n\n\n<p>We call this failure <strong>semantic drift<\/strong>: the model follows what is emotionally and semantically related, and silently drops what is formally required.<\/p>\n\n\n\n<p>If you run AI for an enterprise, you have already met this bug wearing different clothes. The product that is <em>similar<\/em> but not compatible. The claim that is <em>plausible<\/em> but not covered. The customer that is <em>relevant<\/em> but not eligible. The document that is <em>related<\/em> but not authoritative. At WordLift we see these failures weekly in the wild, and they all share one anatomy: the missing ingredient is never more language. It is constraint-preserving reasoning.<\/p>\n\n\n\n<p>This is the thesis we have been building toward across our research, from <a href=\"https:\/\/github.com\/wordlift\/rlm-on-kg\">RLM-on-KG<\/a>, where a language model navigates a Knowledge Graph autonomously, to <a href=\"https:\/\/wordlift.io\/blog\/en\/future-proofing-your-content-an-ontology-driven-approach-to-train-your-next-seo-agent\/\">SEOcrate<\/a>, our small-model GRPO experiment for SEO reasoning. Sangue e Grafi welds the two together and adds the idea I am most excited about.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The ontology is the referee<\/h2>\n\n\n\n<p>Most reinforcement learning on language models uses another language model as the judge. It is expensive, non-deterministic, and with delicious irony, vulnerable to the same semantic drift it is supposed to grade.<\/p>\n\n\n\n<p>We did something older and, I would argue, more honest. We wrote a small <a href=\"https:\/\/wordlift.io\/blog\/en\/entity\/ontologies\/\">OWL ontology<\/a>, <code>kinship.ttl<\/code>, that encodes the rules of the world: <code>isBiologicalParentOf<\/code> is a directed property; <code>isMarriedTo<\/code> is symmetric and never establishes lineage; a will clause declares which relation types it requires and which it excludes. Then we used those axioms as the reward function itself: turning knowledge graph reasoning from a prompt-engineering hope into a trainable behavior.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/03-ontology-referee-1024x576.png\" alt=\"\" class=\"wp-image-31209\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/03-ontology-referee-1024x576.png 1024w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/03-ontology-referee-300x169.png 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/03-ontology-referee-768x432.png 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/03-ontology-referee-1536x864.png 1536w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/03-ontology-referee-288x163.png 288w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/03-ontology-referee-1200x675.png 1200w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/03-ontology-referee-150x84.png 150w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/03-ontology-referee.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Follow a required property through the graph: rewarded. Traverse an excluded one: penalized. Check that a candidate is alive, compare ages explicitly: rewarded. And the crucial design choice, the bonus for a correct answer is <em>gated<\/em>. The model earns it only if it demonstrably walked the graph to get there. A right answer reached by reading the soap opera is worth almost nothing. We are not paying for answers; we are paying for valid reasoning paths.<\/p>\n\n\n\n<p>The referee is deterministic, auditable, and costs nothing per evaluation. The <a class=\"wl-entity-page-link\" title=\"Ontologies\" href=\"https:\/\/wordlift.io\/blog\/en\/entity\/ontologies\/\" data-id=\"http:\/\/data.wordlift.io\/wl0216\/entity\/ontologies;http:\/\/dbpedia.org\/resource\/Ontology_(information_science);http:\/\/de.dbpedia.org\/resource\/Ontologie_(Informatik);http:\/\/no.dbpedia.org\/resource\/Ontologi_(informatikk);http:\/\/ru.dbpedia.org\/resource\/\u041e\u043d\u0442\u043e\u043b\u043e\u0433\u0438\u044f_(\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0430);http:\/\/fi.dbpedia.org\/resource\/Ontologia_(tietojenk\u00e4sittelytiede);http:\/\/pt.dbpedia.org\/resource\/Ontologia_(ci\u00eancia_da_computa\u00e7\u00e3o);http:\/\/lt.dbpedia.org\/resource\/Ontologija_(informatika);http:\/\/hr.dbpedia.org\/resource\/Ontologija_(informacijske_znanosti);http:\/\/fr.dbpedia.org\/resource\/Ontologie_(informatique);http:\/\/hu.dbpedia.org\/resource\/Ontol\u00f3gia_(informatika);http:\/\/uk.dbpedia.org\/resource\/\u041e\u043d\u0442\u043e\u043b\u043e\u0433\u0456\u044f_(\u0456\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0430);http:\/\/sl.dbpedia.org\/resource\/Ontologija_(informatika);http:\/\/ca.dbpedia.org\/resource\/Ontologia_(tecnologia_de_la_informaci\u00f3);http:\/\/sr.dbpedia.org\/resource\/\u041e\u043d\u0442\u043e\u043b\u043e\u0433\u0438\u0458\u0430_(\u0440\u0430\u0447\u0443\u043d\u0430\u0440\u0441\u0442\u0432\u043e);http:\/\/en.dbpedia.org\/resource\/Ontology_(information_science);http:\/\/it.dbpedia.org\/resource\/Ontologia_(informatica);http:\/\/es.dbpedia.org\/resource\/Ontolog\u00eda_(inform\u00e1tica);http:\/\/et.dbpedia.org\/resource\/Ontoloogia_(informaatika);http:\/\/cs.dbpedia.org\/resource\/Ontologie_(informatika);http:\/\/pl.dbpedia.org\/resource\/Ontologia_(informatyka);http:\/\/da.dbpedia.org\/resource\/Ontologi_(datalogi);http:\/\/nl.dbpedia.org\/resource\/Ontologie_(informatica)\" >ontology<\/a> stops being documentation and becomes executable training signal. If you have followed our work on <a href=\"https:\/\/wordlift.io\/blog\/en\/future-proofing-your-content-an-ontology-driven-approach-to-train-your-next-seo-agent\/\">Agent-Oriented Ontology Engineering<\/a>, you will recognize the pattern: this is what it looks like when an ontology graduates from describing a domain to <em>enforcing<\/em> it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Six runs, failures included<\/h2>\n\n\n\n<p>I want to tell you about the training honestly, because the failures taught us more than the wins.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/04-training-journey-1024x576.png\" alt=\"\" class=\"wp-image-31202\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/04-training-journey-1024x576.png 1024w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/04-training-journey-300x169.png 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/04-training-journey-768x432.png 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/04-training-journey-1536x864.png 1536w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/04-training-journey-288x163.png 288w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/04-training-journey-1200x675.png 1200w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/04-training-journey-150x84.png 150w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/04-training-journey.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>We post-trained Gemma 4B with LoRA and GRPO on a Modal A100 each run costs about as much as a good dinner in Rome. (Fine-tuning models with structured data is an old habit of ours; <a href=\"https:\/\/wordlift.io\/blog\/en\/fine-tuning-gpt-3-5-for-seo\/\">we were doing it with GPT-3.5<\/a> when that still sounded exotic.) <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Run A taught the model ontology discipline: it stopped traversing excluded properties entirely, a metric that stayed at zero through every subsequent run. It also taught <em>us<\/em> a lesson: the model discovered it could farm rewards by repeatedly hopping <code>isBiologicalParentOf<\/code> without ever answering. Reward hacking, live in our own kitchen. <\/li>\n\n\n\n<li>Run B capped it with hop budgets. <\/li>\n\n\n\n<li>Runs C and D moved to multi-turn supervised traces with real tool observations, and the single biggest jump came not from reward engineering but from teaching the model <em>how to compare candidates<\/em> \u2014 explicit pairwise reasoning, &#8220;Marco is older than Elena,&#8221; every branch checked. Structure, again, all the way down.<\/li>\n\n\n\n<li>Then we got clever, and the cleverness half-worked. A direction-aware reward fixed the model&#8217;s confusion between <em>youngest<\/em> and <em>eldest<\/em> \u2014 perfectly, two for two \u2014 and quietly destroyed its performance on deep descendant traversals. We ran the clean ablation overnight. It did not pan out. <\/li>\n\n\n\n<li>The best model remains Run F, at five out of ten on our hardest adversarial dev set, and the ablation that failed is documented next to the runs that succeeded. In a field that publishes only its victories, I think the negative results are part of the contribution.<\/li>\n<\/ul>\n\n\n\n<p>One scenario remains unsolved by every model we trained: a family tree with sixteen descendants requiring exhaustive traversal and filtering. We do not believe it is a hard ceiling. We believe it is a tool-design problem \u2014 our <code>follow_entity_link<\/code> tool returns names but not ages, forcing extra hops exactly where the model is weakest. The ontology and the tools need to co-evolve with the agent. That is the next chapter.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The number that matters<\/h2>\n\n\n\n<p>The result I keep coming back to is not the benchmark, where our graph-guided agent scores ten out of ten against the frontier models&#8217; three to six. It is the ladder, measured on the same frozen adversarial dev set, with the <em>same<\/em> four billion parameters at every rung:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Same Gemma 4B model<\/th><th>Score<\/th><\/tr><\/thead><tbody><tr><td>Text only \u2014 no tools, no training<\/td><td>1\/10<\/td><\/tr><tr><td>+ Knowledge Graph tools, untrained<\/td><td>3\/10<\/td><\/tr><tr><td>+ Ontology-guided GRPO<\/td><td>5\/10<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>The untrained model with graph tools already matches Gemini 2.5 Flash. The trained one pulls away. In the live demo the comparison is literal: both sides of the screen run the identical loaded model, we simply switch the LoRA adapter off for the &#8220;Flawed Titan.&#8221; Same weights. The only difference is the graph, the ontology, and a weekend of training. <strong>Everything runs locally; there is no cloud API in the loop<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Structure helps. <em>Trainable<\/em> structure is the contribution.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Why a hackathon, and why this matters for your business<\/h2>\n\n\n\n<p><strong>Fair question: why is the CEO of an AI visibility company building inheritance puzzles for a hackathon judged on delight?<\/strong> <\/p>\n\n\n\n<p>Because the puzzle is a compressed version of the problem our clients pay us to solve. When a brand&#8217;s product data lives in a <a href=\"https:\/\/wordlift.io\/blog\/en\/knowledge-graphs-ai-powered-seo\/\">Knowledge Graph<\/a> with real ontological constraints, compatibility, eligibility, authority, canonical identity,  an agent grounded in that graph does not hallucinate a <em>plausible<\/em> answer; it traverses to a <em>valid<\/em> one. And as <a href=\"https:\/\/wordlift.io\/blog\/en\/ai-for-product-discovery\/\">commerce and search become agentic<\/a>, the brands whose structure is executable will be the ones whose answers survive. A small model that runs on-premise, trained for the cost of a dinner, that prefers valid graph paths over seductive narratives: that is not a toy. That is the unit economics of constraint-preserving AI at enterprise scale. The hackathon just made us build it joyfully.<\/p>\n\n\n\n<p>I built <strong>Sangue e Grafi<\/strong> as part of WordLift Lab, our innovation practice, with training on Modal and a model published openly on the Hugging Face Hub, adapter, dataset, agent traces, and these field notes included. We are proud members of the <strong>NVIDIA Inception Program<\/strong>, and yes, the recipe transfers: I trained <strong>NVIDIA&#8217;s Nemotron 4B<\/strong> with the same ontology rewards and the same discipline held, on a completely different architecture.<\/p>\n\n\n\n<p>Play the game. Watch a giant fall for a sob story while a small model reads the bloodline. Then look at your own data and ask the question we now ask every client: <em>is your structure documentation, or is it executable?<\/em><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Blood doesn&#8217;t lie. Neither does the graph.<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p><em>Try the demo at <a href=\"https:\/\/wor.ai\/sangue-e-grafi\">wor.ai\/sangue-e-grafi<\/a>. Model, dataset, and traces are on the Hugging Face Hub. Built with a good glass of Lacrima di Morro.<\/em> \ud83c\udf77<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Frontier LLMs fall for the story; a small model reads the graph. How ontology-guided GRPO taught Gemma 4B knowledge graph reasoning, field notes included.<\/p>\n","protected":false},"author":6,"featured_media":31206,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"wl_entities_gutenberg":"","_wlpage_enable":"","footnotes":""},"categories":[8],"tags":[],"wl_entity_type":[30],"coauthors":[4226],"class_list":["post-31200","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seo","wl_entity_type-article"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Sangue e Grafi: Teaching a Small Model to Read the Bloodline - WordLift Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sangue e Grafi: Teaching a Small Model to Read the Bloodline - WordLift Blog\" \/>\n<meta property=\"og:description\" content=\"Frontier LLMs fall for the story; a small model reads the graph. How ontology-guided GRPO taught Gemma 4B knowledge graph reasoning, field notes included.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/\" \/>\n<meta property=\"og:site_name\" content=\"WordLift Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-12T17:19:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-12T17:19:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Andrea Volpini\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andrea Volpini\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/\"},\"author\":{\"name\":\"Andrea Volpini\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#\/schema\/person\/574352082cc71dab8d164410f1cabe0a\"},\"headline\":\"Sangue e Grafi: Teaching a Small Model to Read the Bloodline\",\"datePublished\":\"2026-06-12T17:19:17+00:00\",\"dateModified\":\"2026-06-12T17:19:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/\"},\"wordCount\":1518,\"publisher\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi.png\",\"articleSection\":[\"seo\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/\",\"url\":\"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/\",\"name\":\"Sangue e Grafi: Teaching a Small Model to Read the Bloodline - WordLift Blog\",\"isPartOf\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi.png\",\"datePublished\":\"2026-06-12T17:19:17+00:00\",\"dateModified\":\"2026-06-12T17:19:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/#primaryimage\",\"url\":\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi.png\",\"contentUrl\":\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi.png\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\/\/wordlift.io\/blog\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sangue e Grafi: Teaching a Small Model to Read the Bloodline\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#website\",\"url\":\"https:\/\/wordlift.io\/blog\/en\/\",\"name\":\"WordLift Blog\",\"description\":\"AI-Powered SEO\",\"publisher\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wordlift.io\/blog\/en\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#organization\",\"name\":\"WordLift\",\"url\":\"https:\/\/wordlift.io\/blog\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2017\/04\/logo-1.png\",\"contentUrl\":\"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2017\/04\/logo-1.png\",\"width\":152,\"height\":40,\"caption\":\"WordLift\"},\"image\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#\/schema\/person\/574352082cc71dab8d164410f1cabe0a\",\"name\":\"Andrea Volpini\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#\/schema\/person\/image\/466a1652833e48ca11c81b363eba7c25\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6b9d3d311b50a8749201fe4b318907a8?s=96&d=mm&r=pg\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6b9d3d311b50a8749201fe4b318907a8?s=96&d=mm&r=pg\",\"caption\":\"Andrea Volpini\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sangue e Grafi: Teaching a Small Model to Read the Bloodline - WordLift Blog","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:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/","og_locale":"en_US","og_type":"article","og_title":"Sangue e Grafi: Teaching a Small Model to Read the Bloodline - WordLift Blog","og_description":"Frontier LLMs fall for the story; a small model reads the graph. How ontology-guided GRPO taught Gemma 4B knowledge graph reasoning, field notes included.","og_url":"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/","og_site_name":"WordLift Blog","article_published_time":"2026-06-12T17:19:17+00:00","article_modified_time":"2026-06-12T17:19:22+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi.png","type":"image\/png"}],"author":"Andrea Volpini","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Andrea Volpini","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/#article","isPartOf":{"@id":"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/"},"author":{"name":"Andrea Volpini","@id":"https:\/\/wordlift.io\/blog\/en\/#\/schema\/person\/574352082cc71dab8d164410f1cabe0a"},"headline":"Sangue e Grafi: Teaching a Small Model to Read the Bloodline","datePublished":"2026-06-12T17:19:17+00:00","dateModified":"2026-06-12T17:19:22+00:00","mainEntityOfPage":{"@id":"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/"},"wordCount":1518,"publisher":{"@id":"https:\/\/wordlift.io\/blog\/en\/#organization"},"image":{"@id":"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/#primaryimage"},"thumbnailUrl":"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi.png","articleSection":["seo"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/","url":"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/","name":"Sangue e Grafi: Teaching a Small Model to Read the Bloodline - WordLift Blog","isPartOf":{"@id":"https:\/\/wordlift.io\/blog\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/#primaryimage"},"image":{"@id":"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/#primaryimage"},"thumbnailUrl":"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi.png","datePublished":"2026-06-12T17:19:17+00:00","dateModified":"2026-06-12T17:19:22+00:00","breadcrumb":{"@id":"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/#primaryimage","url":"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi.png","contentUrl":"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/sangue-e-grafi.png","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/wordlift.io\/blog\/en\/sangue-e-grafi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/wordlift.io\/blog\/en\/"},{"@type":"ListItem","position":2,"name":"Sangue e Grafi: Teaching a Small Model to Read the Bloodline"}]},{"@type":"WebSite","@id":"https:\/\/wordlift.io\/blog\/en\/#website","url":"https:\/\/wordlift.io\/blog\/en\/","name":"WordLift Blog","description":"AI-Powered SEO","publisher":{"@id":"https:\/\/wordlift.io\/blog\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wordlift.io\/blog\/en\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/wordlift.io\/blog\/en\/#organization","name":"WordLift","url":"https:\/\/wordlift.io\/blog\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wordlift.io\/blog\/en\/#\/schema\/logo\/image\/","url":"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2017\/04\/logo-1.png","contentUrl":"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2017\/04\/logo-1.png","width":152,"height":40,"caption":"WordLift"},"image":{"@id":"https:\/\/wordlift.io\/blog\/en\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/wordlift.io\/blog\/en\/#\/schema\/person\/574352082cc71dab8d164410f1cabe0a","name":"Andrea Volpini","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wordlift.io\/blog\/en\/#\/schema\/person\/image\/466a1652833e48ca11c81b363eba7c25","url":"https:\/\/secure.gravatar.com\/avatar\/6b9d3d311b50a8749201fe4b318907a8?s=96&d=mm&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6b9d3d311b50a8749201fe4b318907a8?s=96&d=mm&r=pg","caption":"Andrea Volpini"}}]}},"_wl_alt_label":[],"wl:entity_url":"http:\/\/data.wordlift.io\/wl0216\/post\/sangue-e-grafi","_links":{"self":[{"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/posts\/31200"}],"collection":[{"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/comments?post=31200"}],"version-history":[{"count":6,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/posts\/31200\/revisions"}],"predecessor-version":[{"id":31210,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/posts\/31200\/revisions\/31210"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/media\/31206"}],"wp:attachment":[{"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/media?parent=31200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/categories?post=31200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/tags?post=31200"},{"taxonomy":"wl_entity_type","embeddable":true,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/wl_entity_type?post=31200"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/coauthors?post=31200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}