Hello everyone, my name is Radu and I'm glad to have joined this forum and community. I am a former reporting developer and DBA, currently working as a Data Engineer.
In my spare time I like to give life to my project ideas and most recently came up with an idea that maps well to Neo4j, which is why in December I started learning and playing with it. So far, I'm loving the technology and I'm hoping I can expand my knowledge from this forum and also be able to share back from what I've learned.
I am also on StackOverflow and like answering questions there, but I hope here we're going to chat and get to know each other.
My goal is to learn Neo4j and hopefully take my project idea as far as possible and in the meantime also study for being a certified Neo4j Professional .
Happy to be here and looking forward to connecting with as many of you!
Hi @tard.gabriel , my project idea is to see if I can find a way to import data related to the medical field, in an attempt to help my significant other with her Ph.D. In a simplified way, it is about medical data related to diseases and causes for a disease, but her doctorate is obviously more advanced and goes down to the molecular level, proteins etc.
The way I am starting to implement this is based on, let's say a doctor's observation of a patient's illness (symptom), gathering the attributes of that symptom and in the end linking each symptom (or multiple symptoms) to a disease that it causes.
In a simplified way I can create this, with a single hop in between the "Symptom" node to the "Disease" node and put some properties with associated values on the relationship (CAUSES relationship in the below image).
However, some Symptom attributes are not a single "concept" as in: Fever is a symptom, but it has attributes like how the debut of the fever was, when the debut occurred etc. Also the when part of the debut can be hours or days or weeks old, which are all attributes.
How I envision it, but actually currently I'm just trying to see if I can implement it, is that the Symptom node (Fever) has attribute nodes connected to it (how, when) and the how and when nodes also have attributes of their own (how.sudden, how.gradually, when.days etc.).
At the end of these "leaf" nodes I will have a relationship pointing to a illness.
In reality this is more niched to a certain problem she is trying to solve, but nevertheless I thought that Neo4J is the right technology to use in this type of problem. This would be more like a dataset which can be queried based on her results and see if there is a path from a "symptom" to an "illness".
Hi again @radu.gheorghiu
I really like it, it's exactly why Neo4j is amazing, solving real important problems.
So she could as an example give an non official really quick and precise diagnostic based on all the symptoms and their datas.
Collecting these datas with the lies or not clear memory of the patient will still remain a challenge not related to Neo4j but still once you get all the data the next step could be incredibly quicker.
I'm not a doctor and I don't know much about it. I'm mostly using Neo4j since 2 years for personal data. I know the Cypher language almost perfectly, so I can help with that later on easily, but for now your problem is related to the modelling part if I understand.
On the links below you will find:
1- The Data Modelling Guide -> Here
2 - Graph Modelling Tips -> Here
3 - Graph data model examples -> Here
4 - Data Modelling Training -> Here
If you don't want to start from zero some of the model examples might fit your need. If it's a bigger or long term project, there is 2 free data modelling training available on the point 4. Amazing I didn't know about it.
I will take theses for my self, Cypher is something to learn, but the modelling is still the biggest challenge. The biggest advice I have for you, always write all your question you have for your graph before modelling it. The model must fit with the questions and can always be remodel unlike SQL Noe4j is everything but static.
Thank you @tard.gabriel , I really appreciate your advice! I've already started with some small courses for learning Cypher and built some queries of my own, but I still have a lot of material to go through and some of the items in your list were already in my study shortlist.
If I do have any Cypher questions I'll definitely come back and ask the community and try to answer some questions as well.
Thanks once again!