Zurück zur KG-Pipeline
Level 2 — Detail

Knowledge Graph Schema

Die vollständige Referenz: 13 Node-Typen, 26 Edge-Typen, Edge-Gewichte, Layer-Schema und Tour-Schema.

Auf dieser Seite
  • Node-Typen — 13 Typen von file bis resource
  • Edge-Typen — 26 Beziehungsarten in 7 Kategorien
  • Edge-Gewichte — Conventions-Tabelle
  • Layer-Schema — Architektur-Schichten
  • Tour-Schema — Geführter Lernpfad
01
Node-Typen
13 Typen: file, function, class, module, concept, config, document, service, table, endpoint, pipeline, schema, resource

Jeder Knoten im Knowledge Graph hat einen Typ, der bestimmt, was er repräsentiert. Die 13 Typen decken sowohl Code-Artefakte als auch konzeptuelle und infrastrukturelle Elemente ab:

fileQuelldatei
functionFunktion/Methode
classKlasse/Interface
modulePaket/Modul
conceptAbstraktes Konzept
configKonfiguration
documentDoku/README
serviceMicroservice/API
tableDB-Tabelle
endpointAPI-Endpoint
pipelineCI/CD Pipeline
schemaDatenschema
resourceInfra-Ressource
# Node-Schema (JSON) { "id": "file:src-auth-login-js", "type": "file", "name": "login.js", "description": "Handles user authentication flow", "filePath": "src/auth/login.js", "metadata": { "language": "javascript", "linesOfCode": 142, "exports": ["login", "logout", "refreshToken"] } }

Pflichtfelder: id (eindeutig, normalisiert), type (einer der 13 Typen), name (menschenlesbar), description (Freitext).

Optionale Felder: filePath (nur bei code-basierten Typen), metadata (typ-spezifische Zusatzdaten wie Sprache, LOC, Exports).

concept vs. module: Ein concept ist ein abstraktes Muster (z.B. "Authentication Flow"), ein module ist ein konkretes Code-Paket (z.B. src/auth/).

02
Edge-Typen
26 Beziehungsarten in 7 Kategorien: Structural, Behavioral, Data Flow, Dependencies, Semantic, Infrastructure, Schema/Data

Edges beschreiben die Beziehungen zwischen Nodes. Sie sind gerichtet (Source → Target) und typisiert. Die 26 Typen sind in 7 Kategorien gruppiert:

KategorieEdge-TypenBeispiel
Structuralimports, exports, contains, implementslogin.js imports auth-utils.js
Behavioralcalls, subscribes, emits, handleshandleLogin() calls validateToken()
Data Flowreads, writes, transforms, pipesapi.js reads from config.json
Dependenciesdepends_on, extends, uses, requiresUserService depends_on Database
Semanticrelated_to, similar_to, replaces, documentsREADME documents ProjectOverview
Infrastructuredeploys_to, connects_to, monitorsapp deploys_to kubernetes-cluster
Schema/Datadefines, validates, migrates, seedsUserSchema defines users-table
# Edge-Schema (JSON) { "source": "file:src-auth-login-js", "target": "file:src-utils-auth-utils-js", "type": "imports", "weight": 0.7, "metadata": { "importedSymbols": ["hashPassword", "verifyJWT"] } }

Pflichtfelder: source (Node-ID), target (Node-ID), type (einer der 26 Typen), weight (0.0-1.0).

Richtung: Edges sind immer gerichtet. "A imports B" bedeutet: A ist die Source, B ist das Target. Die Richtung ist semantisch konsistent: Informationsfluss von Target zu Source.

03
Edge-Gewichte
Conventions-Tabelle: Standardgewichte für jeden Edge-Typ

Jeder Edge-Typ hat ein Standardgewicht, das die "Stärke" der Beziehung ausdrückt. Gewichte reichen von 0.1 (schwach) bis 1.0 (maximal). Sie werden beim Graph-Rendering für Kantendicke und Layout-Priorität verwendet:

Edge-TypGewichtVisualisierungBedeutung
contains1.0Stärkste Beziehung: Parent enthält Child
implements0.9Klasse implementiert Interface
extends0.9Vererbung
calls0.8Direkter Funktionsaufruf
imports0.7Import/Require-Beziehung
depends_on0.7Allgemeine Abhängigkeit
reads/writes0.6Datenzugriff
subscribes0.5Event-Subscription
related_to0.3Semantische Ähnlichkeit
documents0.2Dokumentationsreferenz

Diese Gewichte sind Defaults. Der file-analyzer kann sie basierend auf dem Kontext anpassen — z.B. erhält ein calls-Edge zu einer Kernfunktion ein höheres Gewicht als ein calls-Edge zu einem Logging-Utility.

04
Layer-Schema
Architektur-Schichten: id, name, description, nodeIds

Layers gruppieren Nodes in Architektur-Schichten. Der architecture-analyzer erkennt typischerweise 3-8 Layers, abhängig von der Komplexität des Projekts:

# Layer-Schema (JSON) { "layers": [ { "id": "layer-frontend", "name": "Frontend", "description": "React components, pages, styles", "nodeIds": [ "file:src-components-app-jsx", "file:src-pages-home-jsx", "file:src-styles-main-css" ] }, { "id": "layer-api", "name": "API Layer", "description": "Express routes, middleware, controllers", "nodeIds": ["file:src-routes-auth-js", "..."] }, { "id": "layer-data", "name": "Data Layer", "description": "Database models, migrations, seeds", "nodeIds": ["..."] } ] }

Felder: id (eindeutig, Präfix "layer-"), name (menschenlesbar), description (was diese Schicht enthält), nodeIds (Array aller Nodes in dieser Schicht).

Typische Layers: Frontend, API/Routes, Business Logic, Data Access, Database, Config/Infrastructure, Tests, Documentation.

Ein Node pro Layer: Jeder Node gehört zu genau einem Layer. Die Zuordnung erfolgt heuristisch durch den architecture-analyzer basierend auf Dateipfad, Imports und Typ.

05
Tour-Schema
Geführter Lernpfad: order, title, description, nodeIds, optional languageLesson

Die Guided Tour definiert einen geordneten Pfad durch den Knowledge Graph — ideal für Einsteiger, die das Projekt systematisch verstehen wollen. Der tour-builder erstellt typischerweise 5-12 Stationen:

# Tour-Schema (JSON) { "guided_tour": [ { "order": 1, "title": "Einstiegspunkt: App-Setup", "description": "Die App startet hier. index.js initialisiert Express, lädt Middleware und verbindet die Datenbank.", "nodeIds": [ "file:src-index-js", "file:src-config-db-js" ] }, { "order": 2, "title": "Routing: Wer antwortet auf was?", "description": "Die Route-Definitionen in routes/ bestimmen, welcher Controller auf welche URL reagiert.", "nodeIds": ["file:src-routes-index-js"], "languageLesson": "Express-Routing nutzt app.use() für Middleware und app.get()/post() für Endpoints. Der Router kann verschachtelt werden." }, { "order": 3, "title": "Datenmodelle: Was wird gespeichert?", "description": "Die Models definieren die Datenstruktur. Jedes Model entspricht einer Datenbank-Tabelle.", "nodeIds": ["file:src-models-user-js", "file:src-models-post-js"] } ] }

Pflichtfelder: order (Reihenfolge, 1-basiert), title (Stationsname), description (Erklärung), nodeIds (welche Nodes diese Station zeigt).

Optional: languageLesson — ein kurzer Exkurs zu sprachspezifischen Konzepten (z.B. "Was ist ein Express-Router?"). Wird im Dashboard als ausklappbare Box angezeigt.

Reihenfolge-Logik: Der tour-builder startet beim Einstiegspunkt (main/index), folgt dann dem Datenfluss durch die Architektur-Layer und endet bei Infrastruktur/Config.

Kein Deep-Dive auf L3: Dieses Thema hat einen Helpfulness-Score von 7 (Schwelle für L3 ist 8+). Die hier gezeigten Informationen decken das Schema vollständig ab. Für tiefere technische Details (z.B. Schema-Validierung, Edge-Typen-Erweiterung) siehe den Quellcode in skill.md.
Weitere Entwickler-L2-Seiten