Knowledge Graphs: A graph for linking entities? By Aditya Abeysinghe

Knowledge Graphs: A graph for linking entities?

By Aditya Abeysinghe

Knowledge Graphs: A graph for linking entities? By Aditya Abeysinghe

 

Aditya-AbeysingheThe use of graphs for retrieving relationships between data entities has caused a massive growth of a new method for search of similar data. Graph databases are used from simple search engine results of searched text to complex social media and big data analytics. A graph with its connections enables faster, efficient data processing while ensuring less need to be context-based data links. While knowledge graphs are not to be thought as same as knowledge stores, their usage has certainly changed how data is handled in current querying methods.

What is a knowledge graph?

A knowledge graph, referred to as a graph hereafter, is a graph which connects real-world entities. These entities can be of different types: people, places, weather, etc. These entities are stored in a graph database and a graph represents connections between these entities. In a graph, there are three main nodes: nodes, edges and labels. For example, a node would be a person and another node would be a restaurant. An edge would connect these two nodes: the person and the restaurant. The edge would display the relationship: “likes”, that is “the person” “likes” “the restaurant”. Knowledge graphs are not simple relationships between nodes. A large collection of connections between nodes enable data to be linked and searched.

Why are knowledge graphs used?

A knowledge graph is a combination of a database, a graph, and a knowledge base. As with a database, data can be retrieved using a knowledge graph using structured queries. Unlike a structured or unstructured database, a graph database has data linked to each other. Therefore, complex joins between data as those used by structured or unstructured databases are not needed. Therefore, graph databases offer a flexible design in contrast to structured databases. While structured databases offer high performance for database transactions such as reads, writes, and updates, they often do not offer high performance on data analytics. As data are connected in graph databases, they are useful for complex data analytics required by large data stores.

Key Characteristics

A graph database is composed of data from different sources. For example, Google’s Knowledge graph extracts data from databases of people, geographical places, businesses etc. They need to be connected when they need to be indexed for search. Connections between these entities are formed using the schema of a graph.

The schema of a graph is formed using ontologies. An ontology represents the connection between the user of a graph and its developers. Similar to HTML (Hyper Text Markup Language) which defines the language for website design, ontologies define how the graph is designed. Usually, an object in a graph is represented by a class: a Person, City, Food etc. Classes could be connected in a top-to-bottom hierarchy by defining which classes are super classes or sub classes of others. For example, a City is a Place which is a sub class of a Province which is a sub class of a Country. Relationships between these objects are specified by Types. For example, a Person likes a Singer, a Singer sings Jazz and a Song belongs to an Album. An object can be of different categories. For example, a Movie can be a “Russian Movie”, “5 star Movie”, and “Free Movie to be viewed”.

Image Courtesy: https://medium.com/

Comments are closed.