A Neo4j library for importing, storing, and querying spatial data with support for multiple geometry types and spatial indexes.
Neo4j Spatial is a library that adds spatial capabilities to the Neo4j graph database, enabling the storage, indexing, and querying of geographic data. It allows developers to perform spatial operations like searching for data within regions or distances, and import data from formats like Shapefiles and OpenStreetMap.
Developers and data engineers working with Neo4j who need to integrate geospatial data and queries into their graph-based applications, such as GIS professionals or those building location-aware services.
It provides a native, extensible way to handle spatial data within Neo4j, with support for multiple geometry types, coordinate systems, and integration with tools like GeoServer, avoiding the need for separate spatial databases.
Neo4j Spatial is a library of utilities for Neo4j that faciliates the enabling of spatial operations on data. In particular you can add spatial indexes to already located data, and perform spatial operations on the data like searching for data within specified regions or within a specified distance of a point of interest.
Supports multiple geometry encoders like WKT, WKB, and native Neo4j Points, allowing users to model geographic data in various ways as per the README's concept overview.
Integrates with GeoTools to support various Coordinate Reference Systems (CRS) within layers, enabling handling of diverse geographic data formats.
Includes an RTree index for fast searches and supports a wide range of spatial queries such as within distance, intersect, and contains, as detailed in the Index and Querying section.
Can be embedded in GIS tools like uDig and GeoServer via plugins, bridging graph databases with existing GIS ecosystems, as mentioned in the philosophy and examples.
Requires manual JAR installation, separate plugins for OpenStreetMap support, and configuration edits in neo4j.conf, making deployment non-trivial compared to drop-in solutions.
Defaults to unrestricted procedures (dbms.security.procedures.unrestricted=spatial.*), which the README admits could bypass security models, posing potential risks in production environments.
The README notes that procedures documentation is not yet fully available, and GeoServer integration is not regularly tested, leading to potential compatibility issues and a steeper learning curve.
Relies on an in-graph RTree index which may not scale as efficiently as dedicated spatial databases for very large datasets, and the OSM importer requires batch-inserter phases, adding complexity.
Gephi - The Open Graph Viz Platform
[RETIRED] Neo4j graph database driver (REST API client) for Node.js
ATTENTION: This repository is a clone of https://gitlab.structr.com/structr/structr. All development/issue tracking has moved there. | Structr is an integrated open-source low-code development and runtime environment that uses a graph database (Neo4j).
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.