Practical introduction to Graph DBs, Graph Traversals in Python
Srimathi H (~srimathi) |
Graph databases are purpose-built to store and navigate relationships. Graph databases have advantages over relational databases for certain use cases—including social networking, recommendation engines, and fraud detection—when you want to create relationships between data and quickly query these relationships. There are a number of challenges to building these types of applications using a relational database. It requires you to have multiple tables with multiple foreign keys. The SQL queries to navigate this data require nested queries and complex joins that quickly become unwieldy. And the queries don't perform well as your data size grows over time.
In this talk, we will explore ways for a graph in a graph database (MovieLens dataset) that can be traversed along specific edge types, or across the entire graph. Apache TinkerPop™ is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP). Gremlin is the graph traversal language of TinkerPop. It can be described as a functional, data-flow language that enables users to succinctly express complex traversals on (or queries of) their application’s property graph. Gremlin-Python implements Gremlin within the Python language. We will cover example queries and understand Python helps graph traversals to be succinct.
The talk itself will have the following sections: 1. What are Graph Databases 2. Property Graph - with Example Dataset 3. Tinkerpop & Gremlin 4. Patterns and writing queries using Python - Demonstrate some complicated queries 5. Graph DB Uses
Basics of Python
Srimathi Harinarayanan is a Solution Consultant at Sahaj Software Solutions. She has close to 12+ years of experience building scalable server side solutions as well as client applications based off browsers and mobiles. Prior to joining Sahaj, she has worked for product companies like Oracle and Dell as well as mid-sized consulting firms. In this talk, she plans to share her experience of modeling the data model as a knowledge graph for a real-life problem and learnings. She is a member/speaker at PyLadies Chennai Chapter meets and this is my first submission to PyCon India.