An SQL database is very flexible since it does not pre compute how the tables are related (joined). This flexibility comes at a price: you have to fit the domain model into tables, making synthetic constructs in the mapping layer necessary navigating relationships using SQL join operation can be very slow the mental model of your domain is lost when projecting it into tables and joins A graph... [read more]
An SQL database is very flexible since it does not pre compute how the tables are related (joined). This flexibility comes at a price: you have to fit the domain model into tables, making synthetic constructs in the mapping layer necessary navigating relationships using SQL join operation can be very slow the mental model of your domain is lost when projecting it into tables and joins A graph database is a great alternative when you need to navigate relationship deep or fast. Also, it does not have the impedance mismatch problem of an SQL database. In Neo4j it’s very natural to map objects and classes to a graph. This permits you to model the domain more accurately and provide more useful interaction with the data.
With Neo4j you can do things that are very hard or totally impossible with an SQL database, examples: recommendation algorithms,geospatial analysis and deep hierarchies modeling like file systems or product trees.
In this talk we will give an overview of the different ways of using neo4j: the Rest API, query languages and the native JRuby wrapper. We will show how neo4j can be used to solve classic graph problems like an recommendation algorithm. Furthermore, you will also see how natural and elegant the domain model can be expressed in code ...