[SoC] GSoC Neo4j Spatial Cypher Week 5 Update

William Lyon lyonwj at gmail.com
Fri Jun 20 15:26:54 PDT 2014


Week 5 of GSoC is coming to an end! Here’s my progress update for extending the Neo4j Cypher query language to include Spatial functionality:

What did I get done this week?
* Figured out how to expose Spatial operations to Cypher by extending the QueryContext trait (with help from Andrès). Created SpatialTransactionBoundQueryContext class which exposes basic Spatial operations to Cypher.  Initially just createSimplePointLayer() and getLayer() which create and return a Spatial layer to allow for access to Spatial operations (querying, etc).
* Added a first pass implementation of Cypher Intersects(a,b) function which uses Spatial search operations to find intersecting geometries. This allows for Cypher queries such as:
    MATCH (g:Geometry) WHERE Intersects(g, 'POLYGON((0 0, 40 40, 20 40, 10 20, 0 0))') RETURN g
* Continued with Scala Coursera course (completed Week 6 assignment)

What am I going to do next week?
* Add support for creating Spatial layers in Cypher
  - Use new RegisteredLayerType class to allow for mapping of string to the appropriate Layer class and GeometryEncoder class for configuring layers
* Add support for adding Nodes to Spatial layer
* Add more spatial functionality to SpatialTransactionBoundQueryContext
* Refine Intersects function for more efficient / robust implementation.
* Final Coursera scala course assignment

Blocked?

No. Pair programming with one of the Cypher developers was very helpful for me last week and helped me get a jump. Thanks Andrès!

The full report is available on the project wiki here: https://github.com/johnymontana/neo4j/wiki/week5

Thanks!
Will Lyon

@lyonwj
lyonwj.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/soc/attachments/20140620/3aaf050b/attachment.html>


More information about the SoC mailing list