Returning home from a very interesting Dagstuhl seminar on Knowledge Graphs, it is time to collect some thoughts. In the seminar we developed a shared understanding of the current state of the art in Knowledge Graphs and more importantly mapped out the road ahead. The format of the seminar consisted of 5-min pitches on relevant topics, and then followed up by group discussions, to be summarised and consolidated in an upcoming report. In the spirit of true societal (and research) progress a large part of the seminar was devoted to discussing grand challenges in our society, where in this case the focus was on those where we believe Knowledge Graphs can play a crucial role in addressing the challenges. In the upcoming report those will be discussed in depth, but examples of such challenges include interaction between humanity and machines, the kind of explainable and human-centred AI that is required in various societal domains, such as medicine, keeping up with knowledge evolution and rapidly changing information in our society, and addressing information interoperability at scale.
The feeling I in particular take with me from this seminar is that we have a unique opportunity to really facilitate interaction and integration of major results from different areas, and that Knowledge Graphs may be the key that finally makes this possible at scale.
However, taking a step back, one may first ask the question: What is a Knowledge Graph? And how does it relate to previous objects of study, such as Linked Data or Ontologies? Although this was discussed at length in the seminar, my personal viewpoint is that we do not really need a strict scientific definition. Potentially a descriptive one could be useful, but even just exemplifying what we mean when talking about Knowledge Graphs should be enough. To me a Knowledge Graph is about two things: knowledge that is represented in some graph-like format, preferably machine readable, and (can be) used as the source of knowledge/information/data in some application. This subsumes both ontologies, Linked Data, and all the various Knowledge Graphs proposed by large companies so far. Although Google were the ones to popularise the term a few years ago, it has been around also before that, and can even be traced back to ancient times (as some people pointed out in the seminar). However, that does not reduce the importance of the Google Knowledge Graph, both as a positive example and inspiration for others (i.e., Knowledge Graphs of “everything” can really work at scale), and as a popular explanation of the term, or could maybe even be seen as a revitalisation of the whole knowledge representation field.
So, how does it relate to existing fields then? Here we come back to my key take-away from the seminar – integration of research fields. I do not see Knowledge Graphs as a new field, nor as a renaming of some existing area, such as the Semantic Web or ontologies, but rather it is what emerges when you marry ontologies and Linked Data with property graphs and graph databases and the web. Or macine learning models with graph formats and methods for symbolic knowledge representation, e.g., to create explainable AI. Of course, that means that everything we learned so far in these individual fields is very valuable, e.g., ontology engineering, representation formats and standards etc., but it is when you marry that with results from other fields that 1+1 becomes 3, or even 10. So if you ask for the relation to ontologies, for instance, I would say that Knowlege Graphs is a generalisation, where any Semantic Web ontology can probably be considered to be a Knowledge Graph, but not every Knowledge Graph (probably just a few) will be an ontology.
Related to our own research in the Linköping University Semantic Web group, we do have some very valuable pieces of this puzzle to offer. In the knowledge representation area we have worked a lot on ontology engineering and ontology design patterns, and this is a valuable input also for creation of Knowledge Graphs. In particular the notion of design patterns I believe is very valuable also when creating generic Knowledge Graphs. Especially since patterns are not only intended as a technical development tool, but can also support understandability, interoperability, reuse, and act as a least common denominator when matching and integrating data and knowledge. Also recent work on ontology matching will be directly applicable to Knowledge Graph matching and integration, as well as the work on ontology evolution and stream reasoning and complex event processing, for managing highly dynamic data and knowledge. All of this is highly relevant when generalised from ontologies to general Knowledge Graphs, maybe even more relevant than for the specific case of ontologies.
Then of course a Knowledge Graph needs to be represented in some way, preferably using a machine readable format and in a language with some formal semantics. RDF is an obvious candidate for representing Knowledge Graphs on the web. However, so far the RDF community has been quite separated from the community around property graphs (and graph databases), in my opinion mainly due to the difficulties of directly representing property graphs in RDF. Also here the LiU group has something to offer, in the form of the proposals by Olaf Hartig on RDF and SPARQL extensions to bridge this gap (called RDF* and SPARQL*) as well as our research on graph data, and models for that, in general.
I hope this seminar will really become the starting point of something new. New research directions, and a more inclusive community (than maybe the Semantic Web community has been, in retrospect) around Knowledge Graps that embraces the need for integrating approaches from various other fields, embraces variety and complexity, and embraces dynamics.