From 02ba47fd2e0af4de5de56e004be964538eb29cbc Mon Sep 17 00:00:00 2001 From: Michael Chin Date: Fri, 11 Aug 2023 19:16:10 -0700 Subject: [PATCH 1/6] Fix notebook kernel crashing with ZMQ errors on magic execution (#517) * Fix notebook kernel crashing with ZMQ errors on magic execution * update changelog --- ChangeLog.md | 1 + .../install-graph-notebook-lc-cn.sh | 4 ---- .../sagemaker-notebook-lifecycle/install-graph-notebook-lc.sh | 4 ---- requirements.txt | 2 +- setup.py | 2 +- 5 files changed, 3 insertions(+), 10 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index ca870098..b6e1f127 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -4,6 +4,7 @@ Starting with v1.31.6, this file will contain a record of major features and upd ## Upcoming - Added `--explain-type` option to `%%gremlin` ([Link to PR](https://github.com/aws/graph-notebook/pull/503)) +- Fixed kernel crashing with ZMQ errors on magic execution ([Link to PR](https://github.com/aws/graph-notebook/pull/517)) ## Release 3.8.2 (June 5, 2023) - New Sample Applications - Healthcare and Life Sciences notebooks ([Link to PR](https://github.com/aws/graph-notebook/pull/484)) diff --git a/additional-databases/sagemaker/sagemaker-notebook-lifecycle/install-graph-notebook-lc-cn.sh b/additional-databases/sagemaker/sagemaker-notebook-lifecycle/install-graph-notebook-lc-cn.sh index 10e9cd10..34cb432a 100644 --- a/additional-databases/sagemaker/sagemaker-notebook-lifecycle/install-graph-notebook-lc-cn.sh +++ b/additional-databases/sagemaker/sagemaker-notebook-lifecycle/install-graph-notebook-lc-cn.sh @@ -28,12 +28,8 @@ python3 -m ipykernel install --sys-prefix --name python3 --display-name "Python echo "installing python dependencies..." pip uninstall NeptuneGraphNotebook -y # legacy uninstall when we used to install from source in s3 -pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn "ipython==7.16.1" pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn "jupyter-console<=6.4.0" pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn "jupyter-client<=6.1.12" -pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn "ipywidgets<=7.7.1" -pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn "notebook==6.4.12" -pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn "nbclient<=0.7.0" pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn "awswrangler" if [[ ${VERSION} == "" ]]; then diff --git a/additional-databases/sagemaker/sagemaker-notebook-lifecycle/install-graph-notebook-lc.sh b/additional-databases/sagemaker/sagemaker-notebook-lifecycle/install-graph-notebook-lc.sh index a12aebbd..7b67ddf0 100644 --- a/additional-databases/sagemaker/sagemaker-notebook-lifecycle/install-graph-notebook-lc.sh +++ b/additional-databases/sagemaker/sagemaker-notebook-lifecycle/install-graph-notebook-lc.sh @@ -28,12 +28,8 @@ python3 -m ipykernel install --sys-prefix --name python3 --display-name "Python echo "installing python dependencies..." pip uninstall NeptuneGraphNotebook -y # legacy uninstall when we used to install from source in s3 -pip install "ipython==7.16.1" pip install "jupyter-console<=6.4.0" pip install "jupyter-client<=6.1.12" -pip install "ipywidgets<=7.7.1" -pip install "notebook==6.4.12" -pip install "nbclient<=0.7.0" pip install awswrangler if [[ ${VERSION} == "" ]]; then diff --git a/requirements.txt b/requirements.txt index 8294994d..7c9694be 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ SPARQLWrapper==1.8.4 networkx==2.4 Jinja2>=3.0.3,<=3.1.2 jupyter==1.0.0 -notebook>=6.1.5,<6.5.0 +notebook>=6.1.5,<7.0.0 ipywidgets==7.7.2 jupyterlab_widgets>=1.0.0,<3.0.0 nbclient<=0.7.0 diff --git a/setup.py b/setup.py index 9910f6f2..19350f8b 100644 --- a/setup.py +++ b/setup.py @@ -73,7 +73,7 @@ def get_version(): 'jupyterlab_widgets>=1.0.0,<3.0.0', 'networkx==2.4', 'Jinja2>=3.0.3,<=3.1.2', - 'notebook>=6.1.5,<6.5.0', + 'notebook>=6.1.5,<7.0.0', 'nbclient<=0.7.3', 'jupyter-contrib-nbextensions<=0.7.0', 'widgetsnbextension<=3.6.1', From e4524a792d986c6b9adc0597f0f7ed448334c516 Mon Sep 17 00:00:00 2001 From: Michael Chin Date: Fri, 25 Aug 2023 18:11:49 -0700 Subject: [PATCH 2/6] Recognize TS domains as Neptune endpoints (#521) --- src/graph_notebook/neptune/client.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/graph_notebook/neptune/client.py b/src/graph_notebook/neptune/client.py index b4e868c6..a25fe341 100644 --- a/src/graph_notebook/neptune/client.py +++ b/src/graph_notebook/neptune/client.py @@ -102,7 +102,9 @@ STREAM_RDF = 'RDF' STREAM_ENDPOINTS = {STREAM_PG: 'gremlin', STREAM_RDF: 'sparql'} -NEPTUNE_CONFIG_HOST_IDENTIFIERS = ["neptune.amazonaws.com", "neptune.*.amazonaws.com.cn", "api.aws", "on.aws", "aws.dev"] +NEPTUNE_CONFIG_HOST_IDENTIFIERS = ["neptune.amazonaws.com", "neptune.*.amazonaws.com.cn", + "api.aws", "on.aws", "aws.dev", + "sc2s.sgov.gov", "c2s.ic.gov"] false_str_variants = [False, 'False', 'false', 'FALSE'] From 972e4a9adfe19f9c99a639c154287bb546705708 Mon Sep 17 00:00:00 2001 From: mverkruyse Date: Mon, 28 Aug 2023 20:07:00 -0700 Subject: [PATCH 3/6] Update 04-Creating-Updating-Delete-Queries.ipynb (#525) Example is trying to show how you can remove a property by setting it to null, but the example is currently setting the entire node to null, which errors out. --- .../02-openCypher/04-Creating-Updating-Delete-Queries.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index c10f03bb..ab4f3517 100644 --- 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 @@ -360,7 +360,7 @@ "source": [ "%%oc -d $node_labels\n", "MATCH (joe:person {first_name: 'Joseph', last_name: 'Doe'}) \n", - "SET joe = null\n", + "SET joe.age = null\n", "RETURN joe" ] }, From bca10f83e3ddad39be6b1ee36b9ff5aa28ec637b Mon Sep 17 00:00:00 2001 From: mverkruyse Date: Mon, 28 Aug 2023 20:07:34 -0700 Subject: [PATCH 4/6] Update openCypher-Exercises-Answer-Key.ipynb (#526) * Update openCypher-Exercises-Answer-Key.ipynb As mentioned earlier in the notebook, 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. Because the pattern is a partial match, it currently creates a new "person {first_name: 'Dave'}" node for each of the new "person" added to the graph. By first doing a MERGE for (d:person {first_name: 'Dave'), when the partial match happens, the whole path is again created, but this time linking to the already existing "Dave" rather than creating new ones each time. * Update openCypher-Exercises-Answer-Key.ipynb fix quotes --------- Co-authored-by: Michael Chin --- .../02-openCypher/openCypher-Exercises-Answer-Key.ipynb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 index 63c40676..ccb3c431 100644 --- 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 @@ -373,7 +373,8 @@ "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", + "MERGE (d:person {first_name: 'Dave'})\n", + "MERGE (n:person {first_name: f.first_name, last_name: f.last_name})-[r:follower]->(d)\n", "ON CREATE\n", " SET r.creation='Created'\n", "ON MATCH\n", From 3570553ffc9a9096e4230b23b533f5284c2c5d0f Mon Sep 17 00:00:00 2001 From: Michael Chin Date: Thu, 7 Sep 2023 16:49:56 -0700 Subject: [PATCH 5/6] Update ChangeLog.md --- ChangeLog.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index b6e1f127..c6c8a993 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -4,6 +4,12 @@ Starting with v1.31.6, this file will contain a record of major features and upd ## Upcoming - Added `--explain-type` option to `%%gremlin` ([Link to PR](https://github.com/aws/graph-notebook/pull/503)) +- Added general documentation for `%%graph_notebook_config` options ([Link to PR](https://github.com/aws/graph-notebook/pull/504)) +- Updated Docker documentation with platform-specific run commands ([Link to PR](https://github.com/aws/graph-notebook/pull/502)) +- Fixed deprecation warnings in GitHub workflows ([Link to PR](https://github.com/aws/graph-notebook/pull/506)) +- Fixed seed dataset unzip path in Identity Graph sample notebook ([Link to PR](https://github.com/aws/graph-notebook/pull/507)) +- Fixed unit test workflows failing on type check assertion ([Link to PR](https://github.com/aws/graph-notebook/pull/514)) +- Fixed bad queries in openCypher Language Tutorial samples ([PR #1](https://github.com/aws/graph-notebook/pull/525)) ([PR #2](https://github.com/aws/graph-notebook/pull/526)) - Fixed kernel crashing with ZMQ errors on magic execution ([Link to PR](https://github.com/aws/graph-notebook/pull/517)) ## Release 3.8.2 (June 5, 2023) From 5274255de561454da7b70e2ccbc99f359c8ce1c3 Mon Sep 17 00:00:00 2001 From: Michael Chin Date: Mon, 11 Sep 2023 15:55:02 -0700 Subject: [PATCH 6/6] Remove ceiling pin for boto3 and botocore (#528) * Remove ceiling pin for boto3 and botocore dependencies * update changelog --- ChangeLog.md | 1 + setup.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index c6c8a993..eb667316 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -11,6 +11,7 @@ Starting with v1.31.6, this file will contain a record of major features and upd - Fixed unit test workflows failing on type check assertion ([Link to PR](https://github.com/aws/graph-notebook/pull/514)) - Fixed bad queries in openCypher Language Tutorial samples ([PR #1](https://github.com/aws/graph-notebook/pull/525)) ([PR #2](https://github.com/aws/graph-notebook/pull/526)) - Fixed kernel crashing with ZMQ errors on magic execution ([Link to PR](https://github.com/aws/graph-notebook/pull/517)) +- Unpinned `boto3` and `botocore` to support NeptuneData SDK ([Link to PR](https://github.com/aws/graph-notebook/pull/528)) ## Release 3.8.2 (June 5, 2023) - New Sample Applications - Healthcare and Life Sciences notebooks ([Link to PR](https://github.com/aws/graph-notebook/pull/484)) diff --git a/setup.py b/setup.py index 19350f8b..b1ce21a5 100644 --- a/setup.py +++ b/setup.py @@ -78,8 +78,8 @@ def get_version(): 'jupyter-contrib-nbextensions<=0.7.0', 'widgetsnbextension<=3.6.1', 'jupyter==1.0.0', - 'botocore>=1.21.49,<=1.29.53', - 'boto3>=1.18.49,<=1.26.53', + 'botocore>=1.21.49', + 'boto3>=1.18.49', 'ipython>=7.16.1,<=8.10.0', 'neo4j>=4.4.9,<5.0.0', 'rdflib==5.0.0',