Wissensgraph – Visualisierung des Wiki-Wissens
Published on HivePostify by @achimmertens · Thu Aug 06 2026
Hallo zusammen,
ich kann ja meine Finger nicht still halten und muss unbedingt alles ausprobieren, über was ich so stolpere und was mich fasziniert. Da ich momentan die Zeit dazu habe, habe ich mich mal an die Visualisierung meines persönlichen Wikis gemacht. Herausgekommen ist ein interaktiver Wissensgraph, der alle 2445 Markdown-Seiten meines Wikis als Knoten darstellt und die Verbindungen zwischen den Seiten (Wiki-Links und semantische Ähnlichkeit) als Kanten visualisiert.
Was sind Kanten in dem Zusammenhang? Kanten sind die Verbindungen zwischen den Knoten (Wiki-Seiten). Es gibt zwei Arten von Kanten: 1. Wiki-Links: Wenn eine Seite auf eine andere Seite verlinkt, dann gibt es eine Kante zwischen diesen beiden Seiten. 2. Semantische Ähnlichkeit: Wenn zwei Seiten inhaltlich ähnlich sind, z.B. weil sie ähnliche Themen behandeln, dann gibt es auch eine Kante zwischen diesen beiden Seiten.
Herausgekommen ist ein interaktiver Graph, der die Struktur meines [LLM-Wikis](https://peakd.com/hive-121566/@achimmertens/openclaw-llm-wiki-und-meilisearch-erfahrungsbericht) auf einen Blick zeigt und es ermöglicht, neue Zusammenhänge zu entdecken. Die Knoten sind farbcodiert nach thematischen Clustern (Communities), die durch einen Label-Propagation-Algorithmus erkannt wurden. So kann man z.B. auf einen Blick sehen, welche Seiten thematisch zusammengehören und welche eher isoliert sind:
Die Installation selber hat für mich mein Openclaw Agent übernommen. Der Prompt dafür lautete:
Bitte schau dir die Videos: https://www.youtube.com/watch?v=mHSOsyusAg und https://www.youtube.com/watch?v=u2b6GfpeU4 an. Ist da etwas dabei, dass unsere Arbeit vereinfachen oder verbessern könnte? Wir haben ja ein LLM-Wiki und Meilisearch. Das sit schon ganz gut, aber könnte es noch besser gehen? Außerdem würde ich gerne eine Verlinkung/Bedeutungsnähe grafisch als Vektorwolke sehen.
Daraufhin bekam ich folgenden Plan:
Der Plan ist fertig und liegt als Datei: plans/wiki-search-graph-upgrade.md.
Kurzzusammenfassung:
Phase 1 – Meilisearch reparieren (läuft aktuell nicht, muss erst wieder funktionieren)
Phase 2 – qmd installieren (lokale Hybrid-Suche: BM25 + Embeddings + Reranking)
• npm install -g @tobilu/qmd • Collection auf wikicontents/ anlegen • Embeddings generieren • qmd als HTTP-Server auf Port 7701 • Systemd-Service für Autostart • Integration in index.html (Such-UI mit Auswahl Meilisearch / qmd-Hybrid / qmd-Semantic)
Phase 3 – Wissensgraph (Vektorwolke)
• Python-Script generateknowledgegraph.py: • Extrahiert alle Wiki-Links aus den .md-Dateien • Generiert Embeddings (sentence-transformers, all-MiniLM-L6-v2) • Erkennt Communities (Louvain-Clustering) • graph.html mit d3.js Force-Directed Graph: • Nodes = Wiki-Seiten, Größe = Verlinkungsgrad • Durchgezogene Linien = explizite Links, gestrichelt = semantische Nähe • Farben = thematische Cluster • Klickbar → öffnet viewer.html ��� Suche/Filter im Graphen
Phase 4 – UI-Integration
• Such-UI mit Methoden-Auswahl (Meilisearch/qmd/qmd-semantic) • Graph-Button in Toolbar von viewer.html + index.html • Globale Navigation
Phase 5 – Dokumentation
• Jeder Befehl dokumentiert (für Nachvollziehbarkeit) • Neue Wiki-Entities für qmd + Wissensgraph
Geschätzt: 10-15h verteilt
Die Visualisierung ist nun bei mir lokal unter (2D) und (3D) erreichbar. Alles was jetzt folgt, ist die Auflistung der Komponenten, die bei der Umsetzung dieses Plans auf meinem Raspberry Pi 4 beteiligt sind, bzw. angelegt wurden. Da das für einen Blog zu technisch ist (mittlerweile lesen so was ja eigentlich nur noch Bots ;-)), habe ich das Fazit schon mal hier hochgezogen:
Fazit
Ich habe nun eine geile grafische Darstellung all meiner je erstellten und gesammelten Werke: Von Tagebüchern (die ersten habe ich in den 90ern erstellt) über Dokumentationen, philosophischen Betrachtungen, Sketchnotes,... Ich kann direkt sehen, welche Themen nah beieinander liegen und da mal so ein bischen rumklicken. Es erweitert dadurch die Übersicht, wo ich überall so dran arbeite. Die Performance hält sich in Grenzen, ist aber ok. Die Suchfunktion ist über Meilisearch deutlich schneller, aber sie funktioniert.
Wie oft ich es nutzen werde, wird sich zeigen.
Demnächst wieder mehr hier auf diesem Kanal, so stay tuned,
Achim Mertens
--- ANHANG
---
Technischer Aufbau 1. Datengrundlage
Alle .md-Dateien unter /home/achim/.openclaw/workspace/AchimsDaten/wikicontents/ werden eingelesen – ca. 2445 Seiten.
2. Graph-Generierung
Script: /home/achim/.openclaw/agents/helbardor/generateknowledgegraph.py
Pipeline: 1. Dateien einlesen – Rekursiv alle .md-Dateien aus wikicontents/ parsen 2. Wiki-Links extrahieren – [[Link]]-Syntax aus Markdown parsen → 608 explizite Kanten 3. ONNX-Embeddings berechnen – MiniLM (Xenova/all-MiniLM-L6-v2, quantisiert, 23MB) via onnxruntime auf ARM64-CPU 4. Semantische Ähnlichkeit – Kosinus-Ähnlichkeit zwischen allen Seiten → 355.902 Kanten (Schwellwert > 0.5) 5. Communities erkennen – Label-Propagation-Algorithmus → 50 thematische Cluster 6. graphdata.json bauen – 40MB JSON mit Knoten, Kanten, Kategorien, Community-Farben
Ausgabe: /var/www/html/wiki/graphdata.json (wird von beiden Visualisierungen gelesen)
Auszug aus graphdata.json
3. Visualisierung (2D)
Datei: /var/www/html/wiki/graph.html Technik: d3.js v7 (Force-Directed Graph, SVG) Features: - Farbcodierte Knoten (50 Communities) - Orange Linien = Wiki-Links, gestrichelte graue Linien = semantische Ähnlichkeit - Hover-Tooltip mit Details - Klick öffnet Wiki-Seite - Suche + Filter (min. Verbindungen, Wiki-Links/Semantik-Toggle) - Zoom + Drag
4. Visualisierung (3D)
Datei: /var/www/html/wiki/graph3d.html Technik: Three.js via 3d-force-graph (WebGL, GPU-beschleunigt) Features: - Gleiche Daten wie 2D-Version - Maus-Drag = 3D-Rotation der Punktwolke - Maus-Scroll = Zoomen - Klick öffnet Wiki-Seite - Suche + Filter (identisch zur 2D-Version) - Deutlich performanter als SVG (WebGL statt DOM)
Nutzung
- – 2D-Wissensgraph - – 3D-Wissensgraph
Regeneration
Wenn neue Inhalte zum Wiki hinzugefügt werden:
bash cd /home/achim/.openclaw/agents/helbardor source /home/achim/kgraphenv/bin/activate python3 generateknowledgegraph.py
Dauer: ca. 15 Minuten (ONNX-Embeddings auf ARM64-CPU).
---
qmd – Hybrid-Suche für das Wiki
Beschreibung
qmd ("Quick Markdown Search") ist eine hybride Suchmaschine für Markdown-Dateien, die sowohl Keyword- als auch semantische Suche kombiniert. Läuft auf dem Raspi5 als HTTP-Dienst auf Port 7701.
Technischer Aufbau
Installation
Tags: #wissensgraph#llm-wiki#wiki#lokal#knowhow#deutsch#qmd