Starting with v1.31.6, this file will contain a record of major features and updates made in each release of graph-notebook.
- Added graph customization support for SPARQL queries (Link to PR)
- Added graph reset and search refinement buttons to the graph output tab (Link to PR)
- Added support for setting custom edge and node tooltips (Link to PR)
- Added edge tooltips, and options for specifying edge label length (Link to PR)
- Updated NeptuneML pre-trained model resources for CN regions (Link to PR)
- Fixed inaccurate help message being displayed for certain GremlinServerErrors (Link to PR)
- Fixed error causing query autocompletion to fail (Link to PR)
- Fixed Jupyter start script for cases where the nbconfig directory is missing (Link to PR)
- Added support for specifying the Gremlin traversal source (Link to PR)
- Added edge tooltips, and options for specifying edge label length (Link to PR)
- Fixed configuration options missing when using a CN region Neptune host (Link to PR)
- Correct naming of ID parameter for NeptuneML Endpoint command (Link to PR)
- Added full support for NeptuneML API command parameters to
%neptune_ml
(Link to PR) - Allow
%%neptune_ml
to accept JSON blob as parameter input for most phases (Link to PR) - Added
--silent
option for suppressing query output (PR #1) (PR #2) - Added all
parserConfiguration
options to%load
(Link to PR) - Upgraded to Gremlin-Python 3.5 and Jupyter Notebook 6.x (Link to PR)
- Resolved smart indent bug in openCypher magic cells (Link to PR)
- Removed default
/sparql
path suffix from non-Neptune SPARQL requests (Link to PR)
- Added a new
%stream_viewer
magic that allows interactive exploration of the Neptune CDC stream (if enabled). (Link to PR) - Added support for multi-property values in vertex and edge labels (Link to PR)
- Added new visualization physics options, toggle button (Link to PR)
- Fixed TypeError thrown for certain OC list type results (Link to PR
- Documentation fixes for additional databases (Link to PR)
- Disabled SigV4 signing for non-IAM AWS requests (Link to PR)
- Added new
--nopoll
option to%load
to disable status polling (Link to PR) - Made Neptune specific parameters optional for
%%graph_notebook_config
(Link to PR) - Upgraded Jupyter Notebook dependency to 5.7.13 for security fix (Link to PR)
- Improved usability of %load Edge IDs option (Link to PR)
- Gremlin visualization bugfixes (PR #1) (PR #2) (PR #3)
- Updated the airport data loadable via %seed to the latest version (Link to PR)
- Added support for Gremlin Profile API parameters (Link to PR)
- Improved %seed so that the progress bar is seen to complete (Link to PR)
- Added helper functions to neptune_ml utils to get node embeddings, model predictions and performance metrics (Link to PR)
- Changed visualization behavior to add all group-less nodes to a default group (Link to PR)
- Fixed a bug causing ML Export requests to fail (Link to PR)
- Add new Knowledge Graph use case notebook for openCypher usage (Link to PR)
- Fixed incorrect visualizations of some Gremlin results returned by valueMap (Link to PR)
- Fixed error with Gremlin visualizer incorrectly identifying some query results as elementMaps (Link to PR)
- Pin RDFLib version in README (Link to PR)
- Fixed inconsistent node tooltips in openCypher visualizations (Link to PR)
openCypher Support:
With the release of support for the openCypher query language in Amazon Neptune's lab mode, graph-notebook can now be used to execute and visualize openCypher queries with any compatible graph database.
Two new magic commands have been added:
%%oc
/%%opencypher
%%oc_status
/%%opencypher_status
These openCypher magic commands inherit the majority of the query and visualization customization features that are already available in the Gremlin and SPARQL magics.
For more detailed information and examples of how you can execute and visualize openCypher queries through graph-notebook, please refer to the new Air-Routes-openCypher
and EPL-openCypher
sample notebooks.
Other major updates:
- Added visualization support for elementMap Gremlin step (Link to PR)
- Added support for additional customization of edge node labels in Gremlin (Link to PR)
- Refactored %load form display code for flexibility; fixes some descriptions being cut off
- Updated Neptune ML notebooks, utils, and pretrained models config (Link to PR)
- Added support for
modeltransform
commands in%neptune_ml
(Link to PR) - Overhauled Gremlin visualization notebooks with example usage of new customization options and elementMap step (Link to PR)
- Added new notebook to explain Identity Graph data modeling (Link to PR)
Minor updates:
- Included index operations metrics in metadata results tab for Gremlin Profile queries(Link to PR)
- Updated SPARQL EPL seed dataset file (Link to PR)
- Updated documentation on using
%%graph_notebook_config
with an IAM enabled Neptune cluster (Link to PR)
Bugfixes:
- Fixed improper handling of Blazegraph status response (Link to PR)
- Fixed Gremlin node tooltips being displayed incorrectly (Link to PR)
- Fixed bug in using Gremlin explain/profile with large result sets (Link to PR)
- Pinned RDFLib version (Link to PR)
- Added support for additional customization of graph node labels in Gremlin (Link to PR)
- Added support for dictionary value access in variable injection(Link to PR)
- Pinned gremlinpython to
<3.5.*
(Link to PR) - Added support for notebook variables in Sparql/Gremlin magic queries (Link to PR)
- Added support for grouping by different properties per label in Gremlin (Link to PR)
- Fixed missing Boto3 dependency in setup.py (Link to PR)
- Updated %load execution time to HH:MM:SS format if over a minute (Link to PR)
- Fixed bug in
%neptune_ml export ...
logic where the iam setting for the exporter endpoint wasn't getting picked up properly
- Added support for Mode, queueRequest, and Dependencies parameters when running %load command (Link to PR)
- Added support for list and dict as map keys in Python Gremlin (Link to PR)
- Refactored modules that call to Neptune or other SPARQL/Gremlin endpoints to use a unified client object (Link to PR)
- Added an additional notebook under 02-Visualization demonstrating how to use the visualzation grouping and coloring options in Gremlin. (Link to PR)
- Added metadata output tab for magic queries (Link to PR)
- Added default parameters for
get_load_status
(Link to PR) - Added ipython as a dependency in
setup.py
(Link to PR) - Added parameters in
load_status
fordetails
,errors
,page
, anderrorsPerPage
(Link to PR)
- Print execution time when running %load command (Link to PR)
- Fixed issue where --ignore-groups was not being honored Link to PR
- Changed SPARQL path parameter in %%graph-notebook-config command to no longer append /sparql to the end, which should give support to more SPARQL 1.1 endpoints Link to PR
Added new sample application notebooks and %seed
datasets under 03-Sample-Applications for the following use cases:
- Fraud Graph
- Knowledge Graph
- Identity Graph
- Added "What’s Next" sections to 01-Getting-Started notebooks to suggest users to relevant notebook tutorials Link to PR
- Added missing init to notebook directories to they get installed correctly
- Updated list of available magics in notebook documentation Link to PR
- Enhanced Gremlin Visualization output to group vertices and color-code them based on groups. When not specified it will group by the label (if it exists). You can also specify the property to groupby using the switch --groupby or -g followed by the property name Link to PR
- Added the functionality to sort the values in the details box by key
- Updated Air-Routes-Visualization notebook to discuss the group by functionality
- Added new tutorial notebooks for Neptune ML functionality Link to PR
This release features integration with the Neptune ML feature set in AWS Neptune. Link to PR
- Added helper library to perform Sigv4 signing for %neptune_ml export ..., we will move our other signing at a later date.
- Swapped how credentials are obtained for ROLE iam credentials provider such that it uses a botocore session now instead of calling the ec2 metadata service. This should make the module more usable outside of Sagemaker.
- Added sub-configuration for sparql to allow specifying path to sparql endpoint
%neptune_ml export status
%neptune_ml dataprocessing start
%neptune_ml dataprocessing status
%neptune_ml training start
%neptune_ml training status
%neptune_ml endpoint create
%neptune_ml endpoint status
%%neptune_ml export start
%%neptune_ml dataprocessing start
%%neptune_ml training start
%%neptune_ml endpoint create
NOTE: If a cell magic is used, its line inputs for specifying parts of the command will be ignore such as--job-id
as a line-param.
Inject variable as cell input:
Currently this will only work for our new cell magic commands details above. You can now specify a variable to use as the cell input received by our neptune_ml
magics using the syntax ${var_name}. For example...
# in one notebook cell:
foo = {'foo', 'bar'}
# in another notebook cell:
%%neptune_ml export start
${foo}
NOTE: The above will only work if it is the sole content of the cell body. You cannot inline multiple variables at this time.
- Support to allow namespace specification for Blazegraph endpoints by specify the prefix to the sparql endpoint being queried.
- Add new config section for sparql-specific items Link to PR
- Specify explain prefix_path param explicitly in
%%sparql explain
magic variant Link to PR
- Fixed bug in argparser for load_status and cancel_load line magics Link to PR
- Expanded loader status values that terminate load line magic
- Added support for storing query results to a variable for use in other notebook cells Link to PR
- Removed %query_mode magic in favor of query parameterization Link to PR
- Fix compatibility with Windows by using path join instead of building paths using strings Link to PR
- Added hooks to install nbextensions using the jupyter nbextension ... syntax
- Fix issue preventing Gremlin results that contain a datetime object from being rendered properly
- Added a dependency revision for graph-notebook compatibility with Amazon Sagemaker. Link to PR
See here for a quick guide on launching graph-notebook using a SageMaker lifecycle configuration file.
First release of graph-notebook on GitHub and to PyPI
The graph notebook is a Python library for Jupyter Notebooks that can run on local desktops and be used with databases that support either the RDF/SPARQL open standard or the open-source Apache TinkerPop graphs.
See here for a list of major features.