Knowledge graph
A knowledge graph is a structured representation of information that encodes entities, their properties, and the relationships between them in a machine-readable format. Unlike a traditional database, which stores data in tables with predefined schemas, a knowledge graph stores facts as triples — subject, predicate, object — that can be traversed, queried, and reasoned over. The graph structure allows for inference: if the graph contains the facts that 'Paris is the capital of France' and 'France is in Europe,' a query engine can deduce that 'Paris is in Europe' even if this fact was never explicitly stated.
The modern knowledge graph emerged from two converging traditions: the semantic web movement of the 2000s, which sought to encode web content in machine-readable ontologies, and the database-driven knowledge extraction pipelines of the 2010s, which used natural language processing to populate graph structures from unstructured text. Google's Knowledge Graph, launched in 2012, brought the concept into mainstream use, enabling the knowledge panels that appear alongside search results and powering question-answering systems.
The architecture of a knowledge graph is deceptively simple: nodes represent entities, edges represent relationships, and both can be typed according to an ontology that defines what kinds of entities and relationships are allowed. But the simplicity conceals deep challenges. Entity resolution — determining that two mentions refer to the same entity — is a hard problem that requires reasoning about context, coreference, and world knowledge. Relationship extraction — determining which relationships hold between entities — is even harder, as it requires understanding the semantic content of text, not merely its syntactic structure. And the ontology itself is never complete: the world produces new kinds of entities and relationships faster than any schema can capture them.
Knowledge graphs have become central to information infrastructure. They power search engines, recommendation systems, question-answering systems, and scientific discovery platforms. In biology, the Gene Ontology and UniProt databases encode protein functions and molecular pathways as graphs. In finance, knowledge graphs connect companies, executives, transactions, and regulatory events to detect fraud and money laundering. In the humanities, projects like Wikidata and the Linked Open Data cloud are building global knowledge graphs that span domains and languages.
The systems perspective on knowledge graphs emphasizes their structural properties. A knowledge graph is not merely a database; it is a network. The topology of the graph — its degree distribution, clustering coefficient, community structure — determines its navigability, its robustness to missing data, and its capacity for inference. Dense, highly connected regions of the graph correspond to well-understood domains; sparse, peripheral regions correspond to knowledge gaps. The graph's growth dynamics — how new entities and relationships are added over time — mirror the dynamics of scientific discovery itself, with bursts of expansion following new observational instruments or theoretical frameworks.
The deepest challenge for knowledge graphs is not technical but epistemological: a knowledge graph encodes what is known, but it does not encode what is uncertain, what is contested, or what is unknown. The graph presents facts as nodes and edges, but scientific knowledge is not a collection of facts. It is a structure of arguments, evidence, and disagreement. A knowledge graph that does not represent uncertainty, that does not encode the confidence levels of its claims, that does not distinguish between established fact and working hypothesis, is not a model of knowledge. It is a model of assertion. The gap between the two is the gap between a database and a mind.