During the summer of 2017, I did a blog on learning the network graph tool called Neo4J and promised to return to the topic before I graduate. Since I received the commencement invitation last week, I wanted to spend a bit of time talking about a case where using Neo4J might be beneficial. I admit I haven’t taken the time amidst classes and life to play with the technical details that run Neo4J any further but haven’t ruled it out if I need the tool in my next job.
As mentioned in a Tutorials Point blog, Neo4J is easy to represent and visualize connected data in a network and works very well with semi-structured data. Another advantage is that the Cypher language that Neo4J uses is human readable and easy to learn. Finally, Neo4J does not require complex ‘joins’ that would be used in SQL programming so it’s easier to find relationship details about nodes in the data set. (Recall a node is an entity such as a patient name of ‘Susie Smith’ in a medical dataset.)
Suppose we are trying to map all medical symptoms to a set of 1 million patients that have visited our hospital system to allow for in-depth processing and potential prediction of future diseases. We might have a Neo4J graph network that looks like the following with each pink dot(node) representing a disease, the blue dots representing the symptoms of the disease, the green dots representing a patient and the lines representing their relationships.
By visualizing and analyzing the network, new discoveries about the connections between symptoms, diseases and patients can be explored and made by researchers or doctors. We are just beginning to see how graph theory can amplify traditional analytics efforts and I think this trend will continue to increase in time. Let me know if you are using Neo4J and how it has improved your business insights, operations or profits.