Neo4j Spatial - Backing a GIS with a true graph database

  • 7,918 views
Uploaded 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 …

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • This presentation was original made at the FOSS4G 2010 conference in Barcelona (9th Sept). See http://2010.foss4g.org/presentations_show.php?id=4416
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
7,918
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
178
Comments
1
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • The purpose of this presentation is to introduce Neo4j Spatial, and two specific projects, the GSoC and OSM Mention Neo Technologies and AmanziTel, but no more We have a product in the market that uses uDig and Neo4j, but felt that our integration was too specific to our needs, and so decided to collaborate with Neo Technologies to produce a more generalized library available as an extension to the database
  • KV: Dynomite, Voldemort, Tokyo* BigTable: HBase, Hypertable, Cassandra Document: CouchDB, MongoDB Graph: AllegroGraph, Sones, Neo4j
  • The current success and popularity of NoSQL data models has been driven by the internet, and the associated explosion in the volume and interconnectedness of data.
  • This example does highlight a few things about semi-structured data, schema-less databases and even opens the conversation for some discussions on performance (implicit indexes through local search, etc.)
  • Storage: plugable – dataset, layer, encoder Search: Indexing is currently an R-Tree, but it is possible to plug in any custom mechanism conforming to the interface. Multi-dimensional index Spatial indices (quad-tree, R-tree, kn-tree, SFCs) Composite indices and dynamic indices Lucene

Transcript

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