Return to home

Knowledge Graphs in Biomedicine

Much of the research conducted in the Romano Lab involves building and analyzing biomedical knowledge graphs. To understand what a knowledge graph (KG) is, it's important to first know a few related definitions:

  • Knowledge representation: A knowledge representation (KR) is a symbolic way to represent meaningful knowledge. A dictionary is an example of a KR, but informaticians have designed other types of KRs that are more expressive and less ambiguous than text definitions of words. A lot of the time, these KRs are built to represent knowledge in a way that computers can 'understand'. In short, this is done by creating many concepts in the KR and defining the meaning of those concepts by linking them together in ways that let a computer unambiguously differentiate all of the concepts in the KR. Some types of KRs are ontologies (e.g., SNOMED-CT) and structured terminologies (e.g., the Unified Medical Language System or UMLS).
  • Graph: When computer scientists talk about graphs, they're referring to what most people might call a network. The common use of the word graph - that thing with an x and y axis and some data points, lines, or boxes on it - is formally known as a plot. A graph is a data structure consisting of a set of nodes (also called vertexes) and a set of edges linking those nodes. The edges can be directed (pointing from one node to another but not vice versa) or undirected, and the nodes are often labeled to describe an entity that they represent. Graphs are one of the oldest data structures in computer science, and they show up everywhere in computational research.

What is a knowledge graph?

It's a graph where each node represents an entity and each edge represents a semantically meaningful relationship that exists between those entities. KGs are often implemented as a graph database (but not all graph databases are knowledge graphs). In general, the entities and relationships in a knowledge graph represent an agreed upon fact about something in the real world, rather than a piece of data or a single observation. For example, a knowledge graph would not contain individual expression measurements for a certain gene from a transcriptomics experiment, but they could contain relationships indicating that the gene is generally under- or over-expressed in certain cell lines.

What can I do with a knowledge graph?

Knowledge graphs can act as interfaces for both humans and computers. For humans, you can explore them visually to learn mroe about a set of connected topics. To computers, they can be used in artificial intelligence applications to make decisions or predictions about a set of topics defined in the knowledge graph. They can also be used in a hybrid manner - for example, you can train an artificial intelligence program to make predictions based on a knowledge graph, and then use the knowledge graph to 'translate' the results of the prediction to something that is meaningful to users (rather than some confusing numeric score output by the AI algorithm).

Knowledge graphs are rapidly growing in their use, and every month there are new, exciting ways they are being used to solved important problems. In the Romano Lab, we're especially interested in biomedical and environmental applications.