This document discusses using Neo4j-Spatial and OpenStreetMap to work with web map data. It provides an overview of Neo4j-Spatial's capabilities for spatial data including importing, querying, and exporting OpenStreetMap data. Examples are given of using Neo4j-Spatial to find locations near other points, perform routing queries on OSM data, and analyze contributions of individual OSM users.
7. NOSQL data models
Bigtable clones
Key-value stores
Document
databases
Graph databases
Data complexity
Datasize
Points
Points
Points Point, LineString,
Polygon, MultiPolygon,
Geoprocessing,
OpenStreetMap
8. Neo4j – Nodes, Relationships, Properties
Nodes have different properties
Matrix characters: People vs. Programs
Build structure as you go
Who loves Neo?
16. Neo4j-Spatial 2011
OSM
Performance
Changesets and Users
Geoprocessing
LBS and SimplePointLayer
Routing OSM
GSoC 2011 – Geoprocessing functions
Data Mining OSM
What's next
Geoprocessing pipeline
Cool domains: artistic maps
17. Finding things close to other things
http://blog.neo4j.org/2011/03/neo4j-spatial-part1-finding-things.html
18. Finding things close to other things
http://blog.neo4j.org/2011/03/neo4j-spatial-part1-finding-things.html
20. Data Mining OSM
timestamp > 1207014810000 and timestamp < 1208310810000 and
(
user = 'Zenon' or user = 'tomasCY' or user = 'muffu' or
user = 'dcp' or user = 'cartOMike' or user = 'djanda' or
user = 'Peter14' or user = 'toaster' or user = 'user_7363' or
user = 'lyx'
)
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
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