neo4j spatial - backing a gis with a true graph database
TRANSCRIPT
Neo Technology
Neo4j
Spatial
Craig Taverner
Neo Technology / AmanziTel
#neo4j@[email protected]
Backing a GIS with a real graph database
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
NoSQL
Not Only SQL
KV: Dynomite, Voldemort, Tokyo*BigTable: HBase, Hypertable, CassandraDocument: CouchDB, MongoDBGraph: AllegroGraph, Sones, Neo4j
NOSQL data models
Bigtable clones
Key-value stores
Document databases
Graph databasesData complexity
Data size
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.
Neo4j Nodes, Relationships, Properties
Nodes have different propertiesMatrix characters: People vs. Programs
Build structure as you goWho loves Neo?
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.)
Neo4j Spatial
CoreStorage
Search
Operations
I/O
ExtensionsGeotools & GeoServer
uDig
OpenStreetMap
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
Topology
Connectedness
Connecting and Splitting
Why have layers at all?Simpler renderers
Historical
Data sources
Layer1Layer2Layer3Layer1Layer2Layer3
Connecting and Splitting
Routing
OSM Dynamic Layers
GSoC 2010
Davide Savazzi
Geotools & GeoServer
Routing
uDig
GSoC 2010 - Routing
GSoC 2010 - uDig
OpenStreetMap
OpenStreetMap
OpenStreetMap
OpenStreetMap
OSMRTree DynamicLayersDynamicLayers
Dynamic Layers
Dynamic Layers
Future
EditingFine Grained Geotools Feature Editing
OSM Editor
OSMCaching sub-graphs (desktop & mobile)
More Dynamic Layers & Shapefile export
TopologyPersist all topological results in graph
Benchmarking & PerformanceImproved indexing
Composite index
API References
Wiki, Code, API referenceshttp://wiki.neo4j.org/content/Neo4j_Spatial
http://github.com/neo4j/neo4j-spatial
http://components.neo4j.org/neo4j-spatial
Mailing list: [email protected]
http://neo4j.org/community/list/
Click to edit the title text format
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline LevelSeventh Outline LevelEighth Outline LevelNinth Outline Level
Click to edit the title text format
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline LevelSeventh Outline LevelEighth Outline LevelNinth Outline Level