Neo4j : Graph Database
- NoSQL graph database
- Usecases : include matchmaking, network management, software analytics, scientific research, routing, organizational and project management, recommendations, social networks, and more.
- Neo4j implements the Property Graph Model efficiently down to the storage level.
- Neo4j provides full database characteristics including ACID transaction compliance, cluster support, and runtime failover, making it suitable to use graph data in production scenarios.
- Used for connected DB
- Easy traversing of data( Ex.Google+ , Facebook linkedin etc)
- These applications contain lots of structured, semi-structured and unstructured connected data. It is not easy to represent this kind of unstructured connected data in RDBMS Databases.
- Graph DBMS stores this kind of more connected data very easily. It stores each Profile data as a Node internally, it’s connected Nodes with adjacent nodes and they connect each other with Relationships.
Property Graph Model in Graph Database
- The property graph contains connected entities (the nodes) which can hold any number of attributes (key-value-pairs). Nodes can be tagged with labels representing their different roles in your domain. In addition to contextualizing node and relationship properties, labels may also serve to attach metadata—index or constraint information—to certain nodes.
- Relationships provide directed, named semantically relevant connections between two node-entities. A relationship always has a direction, a type, a start node, and an end node.
- Relationships have quantitative properties, such as weights, costs, distances, ratings, time intervals, or strengths.
Graph entities in Neo4j :
Nodes : Acts as row
Label : Acts as table
Relationships : Acts as joins
Properties : Acts as column name
Note : Nodes are directed but relationships can be navigated.
Properties of Graph database:
- No broken links
- A relationship always has a start and end node, you can’t delete a node without also deleting its associated relationships.
- You can also always assume that an existing relationship will never point to a non-existing endpoint.
Installation steps of neo4j for windows:
- Download .exe or .zip file.
- Install Neo4j from official website.
- Run its exe file.
- Set DB location for neo4j and start server.
- You can access neo4j in browser using link : http://localhost:7474/browser/ with default
- User and Password:neo4j
Note : You need to set new password and then again you can connect to Neo4j.
To install neo4j on ubuntu refer below links :
Following are some Cipher Query Language syntax used in Neo4j :
Following are some neo4j cypher queries compared with mysql queries for better understanding :
Figure : 2
Hope you will get how cypher queries differs from mysql.