A knowledge graph is an interconnected graph database that aims to provide context to information, transforming it from pure data into useful knowledge. Of course, this is only helpful if the knowledge is machine-readable so from a practical perspective, a knowledge graph is a database where information is stored and query-able as a graph.
1- The data may be too complex to be represented in a traditional SQL database.
In a graph there is no fixed schema, so we are free to import multiple datasets that do not have the same schema and run queries across them.
2- Useful data may be scattered across multiple tables in SQL, so querying requires lots of JOIN that are slow to perform and hard to understand/maintain.
In a graph there is no need for slow joins, and the query and data are closer to how a human thinks about them.
Here’s a real example of where a knowledge graph excels.
We have a database of listed companies in SQL, ie. We're not using a knowledge graph.
Can you find the name of the directors of all Telecom companies?
Does Charlie Quirke directly or indirectly control a Retail company?
It’s kind of hard to figure this out as a human, isn’t it?
And as a computer it’s no different: there are more operations that you need to go through to find the answer.
In a graph it’s much easier however.
We can just see the data, as a human would. Simple.