
Introduction
Geographic vector data is naturally structured like a graph, network and topological analyses view GIS data as graphs, but so far no-one has tried to make use of a real graph database as the backing store for a GIS.Neo4j is a new open source database that stores data as a graph, in the mathematical sense of nodes connected by relationships, with both nodes and relationships storing properties as key-value pairs.
The goals of the project are:
- extend Neo4j graph database with spatial indexing and query functions.
- enable GIS application developers working on either or both Geotools and uDIG to use Neo4j as a true spatial database.
- enable GIS users working with uDIG to perform spatial analyses better or faster than normal.
Roadmap
At the highest level, the project will take the following phases:- define the best approach to store spatial data in Neo4j graph database
- create spatial indexing and query functions for Neo4j
- create a Geotools DataStore that can read and write spatial data contained in Neo4j
- add a Catalog to uDIG for this new DataStore
- add persistence support to Geotools graph module through Neo4j
- prototype a plugin in uDIG for network / routing analyses
Further reading
Here are a few links worth investigating, for those of you interested in some background on this subject:- Neo4j Spatial Support (uDig Wiki)
- Google Summer of Code for Neo4j Spatial (Neo4j Wiki)
- Neo4j Spatial
- Neo4j graph database
- Proposed talk at FOSS4G - Neo4j Spatial - backing a GIS with a true graph database (go to http://2010.foss4g.org/review/ before the 14th May to vote for it)
3 comments:
Post a Comment