iris-vector-graph 2.0.0__tar.gz → 2.2.0__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 (774) hide show
  1. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/.gitignore +1 -0
  2. iris_vector_graph-2.2.0/PKG-INFO +256 -0
  3. iris_vector_graph-2.2.0/README.md +169 -0
  4. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/domains/biomedical/resolver.py +25 -8
  5. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/domains/biomedical/types.py +3 -6
  6. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/NKGAccelAdjacency.cls +3 -1
  7. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/NKGAccelTraversal.cls +29 -17
  8. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/PyOps.cls +1 -1
  9. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/Traversal.cls +5 -0
  10. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/TraversalBFS.cls +35 -0
  11. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/TraversalKHop.cls +10 -1
  12. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/__init__.py +3 -0
  13. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/_engine/admin.py +28 -6
  14. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/_engine/algorithms.py +12 -9
  15. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/_engine/embeddings.py +28 -45
  16. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/_engine/fhir.py +2 -2
  17. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/_engine/nodes_edges.py +17 -2
  18. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/_engine/query.py +114 -14
  19. iris_vector_graph-2.2.0/iris_vector_graph/_engine/query.py,cover +916 -0
  20. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/_engine/schema.py +14 -13
  21. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/_engine/snapshot.py +8 -8
  22. iris_vector_graph-2.2.0/iris_vector_graph/_engine/snapshot.py,cover +896 -0
  23. iris_vector_graph-2.2.0/iris_vector_graph/api_auth.py +133 -0
  24. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/bolt_server.py +72 -3
  25. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/bulk_loader.py +143 -121
  26. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/cypher/parser.py +17 -4
  27. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/cypher/translator.py +99 -18
  28. iris_vector_graph-2.2.0/iris_vector_graph/cypher/translator.py,cover +4139 -0
  29. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/cypher_api.py +4 -12
  30. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/engine.py +45 -1
  31. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/gql/schema.py +21 -3
  32. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/result.py +5 -1
  33. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/schema.py +57 -16
  34. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/stores/iris_sql_store.py +6 -4
  35. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/pyproject.toml +10 -2
  36. iris_vector_graph-2.2.0/tests/benchmarks/bench_193_full.py +737 -0
  37. iris_vector_graph-2.2.0/tests/conftest.py +463 -0
  38. iris_vector_graph-2.2.0/tests/contract/conftest.py +13 -0
  39. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_centrality_e2e.py +1 -1
  40. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_embedded_wgproto_e2e.py +1 -1
  41. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_hla_kg_e2e.py +1 -1
  42. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_ppr_cls_fast_path.py +1 -1
  43. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/conftest.py +30 -0
  44. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/gql/test_graphql_mutations.py +12 -11
  45. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/gql/test_graphql_nested_queries.py +3 -2
  46. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/gql/test_graphql_queries.py +8 -7
  47. iris_vector_graph-2.2.0/tests/integration/gql/test_graphql_vector_search.py +223 -0
  48. iris_vector_graph-2.2.0/tests/integration/test_196_bug_fixes.py +320 -0
  49. iris_vector_graph-2.2.0/tests/integration/test_admin_introspection.py +163 -0
  50. iris_vector_graph-2.2.0/tests/integration/test_algorithm_branches.py +316 -0
  51. iris_vector_graph-2.2.0/tests/integration/test_algorithms_deep_coverage.py +329 -0
  52. iris_vector_graph-2.2.0/tests/integration/test_algorithms_error_paths.py +262 -0
  53. iris_vector_graph-2.2.0/tests/integration/test_algorithms_integration.py +261 -0
  54. iris_vector_graph-2.2.0/tests/integration/test_algorithms_new_paths.py +351 -0
  55. iris_vector_graph-2.2.0/tests/integration/test_api_completeness.py +643 -0
  56. iris_vector_graph-2.2.0/tests/integration/test_arno_bridge_mock_paths.py +544 -0
  57. iris_vector_graph-2.2.0/tests/integration/test_arno_bridge_paths.py +247 -0
  58. iris_vector_graph-2.2.0/tests/integration/test_arno_store_layer.py +508 -0
  59. iris_vector_graph-2.2.0/tests/integration/test_bulk_load_session.py +202 -0
  60. iris_vector_graph-2.2.0/tests/integration/test_bulk_loader_live.py +296 -0
  61. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_cls_layer.py +18 -14
  62. iris_vector_graph-2.2.0/tests/integration/test_coverage_final_push.py +385 -0
  63. iris_vector_graph-2.2.0/tests/integration/test_coverage_push_final.py +528 -0
  64. iris_vector_graph-2.2.0/tests/integration/test_cypher_api_e2e.py +228 -0
  65. iris_vector_graph-2.2.0/tests/integration/test_cypher_api_exception_paths.py +462 -0
  66. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_cypher_vector_search.py +48 -35
  67. iris_vector_graph-2.2.0/tests/integration/test_diabolical_qa.py +480 -0
  68. iris_vector_graph-2.2.0/tests/integration/test_doc_claims.py +464 -0
  69. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_embeddings_api.py +1 -1
  70. iris_vector_graph-2.2.0/tests/integration/test_embeddings_integration.py +205 -0
  71. iris_vector_graph-2.2.0/tests/integration/test_embeddings_paths.py +350 -0
  72. iris_vector_graph-2.2.0/tests/integration/test_engine_misc_paths.py +251 -0
  73. iris_vector_graph-2.2.0/tests/integration/test_engine_utils_paths.py +348 -0
  74. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_fastapi_graphql.py +45 -75
  75. iris_vector_graph-2.2.0/tests/integration/test_fhir_event_sidecar.py +199 -0
  76. iris_vector_graph-2.2.0/tests/integration/test_fusion_dbapi_bulk.py +358 -0
  77. iris_vector_graph-2.2.0/tests/integration/test_gql_resolvers_live.py +224 -0
  78. iris_vector_graph-2.2.0/tests/integration/test_lazykg_algorithms.py +559 -0
  79. iris_vector_graph-2.2.0/tests/integration/test_lazykg_fallback_forced.py +263 -0
  80. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_nodepk_advanced_benchmarks.py +2 -2
  81. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_nodepk_constraints.py +255 -245
  82. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_nodepk_migration.py +16 -8
  83. iris_vector_graph-2.2.0/tests/integration/test_nodes_edges_and_algo_paths.py +489 -0
  84. iris_vector_graph-2.2.0/tests/integration/test_nodes_edges_deep.py +556 -0
  85. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_objectscript_classes.py +92 -116
  86. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_pagerank_sql_optimization.py +1 -1
  87. iris_vector_graph-2.2.0/tests/integration/test_query_deep.py +612 -0
  88. iris_vector_graph-2.2.0/tests/integration/test_query_engine_branches.py +297 -0
  89. iris_vector_graph-2.2.0/tests/integration/test_query_engine_special.py +536 -0
  90. iris_vector_graph-2.2.0/tests/integration/test_query_fastpaths.py +493 -0
  91. iris_vector_graph-2.2.0/tests/integration/test_query_paths_deep.py +338 -0
  92. iris_vector_graph-2.2.0/tests/integration/test_query_special_patterns.py +263 -0
  93. iris_vector_graph-2.2.0/tests/integration/test_remaining_paths.py +522 -0
  94. iris_vector_graph-2.2.0/tests/integration/test_schema_and_engine_procs.py +274 -0
  95. iris_vector_graph-2.2.0/tests/integration/test_schema_deep.py +337 -0
  96. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_schema_migration.py +26 -30
  97. iris_vector_graph-2.2.0/tests/integration/test_snapshot_deep.py +299 -0
  98. iris_vector_graph-2.2.0/tests/integration/test_snapshot_import_export.py +215 -0
  99. iris_vector_graph-2.2.0/tests/integration/test_snapshot_paths.py +384 -0
  100. iris_vector_graph-2.2.0/tests/integration/test_sql_parameterization.py +80 -0
  101. iris_vector_graph-2.2.0/tests/integration/test_sql_store_direct.py +431 -0
  102. iris_vector_graph-2.2.0/tests/integration/test_sql_store_paths.py +705 -0
  103. iris_vector_graph-2.2.0/tests/integration/test_store_algorithms.py +329 -0
  104. iris_vector_graph-2.2.0/tests/integration/test_store_bfs_deep.py +189 -0
  105. iris_vector_graph-2.2.0/tests/integration/test_store_exception_paths.py +330 -0
  106. iris_vector_graph-2.2.0/tests/integration/test_store_write_paths.py +539 -0
  107. iris_vector_graph-2.2.0/tests/integration/test_vector_advanced_paths.py +347 -0
  108. iris_vector_graph-2.2.0/tests/integration/test_vector_engine_deep.py +359 -0
  109. iris_vector_graph-2.2.0/tests/integration/test_vector_index_paths.py +265 -0
  110. iris_vector_graph-2.2.0/tests/integration/test_vector_index_paths2.py +271 -0
  111. iris_vector_graph-2.2.0/tests/integration/test_vector_optimizer_live.py +136 -0
  112. iris_vector_graph-2.2.0/tests/integration/test_vector_paths.py +737 -0
  113. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/python/test_python_sdk.py +1 -1
  114. iris_vector_graph-2.2.0/tests/unit/test_193_bfs_nkg_fast_path.py +269 -0
  115. iris_vector_graph-2.2.0/tests/unit/test_194_readme.py +85 -0
  116. iris_vector_graph-2.2.0/tests/unit/test_admin_remaining.py +224 -0
  117. iris_vector_graph-2.2.0/tests/unit/test_admin_unit.py +310 -0
  118. iris_vector_graph-2.2.0/tests/unit/test_algorithm_warning_paths.py +269 -0
  119. iris_vector_graph-2.2.0/tests/unit/test_algorithms_extended_unit.py +581 -0
  120. iris_vector_graph-2.2.0/tests/unit/test_algorithms_large_graph_warn.py +261 -0
  121. iris_vector_graph-2.2.0/tests/unit/test_algorithms_unit.py +360 -0
  122. iris_vector_graph-2.2.0/tests/unit/test_api_security.py +421 -0
  123. iris_vector_graph-2.2.0/tests/unit/test_aql_translator_extra.py +155 -0
  124. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_bfs_arno.py +4 -3
  125. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_bm25_index.py +3 -3
  126. iris_vector_graph-2.2.0/tests/unit/test_bolt_relationship_encoding.py +290 -0
  127. iris_vector_graph-2.2.0/tests/unit/test_bulk_loader_coverage.py +156 -0
  128. iris_vector_graph-2.2.0/tests/unit/test_bulk_loader_unit.py +305 -0
  129. iris_vector_graph-2.2.0/tests/unit/test_cli.py +344 -0
  130. iris_vector_graph-2.2.0/tests/unit/test_cypher_api_admin.py +352 -0
  131. iris_vector_graph-2.2.0/tests/unit/test_cypher_api_coverage.py +284 -0
  132. iris_vector_graph-2.2.0/tests/unit/test_cypher_api_extra.py +178 -0
  133. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_cypher_benchmark.py +1 -0
  134. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_cypher_posos_bugs.py +4 -4
  135. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_cypher_translator.py +1 -1
  136. iris_vector_graph-2.2.0/tests/unit/test_dbapi_utils_unit.py +219 -0
  137. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_embed_selector.py +18 -0
  138. iris_vector_graph-2.2.0/tests/unit/test_embed_selector_unit.py +166 -0
  139. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_embedded_wgproto.py +12 -8
  140. iris_vector_graph-2.2.0/tests/unit/test_embeddings_remaining.py +285 -0
  141. iris_vector_graph-2.2.0/tests/unit/test_embeddings_unit.py +816 -0
  142. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_engine_mocked.py +6 -0
  143. iris_vector_graph-2.2.0/tests/unit/test_engine_unit.py +392 -0
  144. iris_vector_graph-2.2.0/tests/unit/test_fhir_event_sidecar.py +406 -0
  145. iris_vector_graph-2.2.0/tests/unit/test_gds_shims.py +159 -0
  146. iris_vector_graph-2.2.0/tests/unit/test_gql_coverage.py +404 -0
  147. iris_vector_graph-2.2.0/tests/unit/test_gql_edge_cases.py +297 -0
  148. iris_vector_graph-2.2.0/tests/unit/test_gql_resolver_bodies.py +269 -0
  149. iris_vector_graph-2.2.0/tests/unit/test_nodes_edges_unit.py +588 -0
  150. iris_vector_graph-2.2.0/tests/unit/test_parse_cache.py +33 -0
  151. iris_vector_graph-2.2.0/tests/unit/test_predicate_order.py +49 -0
  152. iris_vector_graph-2.2.0/tests/unit/test_query_extra_unit.py +491 -0
  153. iris_vector_graph-2.2.0/tests/unit/test_query_fastpath_unit.py +283 -0
  154. iris_vector_graph-2.2.0/tests/unit/test_query_unit.py +721 -0
  155. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_retrieve_and_vector_distance.py +7 -2
  156. iris_vector_graph-2.2.0/tests/unit/test_schema_engine_unit.py +406 -0
  157. iris_vector_graph-2.2.0/tests/unit/test_schema_remaining.py +304 -0
  158. iris_vector_graph-2.2.0/tests/unit/test_schema_unit.py +480 -0
  159. iris_vector_graph-2.2.0/tests/unit/test_sdk.py +344 -0
  160. iris_vector_graph-2.2.0/tests/unit/test_sdk_async.py +170 -0
  161. iris_vector_graph-2.2.0/tests/unit/test_sdk_coverage.py +252 -0
  162. iris_vector_graph-2.2.0/tests/unit/test_snapshot_restore_unit.py +389 -0
  163. iris_vector_graph-2.2.0/tests/unit/test_snapshot_unit.py +365 -0
  164. iris_vector_graph-2.2.0/tests/unit/test_sql_store_unit.py +323 -0
  165. iris_vector_graph-2.2.0/tests/unit/test_structural_guard.py +74 -0
  166. iris_vector_graph-2.2.0/tests/unit/test_structural_guard_e2e.py +64 -0
  167. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_temporal_edges.py +46 -0
  168. iris_vector_graph-2.2.0/tests/unit/test_temporal_unit.py +215 -0
  169. iris_vector_graph-2.2.0/tests/unit/test_translator_deep_coverage.py +1051 -0
  170. iris_vector_graph-2.2.0/tests/unit/test_translator_extended.py +499 -0
  171. iris_vector_graph-2.2.0/tests/unit/test_translator_gaps.py +916 -0
  172. iris_vector_graph-2.2.0/tests/unit/test_utilities_final.py +309 -0
  173. iris_vector_graph-2.2.0/tests/unit/test_utils_coverage.py +551 -0
  174. iris_vector_graph-2.2.0/tests/unit/test_vector_unit.py +866 -0
  175. iris_vector_graph-2.0.0/PKG-INFO +0 -1852
  176. iris_vector_graph-2.0.0/README.md +0 -1766
  177. iris_vector_graph-2.0.0/tests/conftest.py +0 -298
  178. iris_vector_graph-2.0.0/tests/integration/gql/test_graphql_vector_search.py +0 -305
  179. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/LICENSE +0 -0
  180. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/demo_biomedical.py +0 -0
  181. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/demo_fraud_detection.py +0 -0
  182. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/demo_fraud_detection_sql.py +0 -0
  183. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/demo_utils.py +0 -0
  184. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/demo_working_system.py +0 -0
  185. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/domains/__init__.py +0 -0
  186. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/domains/biomedical/__init__.py +0 -0
  187. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/domains/biomedical/loaders.py +0 -0
  188. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/domains/biomedical_legacy/__init__.py +0 -0
  189. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/domains/biomedical_legacy/biomedical_engine.py +0 -0
  190. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/domains/biomedical_legacy/biomedical_schema.py +0 -0
  191. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/domains/biomedical_legacy/legacy_wrapper.py +0 -0
  192. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/domains/fraud/__init__.py +0 -0
  193. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/domains/fraud/loaders.py +0 -0
  194. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/domains/fraud/resolver.py +0 -0
  195. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/domains/fraud/types.py +0 -0
  196. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/graphQL.http +0 -0
  197. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/hybrid_vector_graph_query.cypher +0 -0
  198. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/examples/rest.http +0 -0
  199. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/Algorithms.cls +0 -0
  200. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/ArnoAccel.cls +0 -0
  201. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/BM25Index.cls +0 -0
  202. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/BenchFormat.cls +0 -0
  203. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/BenchSeeder.cls +0 -0
  204. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/Benchmark.cls +0 -0
  205. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/Centrality.cls +0 -0
  206. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/Communities.cls +0 -0
  207. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/Edge.cls +0 -0
  208. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/EdgeScan.cls +0 -0
  209. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/EmbedQueue.cls +0 -0
  210. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/GraphIndex.cls +0 -0
  211. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/IVFIndex.cls +0 -0
  212. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/Loader.cls +0 -0
  213. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/MCPService.cls +0 -0
  214. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/MCPToolSet.cls +0 -0
  215. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/MCPTools.cls +0 -0
  216. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/Meta.cls +0 -0
  217. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/NKGAccel.cls +0 -0
  218. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/NKGAccelCentrality.cls +0 -0
  219. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/NKGAccelLoader.cls +0 -0
  220. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/PLAIDSearch.cls +0 -0
  221. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/PageRank.cls +0 -0
  222. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/Service.cls +0 -0
  223. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/Snapshot.cls +0 -0
  224. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/Subgraph.cls +0 -0
  225. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/TemporalIndex.cls +0 -0
  226. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/TestEdge.cls +0 -0
  227. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/TraversalBuild.cls +0 -0
  228. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/TraversalPaths.cls +0 -0
  229. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/Graph/KG/VecIndex.cls +0 -0
  230. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/IVG/CypherEngine.cls +0 -0
  231. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/IVG/Percentile.cls +0 -0
  232. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/PageRankEmbedded.cls +0 -0
  233. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/User.Exec.cls +0 -0
  234. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_src/src/iris/vector/graph/GraphOperators.cls +0 -0
  235. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/_engine/__init__.py +0 -0
  236. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/_engine/temporal.py +0 -0
  237. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/_engine/vector.py +0 -0
  238. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/_validate.py +0 -0
  239. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/0-b124e26129aa436b26fe.bundle.js +0 -0
  240. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/1-b124e26129aa436b26fe.bundle.js +0 -0
  241. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/10-b124e26129aa436b26fe.bundle.js +0 -0
  242. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/11-b124e26129aa436b26fe.bundle.js +0 -0
  243. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/12-b124e26129aa436b26fe.bundle.js +0 -0
  244. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/13-b124e26129aa436b26fe.bundle.js +0 -0
  245. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/14-b124e26129aa436b26fe.bundle.js +0 -0
  246. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/15-b124e26129aa436b26fe.bundle.js +0 -0
  247. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/16-b124e26129aa436b26fe.bundle.js +0 -0
  248. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/17-b124e26129aa436b26fe.bundle.js +0 -0
  249. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/18-b124e26129aa436b26fe.bundle.js +0 -0
  250. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/19-b124e26129aa436b26fe.bundle.js +0 -0
  251. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/20-b124e26129aa436b26fe.bundle.js +0 -0
  252. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/21-b124e26129aa436b26fe.bundle.js +0 -0
  253. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/22-b124e26129aa436b26fe.bundle.js +0 -0
  254. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/23-b124e26129aa436b26fe.bundle.js +0 -0
  255. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/24-b124e26129aa436b26fe.bundle.js +0 -0
  256. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/25-b124e26129aa436b26fe.bundle.js +0 -0
  257. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/26-b124e26129aa436b26fe.bundle.js +0 -0
  258. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/27-b124e26129aa436b26fe.bundle.js +0 -0
  259. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/28-b124e26129aa436b26fe.bundle.js +0 -0
  260. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/29-b124e26129aa436b26fe.bundle.js +0 -0
  261. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/30-b124e26129aa436b26fe.bundle.js +0 -0
  262. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/31-b124e26129aa436b26fe.bundle.js +0 -0
  263. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/32-b124e26129aa436b26fe.bundle.js +0 -0
  264. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/33-b124e26129aa436b26fe.bundle.js +0 -0
  265. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/34-b124e26129aa436b26fe.bundle.js +0 -0
  266. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/35-b124e26129aa436b26fe.bundle.js +0 -0
  267. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/36-b124e26129aa436b26fe.bundle.js +0 -0
  268. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/37-b124e26129aa436b26fe.bundle.js +0 -0
  269. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/38-b124e26129aa436b26fe.bundle.js +0 -0
  270. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/39-b124e26129aa436b26fe.bundle.js +0 -0
  271. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/40-b124e26129aa436b26fe.bundle.js +0 -0
  272. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/41-b124e26129aa436b26fe.bundle.js +0 -0
  273. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/42-b124e26129aa436b26fe.bundle.js +0 -0
  274. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/43-b124e26129aa436b26fe.bundle.js +0 -0
  275. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/44-b124e26129aa436b26fe.bundle.js +0 -0
  276. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/45-b124e26129aa436b26fe.bundle.js +0 -0
  277. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/46-b124e26129aa436b26fe.bundle.js +0 -0
  278. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/47-b124e26129aa436b26fe.bundle.js +0 -0
  279. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/48-b124e26129aa436b26fe.bundle.js +0 -0
  280. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/49-b124e26129aa436b26fe.bundle.js +0 -0
  281. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/50-b124e26129aa436b26fe.bundle.js +0 -0
  282. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/51-b124e26129aa436b26fe.bundle.js +0 -0
  283. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/52-b124e26129aa436b26fe.bundle.js +0 -0
  284. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/53-b124e26129aa436b26fe.bundle.js +0 -0
  285. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/54-b124e26129aa436b26fe.bundle.js +0 -0
  286. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/55-b124e26129aa436b26fe.bundle.js +0 -0
  287. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/56-b124e26129aa436b26fe.bundle.js +0 -0
  288. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/57-b124e26129aa436b26fe.bundle.js +0 -0
  289. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/58-b124e26129aa436b26fe.bundle.js +0 -0
  290. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/59-b124e26129aa436b26fe.bundle.js +0 -0
  291. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/6-b124e26129aa436b26fe.bundle.js +0 -0
  292. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/60-b124e26129aa436b26fe.bundle.js +0 -0
  293. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/61-b124e26129aa436b26fe.bundle.js +0 -0
  294. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/62-b124e26129aa436b26fe.bundle.js +0 -0
  295. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/63-b124e26129aa436b26fe.bundle.js +0 -0
  296. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/64-b124e26129aa436b26fe.bundle.js +0 -0
  297. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/65-b124e26129aa436b26fe.bundle.js +0 -0
  298. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/66-b124e26129aa436b26fe.bundle.js +0 -0
  299. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/67-b124e26129aa436b26fe.bundle.js +0 -0
  300. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/68-b124e26129aa436b26fe.bundle.js +0 -0
  301. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/69-b124e26129aa436b26fe.bundle.js +0 -0
  302. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/7-b124e26129aa436b26fe.bundle.js +0 -0
  303. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/70-b124e26129aa436b26fe.bundle.js +0 -0
  304. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/71-b124e26129aa436b26fe.bundle.js +0 -0
  305. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/72-b124e26129aa436b26fe.bundle.js +0 -0
  306. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/73-b124e26129aa436b26fe.bundle.js +0 -0
  307. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/74-b124e26129aa436b26fe.bundle.js +0 -0
  308. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/75-b124e26129aa436b26fe.bundle.js +0 -0
  309. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/8-b124e26129aa436b26fe.bundle.js +0 -0
  310. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/9-b124e26129aa436b26fe.bundle.js +0 -0
  311. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/app-b124e26129aa436b26fe.js +0 -0
  312. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/filter-a7c44e713bf19d31f6b2849160b1bba8.svg +0 -0
  313. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.eot +0 -0
  314. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.ttf +0 -0
  315. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.woff +0 -0
  316. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.woff2 +0 -0
  317. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.eot +0 -0
  318. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.ttf +0 -0
  319. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.woff +0 -0
  320. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.woff2 +0 -0
  321. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.eot +0 -0
  322. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.ttf +0 -0
  323. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.woff +0 -0
  324. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.woff2 +0 -0
  325. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.eot +0 -0
  326. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.ttf +0 -0
  327. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.woff +0 -0
  328. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.woff2 +0 -0
  329. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Bold.ttf +0 -0
  330. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-BoldItalic.ttf +0 -0
  331. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-ExtraBold.ttf +0 -0
  332. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  333. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Italic.ttf +0 -0
  334. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Light.ttf +0 -0
  335. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-LightItalic.ttf +0 -0
  336. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Regular.ttf +0 -0
  337. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Semibold.ttf +0 -0
  338. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-SemiboldItalic.ttf +0 -0
  339. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/codicon.ttf +0 -0
  340. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/filter.svg +0 -0
  341. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.eot +0 -0
  342. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.svg +0 -0
  343. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.ttf +0 -0
  344. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.woff +0 -0
  345. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.woff2 +0 -0
  346. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/group-by.svg +0 -0
  347. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.eot +0 -0
  348. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.svg +0 -0
  349. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.ttf +0 -0
  350. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.woff +0 -0
  351. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/sort.svg +0 -0
  352. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/sort1.svg +0 -0
  353. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/sort2.svg +0 -0
  354. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/streamline.eot +0 -0
  355. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/streamline.svg +0 -0
  356. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/streamline.ttf +0 -0
  357. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/fonts/streamline.woff +0 -0
  358. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/group-by-89c6aaa756bc3548cc6ab3d2be4d2862.svg +0 -0
  359. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/Favorites.mp4 +0 -0
  360. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/Keystrokes.mp4 +0 -0
  361. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/ProjectFiles.mp4 +0 -0
  362. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/ReusableFrame.mp4 +0 -0
  363. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/SidebarDB_Iinfo.png +0 -0
  364. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/Stream.png +0 -0
  365. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/aura-logo-inverted.svg +0 -0
  366. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/aura-logo.svg +0 -0
  367. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/books.png +0 -0
  368. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/clusters.svg +0 -0
  369. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/community.jpg +0 -0
  370. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-144x144.png +0 -0
  371. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-192x192.png +0 -0
  372. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-36x36.png +0 -0
  373. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-48x48.png +0 -0
  374. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-72x72.png +0 -0
  375. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-96x96.png +0 -0
  376. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-114x114.png +0 -0
  377. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-120x120.png +0 -0
  378. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-144x144.png +0 -0
  379. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-152x152.png +0 -0
  380. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-180x180.png +0 -0
  381. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-57x57.png +0 -0
  382. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-60x60.png +0 -0
  383. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-72x72.png +0 -0
  384. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-76x76.png +0 -0
  385. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-precomposed.png +0 -0
  386. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon.png +0 -0
  387. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/browserconfig.xml +0 -0
  388. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-16x16.png +0 -0
  389. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-32x32.png +0 -0
  390. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-96x96.png +0 -0
  391. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/favicon.ico +0 -0
  392. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/manifest.json +0 -0
  393. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-144x144.png +0 -0
  394. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-150x150.png +0 -0
  395. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-310x310.png +0 -0
  396. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-70x70.png +0 -0
  397. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/neo4j-browser-canary.svg +0 -0
  398. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/device-icons/neo4j-browser.svg +0 -0
  399. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/labeled_node.png +0 -0
  400. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/more_nodes.png +0 -0
  401. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/neo4j-favicon.ico +0 -0
  402. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/neo4j-logo-inverted.svg +0 -0
  403. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/neo4j-logo.svg +0 -0
  404. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/northwind/customer-orders.png +0 -0
  405. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/northwind/order-graph.png +0 -0
  406. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/northwind/product-category-supplier.png +0 -0
  407. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/northwind/product-graph.png +0 -0
  408. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/one_node.png +0 -0
  409. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/query-plan-operator-cost.svg +0 -0
  410. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/query-plan-operator-details.svg +0 -0
  411. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/query-plan-operator-rows.svg +0 -0
  412. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/query-plan.svg +0 -0
  413. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/rel-props.png +0 -0
  414. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/relationships.png +0 -0
  415. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/screen_code_frame.png +0 -0
  416. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/screen_cypher_warn.png +0 -0
  417. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/screen_editor.png +0 -0
  418. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/screen_sidebar.png +0 -0
  419. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/images/screen_stream.png +0 -0
  420. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/sort-8d6f482c21de572ceeb5ac93623e6c97.svg +0 -0
  421. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/sort1-d2dc515571213fc0ca99b0341b88e413.svg +0 -0
  422. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/assets/sort2-31050964e7eb2042325f7bcbba3d58ad.svg +0 -0
  423. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/bolt-worker-dfa551eb0861cc080843.js +0 -0
  424. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/cypher-editor-b124e26129aa436b26fe.bundle.js +0 -0
  425. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/editor-455af92e7e1dc39fdbc8060f6680ab32.worker.js +0 -0
  426. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/index.html +0 -0
  427. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/manifest.json +0 -0
  428. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/CoseBilkentLayout.worker-FEt6e_rV.js +0 -0
  429. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/HierarchicalLayout.worker-O6WHYssL.js +0 -0
  430. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/asciidoc.8O6YIVRy.js +0 -0
  431. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/auto-track.BlKugDvg.js +0 -0
  432. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/bash.CLAyaf9k.js +0 -0
  433. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/c.l4fEI10z.js +0 -0
  434. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/connect-icon-Br2hQy_e.svg +0 -0
  435. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/csharp.ChqrQYCS.js +0 -0
  436. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/css-extras.Bi-4v17d.js +0 -0
  437. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/css.B1LHiudN.js +0 -0
  438. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/cypher-editor-auto-completions.gif +0 -0
  439. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/cypher-editor-inline-help.png +0 -0
  440. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/cypher-editor-linting.png +0 -0
  441. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/cypher-editor-syntax-highlighting.png +0 -0
  442. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/cypher-reference.gif +0 -0
  443. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/cypher.C3qdyJ5B.js +0 -0
  444. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/docker.CF7EZT1T.js +0 -0
  445. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/fira-code-400-regular-normal-BzypJxJk.woff2 +0 -0
  446. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/fira-code-500-medium-normal-CRWzqcWa.woff2 +0 -0
  447. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/fira-code-700-bold-normal-hUmNV4O0.woff2 +0 -0
  448. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/go.FsJyBHVG.js +0 -0
  449. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/graphql.BlTzkzAJ.js +0 -0
  450. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/history-quick-search.gif +0 -0
  451. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/index-CY0cZcsW.js +0 -0
  452. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/index-H7L207gH.css +0 -0
  453. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/index.BpRu7Js3.js +0 -0
  454. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/index.C74acnU7.js +0 -0
  455. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/index.CHatcJcU.js +0 -0
  456. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/index.D6ZMQedT.js +0 -0
  457. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/index.DPZla5MT.js +0 -0
  458. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/index.dzIUqrzq.js +0 -0
  459. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/index.leyiHvaQ.js +0 -0
  460. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/index.qJ6VE118.js +0 -0
  461. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/index.umd.B9yhfa5Y.js +0 -0
  462. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/is-plan-event-enabled.DeNtQvA5.js +0 -0
  463. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/java.BBXwBh9f.js +0 -0
  464. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/java.CQ1iJ0-D.js +0 -0
  465. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/javadoc.UnquSOIj.js +0 -0
  466. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/javascript.CYTqTa0W.js +0 -0
  467. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/json.BIkJg-Cj.js +0 -0
  468. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/jsx.Cy_hP1z6.js +0 -0
  469. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/kotlin.D_6l0VkM.js +0 -0
  470. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/lintWorker-QNEp56W3.js +0 -0
  471. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/logo-aura-white-DCfUnkCN.svg +0 -0
  472. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/movie-model.png +0 -0
  473. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/movies-active-B2SzHIc1.svg +0 -0
  474. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/neo4j-logo-active-CieUxroh.svg +0 -0
  475. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/patterned-banner-background-C_nO-Yn8.svg +0 -0
  476. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/php.BKb6XVba.js +0 -0
  477. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/plan-graph-worker-s17nF19Q.js +0 -0
  478. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/public-sans-300-light-normal-CG9e8kLa.woff2 +0 -0
  479. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/public-sans-400-regular-italic-D9FlViiB.woff2 +0 -0
  480. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/public-sans-400-regular-normal-D4F9yfFi.woff2 +0 -0
  481. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/public-sans-500-medium-normal-ChZcBEnJ.woff2 +0 -0
  482. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/public-sans-600-semi-bold-normal-Ck6TyfRI.woff2 +0 -0
  483. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/public-sans-700-bold-normal-CGjRhW-d.woff2 +0 -0
  484. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/python.tCcUC3U7.js +0 -0
  485. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/query-fundamentals-active-jvTJU1K2.svg +0 -0
  486. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/query.snake-frame.DmvXOQIM.js +0 -0
  487. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/regex.C_VuIVtC.js +0 -0
  488. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/rust.CtSATZMt.js +0 -0
  489. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/saved-cypher.gif +0 -0
  490. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/scalable-graph-visualization.gif +0 -0
  491. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/sql.CfOAbw6n.js +0 -0
  492. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/syne-neo-500-medium-normal-A5GXmYUf.woff2 +0 -0
  493. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/table-visualization.gif +0 -0
  494. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/typescript.3Tbm37mD.js +0 -0
  495. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/xml-doc.h79Tu9Aw.js +0 -0
  496. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/assets/yaml.B-Jvd59g.js +0 -0
  497. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/favicons/android-chrome-192x192.png +0 -0
  498. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/favicons/apple-touch-icon.png +0 -0
  499. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/favicons/favicon-16x16.png +0 -0
  500. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/favicons/favicon-194x194.png +0 -0
  501. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/favicons/favicon-32x32.png +0 -0
  502. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/favicons/favicon.ico +0 -0
  503. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/favicons/safari-pinned-tab.svg +0 -0
  504. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/index.html +0 -0
  505. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/preview/manifest.json +0 -0
  506. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/ui-libs-b124e26129aa436b26fe.bundle.js +0 -0
  507. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/browser_static/vendor-b124e26129aa436b26fe.bundle.js +0 -0
  508. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/capabilities.py +0 -0
  509. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/cli.py +0 -0
  510. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/cypher/__init__.py +0 -0
  511. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/cypher/algorithms/__init__.py +0 -0
  512. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/cypher/algorithms/paths.py +0 -0
  513. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/cypher/aql/__init__.py +0 -0
  514. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/cypher/aql/ast.py +0 -0
  515. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/cypher/aql/lexer.py +0 -0
  516. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/cypher/aql/parser.py +0 -0
  517. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/cypher/aql/translator.py +0 -0
  518. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/cypher/ast.py +0 -0
  519. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/cypher/lexer.py +0 -0
  520. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/dbapi_utils.py +0 -0
  521. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/embed_selector.py +0 -0
  522. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/embedded.py +0 -0
  523. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/errors.py +0 -0
  524. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/fhir_bridge.py +0 -0
  525. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/fusion.py +0 -0
  526. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/gql/__init__.py +0 -0
  527. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/gql/constants.py +0 -0
  528. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/gql/engine.py +0 -0
  529. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/gql/pooling.py +0 -0
  530. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/gql/resolvers.py +0 -0
  531. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/index_config.py +0 -0
  532. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/index_protocol.py +0 -0
  533. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/models.py +0 -0
  534. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/operators.py +0 -0
  535. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/py.typed +0 -0
  536. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/sdk.py +0 -0
  537. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/security.py +0 -0
  538. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/status.py +0 -0
  539. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/store_protocol.py +0 -0
  540. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/stores/__init__.py +0 -0
  541. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/stores/arno_bridge.py +0 -0
  542. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/stores/lazy_kg.py +0 -0
  543. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/text_search.py +0 -0
  544. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/utils.py +0 -0
  545. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/iris_vector_graph/vector_utils.py +0 -0
  546. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/sql/fhir_bridges.sql +0 -0
  547. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/sql/fraud_sample_data.sql +0 -0
  548. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/sql/globals_schema.sql +0 -0
  549. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/sql/graph_path_globals.sql +0 -0
  550. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/sql/graph_walk_tvf.sql +0 -0
  551. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/sql/migrations/000_base_schema_iris.sql +0 -0
  552. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/sql/migrations/001_add_nodepk_table.sql +0 -0
  553. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/sql/migrations/001_rollback_nodepk.sql +0 -0
  554. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/sql/migrations/002_add_fk_constraints.sql +0 -0
  555. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/sql/operators.sql +0 -0
  556. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/sql/operators_fixed.sql +0 -0
  557. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/sql/procedures/kg_PageRank.sql +0 -0
  558. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/sql/rdf_reifications.sql +0 -0
  559. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/sql/schema.sql +0 -0
  560. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/TESTING.md +0 -0
  561. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/benchmark_parser.py +0 -0
  562. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/benchmarks/README.md +0 -0
  563. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/benchmarks/bench.py +0 -0
  564. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/benchmarks/bench_utils.py +0 -0
  565. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/benchmarks/benchmark_neo4j.py +0 -0
  566. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/benchmarks/bfs_benchmark.py +0 -0
  567. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/benchmarks/establish_baseline.py +0 -0
  568. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/benchmarks/graph_gen.py +0 -0
  569. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/benchmarks/ic2_profile.py +0 -0
  570. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/benchmarks/iris_baseline_run.py +0 -0
  571. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/benchmarks/iris_os_run.py +0 -0
  572. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/benchmarks/ldbc_full_loader.py +0 -0
  573. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/benchmarks/load_neo4j.py +0 -0
  574. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/benchmarks/synthetic_baseline.csv +0 -0
  575. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/contract/__init__.py +0 -0
  576. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/contract/test_cypher_api.py +0 -0
  577. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/contract/test_cypher_api_errors.py +0 -0
  578. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/contract/test_graphql_queries.py +0 -0
  579. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/contract/test_graphql_schema.py +0 -0
  580. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/contract/test_ppr_api.py +0 -0
  581. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/curl_suite.sh +0 -0
  582. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/__init__.py +0 -0
  583. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/conftest.py +0 -0
  584. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/fixtures/__init__.py +0 -0
  585. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/fixtures/centrality_graphs.py +0 -0
  586. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/fixtures/community_graphs.py +0 -0
  587. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_analytics_dispatch.py +0 -0
  588. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_approx_count_distinct.py +0 -0
  589. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_aql_e2e.py +0 -0
  590. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_arno_bfs_global.py +0 -0
  591. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_arno_bfs_unified.py +0 -0
  592. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_betweenness_neighborhood_e2e.py +0 -0
  593. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_betweenness_os_e2e.py +0 -0
  594. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_biomedical_demo.py +0 -0
  595. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_biomedical_ui.py +0 -0
  596. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_closeness_os_e2e.py +0 -0
  597. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_communities_e2e.py +0 -0
  598. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_communities_perf.py +0 -0
  599. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_cypher_coerce_e2e.py +0 -0
  600. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_cypher_gaps_e2e.py +0 -0
  601. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_cypher_sprints_e2e.py +0 -0
  602. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_cypher_vector_search.py +0 -0
  603. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_cypher_vl_path_bfs.py +0 -0
  604. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_edge_weights.py +0 -0
  605. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_eigenvector_os_e2e.py +0 -0
  606. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_embed_queue_e2e.py +0 -0
  607. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_execution_contexts.py +0 -0
  608. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_execution_contexts_new.py +0 -0
  609. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_fhir_bridges_e2e.py +0 -0
  610. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_fraud_demo.py +0 -0
  611. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_fraud_ui.py +0 -0
  612. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_gql_autogen_startup.py +0 -0
  613. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_gql_cypher_passthrough.py +0 -0
  614. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_gql_node_queries.py +0 -0
  615. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_gql_semantic_search.py +0 -0
  616. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_gql_traversal.py +0 -0
  617. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_graph_kernels_e2e.py +0 -0
  618. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_ic13_shortest_path.py +0 -0
  619. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_ic3_exact_count.py +0 -0
  620. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_igraph_fastpath_parity.py +0 -0
  621. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_index_protocol.py +0 -0
  622. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_introspection_api.py +0 -0
  623. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_ivf_insert.py +0 -0
  624. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_large_output_chunked.py +0 -0
  625. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_lazy_kg_e2e.py +0 -0
  626. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_lazy_node_resolution.py +0 -0
  627. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_msbfs_closeness.py +0 -0
  628. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_multi_query_engine_platform.py +0 -0
  629. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_named_paths_e2e.py +0 -0
  630. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_nkg_index_e2e.py +0 -0
  631. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_objectscript_split_resolution.py +0 -0
  632. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_operator_wiring_e2e.py +0 -0
  633. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_pattern_comprehension_reduce.py +0 -0
  634. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_plaid.py +0 -0
  635. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_plaid_search_e2e.py +0 -0
  636. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_ppr_guided_e2e.py +0 -0
  637. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_procedure_installation.py +0 -0
  638. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_reification_e2e.py +0 -0
  639. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_schema_procedures_e2e.py +0 -0
  640. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_sdk_ergonomics_178_180_e2e.py +0 -0
  641. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_store_injection_e2e.py +0 -0
  642. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_streaming_bfs.py +0 -0
  643. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_stress_api.py +0 -0
  644. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_stress_ingest.py +0 -0
  645. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_stress_multi_context.py +0 -0
  646. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_stress_search.py +0 -0
  647. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_stress_setup.py +0 -0
  648. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_stress_traversal.py +0 -0
  649. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_subgraph_e2e.py +0 -0
  650. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_subquery_call_e2e.py +0 -0
  651. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_temporal_store_e2e.py +0 -0
  652. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_unified_index_api.py +0 -0
  653. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_untested_methods.py +0 -0
  654. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/e2e/test_vecindex_e2e.py +0 -0
  655. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/__init__.py +0 -0
  656. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/gql/__init__.py +0 -0
  657. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_bidirectional_ppr.py +0 -0
  658. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_cypher_advanced.py +0 -0
  659. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_cypher_enhancements.py +0 -0
  660. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_cypher_multi_type.py +0 -0
  661. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_cypher_rd.py +0 -0
  662. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_cypher_rel_vars.py +0 -0
  663. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_cypher_single_type.py +0 -0
  664. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_cypher_untyped.py +0 -0
  665. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_fhir_bridges_integration.py +0 -0
  666. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_named_paths_integration.py +0 -0
  667. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_nodepk_graph_analytics.py +0 -0
  668. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_nodepk_performance.py +0 -0
  669. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_nodepk_production_scale.py +0 -0
  670. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_reification_integration.py +0 -0
  671. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_stored_procedure_install.py +0 -0
  672. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/integration/test_subquery_call_integration.py +0 -0
  673. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/perf/__init__.py +0 -0
  674. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/perf/test_betweenness_vs_gds.py +0 -0
  675. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/perf/test_head_to_head.py +0 -0
  676. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/perf/test_leiden_four_way.py +0 -0
  677. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/performance/conftest.py +0 -0
  678. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/performance/scale_benchmark.py +0 -0
  679. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/performance/test_ppr_stress.py +0 -0
  680. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/performance/test_stress_v1_5.py +0 -0
  681. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/python/run_all_tests.py +0 -0
  682. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/python/test_iris_rest_api.py +0 -0
  683. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/python/test_networkx_loader.py +0 -0
  684. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/python/test_performance_benchmarks.py +0 -0
  685. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/python/test_pyops_vector_conversion.py +0 -0
  686. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/python/test_python_operators.py +0 -0
  687. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/python/test_schema_validation.py +0 -0
  688. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/python/test_sql_queries.py +0 -0
  689. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/python/test_vector_functions.py +0 -0
  690. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/regression/__init__.py +0 -0
  691. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/regression/engine_api_baseline.json +0 -0
  692. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/regression/test_complexity.py +0 -0
  693. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/regression/test_engine_api.py +0 -0
  694. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/regression/test_module_size.py +0 -0
  695. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/regression/test_no_silent_swallow.py +0 -0
  696. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/test_schema_contract.py +0 -0
  697. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/cypher/__init__.py +0 -0
  698. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/cypher/test_lexer.py +0 -0
  699. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/cypher/test_lexer_advanced.py +0 -0
  700. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/cypher/test_parser.py +0 -0
  701. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/cypher/test_parser_advanced.py +0 -0
  702. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_aql_lexer.py +0 -0
  703. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_aql_parser.py +0 -0
  704. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_aql_translator.py +0 -0
  705. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_arno_bridge.py +0 -0
  706. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_batch_mutations.py +0 -0
  707. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_betweenness_os_unit.py +0 -0
  708. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_bolt_server.py +0 -0
  709. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_bulk_load_session.py +0 -0
  710. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_centrality_translator.py +0 -0
  711. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_centrality_unit.py +0 -0
  712. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_closeness_os_unit.py +0 -0
  713. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_cls_deployment.py +0 -0
  714. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_communities_translator.py +0 -0
  715. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_communities_unit.py +0 -0
  716. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_concept_first_status.py +0 -0
  717. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_coverage_boost.py +0 -0
  718. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_cypher_benchmark_scale.py +0 -0
  719. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_cypher_case_when.py +0 -0
  720. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_cypher_e2e_new_features.py +0 -0
  721. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_cypher_functions.py +0 -0
  722. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_cypher_parser.py +0 -0
  723. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_cypher_procedures.py +0 -0
  724. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_cypher_union_exists.py +0 -0
  725. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_cypher_var_length.py +0 -0
  726. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_cypher_vector_search.py +0 -0
  727. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_edge_embeddings.py +0 -0
  728. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_edgeprop_ndjson.py +0 -0
  729. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_embed_nodes_params.py +0 -0
  730. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_embedded.py +0 -0
  731. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_engine_deep.py +0 -0
  732. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_engine_dimension_fix.py +0 -0
  733. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_engine_embeddings.py +0 -0
  734. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_engine_status.py +0 -0
  735. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_error_model.py +0 -0
  736. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_fhir_bridge.py +0 -0
  737. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_fhir_bridges.py +0 -0
  738. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_get_nodes.py +0 -0
  739. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_graph_kernels.py +0 -0
  740. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_graphql_dataloader.py +0 -0
  741. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_index_config.py +0 -0
  742. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_index_handle.py +0 -0
  743. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_index_protocol.py +0 -0
  744. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_ingest_formats.py +0 -0
  745. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_introspection_api.py +0 -0
  746. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_ivf_index.py +0 -0
  747. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_ivgresult.py +0 -0
  748. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_khop_dispatch.py +0 -0
  749. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_lazy_kg.py +0 -0
  750. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_module_coverage.py +0 -0
  751. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_named_graphs.py +0 -0
  752. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_named_paths.py +0 -0
  753. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_operators_coverage.py +0 -0
  754. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_operators_wiring.py +0 -0
  755. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_plaid_search.py +0 -0
  756. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_ppr_guided_subgraph.py +0 -0
  757. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_reification.py +0 -0
  758. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_schema_init.py +0 -0
  759. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_schema_procedures.py +0 -0
  760. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_shortest_path.py +0 -0
  761. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_snapshot.py +0 -0
  762. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_sql_splitter.py +0 -0
  763. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_sql_table_bridge.py +0 -0
  764. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_store_protocol.py +0 -0
  765. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_subgraph.py +0 -0
  766. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_subquery_call.py +0 -0
  767. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_supporting_modules.py +0 -0
  768. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_sync_model.py +0 -0
  769. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_temporal_cypher.py +0 -0
  770. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_translator_coverage.py +0 -0
  771. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_unified_edge_store.py +0 -0
  772. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_validation.py +0 -0
  773. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_vector_search_routing.py +0 -0
  774. {iris_vector_graph-2.0.0 → iris_vector_graph-2.2.0}/tests/unit/test_weighted_shortest_path.py +0 -0
@@ -105,6 +105,7 @@ docs/dc_contest_raw.md
105
105
 
106
106
  # Agent-specific config (not project docs)
107
107
  CLAUDE.md
108
+ AGENTS.md
108
109
  CODEX.md
109
110
  TABNINE.md
110
111
  DOCS_IRIS_PYTHON_ISSUES.md
@@ -0,0 +1,256 @@
1
+ Metadata-Version: 2.4
2
+ Name: iris-vector-graph
3
+ Version: 2.2.0
4
+ Summary: Transactional Graph + Vector retrieval system for InterSystems IRIS with hybrid search, openCypher, and GraphQL APIs
5
+ Project-URL: Homepage, https://github.com/intersystems-community/iris-vector-graph
6
+ Project-URL: Documentation, https://github.com/intersystems-community/iris-vector-graph/tree/main/docs
7
+ Project-URL: Repository, https://github.com/intersystems-community/iris-vector-graph
8
+ Project-URL: Issues, https://github.com/intersystems-community/iris-vector-graph/issues
9
+ Author-email: InterSystems Community Team <grants@intersystems.com>
10
+ License-Expression: MIT
11
+ License-File: LICENSE
12
+ Keywords: bioinformatics,biomedical,graph,iris,knowledge-graph,protein-interactions,vector-search
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.9
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Topic :: Database
24
+ Classifier: Topic :: Scientific/Engineering
25
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
26
+ Requires-Python: >=3.10
27
+ Requires-Dist: intersystems-iris>=1.0.0
28
+ Provides-Extra: biodata
29
+ Requires-Dist: biopython>=1.81; extra == 'biodata'
30
+ Requires-Dist: bioservices>=1.11.0; extra == 'biodata'
31
+ Requires-Dist: mygene>=3.2.0; extra == 'biodata'
32
+ Requires-Dist: obonet>=1.0.0; extra == 'biodata'
33
+ Provides-Extra: browser
34
+ Requires-Dist: fastapi>=0.118.0; extra == 'browser'
35
+ Requires-Dist: uvicorn>=0.37.0; extra == 'browser'
36
+ Provides-Extra: cli
37
+ Requires-Dist: click>=8.0.0; extra == 'cli'
38
+ Requires-Dist: httpx>=0.28.1; extra == 'cli'
39
+ Requires-Dist: tabulate>=0.9.0; extra == 'cli'
40
+ Provides-Extra: communities
41
+ Requires-Dist: leidenalg>=0.10; extra == 'communities'
42
+ Requires-Dist: networkx>=3.0; extra == 'communities'
43
+ Requires-Dist: python-igraph>=0.11; extra == 'communities'
44
+ Provides-Extra: core
45
+ Requires-Dist: intersystems-iris>=1.0.0; extra == 'core'
46
+ Provides-Extra: demo
47
+ Requires-Dist: python-fasthtml>=0.12.0; extra == 'demo'
48
+ Provides-Extra: dev
49
+ Requires-Dist: black>=23.0.0; extra == 'dev'
50
+ Requires-Dist: flake8>=6.0.0; extra == 'dev'
51
+ Requires-Dist: iris-devtester>=1.18.1; extra == 'dev'
52
+ Requires-Dist: isort>=5.12.0; extra == 'dev'
53
+ Requires-Dist: mypy>=1.5.0; extra == 'dev'
54
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
55
+ Requires-Dist: pytest-playwright>=0.7.0; extra == 'dev'
56
+ Requires-Dist: pytest>=7.4.0; extra == 'dev'
57
+ Provides-Extra: full
58
+ Requires-Dist: fastapi>=0.118.0; extra == 'full'
59
+ Requires-Dist: httpx>=0.28.1; extra == 'full'
60
+ Requires-Dist: iris-embedded-python-wrapper>=0.5.20; extra == 'full'
61
+ Requires-Dist: leidenalg>=0.10; extra == 'full'
62
+ Requires-Dist: networkx>=3.0; extra == 'full'
63
+ Requires-Dist: numpy>=1.24.0; extra == 'full'
64
+ Requires-Dist: pandas>=2.0.0; extra == 'full'
65
+ Requires-Dist: pydantic>=2.11.9; extra == 'full'
66
+ Requires-Dist: python-dotenv>=1.0.0; extra == 'full'
67
+ Requires-Dist: python-igraph>=0.11; extra == 'full'
68
+ Requires-Dist: rdflib>=6.0.0; extra == 'full'
69
+ Requires-Dist: requests>=2.28.0; extra == 'full'
70
+ Requires-Dist: strawberry-graphql[fastapi]>=0.280.0; extra == 'full'
71
+ Requires-Dist: uvicorn>=0.37.0; extra == 'full'
72
+ Provides-Extra: ml
73
+ Requires-Dist: scikit-learn>=1.3.0; extra == 'ml'
74
+ Requires-Dist: scipy>=1.11.0; extra == 'ml'
75
+ Requires-Dist: torch>=2.0.0; extra == 'ml'
76
+ Provides-Extra: performance
77
+ Requires-Dist: memory-profiler>=0.61.0; extra == 'performance'
78
+ Requires-Dist: psutil>=5.9.0; extra == 'performance'
79
+ Provides-Extra: plaid
80
+ Requires-Dist: numpy>=1.24.0; extra == 'plaid'
81
+ Requires-Dist: scikit-learn>=1.3.0; extra == 'plaid'
82
+ Provides-Extra: visualization
83
+ Requires-Dist: graphviz>=0.20.0; extra == 'visualization'
84
+ Requires-Dist: matplotlib>=3.7.0; extra == 'visualization'
85
+ Requires-Dist: plotly>=5.15.0; extra == 'visualization'
86
+ Description-Content-Type: text/markdown
87
+
88
+ # iris-vector-graph
89
+
90
+ **Knowledge graph engine for InterSystems IRIS** — openCypher queries, temporal property graph, vector search, and graph analytics.
91
+
92
+ [![PyPI](https://img.shields.io/pypi/v/iris-vector-graph)](https://pypi.org/project/iris-vector-graph/)
93
+ [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
94
+ [![IRIS 2024.1+](https://img.shields.io/badge/IRIS-2024.1+-purple.svg)](https://www.intersystems.com/products/intersystems-iris/)
95
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
96
+
97
+ ---
98
+
99
+ ## Getting Started
100
+
101
+ Five minutes from zero to running graph queries.
102
+
103
+ ### 1. Start IRIS
104
+
105
+ ```bash
106
+ docker compose up -d
107
+ ```
108
+
109
+ Starts IRIS Community Edition on `localhost:1972`. No license required.
110
+ Default credentials: `_SYSTEM` / `SYS`.
111
+
112
+ ### 2. Install
113
+
114
+ ```bash
115
+ pip install iris-vector-graph
116
+ ```
117
+
118
+ ### 3. Run your first query
119
+
120
+ ```python
121
+ import iris
122
+ from iris_vector_graph.engine import IRISGraphEngine
123
+
124
+ conn = iris.connect("localhost", 1972, "USER", "_SYSTEM", "SYS")
125
+ engine = IRISGraphEngine(conn, embedding_dimension=768)
126
+ engine.initialize_schema()
127
+
128
+ engine.create_node("alice", labels=["Person"], properties={"name": "Alice"})
129
+ engine.create_node("bob", labels=["Person"], properties={"name": "Bob"})
130
+ engine.create_edge("alice", "KNOWS", "bob")
131
+
132
+ result = engine.execute_cypher(
133
+ "MATCH (a {node_id:$id})-[:KNOWS]->(b) RETURN b.name AS name",
134
+ {"id": "alice"}
135
+ )
136
+ print(result["rows"]) # [('Bob',)]
137
+ ```
138
+
139
+ > **Note:** `initialize_schema()` prints compile warnings on Community Edition — safe to ignore.
140
+ > Enterprise-only classes (`Graph.KG.MCPService`, `Graph.KG.MCPToolSet`) are not required.
141
+
142
+ ---
143
+
144
+ ## What It Does
145
+
146
+ | Feature | Notes |
147
+ |---------|-------|
148
+ | **openCypher** | `MATCH`, `CREATE`, `MERGE`, `DELETE`, `WITH`, `UNWIND`, variable-length paths, subqueries |
149
+ | **Temporal property graph** | Time-windowed edges, pre-aggregated bucket analytics, O(1) window queries |
150
+ | **Vector search** | HNSW (native IRIS VECTOR), IVFFlat, PLAID multi-vector, BM25 full-text |
151
+ | **Graph analytics** | Betweenness, closeness, eigenvector, degree centrality; Leiden community detection; SCC; k-core; PPR |
152
+ | **Shortest path** | Unweighted BFS (`shortestPath`), weighted Dijkstra (`ivg.shortestPath.weighted`) |
153
+ | **NKG fast-path** | `[*1..N]` Cypher patterns route to integer-keyed `^NKG` index, bypassing SQL translation |
154
+ | **Bulk loader** | 190–312K edges/s direct `^KG` write; incremental `^NKG` rebuild |
155
+ | **FHIR bridge** | ICD-10 → knowledge graph mapping via FHIR R4 |
156
+ | **Bolt protocol** | neo4j-driver compatible wire protocol (TCP + WebSocket) |
157
+ | **Embedded Python** | Graph algorithms run server-side via IRIS embedded Python (igraph, leidenalg) |
158
+ | **IPM / ZPM** | ObjectScript-only install via InterSystems Package Manager |
159
+
160
+ ---
161
+
162
+ ## Performance
163
+
164
+ Hardware: M3 Ultra, Community IRIS 2026.1, ARM64 Docker.
165
+
166
+ ### Query latency
167
+
168
+ | Query | Latency | Notes |
169
+ |-------|---------|-------|
170
+ | 1-hop neighbor lookup | ~0.4ms | `$Order` on `^KG` |
171
+ | NKG fast-path `[*1..N]`, hops 2–5 | 1.4–2.0ms | **4.9–13.4x faster than SQL path** |
172
+ | IC3 2-hop with LIMIT (LDBC SF10) | 1.2ms | 3.5x faster than GES/GraphScope |
173
+ | IC13 shortest path (LDBC SF10) | 2.1–3.2ms | Comparable to GES at SF1000 on cluster |
174
+ | HNSW vector search (768-dim) | 1.7ms | Native IRIS VECTOR index |
175
+ | BM25 full-text (174 nodes, 3-term) | 0.3ms | Posting-list `$Order` |
176
+ | Temporal window query | 0.1ms | O(results), B-tree |
177
+ | Pre-aggregated bucket (24hr/288 buckets) | 0.16ms | O(buckets), not O(edges) |
178
+
179
+ ### Algorithm comparison (vs Neo4j GDS and networkx)
180
+
181
+ IVG is competitive with or faster than Neo4j GDS on degree centrality, betweenness, and Leiden
182
+ community detection, producing results identical to networkx (Pearson r = 1.0).
183
+ Validated on DRKG biomedical KG (~97K nodes / ~5.9M edges).
184
+
185
+ Full methodology and numbers: [docs/performance/BENCHMARKS.md](docs/performance/BENCHMARKS.md)
186
+ and [docs/performance/GRAPH_ALGORITHMS.md](docs/performance/GRAPH_ALGORITHMS.md).
187
+
188
+ ---
189
+
190
+ ## Architecture
191
+
192
+ ```
193
+ ┌─────────────────────────────────────────────────────────────────────┐
194
+ │ iris-vector-graph v2.1.0 │
195
+ ├─────────────────────────────────────────────────────────────────────┤
196
+ │ │
197
+ │ ┌───────────────┐ ┌───────────────┐ ┌───────────────────┐ │
198
+ │ │ Python SDK │ │ Cypher/AQL │ │ Bolt (wire) │ │
199
+ │ │ IRISGraph │ │ translator │ │ neo4j-driver │ │
200
+ │ │ Engine │ │ + executor │ │ compatible │ │
201
+ │ └───────┬───────┘ └───────┬───────┘ └────────┬──────────┘ │
202
+ │ └──────────────┬────┘ │ │
203
+ │ ▼ │ │
204
+ │ ┌────────────────────────┐ │ │
205
+ │ │ GraphStore protocol │◄─────────────┘ │
206
+ │ │ (pluggable backend) │ │
207
+ │ └───────────┬────────────┘ │
208
+ │ │ │
209
+ │ ┌──────────────┼──────────────┐ │
210
+ │ ▼ ▼ ▼ │
211
+ │ ┌─────────────┐ ┌──────────┐ ┌───────────────┐ │
212
+ │ │ SQL layer │ │ ^KG │ │ ^NKG │ │
213
+ │ │ Graph_KG.* │ │ globals │ │ integer adj │ │
214
+ │ │ (nodes, │ │ (edges, │ │ index │ │
215
+ │ │ edges, │ │ temp, │ └───────┬───────┘ │
216
+ │ │ vectors) │ │ PPR) │ │ │
217
+ │ └─────────────┘ └──────────┘ │ │
218
+ │ ▼ │
219
+ │ ┌────────────────────┐ │
220
+ │ │ Algorithm tiers │ │
221
+ │ ├────────────────────┤ │
222
+ │ │ 1. Rust accelerator│ ← fastest │
223
+ │ │ (rayon parallel)│ │
224
+ │ │ 2. ObjectScript │ │
225
+ │ │ parallel 8× │ │
226
+ │ │ 3. Python LazyKG │ ← always works│
227
+ │ └────────────────────┘ │
228
+ │ │
229
+ │ Centrality: betweenness (Brandes) · closeness · eigenvector │
230
+ │ degree │
231
+ │ Community: Leiden · triangle count · SCC · k-core │
232
+ │ Search: vector (HNSW/IVF/PLAID) · BM25 · temporal · PPR │
233
+ │ │
234
+ └─────────────────────────────────────────────────────────────────────┘
235
+ ```
236
+
237
+ Full schema and ObjectScript class reference: [docs/architecture/ARCHITECTURE.md](docs/architecture/ARCHITECTURE.md).
238
+
239
+ ---
240
+
241
+ ## Documentation
242
+
243
+ | Document | Contents |
244
+ |----------|----------|
245
+ | [User Guide](docs/USER_GUIDE.md) | Cypher examples, temporal edges, vector search, bulk loader |
246
+ | [Admin Guide](docs/ADMIN_GUIDE.md) | Container setup, schema management, index rebuilding |
247
+ | [Admin API](docs/ADMIN_API.md) | Python API reference for engine administration |
248
+ | [Benchmarks](docs/performance/BENCHMARKS.md) | Full methodology, LDBC SNB results, ingestion throughput |
249
+ | [Graph Algorithms](docs/performance/GRAPH_ALGORITHMS.md) | Centrality and community detection benchmark details |
250
+ | [Changelog](CHANGELOG.md) | Full version history |
251
+
252
+ ---
253
+
254
+ ## License
255
+
256
+ MIT. See [LICENSE](LICENSE).
@@ -0,0 +1,169 @@
1
+ # iris-vector-graph
2
+
3
+ **Knowledge graph engine for InterSystems IRIS** — openCypher queries, temporal property graph, vector search, and graph analytics.
4
+
5
+ [![PyPI](https://img.shields.io/pypi/v/iris-vector-graph)](https://pypi.org/project/iris-vector-graph/)
6
+ [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
7
+ [![IRIS 2024.1+](https://img.shields.io/badge/IRIS-2024.1+-purple.svg)](https://www.intersystems.com/products/intersystems-iris/)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
9
+
10
+ ---
11
+
12
+ ## Getting Started
13
+
14
+ Five minutes from zero to running graph queries.
15
+
16
+ ### 1. Start IRIS
17
+
18
+ ```bash
19
+ docker compose up -d
20
+ ```
21
+
22
+ Starts IRIS Community Edition on `localhost:1972`. No license required.
23
+ Default credentials: `_SYSTEM` / `SYS`.
24
+
25
+ ### 2. Install
26
+
27
+ ```bash
28
+ pip install iris-vector-graph
29
+ ```
30
+
31
+ ### 3. Run your first query
32
+
33
+ ```python
34
+ import iris
35
+ from iris_vector_graph.engine import IRISGraphEngine
36
+
37
+ conn = iris.connect("localhost", 1972, "USER", "_SYSTEM", "SYS")
38
+ engine = IRISGraphEngine(conn, embedding_dimension=768)
39
+ engine.initialize_schema()
40
+
41
+ engine.create_node("alice", labels=["Person"], properties={"name": "Alice"})
42
+ engine.create_node("bob", labels=["Person"], properties={"name": "Bob"})
43
+ engine.create_edge("alice", "KNOWS", "bob")
44
+
45
+ result = engine.execute_cypher(
46
+ "MATCH (a {node_id:$id})-[:KNOWS]->(b) RETURN b.name AS name",
47
+ {"id": "alice"}
48
+ )
49
+ print(result["rows"]) # [('Bob',)]
50
+ ```
51
+
52
+ > **Note:** `initialize_schema()` prints compile warnings on Community Edition — safe to ignore.
53
+ > Enterprise-only classes (`Graph.KG.MCPService`, `Graph.KG.MCPToolSet`) are not required.
54
+
55
+ ---
56
+
57
+ ## What It Does
58
+
59
+ | Feature | Notes |
60
+ |---------|-------|
61
+ | **openCypher** | `MATCH`, `CREATE`, `MERGE`, `DELETE`, `WITH`, `UNWIND`, variable-length paths, subqueries |
62
+ | **Temporal property graph** | Time-windowed edges, pre-aggregated bucket analytics, O(1) window queries |
63
+ | **Vector search** | HNSW (native IRIS VECTOR), IVFFlat, PLAID multi-vector, BM25 full-text |
64
+ | **Graph analytics** | Betweenness, closeness, eigenvector, degree centrality; Leiden community detection; SCC; k-core; PPR |
65
+ | **Shortest path** | Unweighted BFS (`shortestPath`), weighted Dijkstra (`ivg.shortestPath.weighted`) |
66
+ | **NKG fast-path** | `[*1..N]` Cypher patterns route to integer-keyed `^NKG` index, bypassing SQL translation |
67
+ | **Bulk loader** | 190–312K edges/s direct `^KG` write; incremental `^NKG` rebuild |
68
+ | **FHIR bridge** | ICD-10 → knowledge graph mapping via FHIR R4 |
69
+ | **Bolt protocol** | neo4j-driver compatible wire protocol (TCP + WebSocket) |
70
+ | **Embedded Python** | Graph algorithms run server-side via IRIS embedded Python (igraph, leidenalg) |
71
+ | **IPM / ZPM** | ObjectScript-only install via InterSystems Package Manager |
72
+
73
+ ---
74
+
75
+ ## Performance
76
+
77
+ Hardware: M3 Ultra, Community IRIS 2026.1, ARM64 Docker.
78
+
79
+ ### Query latency
80
+
81
+ | Query | Latency | Notes |
82
+ |-------|---------|-------|
83
+ | 1-hop neighbor lookup | ~0.4ms | `$Order` on `^KG` |
84
+ | NKG fast-path `[*1..N]`, hops 2–5 | 1.4–2.0ms | **4.9–13.4x faster than SQL path** |
85
+ | IC3 2-hop with LIMIT (LDBC SF10) | 1.2ms | 3.5x faster than GES/GraphScope |
86
+ | IC13 shortest path (LDBC SF10) | 2.1–3.2ms | Comparable to GES at SF1000 on cluster |
87
+ | HNSW vector search (768-dim) | 1.7ms | Native IRIS VECTOR index |
88
+ | BM25 full-text (174 nodes, 3-term) | 0.3ms | Posting-list `$Order` |
89
+ | Temporal window query | 0.1ms | O(results), B-tree |
90
+ | Pre-aggregated bucket (24hr/288 buckets) | 0.16ms | O(buckets), not O(edges) |
91
+
92
+ ### Algorithm comparison (vs Neo4j GDS and networkx)
93
+
94
+ IVG is competitive with or faster than Neo4j GDS on degree centrality, betweenness, and Leiden
95
+ community detection, producing results identical to networkx (Pearson r = 1.0).
96
+ Validated on DRKG biomedical KG (~97K nodes / ~5.9M edges).
97
+
98
+ Full methodology and numbers: [docs/performance/BENCHMARKS.md](docs/performance/BENCHMARKS.md)
99
+ and [docs/performance/GRAPH_ALGORITHMS.md](docs/performance/GRAPH_ALGORITHMS.md).
100
+
101
+ ---
102
+
103
+ ## Architecture
104
+
105
+ ```
106
+ ┌─────────────────────────────────────────────────────────────────────┐
107
+ │ iris-vector-graph v2.1.0 │
108
+ ├─────────────────────────────────────────────────────────────────────┤
109
+ │ │
110
+ │ ┌───────────────┐ ┌───────────────┐ ┌───────────────────┐ │
111
+ │ │ Python SDK │ │ Cypher/AQL │ │ Bolt (wire) │ │
112
+ │ │ IRISGraph │ │ translator │ │ neo4j-driver │ │
113
+ │ │ Engine │ │ + executor │ │ compatible │ │
114
+ │ └───────┬───────┘ └───────┬───────┘ └────────┬──────────┘ │
115
+ │ └──────────────┬────┘ │ │
116
+ │ ▼ │ │
117
+ │ ┌────────────────────────┐ │ │
118
+ │ │ GraphStore protocol │◄─────────────┘ │
119
+ │ │ (pluggable backend) │ │
120
+ │ └───────────┬────────────┘ │
121
+ │ │ │
122
+ │ ┌──────────────┼──────────────┐ │
123
+ │ ▼ ▼ ▼ │
124
+ │ ┌─────────────┐ ┌──────────┐ ┌───────────────┐ │
125
+ │ │ SQL layer │ │ ^KG │ │ ^NKG │ │
126
+ │ │ Graph_KG.* │ │ globals │ │ integer adj │ │
127
+ │ │ (nodes, │ │ (edges, │ │ index │ │
128
+ │ │ edges, │ │ temp, │ └───────┬───────┘ │
129
+ │ │ vectors) │ │ PPR) │ │ │
130
+ │ └─────────────┘ └──────────┘ │ │
131
+ │ ▼ │
132
+ │ ┌────────────────────┐ │
133
+ │ │ Algorithm tiers │ │
134
+ │ ├────────────────────┤ │
135
+ │ │ 1. Rust accelerator│ ← fastest │
136
+ │ │ (rayon parallel)│ │
137
+ │ │ 2. ObjectScript │ │
138
+ │ │ parallel 8× │ │
139
+ │ │ 3. Python LazyKG │ ← always works│
140
+ │ └────────────────────┘ │
141
+ │ │
142
+ │ Centrality: betweenness (Brandes) · closeness · eigenvector │
143
+ │ degree │
144
+ │ Community: Leiden · triangle count · SCC · k-core │
145
+ │ Search: vector (HNSW/IVF/PLAID) · BM25 · temporal · PPR │
146
+ │ │
147
+ └─────────────────────────────────────────────────────────────────────┘
148
+ ```
149
+
150
+ Full schema and ObjectScript class reference: [docs/architecture/ARCHITECTURE.md](docs/architecture/ARCHITECTURE.md).
151
+
152
+ ---
153
+
154
+ ## Documentation
155
+
156
+ | Document | Contents |
157
+ |----------|----------|
158
+ | [User Guide](docs/USER_GUIDE.md) | Cypher examples, temporal edges, vector search, bulk loader |
159
+ | [Admin Guide](docs/ADMIN_GUIDE.md) | Container setup, schema management, index rebuilding |
160
+ | [Admin API](docs/ADMIN_API.md) | Python API reference for engine administration |
161
+ | [Benchmarks](docs/performance/BENCHMARKS.md) | Full methodology, LDBC SNB results, ingestion throughput |
162
+ | [Graph Algorithms](docs/performance/GRAPH_ALGORITHMS.md) | Centrality and community detection benchmark details |
163
+ | [Changelog](CHANGELOG.md) | Full version history |
164
+
165
+ ---
166
+
167
+ ## License
168
+
169
+ MIT. See [LICENSE](LICENSE).
@@ -201,11 +201,16 @@ class BiomedicalDomainResolver(DomainResolver):
201
201
  if input.organism:
202
202
  properties["organism"] = input.organism
203
203
 
204
- engine.create_node(
204
+ if engine.node_exists(str(input.id)):
205
+ raise Exception(f"Protein with ID {input.id} already exists")
206
+
207
+ created = engine.create_node(
205
208
  node_id=str(input.id),
206
209
  labels=["Protein"],
207
210
  properties=properties
208
211
  )
212
+ if not created:
213
+ raise Exception(f"Protein with ID {input.id} already exists")
209
214
 
210
215
  if input.embedding and len(input.embedding) > 0:
211
216
  if len(input.embedding) != 768:
@@ -232,11 +237,7 @@ class BiomedicalDomainResolver(DomainResolver):
232
237
  async def _update_protein_mutation(
233
238
  self, info: Info, id: strawberry.ID, input: UpdateProteinInput
234
239
  ) -> Protein:
235
- """
236
- Update an existing protein's fields.
237
-
238
- Uses engine.update_node for properties.
239
- """
240
+ """Update an existing protein's fields."""
240
241
  from iris_vector_graph.engine import IRISGraphEngine
241
242
  db_connection = info.context.get("db_connection")
242
243
  engine = IRISGraphEngine(db_connection)
@@ -244,7 +245,7 @@ class BiomedicalDomainResolver(DomainResolver):
244
245
  if not engine.node_exists(str(id)):
245
246
  raise Exception(f"Protein with ID {id} not found")
246
247
 
247
- updates = {}
248
+ updates: Dict[str, str] = {}
248
249
  if input.name is not None:
249
250
  updates["name"] = input.name
250
251
  if input.function is not None:
@@ -253,7 +254,23 @@ class BiomedicalDomainResolver(DomainResolver):
253
254
  updates["confidence"] = str(input.confidence)
254
255
 
255
256
  if updates:
256
- engine.update_node(str(id), properties=updates)
257
+ cursor = db_connection.cursor()
258
+ for key, val in updates.items():
259
+ try:
260
+ cursor.execute(
261
+ "UPDATE Graph_KG.rdf_props SET val = ? WHERE s = ? AND key = ?",
262
+ [val, str(id), key],
263
+ )
264
+ if cursor.rowcount == 0:
265
+ cursor.execute(
266
+ "INSERT INTO Graph_KG.rdf_props (s, key, val) VALUES (?, ?, ?)",
267
+ [str(id), key, val],
268
+ )
269
+ except Exception:
270
+ cursor.execute(
271
+ "INSERT INTO Graph_KG.rdf_props (s, key, val) VALUES (?, ?, ?)",
272
+ [str(id), key, val],
273
+ )
257
274
 
258
275
  db_connection.commit()
259
276
 
@@ -130,24 +130,21 @@ class Protein(Node):
130
130
  # Check if embeddings exist for this protein
131
131
  try:
132
132
  cursor.execute(
133
- "SELECT COUNT(*) FROM kg_NodeEmbeddings WHERE id = ?",
133
+ "SELECT COUNT(*) FROM Graph_KG.kg_NodeEmbeddings WHERE id = ?",
134
134
  (str(self.id),)
135
135
  )
136
136
  count = cursor.fetchone()[0]
137
137
  if count == 0:
138
- # No embedding for this protein
139
138
  return []
140
139
  except Exception:
141
140
  return []
142
141
 
143
- # Try to use VECTOR functions if available (IRIS 2025.1+)
144
- # Query using HNSW vector search with VECTOR_DOT_PRODUCT
145
142
  query = """
146
143
  SELECT TOP ?
147
144
  e2.id,
148
145
  VECTOR_DOT_PRODUCT(e1.emb, e2.emb) as similarity
149
- FROM kg_NodeEmbeddings e1,
150
- kg_NodeEmbeddings e2
146
+ FROM Graph_KG.kg_NodeEmbeddings e1,
147
+ Graph_KG.kg_NodeEmbeddings e2
151
148
  WHERE e1.id = ?
152
149
  AND e2.id != ?
153
150
  AND VECTOR_DOT_PRODUCT(e1.emb, e2.emb) >= ?
@@ -229,8 +229,9 @@ ClassMethod ExportAdjacencyFromSeed(seed As %String, maxHops As %Integer = 4, pr
229
229
  Kill ^||seedBFS
230
230
  Return result
231
231
  }
232
- ClassMethod ExportAdjacencyWithPreds() As %String [ Private ]
232
+ ClassMethod ExportAdjacencyWithPreds(requiredPreds As %List = "") As %String [ Private ]
233
233
  {
234
+ Set hasGuard = (requiredPreds '= "") && ($ListLength(requiredPreds) > 0)
234
235
  Set result = "", chunk = "", chunkNum = 0
235
236
  Set src = ""
236
237
  For {
@@ -246,6 +247,7 @@ ClassMethod ExportAdjacencyWithPreds() As %String [ Private ]
246
247
  For {
247
248
  Set dst = $Order(^NKG(-1, src, pred, dst))
248
249
  Quit:dst=""
250
+ If hasGuard && '##class(Graph.KG.NKGAccelTraversal).StructuralGuard(dst, requiredPreds) Continue
249
251
  Set dstStr = $Get(^NKG("$ND", dst), dst)
250
252
  Set line = srcStr _ $Char(31) _ predStr _ $Char(31) _ dstStr _ $Char(10)
251
253
  If $Length(result) + $Length(line) > 3000000 {
@@ -26,10 +26,10 @@ ClassMethod KHopNeighbors(seedId As %String, k As %Integer = 2, maxNodes As %Int
26
26
  Set node = $Order(^||frontier(node))
27
27
  Quit:node=""
28
28
  If useNKG {
29
- Set pred = ""
29
+ Set pred = -99999999
30
30
  For {
31
31
  Set pred = $Order(^NKG(-1, node, pred))
32
- Quit:pred=""
32
+ Quit:(pred="")!(pred>=0)
33
33
  Set dst = ""
34
34
  For {
35
35
  Set dst = $Order(^NKG(-1, node, pred, dst))
@@ -109,10 +109,10 @@ ClassMethod KHopNeighborsSorted(seedId As %String, k As %Integer = 2, maxNodes A
109
109
  Set node = $Order(^||frontier(node))
110
110
  Quit:node=""
111
111
  If useNKG {
112
- Set pred = ""
112
+ Set pred = -99999999
113
113
  For {
114
114
  Set pred = $Order(^NKG(-1, node, pred))
115
- Quit:pred=""
115
+ Quit:(pred="")!(pred>=0)
116
116
  Set dst = ""
117
117
  For {
118
118
  Set dst = $Order(^NKG(-1, node, pred, dst))
@@ -196,10 +196,10 @@ ClassMethod PPRNative(seedId As %String, alpha As %Double = 0.85, maxIter As %In
196
196
  If useNKG {
197
197
  Set nkgIdx = $Get(^NKG("$NI", nodeId), "")
198
198
  If nkgIdx '= "" {
199
- Set pred = ""
199
+ Set pred = -99999999
200
200
  For {
201
201
  Set pred = $Order(^NKG(-1, nkgIdx, pred))
202
- Quit:pred=""
202
+ Quit:(pred="")!(pred>=0)
203
203
  Set dst = ""
204
204
  For {
205
205
  Set dst = $Order(^NKG(-1, nkgIdx, pred, dst))
@@ -308,7 +308,7 @@ ClassMethod RandomWalkJson(seedId As %String, walkLength As %Integer = 20, numWa
308
308
  Kill ^||walkNbrs
309
309
  Set nbrCount = 0
310
310
  If useNKG && (currentIdx '= "") {
311
- Set pred = "" For { Set pred=$Order(^NKG(-1,currentIdx,pred)) Quit:pred="" Set dst="" For { Set dst=$Order(^NKG(-1,currentIdx,pred,dst)) Quit:dst="" Set nbrCount=nbrCount+1, ^||walkNbrs(nbrCount)=dst } }
311
+ Set pred = -99999999 For { Set pred=$Order(^NKG(-1,currentIdx,pred)) Quit:(pred="")||(pred>=0) Set dst="" For { Set dst=$Order(^NKG(-1,currentIdx,pred,dst)) Quit:dst="" Set nbrCount=nbrCount+1, ^||walkNbrs(nbrCount)=dst } }
312
312
  } Else {
313
313
  Set pred="" For { Set pred=$Order(^KG("out",current,pred)) Quit:pred="" Set dst="" For { Set dst=$Order(^KG("out",current,pred,dst)) Quit:dst="" Set nbrCount=nbrCount+1, ^||walkNbrs(nbrCount)=dst } }
314
314
  }
@@ -387,10 +387,10 @@ ClassMethod ShortestPathNKG(srcId As %String, dstId As %String, maxHops As %Inte
387
387
  For {
388
388
  Set ni = $Order(^||BF(ni))
389
389
  Quit:ni=""
390
- Set pred = ""
390
+ Set pred = -99999999
391
391
  For {
392
392
  Set pred = $Order(^NKG(-1, ni, pred))
393
- Quit:pred=""
393
+ Quit:(pred="")!(pred>=0)
394
394
  Set di = ""
395
395
  For {
396
396
  Set di = $Order(^NKG(-1, ni, pred, di))
@@ -413,10 +413,10 @@ ClassMethod ShortestPathNKG(srcId As %String, dstId As %String, maxHops As %Inte
413
413
  For {
414
414
  Set ni = $Order(^||BB(ni))
415
415
  Quit:ni=""
416
- Set pred = ""
416
+ Set pred = -99999999
417
417
  For {
418
418
  Set pred = $Order(^NKG(-2, ni, pred))
419
- Quit:pred=""
419
+ Quit:(pred="")!(pred>=0)
420
420
  Set si = ""
421
421
  For {
422
422
  Set si = $Order(^NKG(-2, ni, pred, si))
@@ -479,11 +479,10 @@ ClassMethod CountDistinctKHop(srcId As %String, predsJson As %String = "", maxHo
479
479
  Set s = $Order(frontier(s))
480
480
  Quit:s=""
481
481
  If direction = "out" || (direction = "both") {
482
- Set pIdx2 = ""
482
+ Set pIdx2 = -99999999
483
483
  For {
484
484
  Set pIdx2 = $Order(^NKG(-1, s, pIdx2))
485
- Quit:pIdx2=""
486
- If pIdx2 >= 0 Quit
485
+ Quit:(pIdx2="")!(pIdx2>=0)
487
486
  If $IsObject(predsIdxArr) {
488
487
  Set matched = 0
489
488
  For pi = 0:1:(predsIdxArr.%Size()-1) {
@@ -503,11 +502,10 @@ ClassMethod CountDistinctKHop(srcId As %String, predsJson As %String = "", maxHo
503
502
  }
504
503
  }
505
504
  If direction = "in" || (direction = "both") {
506
- Set pIdx2 = ""
505
+ Set pIdx2 = -99999999
507
506
  For {
508
507
  Set pIdx2 = $Order(^NKG(-2, s, pIdx2))
509
- Quit:pIdx2=""
510
- If pIdx2 >= 0 Quit
508
+ Quit:(pIdx2="")!(pIdx2>=0)
511
509
  If $IsObject(predsIdxArr) {
512
510
  Set matched = 0
513
511
  For pi = 0:1:(predsIdxArr.%Size()-1) {
@@ -557,6 +555,20 @@ ClassMethod CountDistinctKHop(srcId As %String, predsJson As %String = "", maxHo
557
555
  Set estimate = ##class(Graph.KG.GraphIndex).EstimateHLL(merged)
558
556
  Return "{""estimate"":"_estimate_",""registers"":256,""std_error"":0.065}"
559
557
  }
558
+ /// Returns 1 if nodeIdx has at least one edge for every predicate index in requiredPreds.
559
+ /// Uses $Data — no value fetch — for structural check only.
560
+ ClassMethod StructuralGuard(nodeIdx As %Integer, requiredPreds As %List) As %Boolean
561
+ {
562
+ Set len = $ListLength(requiredPreds)
563
+ If len = 0 Return 1
564
+ For i = 1:1:len {
565
+ Set predIdx = $List(requiredPreds, i)
566
+ // NKG stores pred keys as -(pIdx+1) to keep them negative (sort before "")
567
+ If '$Data(^NKG(-1, nodeIdx, -(predIdx+1))) Return 0
568
+ }
569
+ Return 1
570
+ }
571
+
560
572
  ClassMethod Build2HopExact() As %Boolean
561
573
  {
562
574
  If '##class(Graph.KG.NKGAccelLoader).IsLoaded() {