So last July, my dear colleagues at Neo4j
decided that they would tweet about a blogpost that I wrote 3 years ago.
The post was first published on my own blog over here
, and then re-blogged over at the neo4j.com/blog
. I also wrote a graphgist about it at the time, which I have revisited on the graphgist portal just now
This entire thing started that summer with a blogpost by my friend and (at the time) colleague, Ian Robinson
, about using a clever cypher query to calculate the weighted shortest path over a (small) graph. I decided to use that mechanism and apply it to my lovely hobby/sport: Orienteering
. Pathfinding through forests, parks, cities - it's what we do in that sport, all the time. And efficient pathfinding in this environment, requires you to read the map, understand what the fastest route is, and run that as fast as you can. Effectively, when you want to "understand the fastest route", you will be weighing different alternative route choices against one another, and - as quickly as you can - choose that one for your run. It is, in effect, a total graph problem, a total "weighted shortest path problem" on a detailed map of your surroundings. So I used Ian's approach, and applied it to a small graph of an orienteering excercise in an Antwerp park.