Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Neo4j Spatial - Backing a GIS with a true graph database

13,685 views

Published on

Geographic data is naturally structured like a graph, and topological analyses view GIS data as graphs, but until now no-one has tried to make use of a real graph database as the backing store for a GIS. The developers of Neo4j have added features to the popular open source graph database to provide for support for spatial indexing, storage and topology. In addition to these core components, there are a number of useful utilities for importing and exporting data from other popular data sources, and enabling the use of this database in well known libraries and applications in the open source GIS environment.

We will discuss the advantages of using a graph database for geographic data, the performance and scalability implications, and the opportunities enabled by this approach. In today's highly connected social web, there is an increasing need for graph-based data management. At the same time applications are becoming more and more location aware. The time is right for the first geographic graph database.

Published in: Technology

Neo4j Spatial - Backing a GIS with a true graph database

  1. 1. Neo4j Spatial #neo4j @craigtaverner craig@amanzi.com Backing a GIS with a real graph database Craig Taverner Neo Technology / AmanziTel
  2. 2. NoSQL Not Only SQL
  3. 3. NOSQL data models Data complexity Data size Bigtable clones Key-value stores Document databases Graph databases
  4. 4. Neo4j – Nodes, Relationships, Properties <ul><li>Nodes have different properties </li><ul><li>Matrix characters: People vs. Programs </li></ul><li>Build structure as you go </li><ul><li>Who loves Neo? </li></ul></ul>
  5. 5. Neo4j Spatial <ul><li>Core </li><ul><li>Storage
  6. 6. Search
  7. 7. Operations
  8. 8. I/O </li></ul><li>Extensions </li><ul><li>Geotools & GeoServer
  9. 9. uDig
  10. 10. OpenStreetMap </li></ul></ul>
  11. 11. Topology Connectedness
  12. 12. Connecting and Splitting <ul><li>Why have layers at all? </li><ul><li>Simpler renderers
  13. 13. Historical
  14. 14. Data sources </li></ul></ul>Layer1 Layer2 Layer3 Layer1 Layer2 Layer3
  15. 15. Connecting and Splitting <ul><li>Routing
  16. 16. OSM Dynamic Layers </li></ul>
  17. 17. GSoC 2010 <ul><li>Davide Savazzi
  18. 18. Geotools & GeoServer
  19. 19. Routing
  20. 20. uDig </li></ul>
  21. 21. GSoC 2010 - Routing
  22. 22. GSoC 2010 - uDig
  23. 23. OpenStreetMap
  24. 24. OpenStreetMap
  25. 25. OpenStreetMap
  26. 26. OpenStreetMap OSM Dynamic Layers Dynamic Layers
  27. 27. Dynamic Layers
  28. 28. Dynamic Layers
  29. 29. Future <ul><li>Editing </li><ul><li>Fine Grained Geotools Feature Editing
  30. 30. OSM Editor </li></ul><li>OSM </li><ul><li>Caching sub-graphs (desktop & mobile)
  31. 31. More Dynamic Layers & Shapefile export </li></ul><li>Topology </li><ul><li>Persist all topological results in graph </li></ul><li>Benchmarking & Performance </li><ul><li>Improved indexing
  32. 32. Composite index </li></ul></ul>
  33. 33. API References <ul><li>Wiki, Code, API references </li><ul><li>http://wiki.neo4j.org/content/Neo4j_Spatial
  34. 34. http://github.com/neo4j/neo4j-spatial
  35. 35. http://components.neo4j.org/neo4j-spatial
  36. 36. Mailing list: [email_address]
  37. 37. http://neo4j.org/community/list/ </li></ul></ul>

×