Graphs and Geospatial are natural partners. And yet, Neo4j has native support for only the simplest spatial type, the Point. Is this a problem? What if you want to perform more complex spatial searches, spatial modeling or spatial algorithms using complex types like polygons and multi-polygons? At graphconnect 2018 we showed you how to write a web app that demonstrated route finding using A-Star and spatial search using a point-in-polygon algorithm. This talk will take that further, showing you how to write your own spatial algorithms for more complex analyses and how to integrate them into a web-app through user defined functions accessible with Cypher queries. To demonstrate this we will use a new library we’ve been working on to prototype complex spatial algorithms within Neo4j.