neo4j spatial - backing a gis with a true graph database

Download Neo4j Spatial - Backing a GIS with a true graph database

If you can't read please download the document

Upload: craig-taverner

Post on 16-Apr-2017

12.328 views

Category:

Technology


2 download

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