External reviews

External reviews are not included in the AWS star rating for the product.
NEO4J graphs database FTW
What do you like best about the product?
Great community, awesome in city meetups. The language is really simple compared to other data languages. Once you get into graphs, you need a framework that can express your thoughts easily. The neo4j graph language is fairly easy to understand and there are a LOT of toolkits available to map it to your environment. (graphs)-[:ARE]->(everywhere)
What do you dislike about the product?
I wish there was a vis tool to help learn the language. Although I said it's easy, I should have said it is the easiest. Without an instructor like at the city meetups, it is probably tough to learn it over a weekend. But WAY easier than other systems. At least you don't need to install java or some other crazy dependency. :)
What problems is the product solving and how is that benefiting you?
Graphs help define distances between relationships of entities. I was working on analysing cyber attacks to determine "strike" distance for a given attack against a given environment.
Recommendations to others considering the product:
Use neo4j, go to a city meetup.
LEARN graph concepts first. Do not try and stick RDBMS ideas and concepts or use cases into a graph.
graph is a special tool to apply node edge math. not a data store best suited for record keeping (USUALLY)
obviously your milage will very depending on your use case. But my advice to managers is to know if you have the right use case for this kind of database, e.g. distance - So if you can transform your data into a topology and your question can be phrased in a closeness / distance way, then you will be very successful.
LEARN graph concepts first. Do not try and stick RDBMS ideas and concepts or use cases into a graph.
graph is a special tool to apply node edge math. not a data store best suited for record keeping (USUALLY)
obviously your milage will very depending on your use case. But my advice to managers is to know if you have the right use case for this kind of database, e.g. distance - So if you can transform your data into a topology and your question can be phrased in a closeness / distance way, then you will be very successful.
- Leave a Comment |
- Mark review as helpful
Graph analysis with Neo4J
What do you like best about the product?
Neo4j is the leader in the graph databases solutions. Its initial release was in 2007 and today it must be the first solution if you want to do serious things with graphs and machine learning using very optimized algorithms. It's very polished in many features, including their web UI which is awesome. Cypher is also an awesome query language that gives "out-of-the-box" many algorithms that you'll usually have to do manually in Gremlin.
What do you dislike about the product?
Its licensing is GPL3 and their "Enterprise" edition is quite expensive. Community Edition (free) has lot less pro features than enterprise but usually you won't need them in "small" projects. Its scalability is also not specially friendly forcing you a master-slave with a load balancer. Cypher, althought very powerful, is a new query language to learn and that takes some time to master.
What problems is the product solving and how is that benefiting you?
Neo4J is specially good for rapid queries, graph analysis, sentiment analysis, prediction and to "make triangles" in general. We use it for a dependency graph and work flawlessly but we finally give a try to OrientDB to gain some know-how and make a comparison. Today we stay with Neo4j.
Recommendations to others considering the product:
The three players today are Neo4j, OrientDB and TitanDB. I would start with Neo4j as it's the one that has more tutorials and videos on internet. Then I would give a try to OrientDB after a while with Neo4j, just to know your options. Finally, if you really have a huge amount of data, try TitanDB from the beginning (deployment is complex).
Very interesting library with good support
What do you like best about the product?
The dashboard interface is really nice. Really user friendly to write Cypher queries to retrieve graph subsets. The graph is also made interactive and this helps easy presentation.
What do you dislike about the product?
There could be more flexible implementations of algorithms in the library. This is possible, but usually with the loss of readability.
What problems is the product solving and how is that benefiting you?
I was trying to compare two huge xml files. Initially I tried a DOM parser. But comparing files of the size >1GB eats up my memory and would never work. I did not want to introduce the overhead of a relational database. Using neo4j, I was able to create a library which transforms an xml to a graph in neo4j. This helps traversal and retrieval
Recommendations to others considering the product:
Just play around with the interface, the bouncing nodes and relationships. This is the easiest way to get familiar with Cypher.
Understand graph algorithms before attempting to use the built in methods in neo4j. This will save a lot of time as it is difficult to map the interfaces with the familiar algorithms.
Understand graph algorithms before attempting to use the built in methods in neo4j. This will save a lot of time as it is difficult to map the interfaces with the familiar algorithms.
Using Neo4j for development of a new database system
What do you like best about the product?
The well-designed concepts and implementation of Neo4j makes it easy to model the domain data I had. It also turned to be easier to develop the data model using a graph database than an SQL database,. Oftentimes, SQL database schema become brittle and hard to modify after a certain level of complexity. I did not experience this problem with Neo4j. The Cypher query language took a little time to figure out, but in the end turned out to be powerful and easy to use.
What do you dislike about the product?
With the current implementation, one Neo4j server has one and only one data space. For use cases where one has two or more distinct data domains, one would sometimes be able to use one single server for more than one data space. It is of course possible to work around this in different ways, but that is messy.
What problems is the product solving and how is that benefiting you?
I have mostly tried out Neo4j in a hobby project involving authors, books, articles, an the critique and influence relations between them. The modelling of this domain was easy, almost trivial in neo4j. This data creates very dense relationship graphs, and having to use I have sketched several other more work-related projects, but have not yet been able to spend substantial effort on them.
Recommendations to others considering the product:
If you have densely connected data, use Neo4j. If you are experimenting with different conceptual models of your data, Neo4j is easier to work with than SQL databases.
Neo4j allows native elegant graph solutions for tasks which require heavyweight & costly SQL magic
What do you like best about the product?
RDBMS are now the de-facto industry standard and they shine in calculations through BIG arrays of data packed into rectangular tables (consider mega- hyper-Excel on steroids). But neither real world nor business logic is rectangular by their nature. The World consists of flexible structures like lists, like trees (be it a plant, or organisational structure, or tree of possible decisions), like networks and lace, or - what a horror! - like fractals. RDBMS, with its tabular rectangular nature, is able to emulate these with its tables - but it requires deep and complex programmatical magic, which also involve complexity, computational and human resources, and... software errors.
Being a native graph database, Neo4j allows you to reflect complex real-world graph structures of entities and their relationships in an easy and natural way, close to 1:1 mapping - and thus, avoid bulky emulation of ethereal spiderweb structures with heavy rectangular bricks made of SQL. This allows you to make your systems faster, more responsive and smarter - because they reflect the reality better. Also, graph data model is much agiler than relational and tolerates many real-world conditions which RDBMS can not.
Using Neo4j since 2013 I confirm all the above myself. It is perfectly suitable for being a kernel for enterprise Master Data Management, integrating different business systems around it. Neo4j is perfectly suitable for modern microservice architectures of enterprise solutions, this technology is also native to it.
And the price-performance ratio is impressive. Neo4j is very, very fast, and (with Enterprise license) it smoothly scales horizontally (you also get HA as a bonus). Databases scaling a billion of nodes and several billions of relationships are perfectly realizable (I personally have used a database of about 200 million nodes and Neo4j scale extremely well - it's performance does not depend on the size of the database, only diameter of the graph really matters).
What captivated me the most is how easy and natural graph technology allows you model complex realities and discover non-obvious interconnections and relationships between the entities, together with hidden patterns of facts. OLAP cubes too are graph structures. after all.
Technology is new - but the learning curve is not too steep, as soon as you catch up with this new, different graph attitude. Also online support from the community and directly from Neo4j team members makes learning Neo4j a fascinating and pleasant experience.
Being a native graph database, Neo4j allows you to reflect complex real-world graph structures of entities and their relationships in an easy and natural way, close to 1:1 mapping - and thus, avoid bulky emulation of ethereal spiderweb structures with heavy rectangular bricks made of SQL. This allows you to make your systems faster, more responsive and smarter - because they reflect the reality better. Also, graph data model is much agiler than relational and tolerates many real-world conditions which RDBMS can not.
Using Neo4j since 2013 I confirm all the above myself. It is perfectly suitable for being a kernel for enterprise Master Data Management, integrating different business systems around it. Neo4j is perfectly suitable for modern microservice architectures of enterprise solutions, this technology is also native to it.
And the price-performance ratio is impressive. Neo4j is very, very fast, and (with Enterprise license) it smoothly scales horizontally (you also get HA as a bonus). Databases scaling a billion of nodes and several billions of relationships are perfectly realizable (I personally have used a database of about 200 million nodes and Neo4j scale extremely well - it's performance does not depend on the size of the database, only diameter of the graph really matters).
What captivated me the most is how easy and natural graph technology allows you model complex realities and discover non-obvious interconnections and relationships between the entities, together with hidden patterns of facts. OLAP cubes too are graph structures. after all.
Technology is new - but the learning curve is not too steep, as soon as you catch up with this new, different graph attitude. Also online support from the community and directly from Neo4j team members makes learning Neo4j a fascinating and pleasant experience.
What do you dislike about the product?
Neo4j is industrial grade, commercial quality product. But it is at the stage of rapid development just now, upcoming version 3.0.0 promises new features and performance boosts. Also the graph query language - Cypher - is under extensive development, new "sugar" is being added to it together with performance enhancements. So it may be hard to choose which version to take for you project - more mature with fewer features, or the newest and powerful, but not proven bullet-proof yet?
Anyway, I can not call it a disadvantage, you just need to think two steps ahead, not one.
Anyway, I can not call it a disadvantage, you just need to think two steps ahead, not one.
What problems is the product solving and how is that benefiting you?
In my projects, Neo4j was used as a master storage for business data migrated from legacy inherited systems, including CRM data, product catalog, provisioning, and billing. Observed benefits were:
- Neo4j allows easy data model reengineering, which brings new business value to inherited datasets, and gives abilities to interrelate previously isolated chunks of data,
- makes software development faster and easier - it eliminates the so-called Object-Relation Impedance which is typical to systems where RDBMS acts as a persistent storage of complex business data objects. Bulky and unwieldy and cumbersome Object-Relational-Mapping (ORM) persistence software layer (which in fact does not create business value) is replaced with lightweight and natural Object-Graph-Mapping (OGM) and this and it saves a lot of man-hours of development with better business results,
- Neo4j and graph data model tolerates "dirty data" and non-critical software errors much better than RDBMS; it is perfectly suited for Agile development process when requirement changes are popping out almost daily - but with graph, these changes do not demand re-engineering of the whole data model, only isolated parts of graph are affected and you can easily avoid crashing your previous development efforts.
- Neo4j allows easy data model reengineering, which brings new business value to inherited datasets, and gives abilities to interrelate previously isolated chunks of data,
- makes software development faster and easier - it eliminates the so-called Object-Relation Impedance which is typical to systems where RDBMS acts as a persistent storage of complex business data objects. Bulky and unwieldy and cumbersome Object-Relational-Mapping (ORM) persistence software layer (which in fact does not create business value) is replaced with lightweight and natural Object-Graph-Mapping (OGM) and this and it saves a lot of man-hours of development with better business results,
- Neo4j and graph data model tolerates "dirty data" and non-critical software errors much better than RDBMS; it is perfectly suited for Agile development process when requirement changes are popping out almost daily - but with graph, these changes do not demand re-engineering of the whole data model, only isolated parts of graph are affected and you can easily avoid crashing your previous development efforts.
Recommendations to others considering the product:
You need 1-2 men who are not afraid to learn and give them some time for experiments, things will start rolling forward easily then.
Awesome graphDB engine!
What do you like best about the product?
The browser based query and admin interface, which is very intuitive to use
What do you dislike about the product?
Very little, as all the features are well documented.
What problems is the product solving and how is that benefiting you?
Building recommendation engines. The nature of graphs which is at the heart of Neo4j makes building these systems a breeze
Recommendations to others considering the product:
If you don't use it, you might not know other use cases Neo4j might help you implement
A solid graph database
What do you like best about the product?
Neo4j provides an intuitive way to model real-world entities in a completely logical way.
What do you dislike about the product?
Given that it's still a fairly new database, community support is a little sparse.
What problems is the product solving and how is that benefiting you?
Modeling relationships between real world entities.
Recommendations to others considering the product:
Make sure you've got a way to control access to neo4j before deployment.
It's good but could be improved
What do you like best about the product?
The speed and flexibility of Neo4j are great, we used it to implement a flexible permission system, and it works great. They share a free book on their site too.
What do you dislike about the product?
No concept of a database like in relational or document databases, Neo4j handles only a single graph instance, which makes local development harder.
What problems is the product solving and how is that benefiting you?
We've implemented a flexible permission system based on roles and individual needs for users. Doing great for now, in production for 3 months, we had no issues with it.
Recommendations to others considering the product:
It's fast and stable, it's easy entry, didn't really need to use their support so I can't tell about their quality of service.
A small but fast data inferencing engine
What do you like best about the product?
The inbuilt tutorials that got me started in less than 15 minutes. The Cypher language is not that hard to learn and understand as such, but a little recipe book with some real-world problem-solutions on the same could help a lot.
What do you dislike about the product?
Not many ways inbuilt, to import data from various types of formats and sources especially JSON. You have to write your own program talking to their rest api, in order to upload a dataset that you already have in more useable format i.e JSON
What problems is the product solving and how is that benefiting you?
I can't state exact business problem, but the abstract of that problem is to find suggestions based on various geographical & demographical factors for a given person, primarily about Travel. The benefits that are there with usage of this product is that, the time taken to bring up a working solution got shortened by a huge factor. We were able to test our algorithms and the output based on business requirements fairly well.
Recommendations to others considering the product:
Only use this, if you have to find interconnected relationship in your data. Though this alone might not be as useful as it can be with combination of a regular RDBMS software or a modern ODBMS. In short, it entirely depends on your requirement. This is a quick solution for an urgent need of analysing connected data
Using Neo4J to create webistes
What do you like best about the product?
The easy to relate anything to anything combined with the fact that it allows modelling data as it appears in the real world. This proves to be very powerful when building websites which contain lots of interconnected and related data.
You will find that the data model and the navigation model overlap and interconnect. Creating views which are connected to other views and show related content become natural building blocks to unlock the data.
You will find that the data model and the navigation model overlap and interconnect. Creating views which are connected to other views and show related content become natural building blocks to unlock the data.
What do you dislike about the product?
There is no easy way (other than running another instance) to create a database per customer/project. It would be nice to separate graphs per account which is common in other database systems. This would allow for many websites running on the same Neo4J instance without mixing their data.
Currently the only way to do it is to run an instance per project, which can be on the same machine using different port settings but maintaining that is more a nuisance than simply maintain one instance used by multiple (logically separated) users.
Currently the only way to do it is to run an instance per project, which can be on the same machine using different port settings but maintaining that is more a nuisance than simply maintain one instance used by multiple (logically separated) users.
What problems is the product solving and how is that benefiting you?
Creating web sites with lots of content which is all related. Building navigation and explorative interfaces becomes very easy once your data is in a graph.
Recommendations to others considering the product:
See if Cypher fits in your head, once you get the grasp of it try to model some stuff you always wanted to do but never could. Now writes some queries for that model. Be amazed and never look back if possible.
showing 111 - 120