I am a Ph.D. student in Ecology and Evolution at Wayne State University. I became interested in graph databases when I read about one online (I forget where) and immediately thought that this would be the solution to a food web database. Turns out there is one, in relational database format, so conversion to graph would be interesting.
All that said, I have stuck with learning graphs and graph databases over time because Ecology and Evolution are fundamentally about relationships and interactions so, graph theory and databases should be a natural fit and hopefully provide insights into the natural world.
My computer coding experience is with VBA (who hasn't written a few modules for Office), R, and currently loving Julia along with some Python and Assembly (from back in the Dark Ages known as the 80's) . There is so much else I could say here but basically I will sum it up with the statement " I know enough to get me into trouble but not enough to get me out". Hence why I am here. You have been warned.
Ecology and Evolution do seem like a natural fit for graph data, I agree. For migrating that food web database from relational into Neo4j, you might find some good hints here -- Tutorial: Import Relational Data Into Neo4j - Developer Guides . I'd be curious to learn what you discover about the differences in structure.
Looking forward to hearing about your progress and helping out where I can.
I have been through the tutorial and have imported a sort of test database of blueberry cultivar pedigrees. This will give me some play data where I can, more easily understand the context and therefore the things I can do with Neo4j
However, I have run into a situation that makes Neo4j a bit more difficult to use or I just don't know enough about what I am doing to get this done.
I have the pedigree data in a CSV file. It consists of a the Cultivar Name, the Seed Parent (mom) and the Pollen Parent (dad). I have almost 100 cultivars in this dataset and to manually go through an create a relationship for each triplet (pollen,seed,offspring) would be tedious to say the least. So what I would like to do is use a script to do this.
this is the query I am running
MATCH (p:Names) , (o:Names)
WHERE p.Cultivar = " Grover" AND o.Cultivar = "Jersey"
CREATE (p)-[r:Pollen]->(o)
RETURN p,o
What makes this challenging is that after about 1 year of trying out languages I have chosen to learn and use Julia due to it's superior speed and readability and its specific design for data science. This is a problem as while I have the script written to actually make the relationships in Neo4j I am running into is how send the individual names to the query in the form of a variable from Julia. I am currently trying Cypher-Shell but getting the names enclosed in quotes and sent over to Cypher-Shell is turning out to be a bit of a bear. Any assistance would be very useful here.