Thursday, May 30, 2019

Knowledge Graphs and Ontologies


Schema DBpedia 2010 from Wikimedia Commons attributed to Charles Sturt University (Creative Commons license)
I’ve been hearing a lot about knowledge graphs recently. Corporate and academic implementations have been increasing in recent years, and now the taxonomy community is also taking an interest. Taxonomy software vendors are talking about knowledge graphs in webinars, blogs, and conferences, and knowledge graphs was on the list of suggested presentation proposal topics for this fall’s Taxonomy Boot Camp London conference.

Knowledge graph purposes and definitions


A knowledge graph is the organization and representation of a knowledge base as a graph, with a network of nodes and links, not as tables of rows and columns. As such, it is generally based on data in a graph database, rather than on a relational database, and graph databases are becoming more popular. A knowledge graph usually includes (but is not limited to) visualizations of data, such as of an output of graph analytics, a display of interconnected nodes and links, or a display of linked data in a “fact box.”

Knowledge graphs can serve various roles and provide many benefits. They support search, recommendation engines, e-commerce, and enterprise knowledge management. They can integrate knowledge, serve data governance, provide semantic enrichment to content, bring structured and unstructured data together, provide a unified view of varied unconnected data sources, provide a semantic layer on top of the metadata layer, improve search results beyond mere algorithms, and answer complex user queries instead of merely returning content on a specified topic. An example of a complex query, which can easily be handled by a knowledge graph linked to the right data, but would be very time-consuming if not impossible by traditional search and query methods would be: “Which of the top 10 scholarly journals (by most often cited), published in Europe in the past 3 years discuss knowledge graphs in the context of knowledge organization systems.”

Google Knowledge Graph fact box example
Google Knowledge Graph example
Like “taxonomy” or “ontology,” the definition of “knowledge graph” is not clear or agreed upon. Knowledge graphs have different meanings from different perspectives, such as those with a computer science vs. information management backgrounds. Sometimes a knowledge base, or at least a knowledge base that is represented as a graph, is considered the same as a knowledge graph. There was even a conference presentation, turned into an article, dedicated to this topic of defining knowledge graphs: "Towards a Definition of Knowledge Graphs," by Lisa Eherlinger and Wolfram Wöß, CEURWorkshop Proceedings.

A Google search with Wikipedia results at top returns the article describing Google’s own “Knowledge Graph” (introduced in 2012 and displayed as fact boxes, as in the example screenshot here for Boston) and a see also “Knowledge graph” (lower case), which redirects to the Wikipedia article “Ontology (information science).”

Knowledge graphs and taxonomies, ontologies, and other knowledge organization systems


Knowledge graphs, like taxonomies, comprise things/nodes/concepts and relationships between them. Knowledge graphs may comprise multiple domains and thus contain multiple taxonomies, thesauri, ontologies, or other knowledge organization systems. Knowledge graphs can link together disparate sources of controlled vocabularies and data.

RDF triple example
RDF Triple example
Knowledge graphs resemble ontologies (a kind of knowledge organization system that is based on taxonomies, but is more complex), but, despite what Wikipedia claims, they are not the same. Knowledge graphs and ontologies both are represented by nodes (things, concepts) and have customized semantic relationships between them. As they both can be visually represented in the same way of nodes and relationships, they may look the same in visualizations. They are both based on RDF (Resource Description Framework) triples (comprising subject-predicate-object), and are usually also based on the Semantic Web standard OWL. All nodes must have their own unique URIs. Specialized software tools are available to create knowledge graphs and ontologies.

Knowledge graphs can be considered ontologies and more. According to the authors, Eherlinger and Wöß, “A knowledge graph acquires and integrates information into an ontology and applies a reasoner to derive new knowledge.” A knowledge graph may comprise multiple domain ontologies, or an ontology and another vocabulary/knowledge organization system. A certain kind of very general ontology called an upper ontology or foundation ontology can also serve as the data model for a knowledge graph.

Conferences including knowledge graphs


There are many conferences that now have sessions on knowledge graphs. I cannot explore all of them, but I have attended and will attend several conferences this year that include knowledge graphs in their programs. VOGIN-IP-lezing 2019 "Search and Findability" at which I spoke in Amsterdam in March had a session on a fashion retailer's knowledge graph and a 2-hour workshop “Enterprise Knowledge Graphs." Data Summit, which I attended earlier this month in Boston, had several sessions that mentioned knowledge graphs, one focused on the topic, "From Structured Text to Knowledge Graphs," but not as something new to be defined, but rather as an accepted technology. I'm excited to be co-presenting (presenting the first part on taxonomies and ontologies) in a pre-conference full-day workshop "Fast Track to Knowledge Graphs and Semantic AI," at the SEMANTiCS conference in Karlsruhe, Germany, on September 9. Then I will be presenting  a "A Brief Introduction to Knowledge Graphs," among other presentations, at Taxonomy Boot Camp London in October.

7 comments:

  1. I have used knowledge graphs for ten years, mostly for strategic planning with clients.

    See a June 2015 article "3D Strategic Planning – What you need to know about it"

    https://wp.me/pzzpB-FX

    ReplyDelete
  2. Nice post, Heather! A minor point - not all knowledge graphs are based on RDF. There is another approach, known as Property Graphs or Labeled Property Graphs, that the graph database Neo4J uses. The main difference from RDF is that relationships can have properties; they also use a different query language.

    ReplyDelete
    Replies
    1. Thanks, Marijane, for the clarification. I don't claim to be an expert on knowledge graphs.

      Delete
  3. This is fascinating.

    I'm having a real challenge right now in defining the boundaries of our university knowledge graph.

    There are extremities that we never need articulate - they are neither of value to our audience, nor likely to be maintained by the university.

    The challenge here is in knowing where these boundaries are.

    Any suggestions?

    ReplyDelete
  4. Thanks for sharing this challenge. The logical boundaries of an area of knowledge may not match the scope of what's of use to the audience. I don't have any concrete suggestions, though.

    ReplyDelete
  5. One suggestion about mapping boundaries is to use value domains. Very few organizations have successfully defined models outlining their capabilities used to deliver value let alone define models outlining the jobs that stakeholders are trying to perform to get things done. There is a pragmatic way of defining these models so you can establish a foothold and drive progressive value for the organization (or institution in Dave's case). Contact me if this resonates and I can discuss further.

    ReplyDelete
  6. An ontology is just a representation of the entities of some domain. It can be as rich as you want it. Multiple domain ontologies stitched together just comprises another ontology. Not sure what you think the difference between a knowledge graph and an ontology is -- the difference is not about complexity. It seems to me that a knowledge graph is a way that you can implement an ontology.

    ReplyDelete