Neo4j vs PostGIS: What are the differences?
Neo4j: The world’s leading Graph Database. Neo4j stores data in nodes connected by directed, typed relationships with properties on both, also known as a Property Graph. It is a high performance graph store with all the features expected of a mature and robust database, like a friendly query language and ACID transactions; PostGIS: Open source spatial database. PostGIS is a spatial database extender for PostgreSQL object-relational database. It adds support for geographic objects allowing location queries to be run in SQL.
Neo4j belongs to "Graph Databases" category of the tech stack, while PostGIS can be primarily classified under "Database Tools".
Some of the features offered by Neo4j are:
- intuitive, using a graph model for data representation
- reliable, with full ACID transactions
- durable and fast, using a custom disk-based, native storage engine
On the other hand, PostGIS provides the following key features:
- Processing and analytic functions for both vector and raster data for splicing, dicing, morphing, reclassifying, and collecting/unioning with the power of SQL
- raster map algebra for fine-grained raster processing
- Spatial reprojection SQL callable functions for both vector and raster data
"Cypher – graph query language" is the top reason why over 55 developers like Neo4j, while over 22 developers mention "De facto GIS in SQL" as the leading cause for choosing PostGIS.
Neo4j and PostGIS are both open source tools. It seems that Neo4j with 6.56K GitHub stars and 1.62K forks on GitHub has more adoption than PostGIS with 636 GitHub stars and 242 GitHub forks.
According to the StackShare community, Neo4j has a broader approval, being mentioned in 114 company stacks & 47 developers stacks; compared to PostGIS, which is listed in 53 company stacks and 14 developer stacks.
What is Neo4j?
What is PostGIS?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using PostGIS?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
Neo4j is a great graph database, but it's also a great tool for any application in general. The data model is easy to figure out and is flexible to use as your application changes in the early stages. Further, there are constraints you can add to get data consistency once you have a firm data model. The built in admin tool makes it easy to review the data, see how your application is being used, and has a great query plan visualizer for when you want to optimize for performance.
To be evaluated
- + Leading Graph DB provider, large community
- + Rich querying language
- + Tools to visualise and interact visually with results
Possible alternative to triple store.
- does it support full text search?
- does it support some sort of inference or derived relationships (e.g. transitivity, symmetry)?
- does it support faceted search?
PostGIS makes it easy (and fast) to do geographic queries, such as nearest-neighbor and bounding box queries.
Backend for weather forecast data that Geoserver queries to build updated weather maps