Knowledge Graphs as Fancy Databases
Some friends have challenged me to describe knowledge graphs in even simpler terms than I have before.? This time, let me try to pitch it for CEOs who have a little extra time to catch up on tech over the holidays. (Feel free to tell me how well this post worked for you.)
Why are we talking about knowledge graphs? For one thing, most of your big competitors already have knowledge graphs at the heart of their businesses. Internet companies, eScience, and financial services have been working on them for years, sometimes calling them ontologies. Their graphs can be good, bad, flimsy, or robust, but your competitors have them and use them.? If you're reading this, then you're probably behind the curve. You need to decide soon whether this tech is hype or ripe.?
Your knowledge graph captures your view of your business. Knowledge graphs store not only way-too-micro data but broader knowledge as well. They contain a domain model like those used in software architecture or a digital twin like those used to model manufacturing processes or supply chains. They include the things, characteristics, and relations that are most important to your business.?
A knowledge graph can be as big or small as you want it to be and still add value. ?You can build one from your mission statement with a handful of keystone concepts and expand it into an encyclopedia with thousands of concepts – if you need to. The vast majority of companies will never build and never need a knowledge graph that covers everything from newts and nebulae to Nubians and nurses.?
How will a knowledge graph add value?
OK, so what is this graph thingy?
A graph stores and shows the different kinds of relations between different kinds of things. That's it.?
In a knowledge graph, the things are concepts of (or what we know about) individuals or categories and we store (then manipulate!) different kinds of relations between those concepts.?
The facts that we have about individuals and categories come in two basic types:? relations between things (the core of the graph) and characteristics of things (that we can usually count, measure, or label). Here are some examples:
It's important to remember that each of the concepts and relations have to be defined explicitly before the computer can understand and use them.?
领英推荐
What makes a graph a graph are the relations.
The same thing can be related in many ways to many other things, forming a network (or graph) of concepts. The characteristics are there to give us more information about each thing on its own. If there was only one kind of relation then we would have a tree or a list, not a graph.
Databases have lots of facts about characteristics of things (i.e., data) – usually in the same row – but can't easily store more complex relations between things (e.g., between rows) or track how one relation is linked to the next one, as in Fido > dogs > mammals. This linking of facts through relations is one kind of reasoning that we enable with knowledge graphs.
There are a few steps we need to take to make it possible for computers to store and manipulate facts by themselves rather than rely on us to do all the reasoning.
Confusions galore
Things get very confusing in the many cases where people have and present only strings in triple format (without making their meanings explicit).? Without other information to document the meaning of these strings in a computer-accessible form, this is a text graph and is similar to a language model, a model of how some strings are related to other strings, often regardless of their meaning.? Although text graphs can be very useful, they're far less useful for algorithms than knowledge graphs.
This confusion comes from the fact that when we provide tools or develop resources for humans, only the strings are really necessary – humans already have meanings for things and relations in their heads.? So translation tools, terminology tools, and most taxonomy tools rely on their expert human users for that crucial information – or display human-readable definitions (that algorithms can't process well) as reminders. These tools are made for humans so they're not very helpful for computers. Litmus test:? have the graph vendor point to where definitions are stored.? If the definitions are sentences for humans, then computers can't easily read them – so they're not knowledge-graph ready.
Getting fancy
Relational databases are good at storing, filtering, and sorting, but not so good at other tasks. They assume that the columns of a database table are independent and unrelated, even when that's not true in real life.??
One key motivation for using knowledge graphs is to overcome this limitation and make the relations between columns clear and explicit.? In knowledge graphs, database column labels become relations:? "first-class citizens" that we can relate, group together, and describe with attributes. The paths between relations/columns and the reliance on machine-accessible definitions enable knowledge graphs to do a wide range of useful things that run-of-the-mill databases cannot.
These things are all very difficult to do with regular relational databases but are standard functions of graph databases.
Of course there's much more to talk about, but knowledge graphs are the foundation – the? first and most important step in automating many kinds of reliable reasoning. Happy holidays!
Senior Software Engineer
1 年That's an amazing way to explain Knowledge graphs! I've been working with graph databases and RDF
Senior AI/ML Strategist Startups & VC @AWS - Writing on AI/ML, analysis are my own ??
1 年Salah Azekour
Chief Impact Officer (Innovation, Integration, Inspiration)
1 年Thanks - I now understand what a Knowledge Graph is so check! But why would a business need one - other than everyone is developing one? What value does it bring (in simple terms). What will a business be able to do with or not do without it?
Enabling enterprise translation with AI @ Lilt
1 年Mike, I'm not a CEO, but regardless feel like I was the right audience for this post. I had to do some Googling, and GPT'ing before really diving in to orient myself with the subject matter, but once I did the details you provided were: a) fairly simple to absorb/understand, as you intended b) inspiring, in the sense they made me think harder about how I/sales people can or should use knowledge graphs. To clarify on b- does a CRM, in and of itself, constitute a knowledge graph? Thanks for the wisdom :)
Founder Proprietor at Knowledge Enabler Systems
1 年Mike Dillinger, PhD, I agree. This is very good and "nearly" complete description of knowledge-graph or network. There is no need to refer to RDBMS and their restrictive relation tables. All natural languages have this simple Subject-Predicate-Object structure as in 3W specification, Resource Description Framework RDF. RDF is also restrictive in that the predicates have a single attribute while in reality there are many many predicates and each predicate has multiple attributes. I said "nearly" because a complete knowledge graphs has two parts. The first part is ontology, a network of "Concepts and Linking-Concepts" in which the axioms and rules of the domain of knowledge are generically specified. The second part is a network of "particulars" which correspond to instances of the "concept and linking concepts" of ontology. The first part provides a basis for the meaning and validity of the second part. We humans do not "formally" define and use ontologies but they are implied and essential. There are many simple and convincing examples which are easy to understand. I would be glad to share them via [email protected] Even RDF is restrictive. I have an extension to match NL expressivity. Let's discuss.