Professional Knowledge Graphs

More and more people are talking about "knowledge graphs".  It has been my observation that people are not really communicating effectively about that topic.  It has also been my observation that just like a lot of other things, there is a spectrum of knowledge graph capabilities which depend on how a knowledge graph is constructed.  That spectrum is impacted by the syntax that one uses to represent a knowledge graph and the semantics that a specific implementation syntax provides for.  A logical schema may, or may not, be provided for the knowledge graph.  And there may, or may not, be a reasoning engine that will process the knowledge graph.

Not being a trained PhD in information technology or computer science I could be getting a few of these details a bit wrong; but the essence of what I am pointing out, I believe, is spot on.  To explain what I am getting at, let me specify what I believe is the richest, most powerful, yet the safest type of knowledge graph and then I will breakdown the importance of each word in that description. This is the best type of knowledge graph:

Strongly typed directed acyclic labeled property graph of semantic knowledge which includes a logical schema

This describes each of the carefully used words that I have selected and used above.  Notice that there is nothing about which syntax is used to physically represent that type of knowledge graph.

  • "Graph” in knowledge graphs as contrast to the notion of a "tree" which is a type of graph which is not as flexible.  So a knowledge GRAPH as contrast to a knowledge TREE is more flexible should you need that flexibility and many business use cases need that flexibility. (This explains the difference between a graph and a tree.)
  • "Directed" as contrast to "undirected"; directed graphs can specify a direction of a relationship whereas undirected graphs do not. (This explains the difference between directed and undirected graphs.)
  • Acyclic” graphs do not contain cycles as contrast to a "cyclic" graph that does contain cycles.  Cycles can be problematic and cause catastrophic processing failures such as an infinite loop.  Graphs with cycles can cause logical paradoxes as I understand it and therefore cycles in graphs are to be avoided. (This explains the difference between acyclic and cyclic graphs.)
  • Property” graphs allow you to formally express properties on a relationship (a.k.a. edges) as contrast to only being able to provide properties for "entities" or "things" (a.k.a. nodes).    Since the properties expressed provide more information, property graphs can be more powerful in terms of processing capabilities. (This explains property graphs.)
  • Typed” graph systems provide a formal system of typing properties and subtyping.  This is as contrast to untyped graphs which do not.  Typed graph theory explains the details.  Another term for this is the notion seems to be strong typing. And yet another term seems to be static typing versus dynamic typing.  The graph database TypeDB explains why typing is important.
  • Labeled” graphs have explicit, distinct identifiers that allow them to be part of a group while unlabeled graphs do not. See this explanation of labeled graphs and unlabeled graphs.  It is unclear to me whether a graph can be both labeled and typed. This seems to imply that you get one or the other.
  • "Semantic" graphs are can provide models of meaning as contrast to other knowledge graphs which are for something different such as the presentation of information within sheets, rows, columns, and cells of a spreadsheet. By "semantic" I mean that professional knowledge graphs provide global content addressability.  When I am talking about knowledge graphs it relates to business semantics or business logic, not presentation. For more information see, Semantic Graphs - an Introduction; All About Knowledge; Internationalized Resource Identifier (IRI)

So how do you process the knowledge within a knowledge graph?  Users will need to do deductive reasoning, inductive reasoning, and abductive reasoning.  (This video explains the difference.) You need some sort of reasoning system.  Graph databases tend to come with a graph compute engineSemantic reasoners can also be used.

DATALOG” gets you the power, reliability, and safety of relational databases which have been PROVEN over years and years of use and a rock-solid foundation to build on. (also gets you the closed world assumption, negation as failure, and the unique name assumption)

LOGICAL SCHEMA” (formally defined) gets you quality through the ability to check the knowledge graph against a set of declarative rules to make certain that the knowledge graph matches the logical schema should your use case demand high quality.

"FAIR PRINCIPLES" gets you true Findability, Accessibility, Interoperability, and Reuse of digital assets (FAIR). Your system should not be just another silo.  Information might many simultaneous identifies, models, and values in different physical systems that have been interconnected.

"ACID" gets you 

"LEAN SIX SIGMA" is an philosophy/approach to controlling quality; a set of principles, techniques, practices.

Directed acyclic graphs (called DAGs) are known to provided specifically useful characteristics.

Add “GLOBAL STANDARD” implementation syntax when you create your knowledge graphs and you get additional benefits and characteristics.

Additional Information:

Comments

Popular posts from this blog

Relational Knowledge Graph System (RKGS)

Getting Started with Auditchain Luca

Evaluating the Quality of XBRL-based Financial Reports