# Forslag: Knowledge Graph Health Monitor **Innsats:** Lav | **Wow-faktor:** Middels ## Idé En admin-side i SvelteKit som viser "Graf-helse": tetthet, isolerte noder, svake relasjoner, ubalanserte temaer. AI-en foreslår ukentlig nye edges: *"Du har 47 faktoider om Støre og 32 om Ap — skal vi koble dem med WORKS_FOR?"* *"Dette segmentet nevner vindkraft 9 ganger, men ingen #Tema-knute finnes."* ## Hvorfor - Kunnskapsgrafen vokser organisk, men kan bli rotete uten vedlikehold - Gir redaksjonen en "huskeliste" av ting de bør koble manuelt eller godkjenne - Synliggjør verdien av grafen — man ser den bli smartere over tid - Forhindrer "orphan nodes" som aldri dukker opp i oppslag ## Bygger på - Kunnskapsgrafen (nodes, graph_edges — rekursive CTEs for å finne isolerte subgrafer) - pgvector (allerede planlagt i Kunnskaps-Bridge — brukes for å finne semantisk like noder som mangler eksplisitt kobling) - `generate_embeddings`-jobb (eksisterende jobbtype) - Jobbkø (`graph_suggest_edges` — ny jobbtype, scheduled ukentlig) - AI Gateway (`sidelinja/resonering` for naturlig språk-forslag) ## Helsemetrikker | Metrikk | SQL-skisse | Handlingsforslag | |---|---|---| | Isolerte noder | `nodes LEFT JOIN graph_edges ... WHERE edge IS NULL` | "Koble til tema eller slett" | | Temaer uten faktoider | `themes LEFT JOIN factoids ... HAVING count = 0` | "Tomt tema — berik eller arkiver" | | Aktører uten relasjoner | Samme mønster | "Ny aktør — trenger kontekst" | | Semantisk like noder | pgvector cosine distance < 0.15 | "Mulig duplikat — slå sammen?" | | Manglende edges | AI-analyse av node-par med høy co-occurrence i segmenter | "Koble Støre → Ap?" | ## Dataklassifisering - Edge-forslag: Flyktig (TTL 30 dager) — godkjente forslag blir ekte `graph_edges` - Helsemetrikker: Avledet (beregnes on-demand fra grafen) ## Åpne spørsmål - Skal forslagene dukke opp som "innboks-kort" i Redaksjonen, eller kun på en dedikert admin-side? - Terskel for "semantisk lik": hvor lav cosine distance = mulig duplikat? - Bør monitoren kjøre per workspace eller globalt (cross-workspace via Bridge)?