graph-data-science-client

A Python client for the Neo4j Graph Data Science (GDS) library

APACHE-2.0 License

Downloads
115K
Stars
190
Committers
24

Bot releases are hidden (Show)

graph-data-science-client - Neo4j Graph Data Science Python Client 1.12a1

Published by RafalSkolasinski about 1 month ago

We are happy to announce the alpha release of graphdatascience, the GDS Python client, version 1.12a1. It is published to PyPI.

Documentation: https://neo4j.com/docs/graph-data-science-client/1.12-preview/

Highlights:

New features

  • Add Neo4j python driver rust extension as a new optional dependency.
  • Support creating GDS Sessions for self-managed Neo4j DBMS.
    • GdsSessions.get_or_create requires a new parameter cloud_location to specify where the session will be created.
  • Return the id of a session and allow deletion by id or name.
  • Add ttl parameter to GdsSessions.get_or_create to control if and when an unused session will be automatically deleted.
  • Add concurrency control for remote write-back procedures using the concurrency parameter.
  • Add progress logging for remote write-back when using GDS Sessions.

Improvements

  • The database connection is now validated before a session is created.
graph-data-science-client - Neo4j Graph Data Science Python Client 1.11 Latest Release

Published by FlorentinD 3 months ago

We are happy to announce the release of graphdatascience, the GDS Python client, version 1.11! It is published to PyPI!

Documentation: https://neo4j.com/docs/graph-data-science-client/1.11/

Highlights:

  • Fixed a bug which caused the auth token returned from the GDS Arrow Server was not correctly received.
  • Fixed a bug which didn't allow the user to specify relationship_types as a string in gds.graph.relationshipProperties.stream().
  • Fixed a bug in kge-predict-transe-pyg-train.ipynb which now uses the gds.graph.relationshipProperty.stream() call and can correctly handle multiple relationships between the same pair of nodes. Issue ref: https://github.com/neo4j/graph-data-science-client/issues/554

The release can be pip installed with pip install graphdatascience==1.11.

graph-data-science-client - Neo4j Graph Data Science Python Client 1.11a4

Published by FlorentinD 3 months ago

We are happy to announce the alpha release of graphdatascience, the GDS Python client, version 1.11a3. It is published to PyPI.

Documentation: https://neo4j.com/docs/graph-data-science-client/1.11-preview/

Highlights:

New features

  • Add the new concept of GDS Sessions, used to manage GDS computations in Aura, based on data from an AuraDB instance.
    • Add a new gds.graph.project endpoint to project graphs from AuraDB instances to GDS sessions.
    • Add a new top-level class GdsSessions to manage GDS sessions in Aura.
      • GdsSessions support get_or_create(), list(), and delete().
    • Creating a new session supports various sizes.
    • The run_cypher() method will run Cypher queries targeting the configured AuraDB instance.

Bug fixes

  • Fixed a bug which caused the auth token returned from the GDS Arrow Server was not correctly received.
  • Fixed a bug which didn't allow the user to specify relationship_types as a string in gds.graph.relationshipProperties.stream().
  • Fixed a bug in kge-predict-transe-pyg-train.ipynb which now uses the gds.graph.relationshipProperty.stream() call and can correctly handle multiple relationships between the same pair of nodes. Issue ref: #554

Improvements

  • Improved the error message if gds.graph.project.cypher produces an empty graph.

Other changes

  • Updated required neo4j driver from 4.4.2 to the latest 4.4 path release (4.4.12) or later.
graph-data-science-client - Neo4j Graph Data Science Python Client 1.11a3

Published by Mats-SX 3 months ago

We are happy to announce the alpha release of graphdatascience, the GDS Python client, version 1.11a3. It is published to PyPI.

Documentation: https://neo4j.com/docs/graph-data-science-client/1.11-preview/

Highlights:

New features

  • Add the new concept of GDS Sessions, used to manage GDS computations in Aura, based on data from an AuraDB instance.
    • Add a new gds.graph.project endpoint to project graphs from AuraDB instances to GDS sessions.
    • Add a new top-level class GdsSessions to manage GDS sessions in Aura.
      • GdsSessions support get_or_create(), list(), and delete().
    • Creating a new session supports various sizes.
    • The run_cypher() method will run Cypher queries targeting the configured AuraDB instance.

Bug fixes

  • Fixed a bug which caused the auth token returned from the GDS Arrow Server was not correctly received.
  • Fixed a bug which didn't allow the user to specify relationship_types as a string in gds.graph.relationshipProperties.stream().
  • Fixed a bug in kge-predict-transe-pyg-train.ipynb which now uses the gds.graph.relationshipProperty.stream() call and can correctly handle multiple relationships between the same pair of nodes. Issue ref: #554
graph-data-science-client - Neo4j Graph Data Science Python Client 1.11a2

Published by Mats-SX 4 months ago

We are happy to announce the alpha release of graphdatascience, the GDS Python client, version 1.11a2. It is published to PyPI.

Documentation: https://neo4j.com/docs/graph-data-science-client/1.11-preview/

Highlights:

New features

  • Add the new concept of GDS Sessions, used to manage GDS computations in Aura, based on data from an AuraDB instance.
    • Add a new gds.graph.project endpoint to project graphs from AuraDB instances to GDS sessions.
    • Add a new top-level class GdsSessions to manage GDS sessions in Aura.
      • GdsSessions support get_or_create(), list(), and delete().
    • Creating a new session supports various sizes.
    • The run_cypher() method will run Cypher queries targeting the configured AuraDB instance.

Bug fixes

  • Fixed a bug which caused the auth token returned from the GDS Arrow Server was not correctly received.
graph-data-science-client - Neo4j Graph Data Science Python Client 1.11a1

Published by Mats-SX 5 months ago

We are happy to announce the alpha release of graphdatascience, the GDS Python client, version 1.11a. It is published to PyPI.

Documentation: https://neo4j.com/docs/graph-data-science-client/1.11-preview/

Highlights:

New features

  • Add the new concept of GDS Sessions, used to manage GDS computations in Aura, based on data from an AuraDB instance.
    • Add a new gds.graph.project endpoint to project graphs from AuraDB instances to GDS sessions.
      • nodePropertySchema and relationshipPropertySchema can be used to optimise remote projections.
    • Add a new top-level class GdsSessions to manage GDS sessions in Aura.
      • GdsSessions support get_or_create(), list(), and delete().
    • Creating a new session supports various sizes.
    • The run_cypher() method will run Cypher queries targeting the configured AuraDB instance.

Bug fixes

  • Fixed a bug which caused the auth token returned from the GDS Arrow Server to not be correctly received.
graph-data-science-client - Graph Data Science Python Client 1.10

Published by adamnsch 7 months ago

We are happy to announce the release of graphdatascience, the GDS Python client, version 1.10! It is published to PyPI!

Documentation: https://neo4j.com/docs/graph-data-science-client/1.10/

Highlights:

  • Fixed an issue where source and target IDs of relationships in heterogeneous OGBL graphs were not parsed correctly.
  • Fixed an issue where configuration parameters such as aggregation were ignored by gds.graph.toUndirected.
  • Fixed an issue where the database given for the GraphDataScience construction was not used for metadata retrieval, causing an exception to be raised if the default "neo4j" database was missing.
  • Fixed an issue where progress bars would not always complete.
  • Fixed an issue where an empty relationship type could not be streamed.

The release can be pip installed with pip install graphdatascience==1.10.

graph-data-science-client - Graph Data Science Python Client 1.10a1

Published by brs96 8 months ago

We are happy to announce the alpha release of graphdatascience, the GDS Python client, version 1.10a1! It is published to PyPI!

Documentation: https://neo4j.com/docs/graph-data-science-client/1.10-preview/

Highlights:

  • Add the new concept of GDS Sessions, used to manage GDS computations in Aura, based on data from an AuraDB instance
  • Fixed an issue where source and target IDs of relationships in heterogeneous OGBL graphs were not parsed correctly.
  • Fixed an issue where configuration parameters such as aggregation were ignored by gds.graph.toUndirected.

The release can be pip installed with pip install graphdatascience==1.10a1.

graph-data-science-client - Graph Data Science Python Client 1.9

Published by brs96 9 months ago

We are happy to announce the release of graphdatascience, the GDS Python client, version 1.9! It is published to PyPI!

Documentation: https://neo4j.com/docs/graph-data-science-client/1.9/

Highlights:

  • Fixed a bug which caused an exception to be raised when running gds.license.state targeting an AuraDS instance.
  • Fixed a bug where the parameter listNodeLabels was ignored for gds.graph.[nodeProperty|nodeProperties].stream calls via Arrow.
  • Fixed a bug where the parameter listNodeLabels was ignored for gds.graph.[nodeProperty|nodeProperties].stream calls via Cypher and separate_property_columns=True.
  • Expose user facing custom types so that they can be directly imported from graphdatascience.
  • Allow dropping graphs through gds.graph.drop by name and not only based on Graph objects.

The release can be pip installed with pip install graphdatascience==1.9.

graph-data-science-client - Graph Data Science Python Client 1.8

Published by brs96 about 1 year ago

We are happy to announce the release of graphdatascience, the GDS Python client, version 1.8! It is published to PyPI!

Documentation: https://neo4j.com/docs/graph-data-science-client/1.8/

Highlights:

  • New methods that support inference of KGE models (TransE and DistMult).
  • New method gds.graph.cypher.project to project a graph using Cypher projection.
  • Added new LastFM dataset through gds.graph.load_lastfm().
  • Expose bookmarks to synchronize queries in a Neo4j cluster.
  • Dropped support for Python 3.7 which is now EOL.
  • Improved endpoint returning graphs to be used in with clauses. The expression with gds.graph.project(...)[0] as G can now be simplified to with gds.graph.project(...) AS G.
  • Make gds.graph.construct more robust by ignoring empty dataframes inside. This makes it less error-prone to construct nodes only graphs.
  • Improved error messages and deprecation warnings.

The release can be pip installed with pip install graphdatascience==1.8.

graph-data-science-client - Graph Data Science Python client 1.7

Published by brs96 over 1 year ago

We are happy to announce the release of graphdatascience, the GDS Python client, version 1.7! It is published to PyPI!

Documentation: https://neo4j.com/docs/graph-data-science-client/1.7/

Highlights:
New features:

  • Add a new method GraphDataScience.server_version which returns the version of the server not as a str but as a ServerVersion. This allows easier inspection of the major, minor and patch version.
  • Implement context management protocol for Graph. This allows usage as part of the with statements, where the graph is dropped at the end.
  • Added possibility to load datasets from the Open Graph Benchmark via the new methods:
  • gds.graph.ogbn.load for node property prediction datasets, and
  • gds.graph.ogbl.load for link property prediction datasets.
  • Added possibility to load NetworkX graphs via the new method gds.graph.networkx.load.
  • Added new sphinx API reference documentation for all procedures.
  • Promoted gds.alpha.graph.construct to gds.graph.construct.

Improvements:

  • When an almost correct method is called, raise an error with a message that suggests the most probable correct method name that was intended.
  • Improved IDE auto-completion support to give significantly fewer false positive suggestions.
  • Failing to log progress of a call will no longer fail the call itself, but just warn that logging was unsuccessful.
  • Underlying connections to a Neo4j DBMS is now being verified and retried automatically up to a timeout of 10 minutes.
  • The GraphDataScience.from_neo4j_driver factory method now additionally takes the same Arrow related keyword parameters as the GraphDataScience constructor.
  • Added an example for community detection thanks to community contributor @kedarghule.

The release can be pip installed with pip install graphdatascience==1.7.

graph-data-science-client - Graph Data Science Python Client 1.7a1

Published by adamnsch over 1 year ago

We are happy to announce the first alpha release of graphdatascience, the GDS Python client, version 1.7! It is published to PyPI!

Documentation: https://neo4j.com/docs/graph-data-science-client/1.7-preview/

It contains the following changes:

New features

  • Add a new method GraphDataScience.server_version which returns the version of the server not as a str but as a ServerVersion. This allows easier inspection of the major, minor and patch version.
  • Implement context managment protocol for Graph. This allows usage as part of the with statements, where the graph is dropped at the end.
  • Added possibility to load datasets from the Open Graph Benchmark via the new methods:
    • gds.graph.ogbn.load for node property prediction datasets, and
    • gds.graph.ogbl.load for link property prediction datasets.
  • Added possibility to load NetworkX graphs via the new method gds.graph.networkx.load.

Improvements

  • When an almost correct method is called, raise an error with a message that suggests the most probable correct method name that was intended.
  • Improved IDE auto-completion support to give significantly fewer false positive suggestions.
  • Failing to log progress of a call will no longer fail the call itself, but just warn that logging was unsuccessful.
  • Underlying connections to a Neo4j DBMS is now being verified and retried automatically up to a timeout of 10 minutes.
  • The GraphDataScience.from_neo4j_driver factory method now additionally takes the same Arrow related keyword parameters as the GraphDataScience constructor.

Additionally, there is now reference documentation for the library which can be found here.

The release can be pip installed with pip install graphdatascience==1.7a1.

graph-data-science-client - Graph Data Science Python client 1.6

Published by brs96 over 1 year ago

We are happy to announce the release of graphdatascience, the GDS Python client, version 1.6! It is published to PyPI!

Documentation: https://neo4j.com/docs/graph-data-science-client/1.6/

It contains the following changes:

New features

  • Added a new parameter undirected_relationship_types to gds.alpha.graph.construct which allows constructing undirected graphs, when using GDS >= 2.3.0.
  • Added a new parameter undirected to gds.load_cora to load the dataset undirected.
  • Added new method gds.alpha.graph.nodeLabel.write to write back node labels to Neo4j database.
  • Added new convenience methods to the Model object:
    • model_info to get model metadata obtained during training.
    • classes to list all classes used during training (only for Node Classification models).
    • best_parameters which returns a pandas Series containing the parameters of the model candidate winning the model selection training.
    • feature_properties (only for Node Property models)
    • link_features (only for LP models)
    • node_property_steps
  • Added new convenience factory methods to create pipeline objects.
  • gds.graph.construct now renders a progress bar if Arrow support is enabled.
  • Added a new method gds.graph.relationships.to_undirected to turn a directed relationship type to an undirected, when using GDS >= 2.3.0
  • Added new common datasets:
    • gds.graph.load_karate_club
    • gds.graph.load_imdb
  • Added new optional parameter db_node_properties to gds.graph.nodeProperties.stream that can stream DB-only node properties that are not on the in-memory graph.
  • Added new method gds.alpha.graph.nodeLabel.mutate to mutate the in-memory graph with new node labels.

Improvements

  • Improved Model.metrics() method for pipeline models (e.g. LP, NC, NR) to return custom type.
  • Improved gds.graph.construct() to support multiple dataframes for nodes and relationships without arrow.

Additionally, there are new example notebooks available.

The release can be pip installed with pip install graphdatascience==1.6.

graph-data-science-client - Graph Data Science Python client 1.6rc1

Published by Mats-SX almost 2 years ago

We are happy to announce the first release candidate of graphdatascience, the GDS Python client, version 1.6rc1! It is published to PyPI!

Documentation: https://neo4j.com/docs/graph-data-science-client/1.6/

This release candidate is feature complete for the release of 1.6. It contains the following changes:

New features

  • Added a new parameter undirected_relationship_types to gds.alpha.graph.construct which allows constructing undirected graphs, when using GDS >= 2.3.0.
  • Added a new parameter undirected to gds.load_cora to load the dataset undirected.
  • Added new method gds.alpha.graph.nodeLabel.write to write back node labels to Neo4j database.
  • Added new convenience methods to the Model object:
    • model_info to get model metadata obtained during training.
    • classes to list all classes used during training (only for Node Classification models).
    • best_parameters which returns a pandas Series containing the parameters of the model candidate winning the model selection training.
    • feature_properties (only for Node Property models)
    • link_features (only for LP models)
    • node_property_steps
  • Added new convenience factory methods to create pipeline objects.
  • gds.graph.construct now renders a progress bar if Arrow support is enabled.
  • Added a new method gds.graph.relationships.to_undirected to turn a directed relationship type to an undirected, when using GDS >= 2.3.0
  • Added new common datasets:
    • gds.graph.load_karate_club
    • gds.graph.load_imdb
  • Added new optional parameter db_node_properties to gds.graph.nodeProperties.stream that can stream DB-only node properties that are not on the in-memory graph.
  • Added new method gds.alpha.graph.nodeLabel.mutate to mutate the in-memory graph with new node labels.

Improvements

  • Improved Model.metrics() method for pipeline models (e.g. LP, NC, NR) to return custom type.
  • Improved gds.graph.construct() to support multiple dataframes for nodes and relationships without arrow.

Additionally, there are new example notebooks available.

The release can be pip installed with pip install graphdatascience==1.6rc1.

graph-data-science-client - Graph Data Science Client 1.5

Published by adamnsch almost 2 years ago

We are happy to announce the release of graphdatascience, the GDS Python client, version 1.5! It is published to PyPI!

Changes:

  • Fixed a bug where the client could not connect to the server when the default db was set in the GraphDataScience constructor.
  • For GDS admin users, gds.graph.get is now able to resolve graph names into Graph objects of other users graph projections.
  • Add support for gds.alpha.triangles.
  • Support calling gds.alpha.userLog to access hints and warnings for the recently run operations.
  • Add support for gds.alpha.backup and gds.alpha.restore.
  • Add support for gds.alpha.config.defaults.set and gds.alpha.config.defaults.list.

The release can be pip installed with pip install graphdatascience==1.5.

graph-data-science-client - Graph Data Science Client 1.4

Published by FlorentinD about 2 years ago

We are happy to announce the release of graphdatascience, the GDS Python client, version 1.4! It is published to PyPI!

Highlights:

  • The DataFrame returned by gds.beta.graph.relationships.stream now has a convenience method called by_rel_type.
  • Added a new optional string parameter database to GraphDataScience.run_cypher for overriding which database to target.
  • Added new method gds.graph.load_cora to load the CORA dataset into GDS.
  • Added a new optional string parameter database to the GraphDataScience constructor for specifying the targeted database.
  • Fix resolving Node regression pipelines created via gds.alpha.pipeline.nodeRegression.create.
  • Fix resolving Node regression models created via gds.alpha.pipeline.nodeRegression.train.
  • Fix an issue where run_cypher did not execute Cypher correctly in some edge cases.

A full list of changes can be found in the changelog.

The release can be pip installed with pip install graphdatascience==1.4.

graph-data-science-client - Graph Data Science client 1.3

Published by Mats-SX about 2 years ago

We are happy to announce the release of graphdatascience, the GDS Python client, version 1.3! It is published to PyPI!

Highlights:

  • New versioning scheme using only two numbers
  • Add MLP training method addMLP to link prediction and node classification pipelines.
  • Add support for new graph catalog API endpoints in GDS >= 2.2.0.
  • Add support for random walk with restarts sampling procedure.
  • Add support for graph property endpoints in GDS >= 2.2.0.
  • Add Arrow Flight specific parameters to the GraphDataScience constructor:
    • arrow_tls_root_certs
    • arrow_disable_server_verification
  • Add support for new stream graph relationships endpoint.
  • Dropped support for Python 3.6.

A full list of changes can be found in the changelog.

The release can be pip installed with pip install graphdatascience==1.3.

graph-data-science-client - Graph Data Science Client 1.3.0 Alpha 1

Published by adamnsch about 2 years ago

The first alpha release of version 1.3.0 of graphdatascience, the GDS Python client, has been published to PyPI!

Highlights:

  • Add MLP training method addMLP to link prediction and node classification pipelines.
  • Add support for new graph catalog API endpoints in GDS >= 2.2.0.
  • Add support for random walk with restarts sampling procedure.
  • Add support for graph property endpoints in GDS >= 2.2.0.
  • Add Arrow Flight specific parameters to the GraphDataScience constructor:
    • arrow_tls_root_certs
    • arrow_disable_server_verification
  • Add support for new stream graph relationships endpoint.
  • Dropped support for Python 3.6.

A full list of changes can be found in the changelog.

The release can be pip installed with pip install graphdatascience==1.3.0a1.

graph-data-science-client - Graph Data Science client 1.2.0

Published by adamnsch over 2 years ago

Version 1.2.0 of graphdatascience, the GDS Python client, has been published to PyPI!

Included are bug fixes for:

  • The separate_property_columns=True option of gds.graph.streamNodeProperties did not handle list node properties correctly.
  • An irrelevant warning was shown when creating a GraphDataScience object targeting an AuraDS instance with GDS server version >= 2.1.0.
  • Calling gds.alpha.graph.construct targeting an AuraDS instance would raise an exception.

The release can be pip installed with pip install graphdatascience==1.2.0.

graph-data-science-client - Graph Data Science client 1.1.0

Published by adamnsch over 2 years ago

Version 1.1.0 of graphdatascience, the GDS Python client, has been published to PyPI!

Changes highlights:

  • Support for GDS library version 2.1
  • Additional and improved convenience functionality on the Graph object
  • Supporting GDS Apache Arrow capabilities for graph catalog stream procedures
  • New method gds.alpha.graph.construct for loading a graph directly into GDS from client side pandas DataFrames
    • Greatly sped up by Apache Arrow if enabled

A full list of changes can be found in the changelog.

The release can be pip installed with pip install graphdatascience==1.1.0.

Package Rankings
Top 4.23% on Pypi.org
Badges
Extracted from project README's
Latest version PyPI downloads month Documentation Discord Community forum License