{"id":517,"date":"2026-10-07T17:29:52","date_gmt":"2026-10-07T15:29:52","guid":{"rendered":"https:\/\/www.ranksignal.fr\/blog\/?p=517"},"modified":"2026-10-14T17:24:14","modified_gmt":"2026-10-14T15:24:14","slug":"qu-est-ce-qu-un-graphe-de-connaissances","status":"publish","type":"post","link":"https:\/\/www.ranksignal.fr\/blog\/rag\/qu-est-ce-qu-un-graphe-de-connaissances\/","title":{"rendered":"Graphe de connaissances : le savoir en n\u0153uds et relations"},"content":{"rendered":"<p><\/p>\n<p>Pose cette question \u00e0 un assistant : \u00ab Quels produits du catalogue sont recommand\u00e9s par les m\u00eames c\u00e9l\u00e9brit\u00e9s ? \u00bb Aucun paragraphe, pris seul, ne contient la r\u00e9ponse : elle se trouve dans les liens entre des entit\u00e9s \u00e9parpill\u00e9es dans tes documents. Un graphe de connaissances existe pour ce genre de question. \u00c0 la fin de cet article, tu sauras le lire, comprendre comment on le fabrique et juger s&rsquo;il vaut son prix.<\/p>\n<p><strong>Sommaire<\/strong><\/p>\n<ul>\n<li><a href=\"#l-essentiel-en-30-secondes\">L&rsquo;essentiel en 30 secondes<\/a><\/li>\n<li><a href=\"#pourquoi-un-paragraphe-seul-ne-suffit-pas\">Pourquoi un paragraphe seul ne suffit pas<\/a><\/li>\n<li><a href=\"#un-tableau-de-faits-que-l-on-dessine\">Un tableau de faits que l&rsquo;on dessine<\/a><\/li>\n<li><a href=\"#n-uds-relations-proprietes-les-pieces-du-graphe\">N\u0153uds, relations, propri\u00e9t\u00e9s : les pi\u00e8ces du graphe<\/a><\/li>\n<li><a href=\"#le-meme-graphe-ecrit-en-cypher\">Le m\u00eame graphe \u00e9crit en Cypher<\/a><\/li>\n<li><a href=\"#d-ou-viennent-les-triplets\">D&rsquo;o\u00f9 viennent les triplets ?<\/a><\/li>\n<li><a href=\"#ce-que-le-graphe-change-quand-on-cherche\">Ce que le graphe change quand on cherche<\/a><\/li>\n<li><a href=\"#ou-on-s-en-sert\">O\u00f9 on s&rsquo;en sert<\/a><\/li>\n<li><a href=\"#les-limites-a-connaitre-avant-de-te-lancer\">Les limites \u00e0 conna\u00eetre avant de te lancer<\/a><\/li>\n<\/ul>\n<h2 id=\"l-essentiel-en-30-secondes\">L&rsquo;essentiel en 30 secondes<\/h2>\n<ul>\n<li>Un graphe de connaissances est <strong>un ensemble de faits en triplets<\/strong> (t\u00eate, relation, queue), comme (Napol\u00e9on, n\u00e9 \u00e0, Ajaccio).<\/li>\n<li>Les entit\u00e9s deviennent des n\u0153uds, les relations des ar\u00eates orient\u00e9es, et chacun peut porter des <strong>propri\u00e9t\u00e9s<\/strong> (date, identifiant\u2026).<\/li>\n<li>Un <strong>sch\u00e9ma, appel\u00e9 ontologie<\/strong>, fixe les types d&rsquo;entit\u00e9s et de relations autoris\u00e9s.<\/li>\n<li>On le remplit en extrayant entit\u00e9s et relations d&rsquo;un texte, aujourd&rsquo;hui souvent <strong>gr\u00e2ce \u00e0 un LLM<\/strong>.<\/li>\n<li>Il brille sur les <strong>questions \u00e0 plusieurs sauts<\/strong>, mais sa construction et sa maintenance ont un co\u00fbt r\u00e9el.<\/li>\n<\/ul>\n<h2 id=\"pourquoi-un-paragraphe-seul-ne-suffit-pas\">Pourquoi un paragraphe seul ne suffit pas<\/h2>\n<p>La <a href=\"\/blog\/rag\/qu-est-ce-qu-une-recherche-vectorielle\/\" title=\"recherche par similarit\u00e9 vectorielle\">recherche par similarit\u00e9 vectorielle<\/a> retrouve les passages dont le sens ressemble \u00e0 ta question. Elle excelle pour un fait simple ou une question directe. Elle peine d\u00e8s que la r\u00e9ponse exige de <strong>relier des informations dispers\u00e9es<\/strong> dans plusieurs documents, ou de d\u00e9gager des th\u00e8mes de haut niveau sur tout un jeu de donn\u00e9es.<\/p>\n<p>Un exemple : \u00ab Qu&rsquo;a fait Geoffrey Hinton ? \u00bb Si aucun passage retrouv\u00e9 ne couvre toutes ses actions, la r\u00e9ponse reste incompl\u00e8te. Ajouter davantage de passages n&rsquo;arrange rien : plus il y en a, plus l&rsquo;information redondante s&rsquo;accumule et plus la performance baisse.<\/p>\n<p>Une autre lecture du probl\u00e8me : le texte m\u00e9lange l&rsquo;information utile et du bruit de fond. Pour certains chercheurs, ce qui compte, ce sont les entit\u00e9s pr\u00e9sentes et leurs relations. On pense aux fiches de r\u00e9vision et aux cartes mentales, qui gardent l&rsquo;essentiel et les liens entre les id\u00e9es.<\/p>\n<blockquote>\n<p><strong>\ud83d\udca1 Intuition<\/strong> Un graphe de connaissances, c&rsquo;est la carte mentale d&rsquo;un corpus : compacte, parcourue par des algorithmes, et lisible comme un ensemble d&rsquo;entit\u00e9s reli\u00e9es.<\/p>\n<\/blockquote>\n<h2 id=\"un-tableau-de-faits-que-l-on-dessine\">Un tableau de faits que l&rsquo;on dessine<\/h2>\n<p>L&rsquo;id\u00e9e est n\u00e9e bien avant les LLM. Elle est entr\u00e9e dans la recherche web en 2012, quand Google a commenc\u00e9 \u00e0 ajouter des fiches de connaissances pour chaque concept recherch\u00e9. Le terme d\u00e9signe depuis tout graphe qui relie des entit\u00e9s par des <strong>relations porteuses de sens<\/strong>.<\/p>\n<p>Le principe tient en une brique, le <strong>triplet<\/strong> : (t\u00eate, relation, queue), ou, dit autrement, (sujet, pr\u00e9dicat, objet). Par exemple (Napol\u00e9on, n\u00e9 \u00e0, Ajaccio). Un graphe de connaissances n&rsquo;est rien d&rsquo;autre qu&rsquo;un ensemble de tels faits, vu comme un graphe orient\u00e9 : les entit\u00e9s en sont les n\u0153uds, les relations les ar\u00eates.<\/p>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6adef472b6e8c&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6adef472b6e8c\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1827\" height=\"891\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_tableau_vers_graphe.png\" alt=\"Un tableau de trois triplets \u00e0 gauche, le graphe correspondant \u00e0 droite : Napol\u00e9on au centre, reli\u00e9 \u00e0 Ajaccio et \u00e0 la France, Ajaccio reli\u00e9 \u00e0 la Corse\" class=\"wp-image-509\" srcset=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_tableau_vers_graphe.png 1827w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_tableau_vers_graphe-300x146.png 300w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_tableau_vers_graphe-1024x499.png 1024w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_tableau_vers_graphe-768x375.png 768w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_tableau_vers_graphe-1536x749.png 1536w\" sizes=\"auto, (max-width: 1827px) 100vw, 1827px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Compare les deux c\u00f4t\u00e9s du sch\u00e9ma : chaque ligne du tableau devient une fl\u00e8che \u00e9tiquet\u00e9e, et chaque entit\u00e9 n&rsquo;appara\u00eet qu&rsquo;une fois, m\u00eame quand plusieurs faits la mentionnent. Ajaccio sert de queue au premier fait et de t\u00eate au troisi\u00e8me : c&rsquo;est ce point commun qui cr\u00e9e le r\u00e9seau.<\/figcaption><\/figure>\n\n\n<p>En notation compacte, le graphe se d\u00e9finit ainsi :<\/p>\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 19px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-fae6d79a7eb80b3f60130bbeb2ea65f8_l3.png\" height=\"19\" width=\"244\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91; &#92;&#109;&#97;&#116;&#104;&#99;&#97;&#108;&#123;&#71;&#125;&#61;&#92;&#123;&#92;&#109;&#97;&#116;&#104;&#99;&#97;&#108;&#123;&#69;&#125;&#44;&#92;&#109;&#97;&#116;&#104;&#99;&#97;&#108;&#123;&#82;&#125;&#44;&#92;&#109;&#97;&#116;&#104;&#99;&#97;&#108;&#123;&#70;&#125;&#92;&#125;&#44;&#92;&#113;&#113;&#117;&#97;&#100;&#32;&#102;&#61;&#40;&#104;&#44;&#114;&#44;&#116;&#41;&#46;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n<p>Lis-la ainsi : <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-1675a89f46e07f3a5b7a4923fc03a604_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#109;&#97;&#116;&#104;&#99;&#97;&#108;&#123;&#71;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"14\" width=\"11\" style=\"vertical-align: -2px;\"\/> est form\u00e9 d&rsquo;un ensemble d&rsquo;entit\u00e9s <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-fb1e11e13c33c9d9ad92194939f45f74_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#109;&#97;&#116;&#104;&#99;&#97;&#108;&#123;&#69;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"10\" style=\"vertical-align: 0px;\"\/>, d&rsquo;un ensemble de relations <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-ab41b2e51b8afd5fbfb9ae4f9fd1e881_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#109;&#97;&#116;&#104;&#99;&#97;&#108;&#123;&#82;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"15\" style=\"vertical-align: 0px;\"\/> et d&rsquo;un ensemble de faits <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-ba3bbe3340dcd7f2c70d002a34e40322_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#109;&#97;&#116;&#104;&#99;&#97;&#108;&#123;&#70;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"14\" width=\"15\" style=\"vertical-align: -1px;\"\/>. Chaque fait <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-9c09a708375fde2676da319bcdfe8b24_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#102;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"10\" style=\"vertical-align: -4px;\"\/> est un triplet <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-c9ee10aa0aaec21405ab9c7cb318484e_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#40;&#104;&#44;&#32;&#114;&#44;&#32;&#116;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"51\" style=\"vertical-align: -5px;\"\/> : une relation <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-c409433a9e2dfcdb83360a974d243f18_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#114;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"8\" style=\"vertical-align: 0px;\"\/> entre une entit\u00e9 de d\u00e9part <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-14b463d0ecd5b350ced6cf1d6a12eef3_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#104;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"10\" style=\"vertical-align: 0px;\"\/> (la t\u00eate) et une entit\u00e9 d&rsquo;arriv\u00e9e <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/ql-cache\/quicklatex.com-b4e3cbf5d4c5c6d9b702dd139f14c147_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#116;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"6\" style=\"vertical-align: 0px;\"\/> (la queue).<\/p>\n<p>Pourquoi ne pas garder un simple tableau ? Les m\u00eames donn\u00e9es s&rsquo;\u00e9crivent dans les deux formes, mais le graphe a des atouts. Quand une information manque pour une propri\u00e9t\u00e9, le tableau se remplit de valeurs vides, alors que le graphe n&rsquo;a tout simplement pas l&rsquo;ar\u00eate. <strong>Fusionner deux graphes de triplets est tr\u00e8s simple<\/strong>, alors que fusionner deux tableaux oblige \u00e0 choisir les colonnes et \u00e0 \u00e9viter les doublons.<\/p>\n<p>Le graphe permet aussi de <strong>d\u00e9duire des faits manquants<\/strong>. Si A est le mari de B et le p\u00e8re de C, une r\u00e8gle logique en tire que B est la m\u00e8re de C : une relation absente est inf\u00e9r\u00e9e \u00e0 partir de relations pr\u00e9sentes.<\/p>\n<h2 id=\"n-uds-relations-proprietes-les-pieces-du-graphe\">N\u0153uds, relations, propri\u00e9t\u00e9s : les pi\u00e8ces du graphe<\/h2>\n<p>Un graphe de connaissances se compose de trois sortes d&rsquo;\u00e9l\u00e9ments. Les <strong>n\u0153uds<\/strong> repr\u00e9sentent des entit\u00e9s du monde r\u00e9el : personnes, lieux, ou objets propres \u00e0 un domaine (g\u00e8nes, prot\u00e9ines, maladies, produits financiers). Les <strong>relations<\/strong> relient ces n\u0153uds par un lien s\u00e9mantique : une amiti\u00e9 entre deux personnes, ou l&rsquo;association d&rsquo;un g\u00e8ne \u00e0 une maladie. Les propri\u00e9t\u00e9s d\u00e9crivent n\u0153uds et relations : une \u00e9tiquette (\u00ab \u00eatre humain \u00bb), une date de naissance, un identifiant.<\/p>\n<p>Les relations ont un sens (une ar\u00eate a un d\u00e9but et une fin) et peuvent porter un poids, qui exprime la force ou le co\u00fbt du lien. Deux n\u0153uds peuvent m\u00eame \u00eatre reli\u00e9s par plusieurs relations \u00e0 la fois.<\/p>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6adef472b74b5&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6adef472b74b5\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1536\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch06_graphe_connaissances-scaled.png\" alt=\"Un petit graphe de concepts d'IA : TensorFlow reli\u00e9 \u00e0 BERT par BUILT_WITH, BERT au traitement du langage naturel par BELONGS_TO, le traitement du langage naturel \u00e0 l'intelligence artificielle par APPLICATION_OF, et l'apprentissage profond puis automatique \u00e0 l'IA par SUBSET_OF\" class=\"wp-image-510\" srcset=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch06_graphe_connaissances-scaled.png 2560w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch06_graphe_connaissances-300x180.png 300w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch06_graphe_connaissances-1024x614.png 1024w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch06_graphe_connaissances-768x461.png 768w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch06_graphe_connaissances-1536x922.png 1536w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b1_ch06_graphe_connaissances-2048x1229.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Regarde les \u00e9tiquettes des fl\u00e8ches : elles disent tout. BERT est construit avec TensorFlow, il appartient au traitement du langage naturel, lui-m\u00eame une application de l&rsquo;intelligence artificielle. L&rsquo;apprentissage profond est un sous-ensemble de l&rsquo;apprentissage automatique, lui-m\u00eame sous-ensemble de l&rsquo;IA. Chaque n\u0153ud a un type (concept, outil, mod\u00e8le) et chaque fl\u00e8che un nom pr\u00e9cis.<\/figcaption><\/figure>\n\n\n<p>Qui d\u00e9cide de ces types et de ces noms ? <strong>L&rsquo;ontologie<\/strong>, colonne vert\u00e9brale du graphe : un sch\u00e9ma des types d&rsquo;entit\u00e9s et des types de relations possibles. Pour un domaine sp\u00e9cialis\u00e9 comme la finance ou la m\u00e9decine, on peut partir d&rsquo;ontologies d\u00e9j\u00e0 construites, ce qui assure une meilleure interop\u00e9rabilit\u00e9.<\/p>\n<p>Un exemple de sch\u00e9ma, pour des contrats : trois types de n\u0153uds, <code>Contract<\/code> (identifiant, type, dates, montant, port\u00e9e), <code>Organization<\/code> (nom, r\u00f4le) et <code>Location<\/code> (ville, pays), reli\u00e9s par <code>HAS_PARTY<\/code> et <code>HAS_LOCATION<\/code>. Les localisations forment des n\u0153uds \u00e0 part, car une m\u00eame organisation peut avoir plusieurs adresses.<\/p>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6adef472b7990&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6adef472b7990\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1347\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b4_ch06_modele_graphe_contrat-scaled.png\" alt=\"Sch\u00e9ma d'un graphe de contrats : les organisations sont reli\u00e9es aux contrats par HAS_PARTY et \u00e0 leurs localisations par HAS_LOCATION\" class=\"wp-image-511\" srcset=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b4_ch06_modele_graphe_contrat-scaled.png 2560w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b4_ch06_modele_graphe_contrat-300x158.png 300w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b4_ch06_modele_graphe_contrat-1024x539.png 1024w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b4_ch06_modele_graphe_contrat-768x404.png 768w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b4_ch06_modele_graphe_contrat-1536x808.png 1536w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b4_ch06_modele_graphe_contrat-2048x1078.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Regarde ce que montre le sch\u00e9ma : pas des donn\u00e9es, mais des types de n\u0153uds et de relations. Trois types suffisent ici pour d\u00e9crire un contrat, ses parties et leurs adresses.<\/figcaption><\/figure>\n\n\n<p>Le mod\u00e8le de base s&rsquo;\u00e9tend aussi. Un graphe hi\u00e9rarchique relie les entit\u00e9s d&rsquo;un niveau \u00e0 celles du niveau suivant, ce qui sert beaucoup avec les ontologies. Un n\u0153ud peut repr\u00e9senter une image, reli\u00e9e \u00e0 d&rsquo;autres entit\u00e9s textuelles. Un graphe temporel ajoute une dimension de temps, utile \u00e0 l&rsquo;analyse pr\u00e9dictive.<\/p>\n<h2 id=\"le-meme-graphe-ecrit-en-cypher\">Le m\u00eame graphe \u00e9crit en Cypher<\/h2>\n<p>Un graphe de connaissances vit dans une base de donn\u00e9es. Neo4j est l&rsquo;une des plus utilis\u00e9es : elle emploie Cypher, un langage de requ\u00eate adapt\u00e9 \u00e0 cette structure et vaguement proche de SQL. D&rsquo;autres bases stockent directement des triplets, ou s&rsquo;appellent Amazon Neptune et TigerGraph.<\/p>\n<p>Une fois l&rsquo;ontologie d\u00e9finie, on peuple le graphe avec la clause <code>CREATE<\/code> : on cr\u00e9e les n\u0153uds avec leurs \u00e9tiquettes et leurs propri\u00e9t\u00e9s, puis on les retrouve, puis on cr\u00e9e chaque relation dirig\u00e9e s\u00e9par\u00e9ment. Voici le petit graphe d&rsquo;IA vu plus haut, en extrait :<\/p>\n<pre><code>\/\/ Create nodes for concepts and entities\nCREATE (:Concept {name: 'Artificial Intelligence'});\nCREATE (:Concept {name: 'Machine Learning'});\n...\nCREATE (:Model {name: 'BERT', year: 2018});\nCREATE (:Model {name: 'ResNet', year: 2015});\n\n\/\/ Create relationships between concepts\nMATCH\n  (ai:Concept {name:'Artificial Intelligence'}),\n  (ml:Concept {name:'Machine Learning'})\nCREATE (ml)-[:SUBSET_OF]-&gt;(ai);\n<\/code><\/pre>\n<p>Les deux premi\u00e8res lignes cr\u00e9ent des n\u0153uds \u00e9tiquet\u00e9s <code>Concept<\/code>, dot\u00e9s d&rsquo;une propri\u00e9t\u00e9 <code>name<\/code>. <code>MATCH<\/code> retrouve deux n\u0153uds par leur nom et <code>CREATE (ml)-[:SUBSET_OF]-&gt;(ai)<\/code> trace la fl\u00e8che : exactement le triplet (apprentissage automatique, sous-ensemble de, intelligence artificielle).<\/p>\n<p>Une fois les relations en place, une requ\u00eate peut chercher le <strong>chemin le plus court<\/strong> entre deux concepts :<\/p>\n<pre><code>MATCH path = shortestPath(\n  (concept1:Concept {name: 'Natural Language Processing'})-[*]-(concept2:Concept\n      {name: 'Deep Learning'})\n)\nRETURN path;\n<\/code><\/pre>\n<p>Elle renvoie la cha\u00eene de n\u0153uds et de relations qui relie le traitement du langage naturel \u00e0 l&rsquo;<a href=\"\/blog\/deep-learning\/qu-est-ce-qu-un-modele-d-apprentissage-profond\/\" title=\"apprentissage profond\">apprentissage profond<\/a>, en passant par l&rsquo;intelligence artificielle et l&rsquo;apprentissage automatique. Aucune similarit\u00e9 de texte ici : on suit des liens.<\/p>\n<h2 id=\"d-ou-viennent-les-triplets\">D&rsquo;o\u00f9 viennent les triplets ?<\/h2>\n<p>On ne les \u00e9crit pas \u00e0 la main : on les extrait de sources, textes, bases ou donn\u00e9es structur\u00e9es. Le chemin complet se fait en cinq \u00e9tapes : cr\u00e9ation de l&rsquo;ontologie avec extraction des entit\u00e9s et relations, \u00e9valuation de la qualit\u00e9, nettoyage des erreurs et doublons, enrichissement par de nouvelles sources, d\u00e9ploiement dans une base de graphes.<\/p>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6adef472b7e61&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6adef472b7e61\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2340\" height=\"1080\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_pipeline_construction_kg.png\" alt=\"Pipeline en cinq \u00e9tapes de construction d'un graphe : ontologie avec extraction, \u00e9valuation, nettoyage, enrichissement, d\u00e9ploiement, avec des boucles de correction\" class=\"wp-image-512\" srcset=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_pipeline_construction_kg.png 2340w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_pipeline_construction_kg-300x138.png 300w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_pipeline_construction_kg-1024x473.png 1024w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_pipeline_construction_kg-768x354.png 768w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_pipeline_construction_kg-1536x709.png 1536w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_pipeline_construction_kg-2048x945.png 2048w\" sizes=\"auto, (max-width: 2340px) 100vw, 2340px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Le sch\u00e9ma insiste sur un point : le processus est it\u00e9ratif. Un graphe se corrige et se compl\u00e8te sans cesse, et il n&rsquo;est jamais une entit\u00e9 statique : il faut ajouter des donn\u00e9es, mettre \u00e0 jour l&rsquo;existant et affiner l&rsquo;ontologie.<\/figcaption><\/figure>\n\n\n<p>Le c\u0153ur du travail repose sur deux t\u00e2ches. La <strong>reconnaissance d&rsquo;entit\u00e9s nomm\u00e9es<\/strong> extrait les entit\u00e9s du texte et les classe (personne, organisation, lieu). L&rsquo;extraction de relations identifie les liens entre elles : dans \u00ab Bob travaille chez Apple \u00bb, on extrait la relation \u00ab travaille chez \u00bb.<\/p>\n<p>La difficult\u00e9, c&rsquo;est l&rsquo;ambigu\u00eft\u00e9. \u00ab Apple \u00bb d\u00e9signe-t-il le fruit ou l&rsquo;entreprise ? En musique, le mot peut renvoyer \u00e0 Apple Music, \u00e0 un groupe de rock psych\u00e9d\u00e9lique britannique ou \u00e0 la chanteuse Fiona Apple. Le contexte tranche.<\/p>\n<p>Les m\u00e9thodes ont \u00e9volu\u00e9. Les plus anciennes reposaient sur des r\u00e8gles, par exemple des majuscules ou des titres de civilit\u00e9 : elles marchaient bien sur des documents standardis\u00e9s mais <strong>passaient mal \u00e0 l&rsquo;\u00e9chelle<\/strong>. Les m\u00e9thodes statistiques et supervis\u00e9es ont fait mieux, mais demandaient des \u00e9tiquettes co\u00fbteuses, vite obsol\u00e8tes quand apparaissent de nouvelles entreprises ou de nouveaux produits.<\/p>\n<p>Aujourd&rsquo;hui, un LLM peut extraire directement les entit\u00e9s du texte, sans \u00e9tiquettes, et les rendre dans le format voulu : une liste de triplets, par exemple. Il peut mener l&rsquo;extraction d&rsquo;entit\u00e9s et de relations en une seule \u00e9tape, \u00e0 condition de soigner son prompt, qui pr\u00e9cise la t\u00e2che et le format de sortie.<\/p>\n<p>Des biblioth\u00e8ques automatisent cette \u00e9tape en quelques lignes :<\/p>\n<pre><code>from langchain_core.documents import Document\nfrom langchain_experimental.graph_transformers import\nLLMGraphTransformer\nllm_transformer = LLMGraphTransformer(llm=llm)\ndocuments = [Document(page_content=content)]\ngraph_documents = llm_transformer.convert_to_graph_\ndocuments(documents)\n<\/code><\/pre>\n<p>Ici, <code>llm<\/code> est le mod\u00e8le de langage que tu as d\u00e9j\u00e0 configur\u00e9 et <code>content<\/code> le texte \u00e0 transformer : on le place dans un <code>Document<\/code>, puis <code>convert_to_graph_documents<\/code> renvoie un r\u00e9sultat d\u00e9j\u00e0 structur\u00e9 en n\u0153uds et relations. On peut ensuite le visualiser et l&rsquo;interroger dans Neo4j.<\/p>\n<blockquote>\n<p><strong>\u26a0\ufe0f Pi\u00e8ge<\/strong> L&rsquo;extraction produit des doublons et des erreurs. L&rsquo;\u00e9tape d&rsquo;int\u00e9gration et de validation r\u00e9sout les doublons d&rsquo;entit\u00e9s et v\u00e9rifie que le graphe repr\u00e9sente fid\u00e8lement le domaine, par des tests utilisateur ou des contr\u00f4les automatis\u00e9s.<\/p>\n<\/blockquote>\n<h2 id=\"ce-que-le-graphe-change-quand-on-cherche\">Ce que le graphe change quand on cherche<\/h2>\n<p>Avec une recherche vectorielle, tu retrouves des passages proches de ta question. Avec un graphe, tu rep\u00e8res d&rsquo;abord les entit\u00e9s de la question, puis tu parcours leurs voisins. Pour \u00ab o\u00f9 est n\u00e9 Obama ? \u00bb, on part du n\u0153ud Obama et on prend ses voisins directs (un saut), voire les voisins de ses voisins (deux sauts).<\/p>\n<p>Contrairement au d\u00e9coupage en passages, qui se r\u00e8gle par leur taille, <strong>la granularit\u00e9 se choisit \u00e0 la r\u00e9cup\u00e9ration<\/strong>. On peut ramener un n\u0153ud, un triplet, un chemin ou un sous-graphe entier : de plus en plus de contexte, de plus en plus de relations.<\/p>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6adef472b82f4&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6adef472b82f4\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2370\" height=\"686\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_granularite_recuperation.png\" alt=\"Quatre niveaux de granularit\u00e9 sur un m\u00eame graphe : un n\u0153ud, un triplet, un chemin, un sous-graphe\" class=\"wp-image-513\" srcset=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_granularite_recuperation.png 2370w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_granularite_recuperation-300x87.png 300w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_granularite_recuperation-1024x296.png 1024w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_granularite_recuperation-768x222.png 768w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_granularite_recuperation-1536x445.png 1536w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b3_ch07_granularite_recuperation-2048x593.png 2048w\" sizes=\"auto, (max-width: 2370px) 100vw, 2370px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Sur le sch\u00e9ma, la part en orange grandit \u00e0 chaque niveau. Un n\u0153ud suffit pour une question cibl\u00e9e sur une entit\u00e9 ; un triplet quand sa relation compte ; un chemin pour relier deux entit\u00e9s ; un sous-graphe pour analyser des motifs et des d\u00e9pendances complexes. Les chemins possibles croissent exponentiellement avec la taille du graphe, d&rsquo;o\u00f9 le besoin de r\u00e8gles ou de la recherche du plus court.<\/figcaption><\/figure>\n\n\n<p>On peut aussi combiner les deux mondes. Une approche extrait entit\u00e9s et relations des passages avec un LLM, retrouve d&rsquo;abord des passages par similarit\u00e9, puis parcourt le graphe pour r\u00e9cup\u00e9rer ceux qui partagent leurs entit\u00e9s. Une autre d\u00e9tecte des <strong>communaut\u00e9s<\/strong> d&rsquo;entit\u00e9s dens\u00e9ment connect\u00e9es, avec des algorithmes comme Leiden ou Louvain, et fait r\u00e9sumer chacune par un LLM.<\/p>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6adef472b878f&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6adef472b878f\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1477\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b2_ch08_communautes_graphe-scaled.png\" alt=\"Deux communaut\u00e9s d'entit\u00e9s, A B C et X Y, chacune synth\u00e9tis\u00e9e par un r\u00e9sum\u00e9 produit par un LLM\" class=\"wp-image-514\" srcset=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b2_ch08_communautes_graphe-scaled.png 2560w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b2_ch08_communautes_graphe-300x173.png 300w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b2_ch08_communautes_graphe-1024x591.png 1024w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b2_ch08_communautes_graphe-768x443.png 768w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b2_ch08_communautes_graphe-1536x886.png 1536w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b2_ch08_communautes_graphe-2048x1182.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Ces r\u00e9sum\u00e9s r\u00e9pondent aux questions sur les <strong>grands th\u00e8mes<\/strong> d&rsquo;un corpus (\u00ab quels sont les th\u00e8mes principaux de ce rapport ? \u00bb), l\u00e0 o\u00f9 un fait isol\u00e9 ne suffit pas.<\/figcaption><\/figure>\n\n\n<p>Pour interroger le graphe en langage naturel, la question doit devenir une requ\u00eate Cypher. Deux voies : des mod\u00e8les de requ\u00eate pr\u00e9d\u00e9finis, rigides mais fiables, ou la g\u00e9n\u00e9ration par un LLM, plus flexible mais moins fiable \u00e0 100 %.<\/p>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6adef472b8c8b&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6adef472b8c8b\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2400\" height=\"1350\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b4_ch01_graphe_connaissances.png\" alt=\"Un graphe stockant \u00e0 la fois des donn\u00e9es structur\u00e9es (employ\u00e9s, t\u00e2ches) et le contenu d'un article en texte libre\" class=\"wp-image-515\" srcset=\"https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b4_ch01_graphe_connaissances.png 2400w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b4_ch01_graphe_connaissances-300x169.png 300w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b4_ch01_graphe_connaissances-1024x576.png 1024w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b4_ch01_graphe_connaissances-768x432.png 768w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b4_ch01_graphe_connaissances-1536x864.png 1536w, https:\/\/www.ranksignal.fr\/wp-content\/uploads\/2026\/10\/b4_ch01_graphe_connaissances-2048x1152.png 2048w\" sizes=\"auto, (max-width: 2400px) 100vw, 2400px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Le graphe garde aussi les informations structur\u00e9es (un employ\u00e9, le statut d&rsquo;une t\u00e2che, la hi\u00e9rarchie d&rsquo;une entreprise) et non structur\u00e9es (le texte libre d&rsquo;un article) dans un m\u00eame syst\u00e8me. C&rsquo;est ce qui le rend adapt\u00e9 aux questions qui demandent de filtrer, compter ou agr\u00e9ger, l\u00e0 o\u00f9 les seuls embeddings de texte butent.<\/figcaption><\/figure>\n\n\n<blockquote>\n<p><strong>\ud83d\udccc \u00c0 retenir<\/strong> Le graphe ne remplace pas la recherche vectorielle : il la compl\u00e8te. La recherche va m\u00eame vers des syst\u00e8mes qui emploient les deux, avec \u00e9ventuellement un routeur qui choisit entre le graphe et la base vectorielle.<\/p>\n<\/blockquote>\n<h2 id=\"ou-on-s-en-sert\">O\u00f9 on s&rsquo;en sert<\/h2>\n<p>La sant\u00e9 croise m\u00e9dicaments, pathologies et interactions. La recommandation de produits suit le parcours d&rsquo;un client sur plusieurs sauts. L&rsquo;analyse de contrats rep\u00e8re des d\u00e9pendances et des risques de conformit\u00e9 entre documents li\u00e9s.<\/p>\n<p>Le droit, avec ses nombreuses citations entre affaires, se mod\u00e9lise naturellement en graphe : pour une affaire donn\u00e9e, on peut sugg\u00e9rer des affaires ant\u00e9rieures. Il en va de m\u00eame pour un article de recherche, avec ses signataires, ses institutions et son r\u00e9seau de citations. Des agents ont ainsi propos\u00e9 de nouvelles hypoth\u00e8ses de recherche \u00e0 partir d&rsquo;un graphe construit sur 1 000 articles.<\/p>\n<p>Un graphe est aussi un recueil de faits, d&rsquo;o\u00f9 une piste pour limiter les <a href=\"\/blog\/agentic\/eviter-hallucination-documents-recuperes\/\" title=\"hallucinations d&#x27;un LLM\">hallucinations d&rsquo;un LLM<\/a> : lui donner des faits v\u00e9rifiables, ce qui compte en biom\u00e9decine.<\/p>\n<h2 id=\"les-limites-a-connaitre-avant-de-te-lancer\">Les limites \u00e0 conna\u00eetre avant de te lancer<\/h2>\n<p><strong>Le co\u00fbt de construction<\/strong> est le premier obstacle : utiliser un LLM pour extraire des triplets d&rsquo;un grand corpus peut co\u00fbter cher et exiger une infrastructure adapt\u00e9e. Une fois le graphe b\u00e2ti, il faut encore l&rsquo;\u00e9valuer et le nettoyer, manuellement ou par calcul.<\/p>\n<p><strong>L&rsquo;\u00e9chelle<\/strong> pose un deuxi\u00e8me probl\u00e8me. Les graphes industriels peuvent contenir des milliards d&rsquo;entit\u00e9s et de relations, alors que beaucoup d&rsquo;algorithmes sont con\u00e7us pour des graphes allant jusqu&rsquo;\u00e0 quelques milliers d&rsquo;entit\u00e9s. Retrouver de l&rsquo;information dans un tr\u00e8s gros graphe reste difficile.<\/p>\n<p>Troisi\u00e8me limite : un graphe est <strong>notoirement incomplet<\/strong> et le plus souvent statique, ce qui g\u00eane dans des domaines comme la finance o\u00f9 le march\u00e9 change vite. Les graphes dynamiques corrigent cela, mais deviennent plus durs \u00e0 maintenir : l&rsquo;afflux de donn\u00e9es peut introduire des erreurs qui se propagent. Ils sont gourmands en ressources, soumis \u00e0 des normes strictes quand ils contiennent des donn\u00e9es sensibles, et une confiance excessive peut faire n\u00e9gliger des facteurs que le graphe ne capture pas.<\/p>\n<p>Pour en profiter malgr\u00e9 ces risques, on met en place des m\u00e9canismes de validation robustes, une architecture \u00e9volutive, des mesures de s\u00e9curit\u00e9 (chiffrement, contr\u00f4les d&rsquo;acc\u00e8s, anonymisation) et une supervision humaine pour les d\u00e9cisions critiques.<\/p>\n<p>Reste la question du choix. Si ton jeu de donn\u00e9es est grand et que la recherche vectorielle classique atteint ses limites, l&rsquo;approche par graphe est <strong>plus co\u00fbteuse et plus complexe<\/strong>, mais donne fr\u00e9quemment de meilleurs r\u00e9sultats. Pour une question directe sur un fait simple, la recherche vectorielle seule suffit.<\/p>","protected":false},"excerpt":{"rendered":"<p>Un graphe de connaissances range les faits en triplets (entit\u00e9, relation, entit\u00e9). D\u00e9couvre comment il se construit, ce qu&rsquo;il retrouve, et ses limites.<\/p>\n","protected":false},"author":1,"featured_media":516,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-517","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rag"],"_links":{"self":[{"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/posts\/517","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/comments?post=517"}],"version-history":[{"count":3,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/posts\/517\/revisions"}],"predecessor-version":[{"id":791,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/posts\/517\/revisions\/791"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/media\/516"}],"wp:attachment":[{"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/media?parent=517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/categories?post=517"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ranksignal.fr\/blog\/wp-json\/wp\/v2\/tags?post=517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}