{ "cells": [ { "cell_type": "markdown", "id": "eab505f3", "metadata": {}, "source": [ "Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n", "SPDX-License-Identifier: Apache-2.0\n", "\n", "# Learning openCypher - Variable Length Path Queries\n", "\n", "This notebook is the second in a series of notebooks that walk through how to write queries using openCypher. In this notebook, we will examine the basics of how to perform variable length path queries in openCypher. \n", "\n", "\n", "This notebook will build upon the items convered in the notebook \"01-Basic-Read-Queries\". If you have not loaded the data from those notebooks please follow the steps in the [Getting Started](#Getting-Started) section below. If you have loaded the data then you can jump ahead to the [Setting up the visualizations](#Setting-up-the-visualizations) section.\n", "\n" ] }, { "cell_type": "markdown", "id": "babcb3a8-77d8-4a58-a303-ced6dfda76be", "metadata": { "tags": [] }, "source": [ "## Getting Started \n", "\n", "For these notebooks, we will be leveraging a dataset from the book [Graph Databases in Action](https://www.manning.com/books/graph-databases-in-action?a_aid=bechberger) from Manning Publications. \n", "\n", "\n", "**Note:** These notebooks do not cover data modeling or building a data loading pipeline. If you would like a more detailed description about how this dataset is constructed and the design of the data model came from, then please read the book.\n", "\n", "To get started, the first step is to load data into the cluster. Assuming the cluster is empty, this can be accomplished by running the cell below which will load our Dining By Friends data.\n", "\n", "### Loading Data" ] }, { "cell_type": "code", "execution_count": null, "id": "2273d5e6-2769-472e-b458-7f738f9831ad", "metadata": {}, "outputs": [], "source": [ "%seed --model Property_Graph --dataset dining_by_friends --run" ] }, { "attachments": { "image-3.png": { "image/png": "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nLouOprairHQoUMHZey0adOG2ANzR9sLFy4ow8c0h/vvv18t4bqjYim6ACOjFD1sTBUEQAAEQAAEQAAESpJAv379aMGCBSTGgHwRF69CYmLiLSp069ZNfZbjM888Q7xMisQrIXEaUn788UcaMGCA8hCoC/yPGBO8bEoZBT179qSKFSvSs88+S82aNaMvv/ySJDNU3bp1VewGr0tScRymtrkdhw4dSrNnzyZJXbt27VplvEhd0YWXapHEdTRv3pwk1sNUJCZDDAvRT4yixx57TMWU8BIr4uVbpmo4ggAIgAAIgAAIgAAIgAAIFIZAXjEZHKitYiPYK6D5+/urmAoJRpCYjI0bN2bFJfzyyy8q7kHqiEhcRHJysqon8RoS1zFy5EgV9yCxEVOmTFExEyEhIRp7OlQ9acd6a5x5SvU7a9Ys9VmuS6yF3MurHDp0SI0tuprGlNgLXgKlrksMSZMmTVRsiBwlNkTqdezYUWNDQ3vxxRez2rdv317FkeQ1nm7uWSgmw6EwP0SoCwIgAAIgAAIgAAIgAALZCfC3d4flA/sbe879N/vlW84lrqJChQpZS6VuuZn5QZY4yfIqyc5kWlIltyQuo1KlSuqaeAt8fHzIYDCQZIOSZVCOjo6qBzY+lEcj+9IoyVIl9apXr67qSCarnPa+kDiPTp06Ke+IeFyCgoJu0UG8GzIHyTwlhYPXqWzZsiqDlHhmTGPKeKKjxKDYTGFPz/LBA6jX3/PNahfciLyxGQpQFARAAARAAARAAARAwNYIBAYG5quyBHpLPMbtpVq1almX/Pz8ss7F2Mheateunf2jOvf19SURU5GlWBEREaaPWUeJ6ZAix5z6EaPHZGBIPTEwpIixYzIw5PPt48m10lpgZJTWJ495gwAIgAAIgAAIgIAZCZyaO9uMvVmuq7tzikhOSyFb0d9yZMzbM4wM8/JEbyAAAiAAAiAAAiBQ6gg4uriEnpk/r9TN214mzM/PXqaCeYAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACICATgj8H6iA91Cy2yAyAAAAAElFTkSuQmCC" } }, "cell_type": "markdown", "id": "48e9a85f", "metadata": {}, "source": [ "### Looking at our graph data\n", "\n", "Now that we have loaded our data, let's take a moment to look at what our data model looks like:\n", "\n", "\n", "![image-3.png](attachment:image-3.png)\n", "\n", "\n", " \n", " \n", "\n", " \n", "
Element (Node/Edge) Counts
\n", " \n", "|Node Label|Count|\n", "|:--|:--|\n", "|review|109|\n", "|restaurant|40|\n", "|cuisine|24|\n", "|person|8|\n", "|state|2|\n", "|city|2|\n", " \n", "\n", "\n", "|Edge Label|Count|\n", "|:--|:--|\n", "|wrote|218|\n", "|about|218|\n", "|within|84|\n", "|serves|80|\n", "|friends|20|\n", "|lives|16|\n", "\n", "
\n", "\n", "This dataset represents a fictitious, but realistic, restaurant recommendation application that contains:\n", "\n", "* Users, represented by `person` nodes\n", "* Users connected to Users via `friends` edges\n", "* Restaurants and their associated information (`city`, `state`, `cusine`)\n", "* Reviews include the body and ratings\n", "* Ratings of reviews (helpful/not helpful)\n", "\n", "This application contains three main aspects to the data it collects. First, it contains a social network consisting of `person` nodes connected to other `person` nodes via a `friends` edge. Second, it contains a restaurant review aspect consisting of `restaurant` nodes, information about those restaurants (`city`/`state`/`cuisine`), and `review` nodes for that restaurant. The third, and final aspect, consists of a personalization component where a `person` can rate a `review`, which allows for better recommendations based on a person's preferences.\n", "\n", "Throughout this set of notebooks, we will leverage the different aspects of this data to highlight different fundamental types of common property graph queries, namely neighborhood traversals, hierarchies, paths, and collaborative filtering.\n", "\n", "Now let's get started." ] }, { "cell_type": "markdown", "id": "0c12469c", "metadata": {}, "source": [ "### Setting up the visualizations\n", "\n", "Run the next two cells to configure various display options for our notebook, which we will use later on to display our results in a pleasing visual way. " ] }, { "cell_type": "code", "execution_count": null, "id": "6e655017", "metadata": {}, "outputs": [], "source": [ "%%graph_notebook_vis_options\n", "{\n", " \"groups\": { \n", " \"person\": {\n", " \"color\": \"#9ac7bf\"\n", " },\n", " \"review\": {\n", " \"color\": \"#f8cecc\"\n", " },\n", " \"city\": {\n", " \"color\": \"#d5e8d4\"\n", " },\n", " \"state\": {\n", " \"color\": \"#dae8fc\"\n", " },\n", " \"review_rating\": {\n", " \"color\": \"#e1d5e7\"\n", " },\n", " \"restaurant\": {\n", " \"color\": \"#ffe6cc\"\n", " },\n", " \"cusine\": {\n", " \"color\": \"#fff2cc\"\n", " }\n", " }\n", "}" ] }, { "cell_type": "code", "execution_count": null, "id": "d5c80800", "metadata": {}, "outputs": [], "source": [ "node_labels = '{\"person\":\"first_name\",\"city\":\"name\",\"state\":\"name\",\"restaurant\":\"name\",\"cusine\":\"name\"}'" ] }, { "cell_type": "markdown", "id": "ab986dac", "metadata": {}, "source": [ "\n", "## Variable Length Paths\n", "\n", "When working with any property graph, some of the most powerful queries you can write are ones where the number of connections between a source and a target entity is not known. These types of queries are so common that property graph query languages, such as openCypher, have first class support as a key piece of the query language. In openCypher, these queries are written using a mechanism known as Variable Length Path patterns or VLPs. VLPs allow us to specify a sequence of nodes and relationships, as well as the number of times to repeat the relationship in the pattern matching syntax. \n", "\n", "In openCypher, a basic VLP query to find all nodes within 1 to 3 hops looks like:\n", "\n", "```\n", "MATCH p=(:person)-[:friends*1..3]->(:person)\n", "RETURN p\n", "```\n", "\n", "Examining this query we see that, while this looks familiar, there are a few new elements to the relationship syntax to highlight, specifically the `*1..3` portion. This portion begins with an asterisk(`*`) indicating that this is a VLP query. The next number represents the minimum length of the path, which is followed by two periods (`..`) and the maximum length of the path. \n", "\n", "While this is the basic pattern for VLP queries, there are several different variants which are shown in the table below: \n", "\n", "#### Variable Length Path Syntax\n", "\n", "| VLP Pattern|Description|\n", "|:--|:--|\n", "|`()-[*2]->()`|Find me a path containing 3 nodes and 2 edges|\n", "|`()-[*2..3]->()`|Find me a path containing a minimum of 3 nodes and 2 edges and a maximum of 4 nodes and 3 relationships|\n", "|`()-[*2..]->()`|Find me a path containing a minimum of 3 nodes and 2 edges, with no maximum|\n", "|`()-[*..2]->()`|Find me a path containing a maximum of 3 nodes and 2 edges, with no minimum|\n", "|`()-[*]->()`|Find me a path with no minimum or maximum|\n", "\n", "\n", "Now that we have a basic understanding of openCypher's VLP syntax, let's look at how this is applied to answer some common graph query patterns.\n", "\n", "### Static Length paths\n", "\n", "The simplest VLP pattern you can do in openCypher is to specify a fixed number of loops/iterations for your pattern. This is accomplished using the syntax `()-[:friends*2]->()`. Let's execute the query below to search for patterns containing 3 nodes and 2 edges." ] }, { "cell_type": "code", "execution_count": null, "id": "deabe58e", "metadata": {}, "outputs": [], "source": [ "%%oc -d $node_labels\n", "MATCH p=()-[:friends*2]->()\n", "RETURN p \n", "LIMIT 10 " ] }, { "cell_type": "markdown", "id": "4eee92c8", "metadata": {}, "source": [ "Looking at the above query, you'll notice that this seems familiar to our Friends of Friends query from the last notebook. In truth, this query can be written using either VLP syntax or as we previously learned (`MATCH p=()-[:friends]->()-[:friends]->()`). Why would you want to use VLP syntax here?\n", "\n", "The main reason you might prefer VLP syntax here is that it can provide a significantly more readable query to the user. While the queries we are currently looking at are very straightforward, as they get more complex, and the patterns being matched get longer, it can be very helpful to have a shorter, more concise query to make it easier to understand what the expectations of the query. For example, the VLP pattern:\n", "\n", "```\n", "MATCH p=()-[:friends*6]->()\n", "```\n", "Is much more understandable than the non-VLP pattern:\n", "\n", "`MATCH p=()-[:friends]->()-[:friends]->()-[:friends]->()-[:friends]->()-[:friends]->()-[:friends]->()`\n", "\n", "Even though they are functionally equivalent.\n", "\n", "### A range of lengths\n", "\n", "While the example above works on a static length of paths, sometimes we do not know the number of connections we need to traverse to answer a question. In this case, we can use the minimum and maximum range parameters of our VLP pattern to specify the range of potential connections.\n", "\n", "#### Minimum length\n", "Let's take the query from the last cell and modify it to specify only the minimum length of the pattern instead of a fixed length. We accomplish this by replacing the `*2` with a `*2..`. \n", "\n", "\n", "Execute the query below to see how many paths are connected via a minimum of 2 `friends` edges." ] }, { "cell_type": "code", "execution_count": null, "id": "168bcc76", "metadata": {}, "outputs": [], "source": [ "%%oc -d $node_labels\n", "MATCH p=()-[:friends*2..]->()\n", "RETURN p \n", "LIMIT 10 " ] }, { "cell_type": "markdown", "id": "6d36e1dd", "metadata": {}, "source": [ "#### Maximum length\n", "Now, let's modify that same query to specify only the maximum length of the pattern, by adding `*..2`. \n", "\n", "Execute the query below to see how many paths are connected via a maximum of 2 `friends` edges." ] }, { "cell_type": "code", "execution_count": null, "id": "55f2aaf9", "metadata": {}, "outputs": [], "source": [ "%%oc -d $node_labels\n", "MATCH p=()-[:friends*..2]->()\n", "RETURN p \n", "LIMIT 10 " ] }, { "cell_type": "markdown", "id": "6f5ef9ca", "metadata": {}, "source": [ "#### Minimum and Maximum length\n", "Let's combine these last 2 queries together to specify both the minimum and the maximum length of the pattern, by adding `*1..2`. Execute the query below to see how many paths are connected via a minimum of 1 `friends` edge and maximum of 2 `friends` edges.\n", " " ] }, { "cell_type": "code", "execution_count": null, "id": "1c3736ac", "metadata": {}, "outputs": [], "source": [ "%%oc -d $node_labels\n", "MATCH p=()-[:friends*1..2]->()\n", "RETURN p \n", "LIMIT 10 " ] }, { "cell_type": "markdown", "id": "df52d879", "metadata": {}, "source": [ "#### Unbounded Patterns\n", "The final way to use VLP syntax is to not specify any minimum or maximum length and instead go for an unbounded range on the pattern. This is accomplished by adding just the asterisk (`*`). \n", "\n", "\n", "**Important:** While this is a valid query, these sorts of queries tend to have a very high latency as they may traverse/touch a large portion of the graph, depending on how the graph is connected.\n", "\n", "Execute the query below to see how many paths are connected via any number of `friends` edges. " ] }, { "cell_type": "code", "execution_count": null, "id": "651a0f21", "metadata": {}, "outputs": [], "source": [ "%%oc -d $node_labels\n", "MATCH p=()-[:friends*]->()\n", "RETURN p \n", "LIMIT 10 " ] }, { "cell_type": "markdown", "id": "85de2ce8", "metadata": {}, "source": [ "## Exercises\n", "\n", "Now that we have gone through the basics of VLP queries in openCypher, it's time to put it into practice. Below are several exercises you can complete to verify your understanding of the material covered in this notebook. As practice for what you have learned, please write the openCypher queries specified below.\n", "\n", "### Exercise VLP-1 Find the friends of Dave's Friends using a VLP\n", "\n", "Using the data model above, write a query that will:\n", "\n", "* Find a `person` node(s) with a `first_name` of \"Dave\"\n", "* Find the friends of Dave (i.e. traverse the `friends` edge)\n", "* Find the friends of that person (i.e. traverse the `friends` edge)\n", "* Return the friends `first_name`\n", "\n", "The correct answer is three results: \"Hank\", \"Denise\", \"Paras\"" ] }, { "cell_type": "code", "execution_count": null, "id": "3d1cc0f0", "metadata": {}, "outputs": [], "source": [ "%%oc -d $node_labels\n" ] }, { "cell_type": "markdown", "id": "6521e66f", "metadata": {}, "source": [ "### Exercise VLP-2 Find all `person` nodes connected to Dave\n", "\n", "Starting at a single node and trying to find all connected children (a.k.a. root to leaf) or trying to find the parent of any child node (a.k.a leaf to root) are two very common hierarchical graph query patterns. Commonly, these queries supported bill of materials, information organization, or compliance use cases.\n", "\n", "In this exercise, we will be applying that same query pattern to find the hierarchy of people within our social network. We'll accomplish this vby writing a \"root to leaf\" type query where the root node is our `Dave` node in the social network.\n", "\n", "Using the data model above, write a query that will:\n", "\n", "* Find a `person` node(s) with a `first_name` of \"Dave\"\n", "* Keep traversing the outgoing `friends` edge until there are no more outgoing `friends` edges\n", "* Return all the paths\n", "\n", "The correct answer is nine results" ] }, { "cell_type": "code", "execution_count": null, "id": "10b4aa1f", "metadata": {}, "outputs": [], "source": [ "%%oc -d $node_labels\n" ] }, { "cell_type": "markdown", "id": "bda5cbf3", "metadata": {}, "source": [ "### Exercise VLP-3 Find if Dave and Denise are connected\n", "\n", "Attempting to see if, and how two entities in a graph are connected is a common path type query pattern. These types of queries containing unbounded path traversals with an OLTP graph database are best for calculating point to point or point to set path questions. Set to set or all pairs paths are best done with graph algorithms.\n", "\n", "In this exercise, we will be applying a path type query pattern to find out if two people are connected.\n", "\n", "Using the data model above, write a query that will:\n", "\n", "* Find a `person` node(s) with a `first_name` of \"Dave\"\n", "* Find the friends of Dave (i.e. traverse the `friends` edge)\n", "* Keep traversing the `friends` edge until you find `Denise`\n", "* Return a single `True` as the result\n", "\n", "The correct answer is a single result: `True`" ] }, { "cell_type": "code", "execution_count": null, "id": "b44692f8", "metadata": {}, "outputs": [], "source": [ "%%oc -d $node_labels\n" ] }, { "cell_type": "markdown", "id": "0ce0b6c8", "metadata": {}, "source": [ "### Exercise VLP-4 Find all the ways Dave and Denise are connected\n", "\n", "A common extension to the path traversal query we wrote in VLP-3 is to return not just \"if\" someone is connected but \"how\" they are connected.\n", "\n", "In this exercise, we will be making a slight modification to the previous query to return \"how\" Dave and Denise are connected, not just that they are.\n", "\n", "Using the data model above, write a query that will:\n", "\n", "* Find a `person` node(s) with a `first_name` of \"Dave\"\n", "* Find the friends of Dave (i.e. traverse the `friends` edge)\n", "* Keep traversing the `friends` edge until you find `Denise`\n", "* Return the path\n", "\n", "The correct answer has fifteen results" ] }, { "cell_type": "code", "execution_count": null, "id": "007a9efd", "metadata": {}, "outputs": [], "source": [ "%%oc -d $node_labels\n" ] }, { "cell_type": "markdown", "id": "b5acefc5", "metadata": {}, "source": [ "## Conclusion\n", "\n", "In this notebook, we explored writing variable length path queries in openCypher queries. These queries are a powerful and common way to explore connected data to answer questions, especially those where the exact number of connection is unknown. \n", "\n", "In the next notebook, we will take what we have learned in this notebook and extend it to demonstrate how to order, group, and aggregate values in queries." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.12" } }, "nbformat": 4, "nbformat_minor": 5 }