Howdy! I'm an MS Analytics student at Georgia Tech and a whitewater kayaker and I have a project idea that I'm trying to mesh out. There's a discipline of whitewater kayaking called "Creeking", which, as you might guess, is running creeks and smaller rivers. These are usually not dam released and they run when nature decides they run. There's plenty of USGS data for many of these rivers, with flow and height gages. There's plenty of historical weather data. There's also watershed data, which is pretty easy to find. The website http://rainpursuit.org/d/ does a sweet job stitching this data together. What nobody is doing is predicting what will run, where and for how long.
The reason I'm wondering if this should be done in Neo4j is because rivers and streams seem like an obvious example of a network graph to me. Every node is directly affected by only the nodes upstream from it, right? So, in theory, you build a network, for each node you calculate the predicted weather over the desired interval at all points upstream, then you map that back to a live prediction of that point. I'm sure I could skip the network graph and just see how every point effects every other point, but it seems like it would introduce a lot of noise. What do you guys think?