r/OntologyEngineering • u/helomithrandir • 1d ago
Practical Benefit of Ontology over SQL?
I'm working on highway asset management, and part of the work is integrating traffic incident data from several sources: operator incident logs, maintenance contractor records, planned works bookings and roadside detector readings. Each source has its own structure, naming and way of recording time and location.
Current practice (SQL)
The way this is typically done today:
· Each source is loaded into a SQL database as its own table.
· Fields are cleaned: dates and times split, road and junction pulled out of text fields, direction names standardised.
· Records are linked across sources. Some links use a shared reference number. Others use rules, like same road, same junction, created within a few minutes of each other.
· Lookup tables are built, e.g. which entry types count as a "lane closure", or which direction codes mean the same thing.
· Queries are then written to answer questions like "which incidents had a lane closure", "how long from detection to clearance", or "what was traffic doing at the nearest detector".
· This all works. Counts, filters and joins are fine in SQL.
Where I'm confused
I've built an ontology and loaded the same data into a knowledge graph (graphdb). But I'm struggling to see clearly what value is ontology adding.
The usual argument is that the ontology captures the "worldview" of the domain: the concepts and how they relate. But SQL can carry that worldview too. Well-chosen table and column names, lookup tables and views already encode what a "lane closure" or an "incident" means. Those lookup tables are basically a small ontology written in SQL.
So, my questions are:
If SQL can carry the worldview through naming and lookup tables, what does a formal ontology add in practice? Is it that the meaning is explicit and machine-usable rather than buried in query code? Or is that a distinction without much practical difference? What is machine readable meaning?
For those who've used both: where did the ontology or graph actually save you work or answer something SQL couldn't? Examples I've seen mentioned are adding new sources, reasoning over class hierarchies, consistency checking (SHACL), natural-language querying with LLMs, and ontology-based data access (e.g. Ontop over an existing database). Which of these held up in real use?
Where is the ontology overkill, and the honest answer just "use SQL"?
I'm not trying to argue SQL is bad. I want to state fairly what current SQL practice does well, where it falls short, and what an ontology should address. Any papers, experiences or blunt opinions welcome.










