Hi,<br><br>Recently we started a joint venture with the guys behind the Neo4j open source graph database to create spatial extensions to Neo4j so that it could be used as a true spatial backend for open source GIS projects. The goals are to build utilities into the database providing:<br>
<ul><li>Geometry storage in the graph structure</li><li>High performance spatial indexes for most or all geometries</li><li>High performance spatial operations and spatial database queries</li><li>Import/export to common formats</li>
</ul>To do this we're planning to provide a library for GeoTools that can be used in both web applications and desktop applications. I have most experience with uDIG and would be happy to mentor a project for a student supporting integrating our work into the complete stack (desktop to database) using udig-geotools-neo4j. The possible projects fall into two categories:<br>
<ul><li>General stack - a general purpose complete stack enabling Neo4j as a full-featured FeatureStore inside Geotools and uDIG</li><li>Special purpose applications - there are a number domains that benefit from the use of a graph database for the domain model, and this allows for the application to benefit from tight integration between the domain data and the spatial data within the graph database.</li>
</ul>For this last one, we can think of a few specialist project areas, but I would rather
open the discussion to the Neo4j, uDIG and Geotools mailing lists and
see what ideas we can come up with. A lot depends also on the kind of
students we attract, and their particular interests. My own interests lie with analysis of engineering data (mostly mobile network systems engineering), and the Neo4j interests lie in many areas, but including social networks, location based services and internet scale connectedness.<br>
<br>For more information on Neo4j, refer to their website <a href="http://neo4j.org">http://neo4j.org</a>. In particular have a look at the wiki pages on the spatial project itself: <a href="http://wiki.neo4j.org/content/Neo4j_Spatial">http://wiki.neo4j.org/content/Neo4j_Spatial</a>.<br>
<br>For more information on my involvement with uDIG/Geotools and Neo4j, refer to the project site <a href="http://redmine.amanzi.org/wiki/awe">http://redmine.amanzi.org/wiki/awe</a>. I have been working on this desktop application based on uDIG for nearly two years, and have been using Neo4j as the embedded database for about 10 months. I wrote my first graph-based spatial index last October, setup the meeting that inspired the spatial index blog post <a href="http://blog.notdot.net/2009/11/Damn-Cool-Algorithms-Spatial-indexing-with-Quadtrees-and-Hilbert-Curves">http://blog.notdot.net/2009/11/Damn-Cool-Algorithms-Spatial-indexing-with-Quadtrees-and-Hilbert-Curves</a>, and now we started the current grander neo4j-spatial project about a month ago.<br>
<br>My next steps will be to:<br><ul><li>Open this discussion to the Neo4j, uDIG and Geotools mailing lists</li><li>Put together additional wiki pages discussion some of the specific projects we can mentor</li><li>Attract students :-)</li>
</ul>Any comments?<br><br>Regards, Craig<br><br>