Veronika Heimsbakk · JavaZone 2026
Veronika Heimsbakk · JavaZone 2026
Data engineers move data, structure data, and keep data trustworthy.
Knowledge engineers capture human understanding, formalise it, and make it usable for intelligent systems.
You have a band encyclopedia, a vinyl store, and festival lineups.
Someone asks: "What albums should I grab for the Roadburn lineup?"
One simple question that spans three sources with three schemas. That's three different column names for the same band.
bands.csv → "name"
vinyl_store.csv → "artist"
festival_lineups → "performer"
You write a pipeline. LEFT JOIN on name. But one source spells it "Post-Rock", another "Post Rock". You add COALESCE. You add fuzzy matching. It works... until next week.
Every JOIN is a confession that your data model threw away a relationship that you now need back.
The pipelines get longer, the joins get more fragile, and the "simple questions" keep taking longer to answer.
Instead of tables with foreign keys, you have things and relationships between things, stated explicitly:
Nine_Inch_Nails hasAlbum The_Downward_Spiral
The_Downward_Spiral price 41.99
Nine_Inch_Nails playsAt Hellfest
Three sources map to the same identifier for Nine Inch Nails. The data merges the moment it enters the graph. No JOINs, COALESCE, or fuzzy matching.
An ontology defines what types of things exist, what relationships are valid, and what properties they can have.
It's your data contract, but one that machines can actually enforce and reason about.
In SQL the schema lives in information_schema, separate from your data. In a knowledge graph, the ontology is data. Same query language. Same graph.
Modern tools are built on Apache Arrow and Rust. Same columnar engine as Polars. DataFrame speed.
You don't read Parquet files either. You work with DataFrames. The serialisation is handled for you.
Google's Knowledge Graph. Wikidata. The entire EU railway framework. Energy (CIM), healthcare (FHIR), finance (FIBO).
AI agents don't just generate text. They make decisions, take actions, and operate across your business.
An LLM can generate a fluent answer. But fluency is not accuracy.
When your agent decides to shut down a pump, reorder inventory, or escalate a complaint, it needs to know what a pump is, which system it belongs to, and what rules apply.
Knowledge graphs give AI agents what they desperately lack: structured understanding of your domain.
Knowledge graph projects fail without data engineers.
Ontologists design beautiful models. But they don't move data. They don't build pipelines. They don't handle schema drift or operationalise anything at scale. You do.
The tooling gap has been the barrier. You should be able to build a knowledge graph with the languages and tools you already know: Python, DataFrames, and familiar APIs.
Every fact is stored as three parts: subject, predicate, object.
Always three parts. That's the entire data model.
Every thing and every relationship gets a globally unique identifier.
Same identifier = same node in the graph, no matter which source it came from.
http://example.org/music/album/The_Downward_Spiral
http://example.org/music/artist
http://example.org/music/band/Nine_Inch_Nails
pip install maplib
pip install maplib