Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are the advantages of using Spring Data neo4j over just using neo4j directly?

I am brand new to NOSQL databases (or any kind of database) and I need to build a graph database in Java. I have never used SpringSource before either. Will using Spring Data neo4j make the process of creating a graph database easier or will it complicate things? Should I just try to work with neo4j directly? Thank you very much.

like image 463
user1056805 Avatar asked Apr 20 '12 18:04

user1056805


People also ask

What is the advantage of Neo4j?

Neo4j AdvantagesIt is very easy and faster to retrieve/traversal/navigation of more Connected data. It represents semi-structured data very easily. Neo4j CQL query language commands are in humane readable format and very easy to learn. It uses simple and powerful data model.

What is Spring data Neo4j?

Spring Data Neo4j, part of the larger Spring Data family, provides easy configuration and access to Neo4j Graph Databases from Spring applications. It offers three different levels of abstraction to access the store. The Neo4j client, the Neo4j Template, and the Neo4j Repositories.

What protocol does a Java application use to access the Neo4j database?

The Neo4j Java driver is officially supported by Neo4j and connects to the database using the binary protocol.

What is the use of Neo4j?

Neo4j is a graph database. A graph database, instead of having rows and columns has nodes edges and properties. It is more suitable for certain big data and analytics applications than row and column databases or free-form JSON document databases for many use cases. A graph database is used to represent relationships.


1 Answers

It depends on your use-case. SDN is a good fit when you are already working in a Spring Environment and have a rich domain model which you want to map in the graph. SDN is a good fit in all the cases where you mostly work with a results of a few hundred or thousand POJO objects which have to interact with existing libraries, ui-layers or other application parts that deal with POJO's.

If you're not working in a Spring environment it is up to you, it adds some complexity in setup and dependencies. There are also other solutions like jo4neo or Tinkerpop Frames that work on top of Neo4j.

It is a slower than the native Neo4j API due to the indirection introduced.

For highest performance you can always fall back onto the Neo4j API.

In general the Core-API is fastest, a good thing in between is the cypher-query language which is very expressive.

like image 167
Michael Hunger Avatar answered Sep 23 '22 11:09

Michael Hunger