Professional Knowledge Graphs
A knowledge graph is a web of meaning that describes some area of knowledge. A graph, per graph theory, is an approach to representing something and is made up of nodes which represent things and edges which represent associations between things. Things represented as nodes can be categorized. The types of associations between things can also be categorized.
Two things with an association between them (e.g. two nodes with an edge between them) simply means "these two things are connected". A knowledge graph explains how and why they are connected. Explicit labels on each node and edge tell us exactly what each node and edge in a knowledge graph means. This meaning is what turns a graph into a knowledge graph, the capturing of associations, categories, rules, and other meaning.
This meaning is not represented haphazardly. An ontology which is a rulebook that explains how the nodes and edges that represent the things and associations needs to be constructed. This ontology based distillation of rules that makes up the rulebook which prevents wild behavior is effectively a schema which explains the knowledge graph. The ontology provides a description, an explanation, and serves as a specification for the semantic scaffolding which makes sure the knowledge in the knowledge graph adheres to agreed upon meaningfully structured associations. A complete, consistent, and precise knowledge graph represented in a form that a machine such as a computer can understand enables those machines to make logical inferences about the knowledge represented in the knowledge graph using a reasoner.
* * *
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)
- Sometimes you might want an "immutable" graph of knowledge. That is achieved by putting a knowledge graph in a digital distributed ledger. (Knowledge graphs are web3)
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 engine. Semantic 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:
- XBRL is an Extra Fancy Knowledge Graph
- Systems Thinking
- Knowledge Assembly
- Knowledge Graph System
- Problem Solving Systems
- Graph Hairball
- DFRNT
- #152 - Dave McComb - Knowledge Graphs, Semantics, and More
- GIST Upper Ontology
- Semantic Knowledge Graph
- Semantic Technologies Value Chain
- Towards a Definition of Knowledge Graphs
- What is a Knowledge Graph?
- Knowledge graph is just a fancy database
- Understanding the Graph Center for Excellence
- TerminusDB
- TypeDB
- Fluree
- Labeled Directed Acyclic Graphs (LDAG)
- Named Graphs
- The Knowledge Graph Guys
- Knowledge Structures
- What are Knowledge Graphs?
- Counterfeit Knowledge Graphs
- Ontological Foundations for Building Knowledge Graphs
- The Role of the Systemic View in Foundational Ontologies (Faults, Malfunctions)
- Introducing GRC-20: A Knowledge Graph Standard for Web3
- GRC-20: Knowledge Graph
- Description of Reality: Part 1
Comments
Post a Comment