Graphify-integratie met KennisBank

Definitie

Graphify bouwt een kennisgraaf van alle wiki-artikelen in 02-wiki/. De output (graph.json, graph.html, GRAPH_REPORT.md) wordt gebruikt voor context-injectie bij sessiestart, auto-crosslinks tussen artikelen, en interactieve navigatie.

Context

De KennisBank bevat ~90 wiki-artikelen met expliciete en impliciete verbanden. Graphify maakt die verbanden zichtbaar via Leiden-clustering en biedt een persistent overzicht dat Claude bij sessiestart kan gebruiken zonder alle artikelen te lezen.

Kernpunten

Bouwen

/graphify ~/KennisBank/02-wiki

Output in ~/KennisBank/graphify-out/:

  • graph.json — 305 nodes, 316 edges, 35 communities (stand 2026-05-06)
  • graph.html — interactieve visualisatie (open in browser)
  • GRAPH_REPORT.md — god nodes, communities, verrassende verbanden, suggesties
  • .needs-rebuild — flag die aangeeft wanneer herbouw nodig is (geschreven door /sessielog)

graph.json schema

Nodes: id, label, source_file (relatief aan vault), community (integer), norm_label. Edges staan onder de sleutel links (niet edges). Links: source, target (node-IDs), relation, confidence_score, source_file.

Leiden-clustering

35 communities gedetecteerd (stand 2026-05-06). God nodes (meest verbonden concepten):

  • Vault MCP server architectuur (12 verbindingen)
  • KennisBank sessie-automatisering (7)
  • Eindredacteur Plugin (7)
  • Subagent-driven Development Discipline (7)

Communities groeperen: Claude Code tools, journalistieke workflows, Atelier/Vault architectuur, AV-tooling, design systemen.

Token-benchmark: 75.7x reductie (corpus ~79K tokens → ~1.046 tokens per query).

Context-injectie via SessionStart

De KennisBank SessionStart-hook leest GRAPH_REPORT.md en injecteert bij sessiestart:

  • Top-8 god nodes (meest verbonden concepten)
  • Top-10 community-labels

Dit geeft Claude direct een oriëntatie op de vault-structuur zonder alle artikelen te lezen. Alleen aanwezig als graphify-out/GRAPH_REPORT.md bestaat.

Script: ~/KennisBank/.claude/scripts/auto-crosslink.py

Werking: leest graph.json, vindt wiki-bestanden die verbonden zijn aan het doelbestand, checkt bestaande [[stem]] patronen in de ## Verbanden sectie, voegt max 5 ontbrekende backlinks toe (confidence >= 0.75).

Aanroepen (automatisch via /sessielog stap 2):

python3 /Users/jvdbreemen/KennisBank/.claude/scripts/auto-crosslink.py [pad-naar-artikel]

Obsidian-export (volledige graaf)

Twee routes om de graphify-verbindingen in Obsidian zichtbaar te maken:

Route 1 — Auto-crosslink (bestand-tot-bestand): Voegt [[wikilinks]] toe aan de ## Verbanden-sectie van bestaande wiki-artikelen. Werkt alleen voor bestand-naar-bestand-verbindingen (confidence >= 0.75, max 5 per artikel).

python3 ~/KennisBank/.claude/scripts/auto-crosslink.py ~/KennisBank/02-wiki/*.md

Route 2 — Obsidian-overlay (alle nodes en edges): Exporteert de volledige graaf als losse .md-bestanden naar graphify-obsidian/. Bevat alle 305 concept-nodes (inclusief nodes zonder eigen wiki-artikel) en alle 316 edges als wikilinks. Community-overzichten met _COMMUNITY_-prefix sorteren bovenaan.

from graphify.export import to_obsidian
to_obsidian(G, communities, '~/KennisBank/graphify-obsidian', community_labels=community_labels)

Resultaat: 340 bestanden (305 node-notes + 35 community-notes). Elk bestand heeft YAML-frontmatter met tags: graphify/document, graphify/INFERRED, community/Naam — bruikbaar voor filtering in Extended Graph plugin.

Extended Graph plugin: Werkt op basis van frontmatter-tags en properties, niet op externe JSON. Instellen: kleur nodes op community/... tags, grootte op degree-property.

Let op: graphify-obsidian/ bevat ~340 gegenereerde bestanden. Toevoegen aan .gitignore als de vault gesynchroniseerd wordt.

Gebruik buiten de KennisBank: backlog-analyse

Graphify werkt op elk corpus van markdown-bestanden, ook een taakorpora (backlog). Resultaat op 154 backlog-taken (2026-05-08): 305 nodes, 394 edges, 18 communities.

Opbrengst bij een backlog-run:

  • God nodes: de centrale projecten (Vault, jimvandenbreemen.nl, Eindredacteur, Atelier, KennisBank)
  • Taakverdubbelingen: taken met identieke scope maar verschillende nummering verschijnen als semantically_similar_to-edges met score >= 0.85. Zie wiki-duplicate-task-detection-graphify.
  • Cross-community bruggen: taken die losse projecten verbinden zijn kandidaat-merges. TASK-122 (OSINT) verbond drie communities (Vault, Atelier, Eindredacteur), wat een geplande merge bevestigde.

Aanroepen op backlog:

/graphify ~/Claude/projects/backlog

Output in ~/Claude/projects/backlog/graphify-out/.

Herbouw-cadans

Herbouwen bij meerdere wiki-wijzigingen gestapeld. /sessielog schrijft .needs-rebuild flag na wiki-updates. Herbouw via /graphify ~/KennisBank/02-wiki in een volgende sessie. Niet na elke sessie nodig.

Verbanden

Sessie-herkomst