graphdatascience 1.11a3__tar.gz → 1.12a1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/MANIFEST.in +1 -0
  2. {graphdatascience-1.11a3/graphdatascience.egg-info → graphdatascience-1.12a1}/PKG-INFO +4 -4
  3. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/README.md +0 -2
  4. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/algo/algo_proc_runner.py +1 -1
  5. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/call_builder.py +1 -1
  6. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/endpoints.py +17 -2
  7. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/base_graph_proc_runner.py +6 -6
  8. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_alpha_proc_runner.py +1 -1
  9. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_beta_proc_runner.py +4 -4
  10. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_cypher_runner.py +10 -3
  11. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_entity_ops_runner.py +4 -4
  12. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_object.py +2 -4
  13. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_proc_runner.py +2 -2
  14. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_project_runner.py +4 -4
  15. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_remote_project_runner.py +6 -6
  16. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_sample_runner.py +4 -4
  17. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/nx_loader.py +1 -1
  18. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/ogb_loader.py +1 -1
  19. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph_data_science.py +13 -7
  20. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/graphsage_model.py +1 -1
  21. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/link_prediction_model.py +1 -1
  22. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/model.py +63 -61
  23. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/model_alpha_proc_runner.py +1 -1
  24. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/model_beta_proc_runner.py +1 -1
  25. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/model_proc_runner.py +24 -16
  26. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/node_classification_model.py +3 -3
  27. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/node_regression_model.py +1 -1
  28. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/pipeline_model.py +3 -3
  29. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/classification_training_pipeline.py +1 -1
  30. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/lp_pipeline_create_runner.py +1 -1
  31. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/lp_training_pipeline.py +1 -1
  32. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/nc_training_pipeline.py +1 -1
  33. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/nr_training_pipeline.py +1 -1
  34. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/pipeline_proc_runner.py +2 -2
  35. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/training_pipeline.py +2 -4
  36. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/arrow_query_runner.py +6 -3
  37. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/cypher_graph_constructor.py +1 -1
  38. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/neo4j_query_runner.py +48 -88
  39. graphdatascience-1.12a1/graphdatascience/query_runner/query_progress_logger.py +98 -0
  40. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/query_runner.py +4 -0
  41. graphdatascience-1.12a1/graphdatascience/query_runner/session_query_runner.py +296 -0
  42. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/__init__.py +2 -0
  43. graphdatascience-1.12a1/graphdatascience/session/aura_api.py +364 -0
  44. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/aura_api_responses.py +15 -6
  45. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/aura_graph_data_science.py +74 -55
  46. graphdatascience-1.12a1/graphdatascience/session/cloud_location.py +15 -0
  47. graphdatascience-1.12a1/graphdatascience/session/dbms/protocol_resolver.py +62 -0
  48. graphdatascience-1.12a1/graphdatascience/session/dbms/protocol_version.py +18 -0
  49. graphdatascience-1.12a1/graphdatascience/session/dedicated_sessions.py +201 -0
  50. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/gds_sessions.py +21 -12
  51. graphdatascience-1.12a1/graphdatascience/session/session_info.py +54 -0
  52. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/system/config_endpoints.py +6 -6
  53. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/system/system_endpoints.py +2 -2
  54. graphdatascience-1.12a1/graphdatascience/topological_lp/__init__.py +0 -0
  55. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/topological_lp/topological_lp_alpha_runner.py +3 -3
  56. graphdatascience-1.12a1/graphdatascience/utils/__init__.py +0 -0
  57. graphdatascience-1.11a3/graphdatascience/utils/util_endpoints.py → graphdatascience-1.12a1/graphdatascience/utils/direct_util_endpoints.py +3 -8
  58. graphdatascience-1.12a1/graphdatascience/utils/util_node_property_func_runner.py +31 -0
  59. graphdatascience-1.12a1/graphdatascience/utils/util_proc_runner.py +43 -0
  60. graphdatascience-1.12a1/graphdatascience/utils/util_remote_proc_runner.py +48 -0
  61. graphdatascience-1.12a1/graphdatascience/version.py +1 -0
  62. {graphdatascience-1.11a3 → graphdatascience-1.12a1/graphdatascience.egg-info}/PKG-INFO +4 -4
  63. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience.egg-info/SOURCES.txt +11 -3
  64. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience.egg-info/requires.txt +4 -1
  65. graphdatascience-1.12a1/pyproject.toml +55 -0
  66. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/requirements/base/base.txt +1 -1
  67. graphdatascience-1.12a1/requirements/base/rust-ext.txt +2 -0
  68. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/setup.py +4 -1
  69. graphdatascience-1.11a3/graphdatascience/query_runner/aura_db_query_runner.py +0 -170
  70. graphdatascience-1.11a3/graphdatascience/session/aura_api.py +0 -305
  71. graphdatascience-1.11a3/graphdatascience/session/aurads_sessions.py +0 -212
  72. graphdatascience-1.11a3/graphdatascience/session/dedicated_sessions.py +0 -165
  73. graphdatascience-1.11a3/graphdatascience/session/session_info.py +0 -41
  74. graphdatascience-1.11a3/graphdatascience/utils/util_proc_runner.py +0 -68
  75. graphdatascience-1.11a3/graphdatascience/version.py +0 -1
  76. graphdatascience-1.11a3/pyproject.toml +0 -9
  77. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/LICENSE +0 -0
  78. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/__init__.py +0 -0
  79. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/algo/__init__.py +0 -0
  80. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/algo/algo_endpoints.py +0 -0
  81. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/algo/single_mode_algo_endpoints.py +0 -0
  82. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/call_parameters.py +0 -0
  83. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/caller_base.py +0 -0
  84. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/__init__.py +0 -0
  85. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/client_only_endpoint.py +0 -0
  86. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/cypher_warning_handler.py +0 -0
  87. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/endpoint_suggester.py +0 -0
  88. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/gds_not_installed.py +0 -0
  89. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/illegal_attr_checker.py +0 -0
  90. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/unable_to_connect.py +0 -0
  91. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/error/uncallable_namespace.py +0 -0
  92. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/__init__.py +0 -0
  93. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_create_result.py +0 -0
  94. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_endpoints.py +0 -0
  95. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_export_runner.py +0 -0
  96. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_remote_proc_runner.py +0 -0
  97. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/graph/graph_type_check.py +0 -0
  98. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/ignored_server_endpoints.py +0 -0
  99. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/__init__.py +0 -0
  100. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/model_endpoints.py +0 -0
  101. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/model_resolver.py +0 -0
  102. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/model/simple_rel_embedding_model.py +0 -0
  103. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/__init__.py +0 -0
  104. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/nc_pipeline_create_runner.py +0 -0
  105. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/nr_pipeline_create_runner.py +0 -0
  106. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/pipeline_alpha_proc_runner.py +0 -0
  107. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/pipeline_beta_proc_runner.py +0 -0
  108. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/pipeline/pipeline_endpoints.py +0 -0
  109. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/py.typed +0 -0
  110. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/__init__.py +0 -0
  111. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/arrow_endpoint_version.py +0 -0
  112. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/arrow_graph_constructor.py +0 -0
  113. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/gds_arrow_client.py +0 -0
  114. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/query_runner/graph_constructor.py +0 -0
  115. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/__init__.py +0 -0
  116. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/cora/__init__.py +0 -0
  117. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/cora/cora_nodes.parquet.gzip +0 -0
  118. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/cora/cora_rels.parquet.gzip +0 -0
  119. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/cora/serialize_cora.py +0 -0
  120. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/__init__.py +0 -0
  121. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/imdb_acted_in.parquet.gzip +0 -0
  122. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/imdb_actors.parquet.gzip +0 -0
  123. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/imdb_directed_in.parquet.gzip +0 -0
  124. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/imdb_directors.parquet.gzip +0 -0
  125. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/imdb_movies_with_genre.parquet.gzip +0 -0
  126. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/imdb_movies_without_genre.parquet.gzip +0 -0
  127. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/imdb/serialize_imdb.py +0 -0
  128. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/karate/__init__.py +0 -0
  129. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/karate/karate_club.parquet.gzip +0 -0
  130. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/lastfm/__init__.py +0 -0
  131. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/lastfm/artist_nodes.parquet.gzip +0 -0
  132. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/lastfm/serialize_lastfm.py +0 -0
  133. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/lastfm/user_friend_df_directed.parquet.gzip +0 -0
  134. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/lastfm/user_listen_artist_rels.parquet.gzip +0 -0
  135. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/lastfm/user_nodes.parquet.gzip +0 -0
  136. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/resources/lastfm/user_tag_artist_rels.parquet.gzip +0 -0
  137. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/server_version/__init__.py +0 -0
  138. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/server_version/compatible_with.py +0 -0
  139. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/server_version/server_version.py +0 -0
  140. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/algorithm_category.py +0 -0
  141. /graphdatascience-1.11a3/graphdatascience/system/__init__.py → /graphdatascience-1.12a1/graphdatascience/session/aurads_sessions.py +0 -0
  142. {graphdatascience-1.11a3/graphdatascience/topological_lp → graphdatascience-1.12a1/graphdatascience/session/dbms}/__init__.py +0 -0
  143. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/dbms_connection_info.py +0 -0
  144. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/region_suggester.py +0 -0
  145. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/session/session_sizes.py +0 -0
  146. {graphdatascience-1.11a3/graphdatascience/utils → graphdatascience-1.12a1/graphdatascience/system}/__init__.py +0 -0
  147. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience/topological_lp/topological_lp_endpoints.py +0 -0
  148. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience.egg-info/dependency_links.txt +0 -0
  149. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience.egg-info/not-zip-safe +0 -0
  150. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/graphdatascience.egg-info/top_level.txt +0 -0
  151. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/requirements/base/networkx.txt +0 -0
  152. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/requirements/base/ogb.txt +0 -0
  153. {graphdatascience-1.11a3 → graphdatascience-1.12a1}/setup.cfg +0 -0
@@ -1,6 +1,7 @@
1
1
  include requirements/base/base.txt
2
2
  include requirements/base/ogb.txt
3
3
  include requirements/base/networkx.txt
4
+ include requirements/base/rust-ext.txt
4
5
  include LICENSE
5
6
  prune graphdatascience/tests
6
7
  prune graphdatascience/resources/cora/serialize_cora.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: graphdatascience
3
- Version: 1.11a3
3
+ Version: 1.12a1
4
4
  Summary: A Python client for the Neo4j Graph Data Science (GDS) library
5
5
  Home-page: https://neo4j.com/product/graph-data-science/
6
6
  Author: Neo4j
@@ -29,7 +29,7 @@ Requires-Python: >=3.8
29
29
  Description-Content-Type: text/markdown
30
30
  License-File: LICENSE
31
31
  Requires-Dist: multimethod<2.0,>=1.0
32
- Requires-Dist: neo4j<6.0,>=4.4.2
32
+ Requires-Dist: neo4j<6.0,>=4.4.12
33
33
  Requires-Dist: numpy<2.0
34
34
  Requires-Dist: pandas<3.0,>=1.0
35
35
  Requires-Dist: pyarrow<17.0,>=14.0.1
@@ -41,6 +41,8 @@ Provides-Extra: ogb
41
41
  Requires-Dist: ogb<2.0,>=1.0; extra == "ogb"
42
42
  Provides-Extra: networkx
43
43
  Requires-Dist: networkx<4.0,>=2.0; extra == "networkx"
44
+ Provides-Extra: rust-ext
45
+ Requires-Dist: neo4j-rust-ext<6.0,>=4.4.2; extra == "rust-ext"
44
46
 
45
47
  # Neo4j Graph Data Science Client
46
48
 
@@ -142,8 +144,6 @@ The manual is versioned to cover all GDS Python Client versions, so make sure to
142
144
  Operations known to not yet work with `graphdatascience`:
143
145
 
144
146
  * [Numeric utility functions](https://neo4j.com/docs/graph-data-science/current/management-ops/utility-functions/#utility-functions-numeric) (will never be supported)
145
- * [Cypher on GDS](https://neo4j.com/docs/graph-data-science/current/management-ops/create-cypher-db/) (might be supported in the future)
146
- * [Projecting graphs using Cypher Aggregation](https://neo4j.com/docs/graph-data-science/current/management-ops/projections/graph-project-cypher-aggregation/) (might be supported in the future)
147
147
 
148
148
 
149
149
  ## License
@@ -98,8 +98,6 @@ The manual is versioned to cover all GDS Python Client versions, so make sure to
98
98
  Operations known to not yet work with `graphdatascience`:
99
99
 
100
100
  * [Numeric utility functions](https://neo4j.com/docs/graph-data-science/current/management-ops/utility-functions/#utility-functions-numeric) (will never be supported)
101
- * [Cypher on GDS](https://neo4j.com/docs/graph-data-science/current/management-ops/create-cypher-db/) (might be supported in the future)
102
- * [Projecting graphs using Cypher Aggregation](https://neo4j.com/docs/graph-data-science/current/management-ops/projections/graph-project-cypher-aggregation/) (might be supported in the future)
103
101
 
104
102
 
105
103
  ## License
@@ -3,11 +3,11 @@ from typing import Any, Dict, Tuple
3
3
 
4
4
  from pandas import DataFrame, Series
5
5
 
6
+ from ..call_parameters import CallParameters
6
7
  from ..error.illegal_attr_checker import IllegalAttrChecker
7
8
  from ..graph.graph_object import Graph
8
9
  from ..graph.graph_type_check import graph_type_check
9
10
  from ..model.graphsage_model import GraphSageModel
10
- from graphdatascience.call_parameters import CallParameters
11
11
 
12
12
 
13
13
  class AlgoProcRunner(IllegalAttrChecker, ABC):
@@ -1,6 +1,6 @@
1
1
  from .algo.algo_endpoints import AlgoEndpoints
2
2
  from .error.uncallable_namespace import UncallableNamespace
3
- from .utils.util_endpoints import IndirectUtilAlphaEndpoints
3
+ from .utils.direct_util_endpoints import IndirectUtilAlphaEndpoints
4
4
 
5
5
 
6
6
  class IndirectCallBuilder(AlgoEndpoints, UncallableNamespace):
@@ -23,7 +23,7 @@ from .system.system_endpoints import (
23
23
  SystemBetaEndpoints,
24
24
  )
25
25
  from .topological_lp.topological_lp_endpoints import TopologicalLPAlphaEndpoints
26
- from .utils.util_endpoints import DirectUtilEndpoints
26
+ from .utils.direct_util_endpoints import DirectUtilEndpoints
27
27
 
28
28
  """
29
29
  This class should inherit endpoint classes that only contain endpoints that can be called directly from
@@ -44,7 +44,7 @@ class DirectEndpoints(
44
44
 
45
45
 
46
46
  """
47
- This class should inherit endpoint classes that only expose calls of the `gds.beta` namespace.
47
+ This class should inherit endpoint classes that only expose calls of the `gds.alpha` namespace.
48
48
  Example of such endpoints: "gds.alpha.listProgress".
49
49
  """
50
50
 
@@ -65,6 +65,21 @@ class AlphaEndpoints(
65
65
  return IndirectAlphaCallBuilder(self._query_runner, f"{self._namespace}.{attr}", self._server_version)
66
66
 
67
67
 
68
+ class AlphaRemoteEndpoints(
69
+ GraphAlphaEndpoints,
70
+ PipelineAlphaEndpoints,
71
+ ModelAlphaEndpoints,
72
+ SingleModeAlphaAlgoEndpoints,
73
+ SystemAlphaEndpoints,
74
+ AlphaConfigEndpoints,
75
+ ):
76
+ def __init__(self, query_runner: QueryRunner, namespace: str, server_version: ServerVersion):
77
+ super().__init__(query_runner, namespace, server_version)
78
+
79
+ def __getattr__(self, attr: str) -> IndirectAlphaCallBuilder:
80
+ return IndirectAlphaCallBuilder(self._query_runner, f"{self._namespace}.{attr}", self._server_version)
81
+
82
+
68
83
  """
69
84
  This class should inherit endpoint classes that only expose calls of the `gds.beta` namespace.
70
85
  Example of such endpoints: "gds.beta.listProgress".
@@ -9,11 +9,13 @@ from multimethod import multimethod
9
9
  from neo4j import __version__ as neo4j_driver_version
10
10
  from pandas import DataFrame, Series, read_parquet
11
11
 
12
+ from ..call_parameters import CallParameters
12
13
  from ..error.client_only_endpoint import client_only_endpoint
13
14
  from ..error.illegal_attr_checker import IllegalAttrChecker
14
15
  from ..error.uncallable_namespace import UncallableNamespace
15
16
  from ..server_version.compatible_with import compatible_with
16
17
  from ..server_version.server_version import ServerVersion
18
+ from .graph_create_result import GraphCreateResult
17
19
  from .graph_entity_ops_runner import (
18
20
  GraphLabelRunner,
19
21
  GraphNodePropertiesRunner,
@@ -33,8 +35,6 @@ from .graph_type_check import (
33
35
  graph_type_check_optional,
34
36
  )
35
37
  from .ogb_loader import OGBLLoader, OGBNLoader
36
- from graphdatascience.call_parameters import CallParameters
37
- from graphdatascience.graph.graph_create_result import GraphCreateResult
38
38
 
39
39
  Strings = Union[str, List[str]]
40
40
 
@@ -120,7 +120,7 @@ class BaseGraphProcRunner(UncallableNamespace, IllegalAttrChecker):
120
120
  )
121
121
  constructor.run(nodes, relationships)
122
122
 
123
- return Graph(graph_name, self._query_runner, self._server_version)
123
+ return Graph(graph_name, self._query_runner)
124
124
 
125
125
  @client_only_endpoint("gds.graph")
126
126
  def load_cora(self, graph_name: str = "cora", undirected: bool = False) -> Graph:
@@ -250,7 +250,7 @@ class BaseGraphProcRunner(UncallableNamespace, IllegalAttrChecker):
250
250
  params=params,
251
251
  ).squeeze()
252
252
 
253
- return GraphCreateResult(Graph(graph_name, self._query_runner, self._server_version), result)
253
+ return GraphCreateResult(Graph(graph_name, self._query_runner), result)
254
254
 
255
255
  @from_graph_type_check
256
256
  @compatible_with("filter", min_inclusive=ServerVersion(2, 5, 0))
@@ -276,7 +276,7 @@ class BaseGraphProcRunner(UncallableNamespace, IllegalAttrChecker):
276
276
  params=params,
277
277
  ).squeeze()
278
278
 
279
- return GraphCreateResult(Graph(graph_name, self._query_runner, self._server_version), result)
279
+ return GraphCreateResult(Graph(graph_name, self._query_runner), result)
280
280
 
281
281
  @property
282
282
  def export(self) -> GraphExportRunner:
@@ -357,7 +357,7 @@ class BaseGraphProcRunner(UncallableNamespace, IllegalAttrChecker):
357
357
  f"No projected graph named '{graph_name}' exists in current database '{self._query_runner.database()}'"
358
358
  )
359
359
 
360
- return Graph(graph_name, self._query_runner, self._server_version)
360
+ return Graph(graph_name, self._query_runner)
361
361
 
362
362
  @graph_type_check
363
363
  def _handle_properties(
@@ -79,4 +79,4 @@ class GraphAlphaProcRunner(UncallableNamespace, IllegalAttrChecker):
79
79
  )
80
80
  constructor.run(nodes, relationships)
81
81
 
82
- return Graph(graph_name, self._query_runner, self._server_version)
82
+ return Graph(graph_name, self._query_runner)
@@ -1,13 +1,13 @@
1
1
  from typing import Any, List, Union
2
2
 
3
+ from ..call_parameters import CallParameters
3
4
  from ..error.illegal_attr_checker import IllegalAttrChecker
4
5
  from ..error.uncallable_namespace import UncallableNamespace
6
+ from .graph_create_result import GraphCreateResult
7
+ from .graph_entity_ops_runner import GraphRelationshipsBetaRunner
5
8
  from .graph_export_runner import GraphExportCsvEndpoints
6
9
  from .graph_object import Graph
7
10
  from .graph_project_runner import GraphProjectBetaRunner
8
- from graphdatascience.call_parameters import CallParameters
9
- from graphdatascience.graph.graph_create_result import GraphCreateResult
10
- from graphdatascience.graph.graph_entity_ops_runner import GraphRelationshipsBetaRunner
11
11
 
12
12
  Strings = Union[str, List[str]]
13
13
 
@@ -40,4 +40,4 @@ class GraphBetaProcRunner(UncallableNamespace, IllegalAttrChecker):
40
40
 
41
41
  result = self._query_runner.call_procedure(endpoint=self._namespace, params=params).squeeze()
42
42
 
43
- return GraphCreateResult(Graph(graph_name, self._query_runner, self._server_version), result)
43
+ return GraphCreateResult(Graph(graph_name, self._query_runner), result)
@@ -1,6 +1,10 @@
1
+ from __future__ import annotations
2
+
1
3
  import re
2
4
  from itertools import chain, zip_longest
3
- from typing import Any, Optional
5
+ from typing import Any, Dict, Optional
6
+
7
+ from pandas import Series
4
8
 
5
9
  from ..caller_base import CallerBase
6
10
  from ..query_runner.query_runner import QueryRunner
@@ -41,7 +45,10 @@ class GraphCypherRunner(CallerBase):
41
45
 
42
46
  GraphCypherRunner._verify_query_ends_with_return_clause(self._namespace, query)
43
47
 
44
- result = self._query_runner.run_cypher(query, params, database, False).squeeze()
48
+ result: Optional[Dict[str, Any]] = self._query_runner.run_cypher(query, params, database, False).squeeze()
49
+
50
+ if not result:
51
+ raise ValueError("Projected graph cannot be empty.")
45
52
 
46
53
  try:
47
54
  graph_name = str(result["graphName"])
@@ -50,7 +57,7 @@ class GraphCypherRunner(CallerBase):
50
57
  f"Invalid query, the query must end with the `RETURN {self._namespace}(...)` call: {query}"
51
58
  )
52
59
 
53
- return GraphCreateResult(Graph(graph_name, self._query_runner, self._server_version), result)
60
+ return GraphCreateResult(Graph(graph_name, self._query_runner), Series(data=result))
54
61
 
55
62
  __separators = re.compile(r"[,(.]")
56
63
 
@@ -5,6 +5,10 @@ from warnings import filterwarnings
5
5
  import pandas as pd
6
6
  from pandas import DataFrame, Series
7
7
 
8
+ from ..call_parameters import CallParameters
9
+ from ..error.cypher_warning_handler import (
10
+ filter_id_func_deprecation_warning,
11
+ )
8
12
  from ..error.illegal_attr_checker import IllegalAttrChecker
9
13
  from ..error.uncallable_namespace import UncallableNamespace
10
14
  from ..query_runner.query_runner import QueryRunner
@@ -13,10 +17,6 @@ from ..server_version.server_version import ServerVersion
13
17
  from ..utils.util_proc_runner import UtilProcRunner
14
18
  from .graph_object import Graph
15
19
  from .graph_type_check import graph_type_check
16
- from graphdatascience.call_parameters import CallParameters
17
- from graphdatascience.error.cypher_warning_handler import (
18
- filter_id_func_deprecation_warning,
19
- )
20
20
 
21
21
  Strings = Union[str, List[str]]
22
22
 
@@ -5,9 +5,8 @@ from typing import Any, List, Optional, Type, Union
5
5
 
6
6
  from pandas import Series
7
7
 
8
+ from ..call_parameters import CallParameters
8
9
  from ..query_runner.query_runner import QueryRunner
9
- from ..server_version.server_version import ServerVersion
10
- from graphdatascience.call_parameters import CallParameters
11
10
 
12
11
 
13
12
  class Graph:
@@ -17,11 +16,10 @@ class Graph:
17
16
  It contains summary information about the graph.
18
17
  """
19
18
 
20
- def __init__(self, name: str, query_runner: QueryRunner, server_version: ServerVersion):
19
+ def __init__(self, name: str, query_runner: QueryRunner):
21
20
  self._name = name
22
21
  self._query_runner = query_runner
23
22
  self._db = query_runner.database()
24
- self._server_version = server_version
25
23
 
26
24
  def __enter__(self: Graph) -> Graph:
27
25
  return self
@@ -1,6 +1,6 @@
1
+ from .base_graph_proc_runner import BaseGraphProcRunner
2
+ from .graph_cypher_runner import GraphCypherRunner
1
3
  from .graph_project_runner import GraphProjectRunner
2
- from graphdatascience.graph.base_graph_proc_runner import BaseGraphProcRunner
3
- from graphdatascience.graph.graph_cypher_runner import GraphCypherRunner
4
4
 
5
5
 
6
6
  class GraphProcRunner(BaseGraphProcRunner):
@@ -4,11 +4,11 @@ from typing import Any
4
4
 
5
5
  from pandas import Series
6
6
 
7
+ from ..call_parameters import CallParameters
7
8
  from ..error.illegal_attr_checker import IllegalAttrChecker
9
+ from .graph_create_result import GraphCreateResult
8
10
  from .graph_object import Graph
9
11
  from .graph_type_check import from_graph_type_check
10
- from graphdatascience.call_parameters import CallParameters
11
- from graphdatascience.graph.graph_create_result import GraphCreateResult
12
12
 
13
13
 
14
14
  class GraphProjectRunner(IllegalAttrChecker):
@@ -25,7 +25,7 @@ class GraphProjectRunner(IllegalAttrChecker):
25
25
  logging=True,
26
26
  ).squeeze()
27
27
 
28
- return GraphCreateResult(Graph(graph_name, self._query_runner, self._server_version), result)
28
+ return GraphCreateResult(Graph(graph_name, self._query_runner), result)
29
29
 
30
30
  def estimate(self, node_projection: Any, relationship_projection: Any, **config: Any) -> "Series[Any]":
31
31
  self._namespace += ".estimate"
@@ -69,4 +69,4 @@ class GraphProjectBetaRunner(IllegalAttrChecker):
69
69
  logging=True,
70
70
  ).squeeze()
71
71
 
72
- return GraphCreateResult(Graph(graph_name, self._query_runner, self._server_version), result)
72
+ return GraphCreateResult(Graph(graph_name, self._query_runner), result)
@@ -2,13 +2,13 @@ from __future__ import annotations
2
2
 
3
3
  from typing import List, Optional
4
4
 
5
+ from ..call_parameters import CallParameters
5
6
  from ..error.illegal_attr_checker import IllegalAttrChecker
6
- from ..query_runner.aura_db_query_runner import AuraDbQueryRunner
7
+ from ..query_runner.session_query_runner import SessionQueryRunner
7
8
  from ..server_version.compatible_with import compatible_with
9
+ from ..server_version.server_version import ServerVersion
10
+ from .graph_create_result import GraphCreateResult
8
11
  from .graph_object import Graph
9
- from graphdatascience.call_parameters import CallParameters
10
- from graphdatascience.graph.graph_create_result import GraphCreateResult
11
- from graphdatascience.server_version.server_version import ServerVersion
12
12
 
13
13
 
14
14
  class GraphProjectRemoteRunner(IllegalAttrChecker):
@@ -41,7 +41,7 @@ class GraphProjectRemoteRunner(IllegalAttrChecker):
41
41
  )
42
42
 
43
43
  result = self._query_runner.call_procedure(
44
- endpoint=AuraDbQueryRunner.GDS_REMOTE_PROJECTION_PROC_NAME,
44
+ endpoint=SessionQueryRunner.GDS_REMOTE_PROJECTION_PROC_NAME,
45
45
  params=params,
46
46
  ).squeeze()
47
- return GraphCreateResult(Graph(graph_name, self._query_runner, self._server_version), result)
47
+ return GraphCreateResult(Graph(graph_name, self._query_runner), result)
@@ -2,13 +2,13 @@ from typing import Any
2
2
 
3
3
  from pandas import Series
4
4
 
5
+ from ..call_parameters import CallParameters
5
6
  from ..error.illegal_attr_checker import IllegalAttrChecker
6
7
  from ..server_version.compatible_with import compatible_with
7
8
  from ..server_version.server_version import ServerVersion
9
+ from .graph_create_result import GraphCreateResult
8
10
  from .graph_object import Graph
9
11
  from .graph_type_check import from_graph_type_check
10
- from graphdatascience.call_parameters import CallParameters
11
- from graphdatascience.graph.graph_create_result import GraphCreateResult
12
12
 
13
13
 
14
14
  class GraphAlphaSampleRunner(IllegalAttrChecker):
@@ -41,7 +41,7 @@ class RWRRunner(IllegalAttrChecker):
41
41
 
42
42
  result = self._query_runner.call_procedure(endpoint=self._namespace, params=params, logging=True).squeeze()
43
43
 
44
- return GraphCreateResult(Graph(graph_name, self._query_runner, self._server_version), result)
44
+ return GraphCreateResult(Graph(graph_name, self._query_runner), result)
45
45
 
46
46
 
47
47
  class CNARWRunner(IllegalAttrChecker):
@@ -55,7 +55,7 @@ class CNARWRunner(IllegalAttrChecker):
55
55
  )
56
56
  result = self._query_runner.call_procedure(endpoint=self._namespace, params=params, logging=True).squeeze()
57
57
 
58
- return GraphCreateResult(Graph(graph_name, self._query_runner, self._server_version), result)
58
+ return GraphCreateResult(Graph(graph_name, self._query_runner), result)
59
59
 
60
60
  def estimate(self, from_G: Graph, **config: Any) -> "Series[Any]":
61
61
  self._namespace += ".estimate"
@@ -25,7 +25,7 @@ class NXLoader(UncallableNamespace, IllegalAttrChecker):
25
25
  constructor = self._query_runner.create_graph_constructor(graph_name, concurrency, undirected_rel_types)
26
26
  constructor.run(nodes, rels)
27
27
 
28
- return Graph(graph_name, self._query_runner, self._server_version)
28
+ return Graph(graph_name, self._query_runner)
29
29
 
30
30
  @staticmethod
31
31
  def _attr_to_labels_key(labels_attr: Any, node_id: Any, no_node_labels: Optional[bool]) -> Tuple[str, ...]:
@@ -96,7 +96,7 @@ class OGBLoader(UncallableNamespace, IllegalAttrChecker, ABC):
96
96
  constructor = self._query_runner.create_graph_constructor(graph_name, concurrency, [])
97
97
  constructor.run(nodes, rels)
98
98
 
99
- return Graph(graph_name, self._query_runner, self._server_version)
99
+ return Graph(graph_name, self._query_runner)
100
100
 
101
101
 
102
102
  class OGBNLoader(OGBLoader):
@@ -8,11 +8,12 @@ from pandas import DataFrame
8
8
  from .call_builder import IndirectCallBuilder
9
9
  from .endpoints import AlphaEndpoints, BetaEndpoints, DirectEndpoints
10
10
  from .error.uncallable_namespace import UncallableNamespace
11
+ from .graph.graph_proc_runner import GraphProcRunner
11
12
  from .query_runner.arrow_query_runner import ArrowQueryRunner
12
13
  from .query_runner.neo4j_query_runner import Neo4jQueryRunner
13
14
  from .query_runner.query_runner import QueryRunner
14
15
  from .server_version.server_version import ServerVersion
15
- from graphdatascience.graph.graph_proc_runner import GraphProcRunner
16
+ from .utils.util_proc_runner import UtilProcRunner
16
17
 
17
18
 
18
19
  class GraphDataScience(DirectEndpoints, UncallableNamespace):
@@ -48,11 +49,12 @@ class GraphDataScience(DirectEndpoints, UncallableNamespace):
48
49
  database: Optional[str], default None
49
50
  The Neo4j database to query against.
50
51
  arrow : Union[str, bool], default True
51
- Arrow connection information. This is either a bool or a string.
52
- If it is a string, it will be interpreted as a connection URL to a GDS Arrow Server.
53
- If it is a bool,
54
- True will make the client discover the connection URI to the GDS Arrow server via the Neo4j endpoint,
55
- while False will make the client use Bolt for all operations.
52
+ Arrow connection information. This is either a string or a bool.
53
+
54
+ - If it is a string, it will be interpreted as a connection URL to a GDS Arrow Server.
55
+ - If it is a bool:
56
+ - True will make the client discover the connection URI to the GDS Arrow server via the Neo4j endpoint.
57
+ - False will make the client use Bolt for all operations.
56
58
  arrow_disable_server_verification : bool, default True
57
59
  A flag that overrides other TLS settings and disables server verification for TLS connections.
58
60
  arrow_tls_root_certs : Optional[bytes], default None
@@ -81,12 +83,16 @@ class GraphDataScience(DirectEndpoints, UncallableNamespace):
81
83
  None if arrow is True else arrow,
82
84
  )
83
85
 
84
- super().__init__(self._query_runner, "gds", self._server_version)
86
+ super().__init__(self._query_runner, namespace="gds", server_version=self._server_version)
85
87
 
86
88
  @property
87
89
  def graph(self) -> GraphProcRunner:
88
90
  return GraphProcRunner(self._query_runner, f"{self._namespace}.graph", self._server_version)
89
91
 
92
+ @property
93
+ def util(self) -> UtilProcRunner:
94
+ return UtilProcRunner(self._query_runner, f"{self._namespace}.util", self._server_version)
95
+
90
96
  @property
91
97
  def alpha(self) -> AlphaEndpoints:
92
98
  return AlphaEndpoints(self._query_runner, "gds.alpha", self._server_version)
@@ -2,10 +2,10 @@ from typing import Any
2
2
 
3
3
  from pandas import Series
4
4
 
5
+ from ..call_parameters import CallParameters
5
6
  from ..graph.graph_object import Graph
6
7
  from ..graph.graph_type_check import graph_type_check
7
8
  from .model import Model
8
- from graphdatascience.call_parameters import CallParameters
9
9
 
10
10
 
11
11
  class GraphSageModel(Model):
@@ -41,5 +41,5 @@ class LPModel(PipelineModel):
41
41
  A list of LinkFeatures of the pipeline.
42
42
 
43
43
  """
44
- steps: List[Dict[str, Any]] = self._list_info()["modelInfo"][0]["pipeline"]["featureSteps"]
44
+ steps: List[Dict[str, Any]] = self._list_info()["modelInfo"]["pipeline"]["featureSteps"]
45
45
  return [LinkFeature(s["name"], s["config"]) for s in steps]