diff --git a/ChangeLog.md b/ChangeLog.md index 1c7ad918..fd5919bc 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -5,6 +5,8 @@ Starting with v1.31.6, this file will contain a record of major features and upd ## Upcoming - New Neptune ML notebook - Real Time Fraud Detection using Inductive Inference ([Link to PR](https://github.com/aws/graph-notebook/pull/338)) - Path: 04-Machine-Learning > Sample-Applications > 03-Real-Time-Fraud-Detection-Using-Inductive-Inference.ipynb +- New openCypher Language Tutorial notebooks + - Path: 06-Language-Tutorials > 02-openCypher - Added `--profile-misc-args` option to `%%gremlin` ([Link to PR](https://github.com/aws/graph-notebook/pull/443)) - Added error messaging for incompatible host-specific `%%graph_notebok_config` parameters ([Link to PR](https://github.com/aws/graph-notebook/pull/456)) - Ensure default assignments for all Gremlin nodes when using grouping ([Link to PR](https://github.com/aws/graph-notebook/pull/448)) diff --git a/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/01-Basic-Read-Queries.ipynb b/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/01-Basic-Read-Queries.ipynb new file mode 100644 index 00000000..6a7021c0 --- /dev/null +++ b/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/01-Basic-Read-Queries.ipynb @@ -0,0 +1,889 @@ +{ + "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 - Basic Read Queries\n", + "\n", + "This notebook is the first in a series of notebooks that walk through how to write queries using openCypher. In this notebook, we will examine the basics of openCypher read queries and how these queries fit into the \"Find\", \"Filter\", \"Format\" paradigm. Let's begin by loading some sample data into our Neptune cluster. \n", + "\n", + "\n", + "\n", + "\n", + "## 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 the Dining By Friends dataset, installed as part of the notebook.\n", + "\n", + "### Loading Data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "03dd0507", + "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": "dfa24286", + "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", + "## Finding your Data\n", + "\n", + "When working with openCypher, the most common usage of the language is to find data. openCypher accomplishes this using a couple of clauses:\n", + "\n", + "* `MATCH` - specifies the pattern of data to look for, see below for the pattern syntax\n", + "* `RETURN` - defines what and how the data will be returned to the user\n", + "* `LIMIT` - while not required, this is useful to minimze the data returned by specifying the maximum number of matching patterns returned\n", + "\n", + "The `MATCH` clause is a fundamental part of every query. It uses an ASCII art-based syntax to define the pattern of nodes and edges that you would like to match within the graph. These matches are then used as the basis for the filter and format portions of the query. \n", + "\n", + "The pattern matching syntax used in is highlighted in the table below.\n", + "\n", + "#### Pattern Matching Syntax\n", + "\n", + "| openCypher Pattern|Description|\n", + "|:--|:--|\n", + "|`( )`|A node|\n", + "|`[ ]`|An edge|\n", + "|`-->`|Follow outgoing edges from a node|\n", + "|`<--`|Follow incoming edges from a node|\n", + "|`--`|Follow edges in either direction|\n", + "|`-[]->`|Include the outgoing edges in the query (to check a label or property for example)|\n", + "|`<-[]-`|Include the incoming edges in the query (to check a label or property for example)|\n", + "|`-[]-` |Include edges in either direction in the query|\n", + "|`-[]->( )`|The node on the other end of an outgoing edge|\n", + "|`<-[]-()`|The node on the other end of an incoming edge|\n", + "\n", + "\n", + "Looking at the syntax above, you may be curious about the concept of incoming and outgoing edges. In property graphs, all edges are defined as having a direction, meaning that they start at one node and end at another. However, graph query languages such as openCypher allow you to specify patterns where you traverse these edges in either direction. \n", + "\n", + "Now that we have a basic understanding of openCypher's pattern matching syntax, let's take a look at how this is applied to answer some common graph query patterns.\n", + "\n", + "### Finding Nodes\n", + "\n", + "The simplest pattern you can do in openCypher is to match nodes. In openCypher patterns, nodes are represented by parentheses (`()`).\n", + "\n", + "Patterns, or elements within a pattern, can be associated with a variable by assigning them within the related portion of the syntax. For nodes, this means adding it within the parentheses such as in `(n)` where `n` is the variable name. When we put a variable within a pattern, this portion of the pattern is then available to us later in the query for additional operations, such as filtering or formatting to return to the user, as shown below.\n", + "\n", + "Execute the query below to search for nodes and assign them to a variable `n` (`MATCH (n)`), return the nodes labeled `n` (`RETURN n`), but limit the number returned to 10." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "deabe58e", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n) //find me nodes and label them 'n'\n", + "RETURN n //return 'n'\n", + "LIMIT 10 //return only 10 results" + ] + }, + { + "cell_type": "markdown", + "id": "4eee92c8", + "metadata": {}, + "source": [ + "**Note:** If no label is applied to a portion of the pattern, then that portion will be used for pattern matching but will not be available for additional operations, as we will see in the next query.\n", + "\n", + "### Finding Edges\n", + "\n", + "The example above works, but it does not leverage the connections within the data, represented by edges in our graph. Edges make graph databases a powerful asset for working with connected data. \n", + "\n", + "To perform a search across multiple nodes and edges, we need to use our pattern to specify how the nodes and edges are related using the following syntax:\n", + "\n", + "\n", + "| openCypher Pattern|Description|\n", + "|:--|:--|\n", + "|`-->`|Follow outgoing edges from a node|\n", + "|`<--`|Follow incoming edges from a node|\n", + "|`--`|Follow edges in either direction|\n", + "|`-[]->`|Include the outgoing edges in the query (to check a label or property for example)|\n", + "|`<-[]-`|Include the incoming edges in the query (to check a label or property for example)|\n", + "|`-[]-` |Include edges in either direction in the query|\n", + "\n", + "Execute the query below to search for node-edge->node patterns, assign the edges to a variable `r` (`MATCH ()-[r]->()`), and return 10 edges labeled `r` (`RETURN r`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "168bcc76", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH ()-[r]->() //find me all node-edge->node patterns\n", + "RETURN r //return the edge\n", + "LIMIT 10 //return only 10 results" + ] + }, + { + "cell_type": "markdown", + "id": "6d36e1dd", + "metadata": {}, + "source": [ + "In the example above, we specified using outgoing edges, via the arrow direction `()-[r]->()`, but we could have also chosen to look for patterns using only incoming edges, `()<-[r]-()`, or ignoring edge direction, `()-[r]-()`. \n", + "\n", + "To build more complex patterns, we can use these basic constructs to link together multiple levels of connections to find more complex patterns. In the example below, we have extended our previous query to return 10 nodes that have both incoming and outgoing edges, by specifying a `node-edge->node<-edge-node` pattern." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "55f2aaf9", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH ()-[]->(n)<-[]-() //find me all node-edge->node<-edge-node patterns\n", + "RETURN n \n", + "LIMIT 10 " + ] + }, + { + "cell_type": "markdown", + "id": "6f5ef9ca", + "metadata": {}, + "source": [ + "In the example above, we have returned matches based on a series of connected nodes and edges. When working with graphs, a series of connected nodes and edges may also be referred to as a 'path'. Often when we are looking for patterns within our graph, we would like to return not just a node or edge within the pattern but the path containing how these items are connected.\n", + "\n", + "\n", + "### Finding Paths\n", + "\n", + "To find paths within our graph, we combine two constructs we have already learned: pattern matching and variables, to specify that we want the path returned. In our previous queries, we assigned a node or edge in our pattern to a variable. When returning a path, we assign the entire pattern to a variable, as seen below where we assign the path to a variable `p`. \n", + "\n", + "Once we have assigned our path to the variable, we can return this as we have previous variables, except now our returned values will contain the `node-edge->node<-edge-node` information for the path that was matched.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1c3736ac", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH p=()-[]->(n)<-[]-() //assign my node-edge->node<-edge-node patterns to a variable 'p'\n", + "RETURN p \n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "df52d879", + "metadata": {}, + "source": [ + "## Filtering your Data\n", + "\n", + "So far, we have learned how to find specific patterns within our graph based on how the nodes and edges connect. However, most of the time you will want to use attributes of the nodes and edges to filter the results to return a more specific subset of data. \n", + "\n", + "We accomplish this using the `WHERE` clause. Within the `WHERE` clause, there are a variety of operators available to perform logical operations and comparisons of the data. Below is a listing of the operators supported by openCypher.\n", + "\n", + "**Operators**\n", + "\n", + "|Type|Operators|\n", + "| ----------- | ----------- |\n", + "|General|`DISTINCT, x.y (property access)`|\n", + "|Math|`+`, `-`, `*`, `/`|\n", + "|Comparison|`=`, `>`, `<`, `<>`, `<=`, `>=`, `IS NULL`, `IS NOT NULL`|\n", + "|Boolean|`AND`, `OR`, `NOT`, `XOR`|\n", + "|String|`STARTS WITH`, `ENDS WITH`, `CONTAINS`, `+`|\n", + "|LIST|`+`, `IN`, `[]`|\n", + "\n", + "\n", + "In the next section, we will look at some common ways to apply filters using these operators. \n", + "\n", + "### Filtering Nodes by Label\n", + "\n", + "One of the most common items you will want to filter on will be the label(s) associated with a node. There are two methods for adding label filters to a query. You can either:\n", + "\n", + "* Inline the filter as part of the match clause, which is done by adding a colon (`:`) followed by one or more label names (separated by a `|`) \n", + "* Use the `labels()` function in a `WHERE` clause to filter. \n", + "\n", + "Both of these will produce identical results so whether you choose one versus the other is a decision for the query writer. Below, we have included examples of both:\n", + "\n", + "#### Filtering using inline filters" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "651a0f21", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (d:person)\n", + "RETURN d \n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "61f35676", + "metadata": {}, + "source": [ + "#### Filtering using `labels()` and the `WHERE` clause" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0460223d", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (d)\n", + "WHERE 'person' IN labels(d)\n", + "RETURN d\n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "51893308", + "metadata": {}, + "source": [ + "One item you might notice is the use of `IN` to find if the label exists in the node instead of an equality (`=`) operator. In openCypher, nodes can have multiple labels associated with them. As a result, the `labels()` function returns a list of labels and the `IN` clause allows us to find a specific label inside that list. \n", + "\n", + "### Filtering Edge by Type\n", + "Another common item you to filter on is the type or label associated with an edge. As with nodes, there are two methods for adding edge label filters to a query, as shown here: \n", + "\n", + "* Inline the filter as part of the match clause, which is done by adding a colon (`:`) followed by one or more type names (separated by a |) \n", + "* Use the `type()` function in a `WHERE` clause to filter. \n", + "\n", + "As with nodes, these will produce identical results so whether you choose one versus the other is a decision for the query writer. Below we have included examples of both:\n", + "\n", + "#### Filtering using inline filters" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b673615", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH p=(d:person)-[:friends]->()\n", + "RETURN p\n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "52375922", + "metadata": {}, + "source": [ + "#### Filtering using `type()` and `WHERE`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a76e67d6", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH p=(d:person)-[r]->()\n", + "WHERE type(r)='friends'\n", + "RETURN p\n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "2d59628b", + "metadata": {}, + "source": [ + "Unlike when we filtered using `labels()`, when we use `type()` to filter edges we do not need to use `IN`. Edges can only have a single label associated with them, so the `type()` function will return a single value, not a list. Due to this difference, we can do a direct equality comparison.\n", + "\n", + "### Finding by Property\n", + "\n", + "The next common use case for filtering is to be able to filter on attribute values. \n", + "\n", + "As with node and edge labels, there are two methods for adding edge label filters to a query. Once again our options are either: \n", + "\n", + "* Inline the filter as part of the match clause, which is done by adding curly brackets containing the key/value you want to filter on (`{first_name: 'Dave'}`)\n", + "* Use the `WHERE` clause to filter using the operators\n", + "\n", + "Below, we have included examples of both:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e755b029", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (d)\n", + "WHERE d.first_name='Dave'\n", + "RETURN d \n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "738bfc3f", + "metadata": {}, + "source": [ + "Alternatively, you include equality filters inline with the pattern by putting them into curly brackets (`{}`) with the property key name followed by the value, as shown below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "39ac2235", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (d {first_name: 'Dave'})\n", + "RETURN d \n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "61497739", + "metadata": {}, + "source": [ + "In these two examples, both return the same results and are interpreted by the engine as the same query, so this begs the question of when to choose which one?\n", + "\n", + "Part of the answer to that question comes down to the preference of the query writer. However, here are some general guidelines:\n", + "\n", + "* Inlining of filters works only on equality filters for one or more properties. If you need to do non-equality filters (e.g. not equals, greater than, less than, `IN`) then you should use a `WHERE` clause\n", + "* `WHERE` clauses allow more complex filtering using `AND`, `OR`, and `NOT` to build up more complex expressions\n", + "* `WHERE` clauses support List and Pattern comprehension (discussed later) where in-lining filters does not" + ] + }, + { + "cell_type": "markdown", + "id": "4b8defd4", + "metadata": {}, + "source": [ + "### Filtering on Existence\n", + "Another common need when filtering data is to check for the existence of an attribute or additional piece of topology. This is most commonly accomplished using the `exists()` function as shown below." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "968444f0", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (d:person)\n", + "WHERE exists(d.last_name)\n", + "RETURN d \n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "ac3261a9", + "metadata": {}, + "source": [ + "You can also use the `exists()` function with the `NOT` predicate to filter on patterns that do not exist, such as in the example below where we find all `person` nodes that do not have a property `age`.\n", + "\n", + "**Note** - With this dataset it will return all 8 people as there is no `age` property in the data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7d5cd5ad", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (d:person)\n", + "WHERE NOT exists(d.age)\n", + "RETURN d \n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "0addc153", + "metadata": {}, + "source": [ + "In the examples above, we checked the existence of a property using the `exists()` function. In addition to properties, we can also check for the existence of patterns, using the pattern matching syntax, as part of the `WHERE` clause. \n", + "\n", + "Below, we can see how we can leverage pattern matching to find all `person` nodes that do not have anyone who has connected to them with an incoming `friends` edge." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "09c11073", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (d:person)\n", + "WHERE NOT (d)<-[:friends]-()\n", + "RETURN d \n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "2081d7b4", + "metadata": {}, + "source": [ + "## Formatting Results\n", + "\n", + "Having gone through the basics of finding and filtering data with openCypher, let's take a look at the last step, formatting our results. All openCypher read queries, and almost all mutation queries, end with a `RETURN` clause. This clause is used to specify what aspects of the data are returned and in what format.\n", + "\n", + "\n", + "### Returning all values\n", + "\n", + "The simplest way to return data is to return all values specified in the query. This can be accomplished by specifying a wildcard `*` in the `RETURN` clause as shown here." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2d1af3bf", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (d:person)\n", + "RETURN *\n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "953027a0", + "metadata": {}, + "source": [ + "While this is easy to write, it is not very efficient, either in terms of the work the engine has to do to retrieve all the values or the amount of data that has to be transmitted over the wire.\n", + "\n", + "### Returning property values\n", + "\n", + "Most often, you want to be specific about the data elements (node/edges), attributes, or a combination of both, that a query returns. This provides for efficient processing, both at the database and client level, and efficient data transmission, since we are only retrieving, processing, and sending what is needed. \n", + "\n", + "To accomplish this, we use the `RETURN` clause to specify the variable associated with a node/edge/path or we specify the property or properties of elements using a `.` syntax. \n", + "\n", + "Below we have two queries, the first returns the person's first name and the second returns the first and last name values.\n", + "\n", + "**Note:** If you would like to assign a specific key to the values returned, you can rename them using the `AS` modifier, e.g., If you wanted to return the `first_name` as `name` you'd accomplish this via `RETURN d.first_name AS name`. If it is not specified, then the key name will default to the element or property variable name.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9ba582e4", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (d:person)\n", + "RETURN d.first_name\n", + "LIMIT 10" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ea3c4fba", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (d:person)\n", + "RETURN d.first_name, d.last_name\n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "4f89c0ba", + "metadata": {}, + "source": [ + "### Returning unique values\n", + "\n", + "To return unique values in the results, use the `DISTINCT` clause in the `RETURN` statement to return just the unique values for the specified propery." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c6cf5578", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (d:person)\n", + "RETURN DISTINCT d.last_name\n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "1d9b3131", + "metadata": {}, + "source": [ + "### Returning static values\n", + "\n", + "While not as common as some of the other options shown here, openCypher also allows you to return static values for any matches. In the query below, we return a static literal `true` for each matched node." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d218be0a", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (d)\n", + "RETURN true\n", + "LIMIT 1" + ] + }, + { + "cell_type": "markdown", + "id": "30566e03", + "metadata": {}, + "source": [ + "### Projecting new return values\n", + "\n", + "In addition to returning existing values, we can also perform operations on those values using functions, which will be discussed in the third notebook), such as `min()`, `max()`, `toUpper()`, or perform other operations using primitives, such as concatenating strings. \n", + "\n", + "In the example below, we show how you can return a full name by concatenating the `first_name` and `last_name` using one these primitive operators. The exact primitives available and their behavior vary depending on the incoming data types." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4f951169", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (d:person)\n", + "RETURN d.first_name + ' ' + d.last_name AS full_name\n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "809468ee", + "metadata": {}, + "source": [ + "### Constructing complex return types\n", + "\n", + "In addition to returning simple key-value pairs, the `RETURN` clause can construct more complex response types such as maps. This is a common requirement, especially when returning aggregations or when returning attributes from different variables in the matched patterns.\n", + "\n", + "These new projections are created by supplying curly brackets (`{}`) and specify the key names and associated return values. These return values are specified using the same syntax we have shown above including elements, properties, or operations. The example below shows how each of these different options can be returned." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b6d4d8c3", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (d:person)\n", + "RETURN {element: d, first: d.first_name, last: d.last_name, full: d.first_name + ' ' + d.last_name} AS full_name\n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "870e2989", + "metadata": {}, + "source": [ + "## Exercises\n", + "\n", + "Now that we have gone through the basics of writing openCypher read queries, 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", + "Using the social network portion (`person-friends->person`) of our Dining By Friends graph, let's answer the following questions. For each of these questions we are going to be working with the `friends` edge. Depending on the domain in which you are working, an edge such as `friends` could imply a mutual relationship or a one-way relationship. Sites such as LinkedIn and Facebook use a mutual friendship model where if `Person A-friends-Person B` then it means `Person B-friends-Person A`. Sites such as Twitter use a one-way friendship where a person may follow another person but that does not mean that they are followed back. For Dining By Friends, let's assume the `friends` edge represents a one-way relationship.\n", + "\n", + "\n", + "### Exercise B-1 Find the first name of Dave's friends\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", + "* Return the friends `first_name`\n", + "\n", + "The correct answer is four results: \"Josh\", \"Hank\", \"Jim\", \"Kelly\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ee77c9c6", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n" + ] + }, + { + "cell_type": "markdown", + "id": "f4b6049f", + "metadata": {}, + "source": [ + "### Exercise B-2 Find the first name of the friends of Dave's friends\n", + "\n", + "For the next exercise, let's find the friends of Dave's friends. In this case we will not exclude \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 contains three results: \"Hank\", \"Denise\", \"Paras\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e6cc0978", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "91433ad6", + "metadata": {}, + "source": [ + "### Exercise B-3 Find out how the friends of Dave's friends 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", + "* Find the friends of that person (i.e. traverse the `friends` edge)\n", + "* Return the path\n", + "\n", + "The correct answer contains three results: \"Hank\", \"Denise\", \"Paras\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0e7b488b", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n" + ] + }, + { + "cell_type": "markdown", + "id": "c80aba29", + "metadata": {}, + "source": [ + "### Exercise B-4 Which friends should we recommend for Dave?\n", + "\n", + "A common use case for graphs in social networks is to recommend new connections. There is a significant amount of research in this area (example [here](https://www.science.org/doi/10.1126/sciadv.aax7310#:~:text=The%20triadic%20closure%20mechanism%20uses,features%20of%20empirical%20social%20networks)) but mainly there are two prevailing mechanisms at work in social networks that we can leverage to help provide efficient recommendations to a user. The first of these mechanisms is called homophily, which is the tendency of similar people to be connected. Homophily is a driving factor in many social networks, with an important outcome being that people connected to you, or connected to people that are connected to you, tend to be similar to you. This leads to the second mechanism in a graph, the concept of a triadic closure. Triadic closure is a way to create or recommend new connections based on common friends or acquaintances. \n", + "\n", + "\n", + "In this exercise, we are going to leverage triadic closure to recommend friends for Dave. To accomplish this, we will need to leverage the previously written queries but extend them to:\n", + "\n", + "* Find all the friends of friends that do not have a connection to Dave\n", + "\n", + "The correct answer contains three results: \"Hank\", \"Denise\", \"Paras\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fb26d6fd", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n" + ] + }, + { + "cell_type": "markdown", + "id": "d1f7523f", + "metadata": {}, + "source": [ + "## Conclusion\n", + "\n", + "In this notebook, we explored the basics of writing openCypher queries and how they are represented in the \"Find\", \"Filter\", \"Format\" paradigm. First, we learned the basics of how to specify the pattern of data we would like to match in our queries. Next, we learned several different mechanisms for how to filter the data found by our queries to return the correct results. Finally, we learned how to specify the format of the data being returned from a query to make for efficient use of database and application resources.\n", + "\n", + "In the next notebook, we will take what we have learned in this notebook and extend it to show how to answer questions where the length of the patterns is variable or unknown." + ] + } + ], + "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 +} diff --git a/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/02-Variable-Length-Paths.ipynb b/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/02-Variable-Length-Paths.ipynb new file mode 100644 index 00000000..a111e41e --- /dev/null +++ b/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/02-Variable-Length-Paths.ipynb @@ -0,0 +1,490 @@ +{ + "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 +} diff --git a/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/03-Ordering-Functions-Grouping.ipynb b/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/03-Ordering-Functions-Grouping.ipynb new file mode 100644 index 00000000..206fa58d --- /dev/null +++ b/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/03-Ordering-Functions-Grouping.ipynb @@ -0,0 +1,960 @@ +{ + "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 - Ordering, Functions, and Grouping\n", + "\n", + "This notebook is the third in a series of notebooks that walk through how to write queries using openCypher. \n", + "\n", + "This notebook will build upon the items convered in the notebook \"01-Basic-Read-Queries\" and \"02-Variable-Length-Paths\". 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", + "## 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": "df7f476a-95f7-43f3-8f87-79ac8c05c65f", + "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", + "As we examined the data model in the previous notebook, we are not going to examine it, however we will leave the data schema for reference.\n", + "\n", + "![image-3.png](attachment:image-3.png)" + ] + }, + { + "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": { + "tags": [] + }, + "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": { + "tags": [] + }, + "outputs": [], + "source": [ + "node_labels = '{\"person\":\"first_name\",\"city\":\"name\",\"state\":\"name\",\"restaurant\":\"name\",\"cusine\":\"name\"}'" + ] + }, + { + "cell_type": "markdown", + "id": "ab986dac", + "metadata": {}, + "source": [ + "\n", + "## Ordering Results\n", + "\n", + "The second law of thermodynamics states that in any process the entropy of the system is always increasing. However, when working with data, one common requirement is to return that data in a consistent and ordered fashion. \n", + "\n", + "By default, data returned from an openCypher query does not have a specified order. To give our data a consistent order we must uss the `ORDER BY` clause. This clause enables you sort your results using the values that a query can return, such as nodes/edges, ID values, as well as via many expressions. \n", + "\n", + "**Note:** When the data being ordered contains a `null` value, these will be sorted to the end of the results for ascending sort order and the beginning of the list for descending sort order.\n", + "\n", + "\n", + "### Ordering by a property\n", + "\n", + "The simplest ordering in openCypher is to specify a single property. This is accomplished using the syntax `ORDER BY .`. By default, items are ordered in ascending order and descending order can be specified using `ORDER BY . DESC`. \n", + "\n", + "Let's first look at what our data looks like to find all the `restaurant` nodes in our graph and return the `name` property." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f7a0df81", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant) \n", + "RETURN n.name" + ] + }, + { + "cell_type": "markdown", + "id": "91e99c64", + "metadata": {}, + "source": [ + "As we see, there is no discernible order to the values returned. \n", + "\n", + "Let's see how to order our data by executing the query below to find all the `restaurant` nodes in our graph and order them by the `name` property in descending order." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "deabe58e", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant) \n", + "RETURN n.name\n", + "ORDER BY n.name DESC" + ] + }, + { + "cell_type": "markdown", + "id": "4eee92c8", + "metadata": {}, + "source": [ + "As we see, with the addition of the `ORDER BY` clause we get our data out in a nice organized manner. \n", + "\n", + "### Ordering by multiple properties\n", + "\n", + "A common need when ordering data is to use multiple properties as the ordering criteria. In openCypher, this is achieved by adding multiple options to the `ORDER BY` clause. When multiple properties are specified, the results are first ordered by the first property, then for equal values, the next property, and so on for all the specified properties. \n", + "\n", + "Let's see how this works by executing the query below to find all the `restaurant` nodes in our graph and order them by the `name` property, then by the `address` property." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "168bcc76", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant) \n", + "RETURN n.name, n.address\n", + "ORDER BY n.name, n.address" + ] + }, + { + "cell_type": "markdown", + "id": "6d36e1dd", + "metadata": {}, + "source": [ + "### Order by expressions\n", + "In addition to ordering by property values, you can use the elements themselves or expressions such as `id()` or `keys()` to order our data. In the example below, we first show how to order data using the element itself, and then by the id values of the elements being returned." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "55f2aaf9", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant) \n", + "RETURN n.name\n", + "ORDER BY n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c63b78f6", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant) \n", + "RETURN n.name\n", + "ORDER BY id(n)" + ] + }, + { + "cell_type": "markdown", + "id": "9b78432a", + "metadata": {}, + "source": [ + "### Pagination\n", + "\n", + "One of the most common requirements for applications is the ability to return the data in chunks, or pages in the response. openCypher supports pagination through the use of two clauses: `SKIP` and `LIMIT`. \n", + "\n", + "We have already used the `LIMIT` clause to specify the maximum number of entities returned. When used with the `SKIP` clause, which specifies the number of records to ignore at the beginning of the result set, we can create an effective pagination mechanism. One important thing to note about pagination is that we need to explicitly order the results to retrieve a consistent set of data in our pages. Without ordering the results, we have no guarantee that results will be returned in a constant order, meaning that the data shown for a specific \"page\" may differ between calls.\n", + "\n", + "Let's take a look at how we could use `SKIP` and `LIMIT` to present a paginated view of the restaurants in our graph by retrieving the first page of results." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0335cb50", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant) \n", + "RETURN n.name\n", + "ORDER BY n.name\n", + "SKIP 0 LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "70d12ad6", + "metadata": {}, + "source": [ + "Let's see what it looks like to retrieve the second page of data. To accomplish this, we need to set the value of `SKIP` to represent the page size we would like to skip." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7371ac06", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant) \n", + "RETURN n.name\n", + "ORDER BY n.name\n", + "SKIP 10 LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "978fff4c", + "metadata": {}, + "source": [ + "As we see, the data we retrieve from the second query represents the second page of results returned from our query. Please don't hesitate to try additional values for the `SKIP` and `LIMIT` values to see how the query reacts.\n", + "\n", + "## Functions\n", + "\n", + "openCypher contains a set of functions that enables customers to perform computations on the data in an optimized manner. There are a variety of types of functions supported in Neptune, which are highlighted in the table below:\n", + "\n", + "|Type|Function|\n", + "| ----------- | ----------- |\n", + "|Predicate|`exists()`|\n", + "|Scalar|`coalesce()`, `endNode()`, `head()`, `id()`, `last()`, `length()`, `properties()`, `size()`, `startNode()`, `timestamp()`, `toBoolean()`, `toFloat()`, `toInteger()`, `type()`|\n", + "|Aggregating|`avg()`, `collect()`, `count()`, `max()`, `min()`, `sum()`|\n", + "|List|`keys()`, `labels()`, `nodes()`, `range()`, `relationships()`, `reverse()`, `tail()`|\n", + "|Math - numeric|`abs()`, `ceil()`, `floor()`, `rand()`, `round()`, `sign()`|\n", + "|Math - logarithmic|`e()`, `exp()`, `log()`, `log10()`, `sqrt()`|\n", + "|String|`left()`, `lTrim()`, `replace()`, `reverse()`, `right()`, `rTrim()`, `split()`, `substring()`, `toLower()`, `toString()`, `toUpper()`, `trim()`|\n", + "\n", + "While each function has a specified input format, there are two main ways that these can be used, either as part of the formatting done in the `RETURN` clause or as part of the filtering done in the`WHERE` clauses. Below, we have provided examples of how to use these in each query sections.\n", + "\n", + "### Using Function in `RETURN`\n", + "\n", + "One common way to use functions is to apply them while formatting the results. To use a function, you first need to pass in a variable as the first parameter, like this `toUpper(n.name)`. The expected input, or if there is a second required parameter, depends on the exact function being used but this syntax is generally \n", + "\n", + "\n", + "In the example query below, we apply several different functions (`toUpper()` and `coalesce()`) to format the result based on the data matched in the find and filtering portions of the query." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9e4ebade", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant) \n", + "RETURN toUpper(n.name) as name, \n", + " //returns the first non-null answer, since this property does not exist it should be `No Capacity Provided`\n", + " coalesce(n.max_capacity, 'No Capacity Provided') as capacity, \n", + " n.address as address\n", + "ORDER BY n.name\n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "e299d1a4", + "metadata": {}, + "source": [ + "### Using functions in `WHERE`\n", + "\n", + "Another common way to use functions is as part of a comparison when filtering values in the `WHERE` portion of a query. The example below shows how you can perform a case-insensitive search on a restaurant name through the use of the `toUpper()` function." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ce3f5fb", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant) \n", + "WHERE toUpper(n.name) = 'HAND ROLL'\n", + "RETURN n.name" + ] + }, + { + "cell_type": "markdown", + "id": "8715cd5f", + "metadata": {}, + "source": [ + "While the examples above are the most common uses of functions, many of the non-aggregating functions may also be used in other portions of the query. The example below shows how functions can be used in an `ORDER BY` to order by the length of the restaurant name." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd7101fc", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant) \n", + "RETURN n.name\n", + "ORDER BY size(n.name)\n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "0654b084", + "metadata": {}, + "source": [ + "### Composing multiple functions\n", + "\n", + "Often you many need to chain or compose functions together to create more complex computations. While functions can be chained together in any part of a query where they are supported, the example below shows how to compose several functions together in the `RETURN`. \n", + "\n", + "\n", + "In this example, our query will find the average number of words in the `name` for restaurants in the graph." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "91b72e90", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant) \n", + "RETURN avg(size(split(n.name, \" \")))\n", + "LIMIT 10" + ] + }, + { + "cell_type": "markdown", + "id": "952c7825", + "metadata": {}, + "source": [ + "Now that we have looked at the ordering and function capabilities in openCypher, it's time to take a look at another major set of functionality in formatting openCypher results, grouping.\n", + "\n", + "## Grouping Results\n", + "\n", + "Grouping results in openCypher is a bit different from how grouping works in other query languages, such as Gremlin or SQL. In most other query languages the grouping of results is done by explicitly calling a step or clause, such as SQL uses `GROUP BY` and Gremlin uses the `group()/groupCount()` step.\n", + "\n", + "In openCypher, grouping is controlled implicitly, via the use of aggregating expressions containing one or more aggregating functions (`avg()`, `collect()`, `count()`, `max()`, `min()`, `sum()`). Each aggregation function computes the groups formed by the output of that function. For this group to work, the final aggregation expressions has to be either:\n", + "\n", + "* An aggregation function (`RETURN count(*)`)\n", + "* A grouping key (`RETURN n, count(n)`)\n", + "* A local variable\n", + "\n", + "These expressions ensure that the aggregation is be computed over all the results within a group. Groups are determined through the grouping keys. Grouping keys are non-aggregate expressions, that are specfied in conjunction with the aggregate functions are are used to group the values. Let's look at an example to understand how this works.\n", + "\n", + "**Example**\n", + "|id|name|\n", + "|---|---|\n", + "|1|Dave|\n", + "|2|Josh|\n", + "|3|Kelly|\n", + "|4|Dave|\n", + "\n", + "```\n", + "MATCH (n)\n", + "RETURN n.name AS name, count(n.name) AS cnt\n", + "```\n", + "Results:\n", + "\n", + "|name|cnt|\n", + "|---|---|\n", + "|Dave|2|\n", + "|Josh|1|\n", + "|Kelly|1|\n", + "\n", + "In this example, we are returning 2 values from the query `name` and `cnt`. The first value, `name`, is not an aggregating function so it will be the grouping key that buckets similar items. The second value, `cnt`, is the output of an aggregating function which will calculate the result, in this case a count, based on the buckets created by the grouping key `name`.\n", + "\n", + "It may take a little bit of getting used to this manner of grouping items, so let's jump in and try out some common use cases for grouping.\n", + "\n", + "### Group by a property\n", + "\n", + "Running the query below, returns the count of restaurants with `name` attributes of a specific length." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f66d367b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant) \n", + "RETURN count(*) AS count_in_length, size(n.name) AS name_length\n", + "ORDER BY name_length" + ] + }, + { + "cell_type": "markdown", + "id": "2c92cf2e", + "metadata": {}, + "source": [ + " In this example, the grouping key will the name length (`size(n.name)`) with the aggregating operation being the `count()`.\n", + " \n", + " ### Group on a pattern match\n", + " \n", + "Another common need is to use multiple different elements in a pattern to perform a grouping/aggregation query. To accomplish this, you combine what we know about `MATCH` and named variables with what we have just learned about grouping to achieve this aggregation.\n", + "\n", + "Let's take a look at what it would look like to find the average rating of the restaurants in our graph." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f646e881", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant)<-[:about]-(r:review)\n", + "RETURN n.name AS name, avg(r.rating) AS rating\n", + "ORDER BY rating desc" + ] + }, + { + "cell_type": "markdown", + "id": "60b2eab1", + "metadata": {}, + "source": [ + "## Combining Queries\n", + "\n", + "Now that we have learned about all the major features (finding, filtering, formatting, ordering, functions, and grouping) of openCypher, we have one more topic to discuss in this notebook, how to combine subqueries together to create more complex queries. In openCypher, there are three main mechanisms to achieve this: `UNION`, `UNION ALL`, and `WITH`.\n", + "\n", + "### UNION\n", + "\n", + "The `UNION` clause combines the results of 2 or more queries together and returns the combined result from both queries. In the case of `UNION`, the result will remove any duplicates. \n", + "\n", + "\n", + "Let's see what an example `UNION` query looks like:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "190af502", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant)\n", + "RETURN n \n", + "LIMIT 5\n", + "UNION\n", + "MATCH (n:review)\n", + "RETURN n\n", + "LIMIT 5" + ] + }, + { + "cell_type": "markdown", + "id": "fd55000f", + "metadata": {}, + "source": [ + "One common tripping point with `UNION` queries is that each query must return the same number of columns, and the columns must have identical names. If this is not the case, you will receive an error message like occurs when running the query below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "493ac5cf", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant)\n", + "RETURN n \n", + "LIMIT 5\n", + "UNION\n", + "MATCH (r:review)\n", + "RETURN r\n", + "LIMIT 5" + ] + }, + { + "cell_type": "markdown", + "id": "f0c9a4e2", + "metadata": {}, + "source": [ + "### UNION ALL\n", + "\n", + "The second way to combine queries is with the `UNION ALL` clause. This works fundamentally the same as the `UNION` clause, except that it will retain duplicates in the results. If we look at the two nearly identical queries below, we will see the first query is a `UNION` query and will return de-duplicated result to return only 5 results. The second query, which is a `UNION ALL` query, will return results including duplicates to total 10 rows." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "baa0f999", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant)\n", + "RETURN n \n", + "LIMIT 5\n", + "UNION \n", + "MATCH (n:restaurant)\n", + "RETURN n \n", + "LIMIT 5" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9d97b3b3", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:restaurant)\n", + "RETURN n \n", + "LIMIT 5\n", + "UNION ALL\n", + "MATCH (n:restaurant)\n", + "RETURN n \n", + "LIMIT 5" + ] + }, + { + "cell_type": "markdown", + "id": "ae43a10d", + "metadata": {}, + "source": [ + "### `WITH` clause\n", + "\n", + "The final mechanism to combine subqueries together is the `WITH` clause which allows subqueries to be chained together instead of combining the results. \n", + "\n", + "The `WITH` clause allows you to manipulate the output of a query and pass all or part of the results of a subquery on for use in the next subquery. While there are a myriad of ways to leverage subqueries in openCypher, there are a couple of common usage patterns for the `WITH` clause:\n", + "\n", + "* Limiting the number of entries passed to other subqueries\n", + "* Introducing new intermediate results such from projection/aggregation/etc.,\n", + "* Filtering on aggregated values for subsequent queries\n", + "\n", + "In the cells below, we will show how to leverage each of these common patterns.\n", + "\n", + "#### Limiting Results\n", + "\n", + "Likely the most straightforward use of subqueries is to limit the results from an initial subquery for use as a starting point for the next subquery. In this example, we will find the first 5 restaurants and then find the reviews for those restaurants only. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e27d0b96", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "\n", + "MATCH (n:restaurant)\n", + "WITH n LIMIT 5\n", + "MATCH p=(n)<-[:about]-(:review)\n", + "RETURN p" + ] + }, + { + "cell_type": "markdown", + "id": "9ea7476e", + "metadata": {}, + "source": [ + "#### Intermediate Results\n", + "\n", + "Another common use of the `WITH` clause is to calculate some intermediate result that is used to aid in filtering results. In the example below, we are running a query to find all `restaurant` nodes that are connected to a `review`. We are then passing the `restaurant` and an upper case version of the `name` called `upperCaseName` to the subsequent query portions, where we filter for restaurants starting with `WITH`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d9a2ddc2", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (r:restaurant)<--(rev:review)\n", + "WITH r, toUpper(r.name) AS upperCaseName\n", + "WHERE upperCaseName STARTS WITH 'WITH'\n", + "RETURN r.name" + ] + }, + { + "cell_type": "markdown", + "id": "b6b6b33f", + "metadata": {}, + "source": [ + "#### Filtering on Aggregated Values\n", + "\n", + "The final common pattern for using `WITH` in a query is to use an initial subquery to filter on some set of matched patterns, which are then passed along to the next portion of the query. In the example below, I am finding all restaurants with more than 5 reviews and then finding the city for those restaurants." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a2c6dc9c", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (r:restaurant)<--(rev:review)\n", + "WITH size(collect(rev)) as num_reviews, r\n", + "WHERE num_reviews >5\n", + "MATCH (r)-[:within]->(c:city)\n", + "RETURN c.name as city, r.name as name" + ] + }, + { + "cell_type": "markdown", + "id": "500ed04f", + "metadata": {}, + "source": [ + "#### Variable scope in `WITH`\n", + "\n", + "When working with the `WITH` clause, it is important to understand the scope of variables. Each subquery scopes its own variables to only exist within the subquery unless you explicitly pass the variable, or use the wildcard (`*`), to pass the variable on to the next subquery. Let's look at the previous query:\n", + "```\n", + "MATCH (r:restaurant)<--(rev:review)\n", + "WITH size(collect(rev)) as num_reviews, r\n", + "WHERE num_reviews >5\n", + "MATCH (r)-[:within]->(c:city)\n", + "RETURN c.name as city, r.name as name\n", + "```\n", + "\n", + "Examining the `WITH` clause here, we see that we identified both the calculated value `num_reviews` and one of the original variables `r` to be passed on to the subquery. This means that both `num_reviews` and `r` are in scope for the second portion of the query. However, the variable `rev` from the first part is no longer able to be accessed for the second half of this query. Running the cell below will display an error message." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "28ca4c56", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc\n", + "MATCH (r:restaurant)<--(rev:review)\n", + "WITH size(collect(rev)) as num_reviews, r\n", + "WHERE num_reviews >5\n", + "RETURN rev" + ] + }, + { + "cell_type": "markdown", + "id": "4fed7997", + "metadata": {}, + "source": [ + "To resolve this issue, we must modify the query slightly to first group together all the `rev` elements using the `WITH` clause into a variable named `revs`. This now leaves us with all our `review` nodes in scope. We can then filter the results of our query using the `size()` function on our `revs` element and return the matching values.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f38aa970", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc\n", + "MATCH (r:restaurant)<--(rev:review)\n", + "WITH collect(rev) as revs\n", + "WHERE size(revs)>5\n", + "RETURN revs" + ] + }, + { + "cell_type": "markdown", + "id": "f5d352e5", + "metadata": {}, + "source": [ + "## Exercises\n", + "\n", + "Now that we have gone through the main concepts of openCypher read queries, 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", + "For these exercises, we will be leveraging the majority of the different entities in our data to show how we would build a common graph pattern known as \"collaborative filtering\" which is often used to provide recommendations to users based on other's reviews. Collaborative filtering works on the idea that if two people share the same opinion on a topic, such as a restaurant, then they are more likely to share similar opinions on other topics. With a graph, we can leverage these connections to help provide recommendations based on these patterns of connections. In these exercises, we will be recommending restaurants to our users based upon reviews.\n", + "\n", + "\n", + "### Exercise G-1 What are the 3 highest restaurants?\n", + "\n", + "Using the data model above, write a query that will:\n", + "\n", + "* Find the 3 highest average restaurant rating\n", + "* Find the associated cuisine\n", + "* Return the restaurant name, the cuisine name, and the average rating\n", + "* Order the results by average rating descending\n", + "\n", + "The results for this query are:\n", + "\n", + "|Restaurant name|Cuisine|Avg Rating|\n", + "|---|---|---|\n", + "|Lonely Grape|bar|5.0|\n", + "|Perryman's|bar|4.5|\n", + "|Rare Bull|steakhouse|4.333333|\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36adacaf", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (c:cuisine)\n", + "RETURN c" + ] + }, + { + "cell_type": "markdown", + "id": "04ab5b59", + "metadata": {}, + "source": [ + "### Exercise G-2 Find the top 3 highest rated restaurants in the city where Dave lives\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 `city` that Dave lives in\n", + "* Find the average rating of restaurants in that city\n", + "* Find the top 3 average ratings\n", + "* Return the restaurant name, address, and average rating\n", + "* Order by the average rating descending\n", + "\n", + "The results for this query are:\n", + "\n", + "|Restaurant name|Address|Avg Rating|\n", + "|---|---|---|\n", + "|Dave's Big Deluxe|\t490 Ivan Cape|4.0|\n", + "|Pick & Go|4881 Upton Falls|3.75|\n", + "|Without Chaser|\t01511 Casper Fall|3.5|" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dae9d211", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n" + ] + }, + { + "cell_type": "markdown", + "id": "678a243d", + "metadata": {}, + "source": [ + "### Exercise G-3 What Mexican or Chinese restaurant near Dave that is the highest rated?\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 `city` that Dave lives in\n", + "* Find the restaurants in that city that serve 'Mexican' or 'Chinese' food\n", + "* Find the average rating of those restaurants\n", + "* Return the restaurant name, address, and average rating\n", + "* Order by the average rating descending\n", + "* Return the top 1 result\n", + "\n", + "The results for this query are:\n", + "\n", + "|Restaurant name|Address|Avg Rating|\n", + "|---|---|---|\n", + "|With Salsa|24320 Williamson Causeway|3.5|" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f96b91e5", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n" + ] + }, + { + "cell_type": "markdown", + "id": "e93f266d", + "metadata": {}, + "source": [ + "### Exercise G-4 What are the top 3 restaurants, recommended by his friends, where Dave lives? (Personalized Recommendation)\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 `city` that Dave lives in\n", + "* Find Dave's friends\n", + "* Find reviews written by Dave's friends in the city \"Dave\" lives in\n", + "* Find the average rating of those restaurants\n", + "* Return the restaurant name, address, and average rating\n", + "* Order by the average rating descending\n", + "* Return the top 3\n", + "\n", + "The results for this query are:\n", + "\n", + "|Restaurant name|Address|Avg Rating|\n", + "|---|---|---|\n", + "|Dave's Big Deluxe|490 Ivan Cape|4.0|\n", + "|With Salsa|24320 Williamson Causeway|4.0|\n", + "|Satiated|370 Hills Estates|3.666667|" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "81e5d4bc", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "b5acefc5", + "metadata": {}, + "source": [ + "## Conclusion\n", + "\n", + "In this notebook, we explored ordering, functions, and grouping in openCypher queries. These queries are a powerful and common way to format and mutate data within your graph. This is also the last notebook in the set dedicated to writing read queries. In the next notebook we will take a look at how to write queries that mutate data through insert, update, and delete operations." + ] + } + ], + "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 +} diff --git a/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/04-Creating-Updating-Delete-Queries.ipynb b/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/04-Creating-Updating-Delete-Queries.ipynb new file mode 100644 index 00000000..c10f03bb --- /dev/null +++ b/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/04-Creating-Updating-Delete-Queries.ipynb @@ -0,0 +1,727 @@ +{ + "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 - Create, Update, and Delete Queries\n", + "\n", + "This notebook is the fourth in a series of notebooks that walk through how to write queries using openCypher.\n", + "\n", + "This notebook will build upon the items convered in the notebook \"01-Basic-Read-Queries\", \"02-Variable-Length-Paths\", and \"03-Ordering-Functions-Grouping\". 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", + "## 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": "ff989cbd-55c7-4c0e-81cc-7f0495b37389", + "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", + "## Creating Data\n", + "\n", + "When working with any database, one of the most common tasks is adding new data. To add new nodes, edges, or path in openCypher we use the `CREATE` clause. \n", + "\n", + "\n", + "### Creating a node with a label and properties\n", + "The simpliest option to create a node in openCypher is to do a query similar to this:\n", + "\n", + "```\n", + "CREATE (n)\n", + "```\n", + "This query will create a node with a default label (`vertex`) and no properties. If we wanted to return the newly created element, we could by adding a `RETURN` clause like shown here:\n", + "\n", + "```\n", + "CREATE (n)\n", + "RETURN n\n", + "```\n", + "\n", + "We can also create multiple elements simultaneously by specifying all of them in the `CREATE` clause, as seen here:\n", + "\n", + "```\n", + "CREATE (n), (m)\n", + "RETURN n, m\n", + "```\n", + "\n", + "\n", + "While these examples help in understanding the basic syntax, they are not very realistic. In most scenarios you will not want to just add a node, instead you will want to add a node with a specific label and associated properties.\n", + "\n", + "Let's look at what our query looks like to create a new `person` node with the first name of `John` and a last name of `Doe`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f7a0df81", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "CREATE (n:person {first_name: 'John', last_name: 'Doe'})\n", + "RETURN n" + ] + }, + { + "cell_type": "markdown", + "id": "8364e41a", + "metadata": {}, + "source": [ + "In the example above, the first and last name properties were added by specifying them inline with the node being created. This can also be accomplished using the `SET` clause. The `SET` clause allows you to specify a specific property to be added/updated (`SET n.first_name='Jane'`) or it can be assigned a map of key-value pairs which will all be added/updated, as shown in the example below." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fc969671", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "CREATE (n:person)\n", + "SET n={first_name: 'Jane', last_name: 'Doe'}\n", + "RETURN n" + ] + }, + { + "cell_type": "markdown", + "id": "91e99c64", + "metadata": {}, + "source": [ + "### Creating edges\n", + "\n", + "Another common task is to create edges between nodes. To create edges, we first use the `MATCH` statement to get the two nodes we would like to connect and then add the relationship between them using the `CREATE` clause. \n", + "\n", + "In the query below, we find the nodes we created above for `John Doe` and `Jane Doe` and connect them with a `friends` edge." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "deabe58e", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (john:person {first_name: 'John', last_name:'Doe'}), (jane:person {first_name: 'Jane', last_name:'Doe'}) \n", + "CREATE (john)-[r:friends]->(jane)\n", + "RETURN r" + ] + }, + { + "cell_type": "markdown", + "id": "4eee92c8", + "metadata": {}, + "source": [ + "As with nodes, we can also set properties on these edges using the `SET` clause as shown here:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "168bcc76", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (john:person {first_name: 'John', last_name:'Doe'}), (jane:person {first_name: 'Jane', last_name:'Doe'}) \n", + "CREATE (john)-[r:friends]->(jane)\n", + "SET r.relationship='coworker'\n", + "RETURN r" + ] + }, + { + "cell_type": "markdown", + "id": "6d36e1dd", + "metadata": {}, + "source": [ + "### Creating paths\n", + "The last major task people want to do when adding data to their graph is to create entire paths containing both nodes and the connecting edges. Using what we have already learned, we can accomplish this using a query like this:\n", + "\n", + "```\n", + "CREATE (jim:person {first_name: 'Jim', last_name: 'Doe'})\n", + "CREATE (joe:person {first_name: 'Joe', last_name: 'Doe'})\n", + "CREATE (jim)-[:friends]->(joe)\n", + "```\n", + "\n", + "While this is reasonable approach, we can increase the readability of this query a bit by adding them all within a single statement as shown below." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "55f2aaf9", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "CREATE p= (jim:person {first_name: 'Jim', last_name: 'Doe'})-[:friends]->\n", + " (joe:person {first_name: 'Joe', last_name: 'Doe'})\n", + "RETURN p" + ] + }, + { + "cell_type": "markdown", + "id": "9b78432a", + "metadata": {}, + "source": [ + "## Updating Data\n", + "\n", + "After creating data, the next most common task is to update data within the graph. Lucky for us, we have already learned the building blocks we need to know to accomplish this task. In openCypher, we combine the `MATCH` and `SET` clauses to update attributes on nodes and edges. In the example below, let's update the `first_name` of the `Joe Doe` node we created in the previous step." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0335cb50", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (joe:person {first_name: 'Joe', last_name: 'Doe'}) \n", + "SET joe.first_name='Joseph'\n", + "RETURN joe" + ] + }, + { + "cell_type": "markdown", + "id": "70d12ad6", + "metadata": {}, + "source": [ + "As we showed with the `CREATE` clause you can update the values by assigning a map of key-value pairs to an element. When updating data you can also use a map with a `+=` to append or overwrite the key-value pairs from the map to that element. In the example below, we are going to add a new property `age` to our `Joseph Doe` node." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7371ac06", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (joe:person {first_name: 'Joseph', last_name: 'Doe'}) \n", + "SET joe += {age: 43}\n", + "RETURN joe" + ] + }, + { + "cell_type": "markdown", + "id": "978fff4c", + "metadata": {}, + "source": [ + "Another feature when using `SET` is that you can remove a property by setting that property key to `null`, as shown in the example below." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9e4ebade", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (joe:person {first_name: 'Joseph', last_name: 'Doe'}) \n", + "SET joe = null\n", + "RETURN joe" + ] + }, + { + "cell_type": "markdown", + "id": "e299d1a4", + "metadata": {}, + "source": [ + "## Upserting Data\n", + "\n", + "We have learned how to create and update data in our graph. However, there is another important mutation operation that we want to cover. That operation is how to perform an upsert, where data is created if it doesn't exist or updated if it does. In openCypher, this operation is performed using the `MERGE` clause. `MERGE` can be thought of as a combination of `MATCH` and `CREATE` with the additional ability to specify what to do on a create or a match. \n", + "\n", + "**Note:** The `MERGE` clause does not support partial pattern matches. When matching against patterns in `MERGE`, the matches are either the entire pattern, or the entire pattern is created.\n", + "\n", + "The `MERGE` clause is divided into three sections:\n", + "\n", + "* `MERGE` - This specifies the pattern(s) that you want to match in the graph\n", + "* `ON CREATE` - This specifies the behavior to occur if the pattern is created\n", + "* `ON MATCH` - This specifies the behavior to occur if the pattern is matched\n", + "\n", + "Of these three portions, only the `MERGE` is required. \n", + "\n", + "### Upserting Nodes\n", + "\n", + "Let's take a look at what a simple `MERGE` statement looks like with a single node pattern match." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ce3f5fb", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MERGE (p:person {first_name: \"Jamie\"})\n", + "RETURN p" + ] + }, + { + "cell_type": "markdown", + "id": "8715cd5f", + "metadata": {}, + "source": [ + "In this case, we created a new node as there are no matches for the specified pattern. However, let's say that if you created the node that you wanted to specify additional properties beyond the ones in the pattern match. This is where we can leverage the `ON CREATE` portion of the `MERGE` clause as shown below." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd7101fc", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MERGE (p:person {first_name: \"Jamie\"})\n", + "ON CREATE\n", + " SET p.creation = 'Now'\n", + "RETURN p" + ] + }, + { + "cell_type": "markdown", + "id": "0654b084", + "metadata": {}, + "source": [ + "We can also specify the behavior for when the pattern is matched via the `ON MATCH` portion, as shown here:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "91b72e90", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MERGE (p:person {first_name: \"Jamie\"})\n", + "ON CREATE\n", + " SET p.creation = 'Now'\n", + "ON MATCH\n", + " SET p.creation = 'Earlier'\n", + "RETURN p" + ] + }, + { + "cell_type": "markdown", + "id": "952c7825", + "metadata": {}, + "source": [ + "### Upserting edges\n", + "\n", + "The `MERGE` clause can also be used on to upsert edges. Let's take the query we used above to create edges and update it to use `MERGE` instead." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f66d367b", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (john:person {first_name: 'John', last_name:'Doe'}), (jane:person {first_name: 'Jane', last_name:'Doe'}) \n", + "MERGE (john)-[r:friends]->(jane)\n", + "RETURN r" + ] + }, + { + "cell_type": "markdown", + "id": "2c92cf2e", + "metadata": {}, + "source": [ + "### `UNWIND` with `MERGE`\n", + "\n", + "So far, the options we have shown you work with a single item. However, a common requirement is to send in a list of values and have them all added iteratively. To accomplish this, we can leverage the `MERGE` clause as well as another new clause `UNWIND`. `UNWIND` is a clause in openCypher that takes a list and expands it back to individual rows. For example, if we ran the query below:\n", + "\n", + "```\n", + "UNWIND [1,2,3] as x\n", + "RETURN x\n", + "```\n", + "\n", + "We would get back the following results:\n", + "\n", + "|x|\n", + "|--|\n", + "|1|\n", + "|2|\n", + "|3|\n", + "\n", + "**Note:** One important thing to know is that while we are demonstrating the `UNWIND` clause in the context of creating/merging data, this is not the only way it can be used. The `UNWIND` clause has multiple other uses when dealing with lists beyond what is shown here.\n", + "\n", + "The ability to pass in a list of values and have them transformed into individual rows to optimize insertion of data. In the example below, we use a `WITH` clause to inject an array of maps. We then use the `UNWIND` clause to turn this into 3 individual rows, which are then used as inputs to the `MERGE` statement." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f646e881", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + " WITH [{first_name:\"Dave\"},{first_name:\"Josh\"},{first_name:\"Steve\"}] as names\n", + "\n", + "UNWIND names as name\n", + "MERGE (n:person {first_name: name.first_name})\n", + "RETURN n" + ] + }, + { + "cell_type": "markdown", + "id": "60b2eab1", + "metadata": {}, + "source": [ + "## Deleting Data\n", + "\n", + "Now that we have learned about how to add and update data in our graph, the final operation we need to learn is how to delete data. In openCypher, deletion of data is done with the `DELETE` clause for removing nodes or edges.\n", + "\n", + "### Removing a Node\n", + "\n", + "To remove a node(s) in openCypher, we first need to match the items we want to delete, via `MATCH`, and then remove them using `DELETE`. In the example below, we will remove any nodes with the `first_name` of `Steve` from our graph." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "190af502", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:person {first_name: 'Steve'})\n", + "DELETE n\n", + "RETURN n" + ] + }, + { + "cell_type": "markdown", + "id": "a68c7a83", + "metadata": {}, + "source": [ + "### Removing an Edge\n", + "To remove an edge(s) in openCypher is very similar to removing a node, except that we need to pass the edge to `DELETE`. In the example below, we will remove any edges associated with nodes with the `first_name` of `Joseph` from our graph." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2beb5c72", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc\n", + "MATCH (n:person {first_name: 'Joseph'})-[r]-()\n", + "DELETE r\n", + "RETURN r" + ] + }, + { + "cell_type": "markdown", + "id": "fd55000f", + "metadata": {}, + "source": [ + "### Deleting Nodes and Edges\n", + "\n", + "One common tripping point with `DELETE` queries is that if you are trying to delete a node that is attached to an edge. If you do this, then the error will be returned:\n", + "\n", + "```\n", + "\"Cannot delete node, because it still has relationships. To delete this node, you must first delete its relationships.\"\n", + "```\n", + "\n", + "To avoid this, we can delete all the relationships and then the node, like this:\n", + "\n", + "```\n", + "MATCH (n:person {first_name: 'Joseph'})-[r]-()\n", + "DELETE r\n", + "DELETE n\n", + "```\n", + "\n", + "The other option is to use the `DETACH DELETE` version of the clause which allows you to specify just the node and it will remove all adjacent edges and then the node. The example below removes all edges and nodes with a name of `John Doe`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "493ac5cf", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n", + "MATCH (n:person {first_name: 'John', last_name: 'Doe'})\n", + "DETACH DELETE n\n", + "RETURN n" + ] + }, + { + "cell_type": "markdown", + "id": "f5d352e5", + "metadata": {}, + "source": [ + "## Exercises\n", + "\n", + "Now that we have gone through the concepts of openCypher mutation queries, 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 M-1 Create a new person `Leonhard Euler` and connect them to `Dave`?\n", + "\n", + "Using the data model above, write a query that will:\n", + "\n", + "* Create a new `person` node with a name of `Leonhard Euler` \n", + "* Connect the new node to `Dave` via a `friends` edge\n", + "* Return the new connection\n", + "\n", + "The results for this query are the new edge's id" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36adacaf", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n" + ] + }, + { + "cell_type": "markdown", + "id": "04ab5b59", + "metadata": {}, + "source": [ + "### Exercise M-2 Upsert the a list of followers and add an edge to `Dave`?\n", + "\n", + "Using the data model above, write a query that will:\n", + "\n", + "* Given the following list:\n", + " ```\n", + " [{first_name: 'Taylor', last_name: 'Hall'},{first_name: 'Kelvin', last_name: 'Fernsby'},{first_name: 'Ian', last_name: 'Rochester'}]\n", + " ```\n", + "* Add or update `person` nodes for each item in the list\n", + "* Add or update a `follower` relationship between each new node and `Dave`\n", + "* If the edge is created write a property `creation` with a value `Created`\n", + "* If the edge already exists write a property `creation` with a value `Updated`\n", + "* Return the new edge elements\n", + "* This query should be re-runable without creating new nodes or edges\n", + "\n", + "The results for this query are the three edge elements" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dae9d211", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n" + ] + }, + { + "cell_type": "markdown", + "id": "678a243d", + "metadata": {}, + "source": [ + "### Exercise M-3 Delete all `followers` edges and remove any connected nodes with no other edges?\n", + "\n", + "Using the data model above, write a query that will:\n", + "\n", + "* Find all the followers edges and connected nodes and remove the edges\n", + "* For each of the connected nodes see if they have any other edges\n", + "* If they have edges then ignore them\n", + "* If they have no edges then remove them\n", + "* Return the number of edges removed and the number of nodes removed\n", + "\n", + "The results for this query are:\n", + "\n", + "|node_cnt|edge_cnt|\n", + "|--|--|\n", + "|3|6|" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f96b91e5", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc -d $node_labels\n" + ] + }, + { + "cell_type": "markdown", + "id": "b5acefc5", + "metadata": {}, + "source": [ + "## Conclusion\n", + "\n", + "In this notebook, we explored how to write queries to mutate data in openCypher. This brings us to the end of our learning session on openCypher. Throughout these notebooks, we have walked through the most common usage patterns for openCypher and applied those to common query patterns for property graph queries. We hope that you now feel that you have a strong foundational understanding of how to approach and write openCypher 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 +} diff --git a/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/__init__.py b/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/openCypher-Exercises-Answer-Key.ipynb b/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/openCypher-Exercises-Answer-Key.ipynb new file mode 100644 index 00000000..63c40676 --- /dev/null +++ b/src/graph_notebook/notebooks/06-Language-Tutorials/02-openCypher/openCypher-Exercises-Answer-Key.ipynb @@ -0,0 +1,435 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "b6612db4", + "metadata": {}, + "source": [ + "# Answer Key\n", + "\n", + "Below are the answers to the exercises given in the companion notebooks but first let's setup the visualization options.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "16995693-2a2c-42bf-8461-a32062ebaac3", + "metadata": { + "tags": [] + }, + "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": "markdown", + "id": "e76dc888-a0c7-4ed1-bac5-52e96578dfea", + "metadata": {}, + "source": [ + "## 01-Basic-Read-Queries\n", + "\n", + "### Exercise B-1 Find the first name of Dave's friends" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "28840d3b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc \n", + "\n", + "MATCH (:person {first_name: 'Dave'})-[:friends]->(f:person) \n", + "RETURN f.first_name" + ] + }, + { + "cell_type": "markdown", + "id": "78ec7c0d", + "metadata": {}, + "source": [ + "### Exercise B-2 Find the first name of the friends of Dave's friends" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "65e46798", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc \n", + "\n", + "MATCH (:person {first_name:'Dave'})-[:friends]->()-[:friends]->(p:person) \n", + "RETURN DISTINCT p.first_name" + ] + }, + { + "cell_type": "markdown", + "id": "17a15554", + "metadata": {}, + "source": [ + "### Exercise B-3 Find out how the friends of Dave's friends are connected" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cec9a543", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc\n", + "\n", + "MATCH p=(d:person {first_name:'Dave'})-[:friends]->()-[:friends]->(:person) \n", + "RETURN p" + ] + }, + { + "cell_type": "markdown", + "id": "7d193248", + "metadata": {}, + "source": [ + "### Exercise B-4 Which friends should we recommend for Dave?\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "670edcbc", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc\n", + "\n", + "MATCH p=(d:person {first_name:'Dave'})-[:friends]->()-[:friends]->(foff:person) \n", + "WHERE NOT (foff)-[:friends]->(d)\n", + "RETURN DISTINCT foff.first_name" + ] + }, + { + "cell_type": "markdown", + "id": "c222fc68", + "metadata": {}, + "source": [ + "## 02-Variable-Length-Paths\n", + "\n", + "### Exercise VLP-1 Find the first name of Dave's friends" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a2064f90", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc\n", + "\n", + "MATCH (:person {first_name:'Dave'})-[:friends*2]->(p:person) \n", + "RETURN DISTINCT p.first_name" + ] + }, + { + "cell_type": "markdown", + "id": "f6f7229b", + "metadata": {}, + "source": [ + "### Exercise VLP-2 Find all `person` nodes connected to Dave" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60a9d820", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc\n", + "\n", + "MATCH p=(:person {first_name:'Dave'})-[:friends*]->(:person) \n", + "RETURN p" + ] + }, + { + "cell_type": "markdown", + "id": "615c2be9", + "metadata": {}, + "source": [ + "### Exercise VLP-3 Find if Dave and Denise are connected" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fd4b86e2", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc\n", + "\n", + "MATCH p=(:person {first_name:'Dave'})-[:friends*1..]-(:person {first_name:'Denise'})\n", + "RETURN True \n", + "LIMIT 1" + ] + }, + { + "cell_type": "markdown", + "id": "62d52023", + "metadata": {}, + "source": [ + "### Exercise VLP-4 Find all the ways Dave and Denise are connected" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "044ea076", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc\n", + "\n", + "MATCH p=(:person {first_name:'Dave'})-[:friends*1..]-(:person {first_name:'Denise'})\n", + "RETURN p " + ] + }, + { + "cell_type": "markdown", + "id": "76439a5a", + "metadata": {}, + "source": [ + "## 03-Ordering-Functions-Grouping\n", + "\n", + "### Exercise G-1 What are the 3 highest restaurants?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "43555803", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc\n", + "MATCH (r:restaurant)<-[:about]-(rev:review)\n", + "WITH r, avg(rev.rating) AS avg_rating\n", + "ORDER BY avg_rating DESC\n", + "LIMIT 3\n", + "MATCH (r)-[:serves]->(c:cuisine)\n", + "RETURN r.name, c.name, avg_rating\n", + "ORDER BY avg_rating Desc" + ] + }, + { + "cell_type": "markdown", + "id": "85285f40", + "metadata": {}, + "source": [ + "### Exercise G-2 Find the top 3 highest rated restaurants in the city where Dave lives" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d9726904", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc\n", + "MATCH (p:person {first_name: 'Dave'})-[:lives]->(:city)<-[:within]-(r:restaurant)<-[:about]-(v:review)\n", + "WITH r, avg(v.rating) AS rating_average, p\n", + "RETURN r.name AS name,\n", + "r.address AS address, rating_average\n", + "ORDER BY rating_average DESC \n", + "LIMIT 3" + ] + }, + { + "cell_type": "markdown", + "id": "d87c8a58", + "metadata": {}, + "source": [ + "### Exercise G-3 What Mexican or Chinese restaurant near Dave that is the highest rated?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8d43663c", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc\n", + "MATCH (p:person {first_name: 'Dave'})-[:lives]->(:city)<-[:within]-(r:restaurant)-[:serves]->(c:cuisine) \n", + "WHERE c.name IN ['Mexican', 'Chinese'] \n", + "WITH r\n", + "MATCH (r)<-[:about]-(v:review) \n", + "WITH r, avg(v.rating) AS rating_average \n", + "RETURN r.name AS name, \n", + " r.address AS address, rating_average\n", + "ORDER BY rating_average DESC \n", + "LIMIT 1" + ] + }, + { + "cell_type": "markdown", + "id": "323feeda", + "metadata": {}, + "source": [ + "### Exercise G-4 What are the top 3 restaurants, recommended by his friends, where Dave lives? (Personalized Recommendation)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9b1f39a5", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc\n", + "MATCH (p:person {first_name: 'Dave'})-[:lives]->(c:city)\n", + "MATCH (p)-[:friends]-()-[:wrote]-(v)-[:about]-\n", + "(r:restaurant)-[:within]-(c) \n", + "RETURN r.name AS name, r.address AS address, avg(v.rating) as rating_average\n", + "ORDER BY rating_average DESC\n", + "LIMIT 3" + ] + }, + { + "cell_type": "markdown", + "id": "755abc7f", + "metadata": {}, + "source": [ + "## 04-Creating-Updating-Delete-Queries\n", + "\n", + "### Exercise M-1 Create a new person `Leonhard Euler` and connect them to `Dave`?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c04c4f37", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc\n", + "CREATE (le:person {first_name: 'Leonhard', last_name: 'Euler'})\n", + "WITH le\n", + "MATCH (dave:person {first_name: 'Dave'})\n", + "CREATE (le)-[:friends]->(dave)\n", + "RETURN le" + ] + }, + { + "cell_type": "markdown", + "id": "882bb492", + "metadata": {}, + "source": [ + "### Exercise M-2 Upsert the a list of followers and add an edge to `Dave`?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5f323a03", + "metadata": {}, + "outputs": [], + "source": [ + "%%oc\n", + "WITH [{first_name: 'Taylor', last_name: 'Hall'},{first_name: 'Kelvin', last_name: 'Fernsby'},{first_name: 'Ian', last_name: 'Rochester'}] as followers\n", + "\n", + "UNWIND followers as f\n", + "MERGE (n:person {first_name: f.first_name, last_name: f.last_name})-[r:follower]->(:person {first_name: 'Dave'})\n", + "ON CREATE\n", + " SET r.creation='Created'\n", + "ON MATCH\n", + " SET r.creation='Updated'\n", + "RETURN r" + ] + }, + { + "cell_type": "markdown", + "id": "a2643abc", + "metadata": {}, + "source": [ + "### Exercise M-3 Delete all `followers` edges and remove any connected nodes with no other edges?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "48acc3db", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "%%oc\n", + "MATCH (a)-[r:followers]-()\n", + "DELETE r\n", + "WITH collect(DISTINCT a) as a, count(r) as edge_cnt\n", + "UNWIND a as n\n", + "MATCH (n)\n", + "WHERE size((n)--()) = 0\n", + "DELETE n\n", + "WITH count(n) as node_cnt, edge_cnt\n", + "RETURN node_cnt, edge_cnt" + ] + } + ], + "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 +} diff --git a/test/unit/notebooks/test_validate_notebooks.py b/test/unit/notebooks/test_validate_notebooks.py index 66fdafad..479f1917 100644 --- a/test/unit/notebooks/test_validate_notebooks.py +++ b/test/unit/notebooks/test_validate_notebooks.py @@ -56,7 +56,12 @@ def test_no_extra_notebooks(self): f'{NOTEBOOK_BASE_DIR}/05-Data-Science/00-Identifying-Fraud-Rings-Using-Social-Network-Analytics.ipynb', f'{NOTEBOOK_BASE_DIR}/05-Data-Science/01-Identifying-1st-Person-Synthetic-Identity-Fraud-Using-Graph-Similarity.ipynb', f'{NOTEBOOK_BASE_DIR}/05-Data-Science/02-Logistics-Analysis-using-a-Transportation-Network.ipynb', - f'{NOTEBOOK_BASE_DIR}/06-Language-Tutorials/01-SPARQL/01-SPARQL-Basics.ipynb'] + f'{NOTEBOOK_BASE_DIR}/06-Language-Tutorials/01-SPARQL/01-SPARQL-Basics.ipynb', + f'{NOTEBOOK_BASE_DIR}/06-Language-Tutorials/02-openCypher/01-Basic-Read-Queries.ipynb', + f'{NOTEBOOK_BASE_DIR}/06-Language-Tutorials/02-openCypher/02-Variable-Length-Paths.ipynb', + f'{NOTEBOOK_BASE_DIR}/06-Language-Tutorials/02-openCypher/03-Ordering-Functions-Grouping.ipynb', + f'{NOTEBOOK_BASE_DIR}/06-Language-Tutorials/02-openCypher/04-Creating-Updating-Delete-Queries.ipynb', + f'{NOTEBOOK_BASE_DIR}/06-Language-Tutorials/02-openCypher/openCypher-Exercises-Answer-Key.ipynb'] notebook_paths = get_all_notebooks_paths() expected_paths.sort() notebook_paths.sort()