Google was one of the first big companies to use knowledge graph to enhance its search capabilities, in an attempt to allow users to search about things not strings. Knowledge graph is a way to express knowledge using graphs as it allows us to represent human knowledge in a way that allows machine to digest it with semantics, allowing the machine to perform reasoning and inference.
Knowledge graphs / bases are represented in triples of head entity, relation, and tail entity. With the visual representation of knowledge graphs, it could serves as the connections between machines and humans, whereby the format of the data is structured enough for the machines to understand its semantics yet intuitive enough for humans to make sense of it. An example of a knowledge graph is shown below.
The notion of an ontology
We don’t want our knowledge graphs to be unconstrained in terms of the data it contains and the ways the data is modelled and so the concept of ontology was introduced. The ontology defines on the concepts and relationships that are permissible in a knowledge graph. For example, the knowledge graph above has a clear ontology with concepts such as Dog, Bone, Yard, and Person as well as the relationships between these concepts.
Domain-specific knowledge graphs
Most knowledge graphs are domain-specific and therefore have some kind of ontology involved. Once the ontology is given, the expectation is that the knowledge graph will conform to the ontology. The more complex the ontology is, the strong the semantics are, and therefore more complex queries can be perform on the knowledge graph. However, complex ontology makes it harder for the knowledge graph to conform.
The intersection fields of knowledge graphs
Knowledge graphs have become a very popular way of representing data and it sits at the intersection between knowledge discovery, data mining, semantic web, and natural language processing. Each of these fields have their own ways of dealing with knowledge graphs. In general, the focus is on building a ‘generic’ knowledge graphs with less emphasis on the domain and domain-specific constraints.