Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Modeling your RDBMS in Neo4J - Ravindra Singh (Srijan)

116 views

Published on

Graph database technology has started to transform applications in a large number of industries. In the same context, the graph is becoming the next generation of RDBMS. All your data can be managed in GraphDB. The Neo4J graph database provides out of the box feature “relationship “ structure with minutes-to-milliseconds performance.

Key-takeaways from the session:

Understanding on GraphDB and graph data model
Demonstration of RDBMS to Neo4J
Cypher - The Graph Query language
Understanding the areas where GraphDB can be fit
Graphs AI use cases

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Modeling your RDBMS in Neo4J - Ravindra Singh (Srijan)

  1. 1. Modeling your RDBMS in Neo4j ….imaging your data as a graph Ravindra Singh (@ravindrasingh01) Srijan Technologies
  2. 2. Agenda Insert your subtitle here. This is a good space for a short subtitle What is GraphDB? Properties of Graph RDBMS Graph in the architecture view Modeling RDBMS in the Graph Neo4j usecases2 3 4 5 6 7 1 Why Neo4j?
  3. 3. Graph Database is - - is a type of NoSQL database that uses graph theory to store, map and query relationships - a collection of nodes and edges - each node represents an entity (such as a person or business) - each edge represents a connection or relationship between two nodes - every node in a graph database is defined by a unique identifier What is Graph Database?
  4. 4. Properties of Graph Database Intuitiveness Speed Agility
  5. 5. Graph Example Source - whatis.techtarget.com
  6. 6. Why ? First Mover Advantage is Connecting Everyone to Graphs High Performance with Native Graph Storage & Processing Biggest and Most Active Graph Community on the Planet Easy to Learn and easy to use Highly Performant Read and Write Scalability, Without Compromise Whiteboard-frie ndly Data Modeling to Simplify the Development Cycle Rock-Solid Reliability for Mission-Critical Prod Apps Easier than Ever to Load Your Data into Neo4j Source - https://neo4j.com/top-ten-reasons/
  7. 7. RDBMS - Traditional Relational Databases are Optimized for transactions, queries or searches. - Relational DBs are good for Static data which is well understood and structured involving discrete parts or minimal connectivity. - They can't handle Relationships well making inappropriate for real time. Demerits: - Slow Development - Poor Performance - Low Scalability - Hard to maintain
  8. 8. Graph in the Architecture View Source - https://neo4j.com/
  9. 9. Modeling RDBMS in Neo4j! relational databases are not well-suited for today’s highly connected data, because they don’t robustly store relationships between data elements. - neo4j.com
  10. 10. Understand your RDBMS Model
  11. 11. Design a Graph Model Country Node State Node City Node Location Node Data Node Data Node Data Node Data Node AREA STATE POLLUTIONDATA CITY - Nodes represent entities - Edges represent relationships - Connections between data are explored - Faster for associative data sets
  12. 12. Cypher Query Language Cypher is the declarative Query language to graphs as SQL to the relational databases. Its key principles and capabilities are: - Create, update, and remove nodes, relationships, labels, and properties. - Pattern matching for nodes and relationship in the graph, to extract information or modify the data. - Manages indexes and constraints. - Basically it emphasizes on WHAT to find rather HOW to find. Read more on - https://neo4j.com/docs/developer-manual/current/cypher/
  13. 13. Cypher Query Language Source - https://neo4j.com
  14. 14. Export data from SQL to CSV There are multiple ways to do import data into Neo4j but we are choosing csv import Modeling in Neo4j | Data Export from SQL 1 Import from CSV 2 Import from API 2 Import from Code (Py2neo in python)
  15. 15. Modeling in Neo4j | Import to Neo4j USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM "file:/pollution_data.csv" AS row CREATE (:pollution_data { name: row.pollution_type + ' = '+ row.avg_pollution , avg_pollution: row.avg_pollution, city_id: row.last_updated_on, pollution_id: row.pollution_id, station_id: row.station_id} );
  16. 16. Modeling in Neo4j | Import to Neo4j
  17. 17. Modeling in Neo4j | Create Relationship MATCH(a:pollution_data), (b:pollution) where a.pollution_id=b.pollution_id CREATE (a)-[r:POLLUTION]->(b) return r MATCH(a:pollution_data), (b:stations) where a.station_id=b.station_id CREATE (a)<-[r:POLLUTION_AT_STATION]-(b) return r
  18. 18. Modeling in Neo4j | Visualization MATCH p=(a:country)-[r]-(b:states)-[:CITY]->(c:city)-[:AREA]-(d:s tations)-[:POLLUTION_AT_STATION]-(e:pollution_data) return p
  19. 19. Modeling in Neo4j | Visualization
  20. 20. Modeling in Neo4j | Visualization| Well Filtered
  21. 21. Neo4J | Use Case 1 Neo4j for AI based chatbots for answering intelligently. 2 Social Network Graph 3 Knowledge Graph (CMS or Workflow or tracking who did what on whom) Note - For more uscases visit - https://neo4j.com/use-cases/
  22. 22. THANK YOU WEBSITE www.srijan.net EMAIL business@srijan.net TELEPHONE +91 11 40680241 COMPANY HEADQUARTERS 7E, Vandana Building, 11-Tolstoy Road, Connaught Place, New Delhi - 110001, INDIA

×