Overview
What is Neo4j?
Neo4j is an open source embeddable graph database developed by Neo Technologies based in San Mateo, California with an office in Sweden.
Look in a different way if you need scale - this is not suitable
To Neo4J or not to Neo4J? Neo4J all the way!
Neo4j : Good option for small dataset with API support
Neo4j, best graph database out there!
Best graph database with simple REST API and rich querying capabilities!
Where graph data modeling shines using Neo4j
High performance, great support, easy to extend functionality
Are you ready for the best Graph Database in town? :)
Neo4j: Connecting the dots for graph data
Pricing
Aura Professional
$65
Community Edition
Free
Enterprise Edition
Contact Sales
Entry-level set up fee?
- No setup fee
Offerings
- Free Trial
- Free/Freemium Version
- Premium Consulting/Integration Services
Starting price (does not include set up fee)
- $65 per month
Product Details
- About
- Tech Details
- FAQs
What is Neo4j?
Neo4j Video
Neo4j Technical Details
Deployment Types | On-premise, Software as a Service (SaaS), Cloud, or Web-Based |
---|---|
Operating Systems | Windows, Linux, Mac |
Mobile Application | No |
Frequently Asked Questions
Comparisons
Compare with
Reviews and Ratings
(34)Community Insights
- Business Problems Solved
- Pros
- Cons
Neo4j has proven to be a valuable tool for a wide range of applications and industries. Users appreciate its efficiency in storing and retrieving data with tree relationships, making it an ideal choice as the primary database for applications. In comparison to traditional SQL databases, Neo4j outperforms in efficiently looking up nodes and their relationships. This is particularly beneficial for applications that deal with data containing multiple relationships.
One area where Neo4j excels is in persisting knowledge graphs, providing a schemaless data store that enables the discovery of relationships between entities. Its ability to improve query performance through constant-time joins and fast search and retrieval of results makes it suitable for websites that require efficient data management. Additionally, Neo4j serves as a central storage solution for managing relationships within complex datasets, offering easy data management, analysis, and reporting capabilities.
In the commercial sector, Neo4j is highly utilized to create network maps and visualize relationships between customers or end-users. This not only aids in understanding the connections between individuals but also facilitates strategic planning and decision-making. Furthermore, Neo4j's capacity to handle large databases with multiple relationships without sacrificing performance makes it an excellent choice for both research and development purposes as well as at the application level for supporting queries on extensive datasets. Overall, Neo4j's versatility and efficiency make it a powerful tool for various use cases across industries.
Fast and Efficient Performance: Many users have praised Neo4j for its extremely fast performance, allowing for quick processing of queries and efficient handling of large datasets. The software's ability to handle complex tasks without any performance issues has been highlighted by multiple reviewers.
Intuitive Query Language: Reviewers have appreciated the intuitive and easy-to-use query language, Cypher, which makes it simple to write and execute queries in Neo4j. This mature query language offers rich features and is capable of effectively handling a wide range of problems, making it a preferred choice for many users.
Flexible Integration Options: Neo4j's support for APIs in various programming languages such as Java, Python, PHP, and NodeJS has been highly valued by users. This flexibility allows for seamless integration with different systems and provides ease of use when working with external applications or services.
Scaling Challenges: Some users have found it challenging to horizontally scale Neo4j and have not been able to find a viable solution for this issue.
Limited Integration with Other APIs: Several users have mentioned that Neo4j does not integrate well with other open source APIs like Blueprint, requiring the use of its own native API instead.
Lack of Built-in Visual Tool: Many users expressed a desire for a built-in visual tool within Neo4j to view data, rather than relying on third-party tools.
Attribute Ratings
Reviews
(1-9 of 9)So - if you need scaling, think twice.
- Graph traverse.
- Scaling and clustering.
- Transactions limitations.
- Performance on millions of data.
- Backup and restore.
Big data sets - hundreds of millions - look another way.
To Neo4J or not to Neo4J? Neo4J all the way!
- Show relationships between different data points
- Visualize network maps
- Show stronger influencers
- Be quicker at processing data
- Have less lagging when interacting with the network map
- Be able share with other users on a server
- It's very efficient on large datasets to support the multiple relations between the nodes.
- Inserting or updating any node or relation is also very easy through the UI or a script
- Provides very good graphical representation to analyse or present a dataset
- Very good interactive UI for analysis of any dataset
- Though the performance is good on a small dataset it requires a well configured server for a large dataset
- Also graphical representation for less complex dataset is good but for complex dataset in which more than 10 relation possible graphs are not good
- Also the interactive UI for a complex dataset is little bit complex
Neo4j, best graph database out there!
- Easy way to query data.
- Easy way to insert and store relationships.
- Easy to visualize data in Neo4j browser.
- Easy to learn.
- Sometimes hard to visualize complex data analyses.
- Tough to see space used.
- Tough to allocate memory or other configurations.
- Mature Query language, I found Cypher QL to be mature in handling all sorts of problems we throw at it. Its expressive enough to be intuitive while providing rich features for various scenarios.
- Native support for REST API, that makes interacting with Neo4J intuitive and easy.
- Support for Procedures in Java, procedures are custom code that could be added to the Neo4J to write custom querying of data. The best part about the procedures is it could be invoked using the REST API. This allows us to overcome any shortcomings from their Cypher query language.
- Nice UI and interface for executing the Query and visualizing the response.
- UI access controlled by User credentials allows for neat access controls.
- Awesome free community edition for small-scale projects.
- Support for language based libraries. Currently, Neo4J only supports Java-based libraries. We used node and found issues with documentation and support for this library. It helps if Neo4J supports libraries in popular languages.
- Support for triggers, that's one of the neat features of Postgres and other traditional SQL databases.
- Support for indexes for data lookup. Looking up multiple nodes information using Neo4J is not very efficient, it is more optimized for looking up relationships between nodes. So adding that support would be very useful.
It's less appropriate for any other data structure other than Graph data. So as with any DB, evaluate the data structure and query and if the querying revolves around relationships, then Neo4J is a fit. If there is more need for looking up individual nodes and their associated information, Neo4J might not be the most efficient solution in the market.
Where graph data modeling shines using Neo4j
- When joins are a common in a relational store, switching to Neo4j is better
- When pattern matching and surfacing interesting insights is the goal, neo4j's cypher is pretty powerful
- When schema is not completely known beforehand and needs to be evolved with time
- Better support for aggregation queries
- Drivers for Spark where ML or more computationally heavy jobs are to be performed
- Native support for complex properties for nodes and relationships
- When pattern matching in data is crucial
- When data exploration is common query pattern
- When a graph algorithm solves the problem better at scale
- When evolving schema is important
- When constant time joins in a relational database are common
- When schemaless transaction support is required
- When thinking in patterns is a more common way to derive insights from the data
- Very quick to get our project up and running (prototype built in less than 3 months).
- No performance issues even for very large amounts of data, and extremely quick search response time. No need to worry about problems for users of our platform.
- Always easy to extend functionality – Neo4j helps us accelerate our company development.
- Our developer team is very happy with the functionalities provided by Neo4j.
- Neo4j is extremely fast.
- Neo4j has its own query language CYPHER which is very intuitive and easy to use.
- Neo4j supports API in almost every language like Java, Python, PHP, NodeJS, etc.
- One of the hardest challenges that Neo4j had to solve was the horizontal scaling problem. I am not updated on recent developments, but at the time of my use, I couldn't find a viable solution.
- Neo4j does not play with other open source APIs like Blueprint. You have to use the native Neo4j API.
- There wasn't a visual tool to see your data. Of course, third party tools are always available, but I would have loved something which came with the Neo4j bundle. I love that Docker comes bundled with Kitematic, so it's not wrong to hope that Neo4j could also ship with some default visualization software.
But if you try and use it without a use case, you are in for a rough ride. It is hard to switch from a relational or JSON like data structure to a graph one. You wouldn't have access to all the joins and tables (at least not in the traditional sense).
Neo4j: Connecting the dots for graph data
It's not a general data storage solution, but for applications where you can about the graph or network nature of the data it excels.
- It's very easy to install.
- The built in web interface is incredibly useful. It enables you to quickly test out queries and visualize the results.
- Third-party libraries/APIs are well represented. CYPHER isn't actually that hard to write directly, either.
- It would be nice to have some concept of namespaces, or some way of roughly making a single instance multi-tenant. It'd be nice to make sandboxing easier.
- Automatic backups could be improved.