Complex problems are perfectly suited to a native graph database like Neo4j, which fully reflects the reality of vast connected data. Interactions between all the compounds in medications need to be explored in real time and their implications must be crystal clear to physicians as they make decisions about prescribing new medications for their patients.
In this week’s five-minute interview (conducted at GraphTour Stockholm 2019), we speak with Amin Jalali, senior data scientist at Stockholm University, about research he and his team are conducting on how doctors respond to warnings about drug interactions.
What are you working on with Neo4j?
As a part of my work, we’re investigating how physicians use the input from drug recommendation systems when they add some sort of medicine to the patient’s drug list. The system tells them if there are bad interactions between the patient’s drugs or not.
Why are graphs good for exploring drug interactions?
It’s because of the very complex nature of relations between drugs and substances, and how they interact with each other. So, if I want to explain this in very simple form, we have two drugs. And each drug can have several substances, and each substance can interact with the others.
Let’s say you go to a doctor, and you have previously been using one drug, and the doctor wants to add another drug. The doctor can see that the drug contains a substance that interacts with the previous drug, and note “Oh, there’s a bad interaction.” It might even be a life-threatening problem, and the doctor receives a warning and can change the drug accordingly.
Drug interactions are not simple because substances can have different forms and they can be made from other substances. So, there is a large graph of connections, like a friend of a friend of a friend. This substance can be made from one substance and that can be made from another substance and those substances might interact with still other drug substances. And this makes a huge and complex graph that must be investigated to determine the severity of the interaction of two drugs.
How has using Neo4j impacted the project?
I can say it affected the project a lot because without Neo4j, it would be difficult to explain how we are able to recognize that the interaction between two drugs was severe, for example.
Neo4j helps us to understand the context because the way that we store the data is closer to reality. We don’t translate the reality of these relationships into another layer like a transactional database, because then you lose some part of that reality.
We store the data close to what actually exists. And this helps us not only to understand the nature of the interaction, but also to explain it.
When we explain it to people and they say, “Aha! This drug has this substance that interacts with this one.” They see that visually, and it helps a lot with communication as well as with analysis.
Do you have any advice for people starting out in graphs?
I think they should use graph technology. You cannot see the benefits until you try it out. It’s not hard to do because Neo4j provides its software in different forms. For example, I use it as a Docker container, so I can easily use Neo4j without worrying about how it’s going to be served.
You can also develop your own algorithm, which is very interesting to work on, especially if you are in research.
Want to share about your Neo4j project in a future 5-Minute Interview? Drop us a line at firstname.lastname@example.org
Want to learn more on how relational databases compare to their graph counterparts? Get The Definitive Guide to Graph Databases for the RDBMS Developer, and discover when and how to use graphs in conjunction with your relational database.
Get the Ebook
Get the Ebook