Knowledge Graph
Ein Wissensgraph speichert Fakten als Tripel aus Entität, Beziehung und Entität, sodass KI-Systeme sie abfragen, verknüpfen und daraus Schlüsse ziehen können. RDF, GraphRAG und Code.
Ein Wissensgraph ist eine strukturierte Darstellung von Fakten. Die Knoten stehen für Entitäten wie Personen, Orte, Produkte oder Konzepte, und beschriftete Kanten stellen Beziehungen zwischen ihnen dar. Jeder Fakt ist ein Tripel aus Subjekt, Prädikat und Objekt, etwa (Marie Curie, geboren in, Warschau). Ein Schema oder eine Ontologie legt fest, welche Entitäts- und Beziehungstypen zulässig sind. Da Beziehungen explizit gespeichert werden, kann ein System durch das Verfolgen von Pfaden im Graphen Fragen beantworten, Fakten aus verschiedenen Quellen zur selben Entität zusammenführen und nie direkt ausgesprochene Fakten ableiten. Googles Knowledge Graph, der 2012 eingeführt wurde, liefert die Faktenfelder neben den Suchergebnissen. Wikidata, der von Wikimedia-Freiwilligen gepflegte, frei zugängliche Wissensgraph, umfasst mehr als 100 Millionen Einträge.
Entitäten, Beziehungen und Tripel#
- Entitäten (Knoten): Dinge mit einer Identität, die jeweils durch die Ontologie typisiert werden, etwa eine Person, eine Stadt oder eine chemische Verbindung.
- Beziehungen (Kanten): Gerichtete, beschriftete Verknüpfungen wie „geboren in“ oder „Hauptstadt von“. Die Beschriftung trägt die Bedeutung. Daher sind (Warschau, Hauptstadt von, Polen) und (Polen, Hauptstadt von, Warschau) unterschiedliche Aussagen.
- Attribute: Wörtliche Werte, die einer Entität zugeordnet sind, etwa ein Geburtsdatum oder eine Einwohnerzahl.
- Ontologie: Das Schema aus Klassen, Beziehungstypen und Regeln, zum Beispiel der Regel, dass jede Hauptstadt eine Stadt ist. Mithilfe dieses Schemas kann ein Schlussfolgerungssystem neue Fakten aus bestehenden ableiten.
Zwei Datenmodelle sind besonders verbreitet. Das Resource Description Framework (RDF) des W3C identifiziert jede Entität und Beziehung durch eine Web-URI und speichert reine Tripel, die mit SPARQL abgefragt werden. Das eignet sich für offene, verknüpfte Daten wie Wikidata. Eigenschaftsgraphen, die von Graphdatenbanken wie Neo4j verwendet werden, ermöglichen Schlüssel-Wert-Eigenschaften an Knoten und Kanten. Abfragen erfolgen mit Sprachen wie Cypher oder GQL, das ISO im April 2024 als Standard veröffentlichte.
In diesem kleinen Graphen führt die Frage „In welchem Land wurde Marie Curie geboren?“ über zwei Kanten von Marie Curie über Warschau nach Polen. Die gemeinsame Kante „gewann“ verbindet beide Curies mit ihrem gemeinsamen Preis von 1903.
Einen Wissensgraphen erstellen und abfragen#
Graphen werden aus kuratierten Datenbanken, Texten mithilfe von Erkennung benannter Entitäten (NER) und Extraktion von Beziehungen – zunehmend durch große Sprachmodelle (LLMs) – sowie aus Bildern erstellt. Bei der Entitätsauflösung werden anschließend verschiedene Erwähnungen derselben Sache, etwa „M. Curie“ und „Marie Skłodowska-Curie“, zu einem Knoten zusammengeführt. Neben expliziten Abfragen stellen Wissensgraph-Einbettungen wie TransE jede Entität und Beziehung als Vektor dar. Sie bewerten ein mögliches Tripel danach, wie nahe die Summe aus Kopf und Beziehung am Ende liegt. So lassen sich fehlende Verknüpfungen vorhersagen. Graphneurale Netze lernen direkt aus der Struktur des Graphen.
Computer Vision liefert Entitäten und Beziehungen aus Bildern. Die Ausgabe eines YOLO26-Detektors wird zu Tripeln der Form (Bild, enthält, Klasse). In Verbindung mit Hintergrundwissen lassen sich damit Fragen beantworten, die der Detektor allein nicht bewältigen kann, etwa welche Fahrzeugtypen auf einem Bild zu sehen sind:
import networkx as nx
from ultralytics import YOLO
# Detect objects in an image
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Each detected class becomes an entity node linked to the image
graph = nx.DiGraph()
for class_id in result.boxes.cls.int().tolist():
graph.add_edge("bus.jpg", result.names[class_id], relation="contains")
# Background knowledge as (subject, relation, object) triples
for subject, relation, obj in [("bus", "is_a", "vehicle"), ("car", "is_a", "vehicle"), ("person", "is_a", "human")]:
graph.add_edge(subject, obj, relation=relation)
# Two-hop query: which detected entities are vehicles?
vehicles = [node for node in graph.successors("bus.jpg") if graph.has_edge(node, "vehicle")]
print(f"Vehicles in bus.jpg: {vehicles}")Wissensgraphen und große Sprachmodelle#
LLMs speichern Wissen implizit in ihren Gewichten. Dadurch lassen sich ihre Fakten nur schwer überprüfen oder aktualisieren, und sie neigen zu Halluzinationen. Wissensgraphen speichern Fakten explizit, mit zitierbaren Quellen und Änderungen, die sofort wirksam werden. GraphRAG verbindet beide Ansätze: Das Verfahren erweitert die generative Suche mit erweitertem Abruf (RAG), indem es verbundene Entitäten und Beziehungspfade oder Zusammenfassungen von Graphgemeinschaften abruft statt einzelner Textabschnitte. Das hilft bei mehrstufigen Fragen, etwa welche Lieferanten eines verspäteten Bauteils auch ein anderes Werk beliefern. LLMs können außerdem Fragen in natürlicher Sprache in SPARQL- oder Cypher-Abfragen für bestehende Graphen übersetzen.
Anwendungen in der Praxis#
- Suche und Assistenten: Faktenfelder, direkte Antworten und Sprachassistenten schlagen Informationen zu Personen, Orten und Organisationen in großen kuratierten Graphen nach.
- Arzneimittelforschung: Biomedizinische Graphen verknüpfen Gene, Proteine, Wirkstoffe, Krankheiten und Nebenwirkungen. Die Vorhersage von Verknüpfungen schlägt mögliche Angriffspunkte für Medikamente oder neue Anwendungen für zugelassene Medikamente vor.
- Betrugserkennung: Konten, die Geräte, Adressen oder Zahlungskarten gemeinsam nutzen, bilden verbundene Netzwerke, die beim Durchlaufen des Graphen auffallen – selbst wenn jedes Konto für sich normal erscheint.
- Szenenverständnis: Szenengraphen beschreiben ein Bild als Objekte und deren Beziehungen, etwa (Person, reitet, Pferd). Der Visual Genome-Datensatz annotiert auf diese Weise mehr als 100.000 Bilder, um Modelle zu trainieren, die Fragen zu Szenen beantworten.
Wissensgraphen und verwandte Datenspeicher#
- Relationale Datenbanken: Speichern Datensätze in Tabellen, die über Fremdschlüssel verknüpft sind. Das eignet sich für Transaktionen mit einem festen Schema. Mehrstufige Fragen wie „Freunde von Freunden, die dieses Produkt gekauft haben“ erfordern eine Verknüpfung pro Stufe, während ein Graph direkt durch gespeicherte Kanten navigiert.
- Vektordatenbanken: Rufen Elemente anhand der Ähnlichkeit ihrer Einbettungen ab und finden so verwandte Inhalte ohne explizite Verknüpfungen. Ein Wissensgraph hält genau fest, wie zwei Entitäten miteinander verbunden sind. Hybride Systeme nutzen beide Ansätze.
- Ontologien: Eine Ontologie ist das Schema aus Typen und Regeln. Ein Wissensgraph ist dieses Schema, gefüllt mit konkreten Fakten – etwa zu den Millionen einzelnen Personen, Orten und Werken in Wikidata.










