Explaining Knowledge Graphs Logically

This blog post is a summary of my brainstorming thus far related to explaining knowledge graphs logically (as contrast to technically) to a non-technical person using terminology that they tend to be more familiar with than not.

There is a plethora of technical oriented explanations of knowledge graphs provided by others.  For example, here is an explanation of knowledge graphs provided by Big Blue (a.k.a. IBM):

* * *

A knowledge graph, also known as a semantic network, represents a network of real-world entities—i.e. objects, events, situations, or concepts—and illustrates the relationship between them. This information is usually stored in a graph database and visualized as a graph structure, prompting the term knowledge “graph.”

A knowledge graph is made up of three main components: nodes, edges, and labels. Any object, place, or person can be a node. An edge defines the relationship between the nodes. For example, a node could be a client, like IBM, and an agency like, Ogilvy. An edge would be categorize the relationship as a customer relationship between IBM and Ogilvy.

* * *

Formally, knowledge graphs are part of graph theory and network theory. Those explanations tend to be on the technical side.  I contend that a more approachable way to explain knowledge graphs is to use tools provided by the discipline of philosophy; specifically logic.  Why use logic?  Well, fundamentally knowledge graphs represent logic.  All these other explanations tend to focus on HOW to represent that logic rather than focusing on WHAT is being represented by a knowledge graph.  To explain knowledge graphs, you need more than just graph theory and network theory.  A knowledge graph is a designed (man made) logical system. The elements of logic play a roll in explaining knowledge graphs. Ontology-like things are part of knowledge graphs, so that information is necessary.  I want to use an atomic design methodology in the explanation of a knowledge graph.  I want to borrow some terms from situation theory to describe knowledge graphs; namely the notion of an "infon" and the notion of a "state of affairs".

And so, here is my explanation (first cut) of a knowledge graph using logic:

Knowledge is a form of familiarity with information from some specific area. Knowledge is often understood to be awareness of facts, having learned skills, or having gained experience using the things and the state of affairs (situations) within some area of knowledge

Knowledge of facts is distinct from opinion or guesswork by virtue of justification or proof.  Knowledge is objective.  Opinions and guesswork are subjective.  In our case we are talking about certain specific knowledge, the facts that make up that knowledge, being able to create a proof to show the knowledge graph system is complete, consistent, and precise;  and all of this logic being put into a form readable by a machine and reach a conclusion. Effectively, a machine can read that knowledge and mimic understanding of that knowledge represented in a knowledge graph and the information available to both a human reader and a machine reader would be the same and therefore the human and machine should reach the same conclusion.

Philosophy is a formal discipline which provides tools and techniques for the systematic study of specific things including knowledge and reasoning.  

A tool provided by the discipline of philosophy is logic.  Logic is the study of correct reasoning. Logic uses artificial languages with a precise symbolic representation to investigate reasoning. The tools of logic which provide the foundation for mathematics are leveraged by computers to mimic tools previously available only to humans, opening up the possibility of machines literally mimicking an understanding of knowledge.

A knowledge graph is a communications tool.  What is represented by a knowledge graph is logical statements.  Logical statements define terms, define structures, define associations, specify assertions/constraints/restrictions, and provide fact.  All of these are logical statements.  Logical statements are put into machine readable form using graph theory and network theory.

We communicate using knowledge graphs all the time and tend to not realize it. When you go to a whiteboard and draw circles and squares and connect them with lines with arrows you are drawing a graph and communicating knowledge. Those circles, squares, lines, and arrows are intuitively understandable and very expressive. These informal knowledge graphs have been used by humans to communicate information for quite some time.

Most accountants are familiar with flowcharts.  You can think of a knowledge graph as a type of flowchart that is readable by both humans and computers.




Comments

Popular posts from this blog

Relational Knowledge Graph System (RKGS)

Getting Started with Auditchain Luca

Evaluating the Quality of XBRL-based Financial Reports