iris-vector-graph 2.4.6__tar.gz → 2.5.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 (790) hide show
  1. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/PKG-INFO +27 -2
  2. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/README.md +24 -1
  3. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/BM25Index.cls +173 -76
  4. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/nodes_edges.py +192 -0
  5. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/vector.py +15 -4
  6. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/pyproject.toml +4 -1
  7. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_bm25_index.py +103 -0
  8. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_ivf_index.py +172 -0
  9. iris_vector_graph-2.5.0/tests/unit/test_property_primitives.py +491 -0
  10. iris_vector_graph-2.5.0/tests/unit/test_rrf_fuse_e2e.py +307 -0
  11. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_vector_unit.py +24 -0
  12. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/.gitignore +0 -0
  13. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/LICENSE +0 -0
  14. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/demo_biomedical.py +0 -0
  15. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/demo_fraud_detection.py +0 -0
  16. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/demo_fraud_detection_sql.py +0 -0
  17. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/demo_rdf_semantic_layer.py +0 -0
  18. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/demo_utils.py +0 -0
  19. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/demo_working_system.py +0 -0
  20. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/domains/__init__.py +0 -0
  21. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/domains/biomedical/__init__.py +0 -0
  22. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/domains/biomedical/loaders.py +0 -0
  23. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/domains/biomedical/resolver.py +0 -0
  24. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/domains/biomedical/types.py +0 -0
  25. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/domains/biomedical_legacy/__init__.py +0 -0
  26. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/domains/biomedical_legacy/biomedical_engine.py +0 -0
  27. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/domains/biomedical_legacy/biomedical_schema.py +0 -0
  28. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/domains/biomedical_legacy/legacy_wrapper.py +0 -0
  29. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/domains/fraud/__init__.py +0 -0
  30. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/domains/fraud/loaders.py +0 -0
  31. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/domains/fraud/resolver.py +0 -0
  32. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/domains/fraud/types.py +0 -0
  33. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/graphQL.http +0 -0
  34. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/hybrid_vector_graph_query.cypher +0 -0
  35. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/examples/rest.http +0 -0
  36. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/Algorithms.cls +0 -0
  37. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/ArnoAccel.cls +0 -0
  38. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/BenchFormat.cls +0 -0
  39. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/BenchSeeder.cls +0 -0
  40. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/Benchmark.cls +0 -0
  41. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/Centrality.cls +0 -0
  42. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/Communities.cls +0 -0
  43. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/Edge.cls +0 -0
  44. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/EdgeScan.cls +0 -0
  45. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/EmbedQueue.cls +0 -0
  46. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/GraphIndex.cls +0 -0
  47. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/IVFIndex.cls +0 -0
  48. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/Loader.cls +0 -0
  49. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/MCPService.cls +0 -0
  50. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/MCPToolSet.cls +0 -0
  51. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/MCPTools.cls +0 -0
  52. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/Meta.cls +0 -0
  53. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/NKGAccel.cls +0 -0
  54. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/NKGAccelAdjacency.cls +0 -0
  55. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/NKGAccelCentrality.cls +0 -0
  56. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/NKGAccelLoader.cls +0 -0
  57. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/NKGAccelTraversal.cls +0 -0
  58. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/PLAIDSearch.cls +0 -0
  59. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/PageRank.cls +0 -0
  60. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/PyOps.cls +0 -0
  61. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/Service.cls +0 -0
  62. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/Snapshot.cls +0 -0
  63. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/Subgraph.cls +0 -0
  64. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/TemporalIndex.cls +0 -0
  65. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/TestEdge.cls +0 -0
  66. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/Traversal.cls +0 -0
  67. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/TraversalBFS.cls +0 -0
  68. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/TraversalBuild.cls +0 -0
  69. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/TraversalKHop.cls +0 -0
  70. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/TraversalPaths.cls +0 -0
  71. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/VecIndex.cls +0 -0
  72. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/kgNodeEmbeddings.cls +0 -0
  73. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/Graph/KG/kgNodeEmbeddingsoptimized.cls +0 -0
  74. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/IVG/CypherEngine.cls +0 -0
  75. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/IVG/Percentile.cls +0 -0
  76. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/PageRankEmbedded.cls +0 -0
  77. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/User.Exec.cls +0 -0
  78. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_src/src/iris/vector/graph/GraphOperators.cls +0 -0
  79. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/__init__.py +0 -0
  80. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/__init__.py +0 -0
  81. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/_rdf_utils.py +0 -0
  82. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/admin.py +0 -0
  83. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/algorithms.py +0 -0
  84. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/embeddings.py +0 -0
  85. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/fhir.py +0 -0
  86. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/prov.py +0 -0
  87. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/query.py +0 -0
  88. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/query.py,cover +0 -0
  89. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/rdf_export.py +0 -0
  90. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/schema.py +0 -0
  91. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/shacl.py +0 -0
  92. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/snapshot.py +0 -0
  93. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/snapshot.py,cover +0 -0
  94. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_engine/temporal.py +0 -0
  95. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/_validate.py +0 -0
  96. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/api_auth.py +0 -0
  97. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/bolt_server.py +0 -0
  98. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/0-b124e26129aa436b26fe.bundle.js +0 -0
  99. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/1-b124e26129aa436b26fe.bundle.js +0 -0
  100. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/10-b124e26129aa436b26fe.bundle.js +0 -0
  101. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/11-b124e26129aa436b26fe.bundle.js +0 -0
  102. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/12-b124e26129aa436b26fe.bundle.js +0 -0
  103. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/13-b124e26129aa436b26fe.bundle.js +0 -0
  104. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/14-b124e26129aa436b26fe.bundle.js +0 -0
  105. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/15-b124e26129aa436b26fe.bundle.js +0 -0
  106. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/16-b124e26129aa436b26fe.bundle.js +0 -0
  107. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/17-b124e26129aa436b26fe.bundle.js +0 -0
  108. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/18-b124e26129aa436b26fe.bundle.js +0 -0
  109. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/19-b124e26129aa436b26fe.bundle.js +0 -0
  110. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/20-b124e26129aa436b26fe.bundle.js +0 -0
  111. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/21-b124e26129aa436b26fe.bundle.js +0 -0
  112. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/22-b124e26129aa436b26fe.bundle.js +0 -0
  113. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/23-b124e26129aa436b26fe.bundle.js +0 -0
  114. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/24-b124e26129aa436b26fe.bundle.js +0 -0
  115. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/25-b124e26129aa436b26fe.bundle.js +0 -0
  116. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/26-b124e26129aa436b26fe.bundle.js +0 -0
  117. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/27-b124e26129aa436b26fe.bundle.js +0 -0
  118. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/28-b124e26129aa436b26fe.bundle.js +0 -0
  119. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/29-b124e26129aa436b26fe.bundle.js +0 -0
  120. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/30-b124e26129aa436b26fe.bundle.js +0 -0
  121. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/31-b124e26129aa436b26fe.bundle.js +0 -0
  122. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/32-b124e26129aa436b26fe.bundle.js +0 -0
  123. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/33-b124e26129aa436b26fe.bundle.js +0 -0
  124. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/34-b124e26129aa436b26fe.bundle.js +0 -0
  125. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/35-b124e26129aa436b26fe.bundle.js +0 -0
  126. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/36-b124e26129aa436b26fe.bundle.js +0 -0
  127. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/37-b124e26129aa436b26fe.bundle.js +0 -0
  128. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/38-b124e26129aa436b26fe.bundle.js +0 -0
  129. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/39-b124e26129aa436b26fe.bundle.js +0 -0
  130. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/40-b124e26129aa436b26fe.bundle.js +0 -0
  131. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/41-b124e26129aa436b26fe.bundle.js +0 -0
  132. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/42-b124e26129aa436b26fe.bundle.js +0 -0
  133. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/43-b124e26129aa436b26fe.bundle.js +0 -0
  134. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/44-b124e26129aa436b26fe.bundle.js +0 -0
  135. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/45-b124e26129aa436b26fe.bundle.js +0 -0
  136. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/46-b124e26129aa436b26fe.bundle.js +0 -0
  137. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/47-b124e26129aa436b26fe.bundle.js +0 -0
  138. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/48-b124e26129aa436b26fe.bundle.js +0 -0
  139. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/49-b124e26129aa436b26fe.bundle.js +0 -0
  140. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/50-b124e26129aa436b26fe.bundle.js +0 -0
  141. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/51-b124e26129aa436b26fe.bundle.js +0 -0
  142. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/52-b124e26129aa436b26fe.bundle.js +0 -0
  143. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/53-b124e26129aa436b26fe.bundle.js +0 -0
  144. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/54-b124e26129aa436b26fe.bundle.js +0 -0
  145. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/55-b124e26129aa436b26fe.bundle.js +0 -0
  146. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/56-b124e26129aa436b26fe.bundle.js +0 -0
  147. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/57-b124e26129aa436b26fe.bundle.js +0 -0
  148. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/58-b124e26129aa436b26fe.bundle.js +0 -0
  149. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/59-b124e26129aa436b26fe.bundle.js +0 -0
  150. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/6-b124e26129aa436b26fe.bundle.js +0 -0
  151. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/60-b124e26129aa436b26fe.bundle.js +0 -0
  152. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/61-b124e26129aa436b26fe.bundle.js +0 -0
  153. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/62-b124e26129aa436b26fe.bundle.js +0 -0
  154. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/63-b124e26129aa436b26fe.bundle.js +0 -0
  155. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/64-b124e26129aa436b26fe.bundle.js +0 -0
  156. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/65-b124e26129aa436b26fe.bundle.js +0 -0
  157. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/66-b124e26129aa436b26fe.bundle.js +0 -0
  158. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/67-b124e26129aa436b26fe.bundle.js +0 -0
  159. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/68-b124e26129aa436b26fe.bundle.js +0 -0
  160. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/69-b124e26129aa436b26fe.bundle.js +0 -0
  161. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/7-b124e26129aa436b26fe.bundle.js +0 -0
  162. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/70-b124e26129aa436b26fe.bundle.js +0 -0
  163. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/71-b124e26129aa436b26fe.bundle.js +0 -0
  164. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/72-b124e26129aa436b26fe.bundle.js +0 -0
  165. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/73-b124e26129aa436b26fe.bundle.js +0 -0
  166. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/74-b124e26129aa436b26fe.bundle.js +0 -0
  167. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/75-b124e26129aa436b26fe.bundle.js +0 -0
  168. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/8-b124e26129aa436b26fe.bundle.js +0 -0
  169. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/9-b124e26129aa436b26fe.bundle.js +0 -0
  170. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/app-b124e26129aa436b26fe.js +0 -0
  171. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/filter-a7c44e713bf19d31f6b2849160b1bba8.svg +0 -0
  172. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.eot +0 -0
  173. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.ttf +0 -0
  174. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.woff +0 -0
  175. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.woff2 +0 -0
  176. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.eot +0 -0
  177. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.ttf +0 -0
  178. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.woff +0 -0
  179. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.woff2 +0 -0
  180. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.eot +0 -0
  181. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.ttf +0 -0
  182. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.woff +0 -0
  183. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.woff2 +0 -0
  184. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.eot +0 -0
  185. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.ttf +0 -0
  186. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.woff +0 -0
  187. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.woff2 +0 -0
  188. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Bold.ttf +0 -0
  189. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-BoldItalic.ttf +0 -0
  190. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-ExtraBold.ttf +0 -0
  191. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  192. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Italic.ttf +0 -0
  193. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Light.ttf +0 -0
  194. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-LightItalic.ttf +0 -0
  195. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Regular.ttf +0 -0
  196. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Semibold.ttf +0 -0
  197. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-SemiboldItalic.ttf +0 -0
  198. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/codicon.ttf +0 -0
  199. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/filter.svg +0 -0
  200. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.eot +0 -0
  201. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.svg +0 -0
  202. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.ttf +0 -0
  203. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.woff +0 -0
  204. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.woff2 +0 -0
  205. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/group-by.svg +0 -0
  206. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.eot +0 -0
  207. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.svg +0 -0
  208. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.ttf +0 -0
  209. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.woff +0 -0
  210. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/sort.svg +0 -0
  211. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/sort1.svg +0 -0
  212. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/sort2.svg +0 -0
  213. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/streamline.eot +0 -0
  214. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/streamline.svg +0 -0
  215. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/streamline.ttf +0 -0
  216. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/fonts/streamline.woff +0 -0
  217. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/group-by-89c6aaa756bc3548cc6ab3d2be4d2862.svg +0 -0
  218. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/Favorites.mp4 +0 -0
  219. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/Keystrokes.mp4 +0 -0
  220. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/ProjectFiles.mp4 +0 -0
  221. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/ReusableFrame.mp4 +0 -0
  222. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/SidebarDB_Iinfo.png +0 -0
  223. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/Stream.png +0 -0
  224. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/aura-logo-inverted.svg +0 -0
  225. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/aura-logo.svg +0 -0
  226. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/books.png +0 -0
  227. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/clusters.svg +0 -0
  228. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/community.jpg +0 -0
  229. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-144x144.png +0 -0
  230. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-192x192.png +0 -0
  231. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-36x36.png +0 -0
  232. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-48x48.png +0 -0
  233. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-72x72.png +0 -0
  234. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-96x96.png +0 -0
  235. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-114x114.png +0 -0
  236. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-120x120.png +0 -0
  237. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-144x144.png +0 -0
  238. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-152x152.png +0 -0
  239. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-180x180.png +0 -0
  240. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-57x57.png +0 -0
  241. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-60x60.png +0 -0
  242. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-72x72.png +0 -0
  243. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-76x76.png +0 -0
  244. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-precomposed.png +0 -0
  245. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon.png +0 -0
  246. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/browserconfig.xml +0 -0
  247. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-16x16.png +0 -0
  248. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-32x32.png +0 -0
  249. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-96x96.png +0 -0
  250. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/favicon.ico +0 -0
  251. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/manifest.json +0 -0
  252. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-144x144.png +0 -0
  253. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-150x150.png +0 -0
  254. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-310x310.png +0 -0
  255. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-70x70.png +0 -0
  256. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/neo4j-browser-canary.svg +0 -0
  257. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/device-icons/neo4j-browser.svg +0 -0
  258. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/labeled_node.png +0 -0
  259. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/more_nodes.png +0 -0
  260. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/neo4j-favicon.ico +0 -0
  261. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/neo4j-logo-inverted.svg +0 -0
  262. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/neo4j-logo.svg +0 -0
  263. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/northwind/customer-orders.png +0 -0
  264. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/northwind/order-graph.png +0 -0
  265. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/northwind/product-category-supplier.png +0 -0
  266. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/northwind/product-graph.png +0 -0
  267. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/one_node.png +0 -0
  268. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/query-plan-operator-cost.svg +0 -0
  269. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/query-plan-operator-details.svg +0 -0
  270. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/query-plan-operator-rows.svg +0 -0
  271. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/query-plan.svg +0 -0
  272. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/rel-props.png +0 -0
  273. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/relationships.png +0 -0
  274. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/screen_code_frame.png +0 -0
  275. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/screen_cypher_warn.png +0 -0
  276. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/screen_editor.png +0 -0
  277. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/screen_sidebar.png +0 -0
  278. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/images/screen_stream.png +0 -0
  279. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/sort-8d6f482c21de572ceeb5ac93623e6c97.svg +0 -0
  280. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/sort1-d2dc515571213fc0ca99b0341b88e413.svg +0 -0
  281. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/assets/sort2-31050964e7eb2042325f7bcbba3d58ad.svg +0 -0
  282. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/bolt-worker-dfa551eb0861cc080843.js +0 -0
  283. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/cypher-editor-b124e26129aa436b26fe.bundle.js +0 -0
  284. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/editor-455af92e7e1dc39fdbc8060f6680ab32.worker.js +0 -0
  285. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/index.html +0 -0
  286. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/manifest.json +0 -0
  287. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/CoseBilkentLayout.worker-FEt6e_rV.js +0 -0
  288. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/HierarchicalLayout.worker-O6WHYssL.js +0 -0
  289. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/asciidoc.8O6YIVRy.js +0 -0
  290. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/auto-track.BlKugDvg.js +0 -0
  291. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/bash.CLAyaf9k.js +0 -0
  292. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/c.l4fEI10z.js +0 -0
  293. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/connect-icon-Br2hQy_e.svg +0 -0
  294. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/csharp.ChqrQYCS.js +0 -0
  295. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/css-extras.Bi-4v17d.js +0 -0
  296. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/css.B1LHiudN.js +0 -0
  297. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/cypher-editor-auto-completions.gif +0 -0
  298. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/cypher-editor-inline-help.png +0 -0
  299. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/cypher-editor-linting.png +0 -0
  300. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/cypher-editor-syntax-highlighting.png +0 -0
  301. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/cypher-reference.gif +0 -0
  302. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/cypher.C3qdyJ5B.js +0 -0
  303. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/docker.CF7EZT1T.js +0 -0
  304. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/fira-code-400-regular-normal-BzypJxJk.woff2 +0 -0
  305. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/fira-code-500-medium-normal-CRWzqcWa.woff2 +0 -0
  306. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/fira-code-700-bold-normal-hUmNV4O0.woff2 +0 -0
  307. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/go.FsJyBHVG.js +0 -0
  308. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/graphql.BlTzkzAJ.js +0 -0
  309. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/history-quick-search.gif +0 -0
  310. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/index-CY0cZcsW.js +0 -0
  311. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/index-H7L207gH.css +0 -0
  312. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/index.BpRu7Js3.js +0 -0
  313. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/index.C74acnU7.js +0 -0
  314. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/index.CHatcJcU.js +0 -0
  315. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/index.D6ZMQedT.js +0 -0
  316. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/index.DPZla5MT.js +0 -0
  317. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/index.dzIUqrzq.js +0 -0
  318. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/index.leyiHvaQ.js +0 -0
  319. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/index.qJ6VE118.js +0 -0
  320. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/index.umd.B9yhfa5Y.js +0 -0
  321. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/is-plan-event-enabled.DeNtQvA5.js +0 -0
  322. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/java.BBXwBh9f.js +0 -0
  323. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/java.CQ1iJ0-D.js +0 -0
  324. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/javadoc.UnquSOIj.js +0 -0
  325. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/javascript.CYTqTa0W.js +0 -0
  326. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/json.BIkJg-Cj.js +0 -0
  327. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/jsx.Cy_hP1z6.js +0 -0
  328. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/kotlin.D_6l0VkM.js +0 -0
  329. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/lintWorker-QNEp56W3.js +0 -0
  330. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/logo-aura-white-DCfUnkCN.svg +0 -0
  331. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/movie-model.png +0 -0
  332. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/movies-active-B2SzHIc1.svg +0 -0
  333. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/neo4j-logo-active-CieUxroh.svg +0 -0
  334. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/patterned-banner-background-C_nO-Yn8.svg +0 -0
  335. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/php.BKb6XVba.js +0 -0
  336. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/plan-graph-worker-s17nF19Q.js +0 -0
  337. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/public-sans-300-light-normal-CG9e8kLa.woff2 +0 -0
  338. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/public-sans-400-regular-italic-D9FlViiB.woff2 +0 -0
  339. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/public-sans-400-regular-normal-D4F9yfFi.woff2 +0 -0
  340. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/public-sans-500-medium-normal-ChZcBEnJ.woff2 +0 -0
  341. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/public-sans-600-semi-bold-normal-Ck6TyfRI.woff2 +0 -0
  342. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/public-sans-700-bold-normal-CGjRhW-d.woff2 +0 -0
  343. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/python.tCcUC3U7.js +0 -0
  344. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/query-fundamentals-active-jvTJU1K2.svg +0 -0
  345. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/query.snake-frame.DmvXOQIM.js +0 -0
  346. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/regex.C_VuIVtC.js +0 -0
  347. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/rust.CtSATZMt.js +0 -0
  348. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/saved-cypher.gif +0 -0
  349. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/scalable-graph-visualization.gif +0 -0
  350. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/sql.CfOAbw6n.js +0 -0
  351. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/syne-neo-500-medium-normal-A5GXmYUf.woff2 +0 -0
  352. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/table-visualization.gif +0 -0
  353. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/typescript.3Tbm37mD.js +0 -0
  354. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/xml-doc.h79Tu9Aw.js +0 -0
  355. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/assets/yaml.B-Jvd59g.js +0 -0
  356. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/favicons/android-chrome-192x192.png +0 -0
  357. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/favicons/apple-touch-icon.png +0 -0
  358. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/favicons/favicon-16x16.png +0 -0
  359. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/favicons/favicon-194x194.png +0 -0
  360. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/favicons/favicon-32x32.png +0 -0
  361. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/favicons/favicon.ico +0 -0
  362. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/favicons/safari-pinned-tab.svg +0 -0
  363. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/index.html +0 -0
  364. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/preview/manifest.json +0 -0
  365. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/ui-libs-b124e26129aa436b26fe.bundle.js +0 -0
  366. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/browser_static/vendor-b124e26129aa436b26fe.bundle.js +0 -0
  367. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/bulk_loader.py +0 -0
  368. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/capabilities.py +0 -0
  369. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/cli.py +0 -0
  370. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/cypher/__init__.py +0 -0
  371. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/cypher/algorithms/__init__.py +0 -0
  372. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/cypher/algorithms/paths.py +0 -0
  373. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/cypher/aql/__init__.py +0 -0
  374. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/cypher/aql/ast.py +0 -0
  375. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/cypher/aql/lexer.py +0 -0
  376. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/cypher/aql/parser.py +0 -0
  377. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/cypher/aql/translator.py +0 -0
  378. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/cypher/ast.py +0 -0
  379. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/cypher/lexer.py +0 -0
  380. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/cypher/parser.py +0 -0
  381. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/cypher/translator.py +0 -0
  382. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/cypher/translator.py,cover +0 -0
  383. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/cypher_api.py +0 -0
  384. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/dbapi_utils.py +0 -0
  385. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/embed_selector.py +0 -0
  386. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/embedded.py +0 -0
  387. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/engine.py +0 -0
  388. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/errors.py +0 -0
  389. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/fhir_bridge.py +0 -0
  390. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/fusion.py +0 -0
  391. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/gql/__init__.py +0 -0
  392. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/gql/constants.py +0 -0
  393. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/gql/engine.py +0 -0
  394. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/gql/pooling.py +0 -0
  395. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/gql/resolvers.py +0 -0
  396. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/gql/schema.py +0 -0
  397. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/index_config.py +0 -0
  398. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/index_protocol.py +0 -0
  399. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/models.py +0 -0
  400. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/operators.py +0 -0
  401. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/py.typed +0 -0
  402. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/result.py +0 -0
  403. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/schema.py +0 -0
  404. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/sdk.py +0 -0
  405. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/security.py +0 -0
  406. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/status.py +0 -0
  407. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/store_protocol.py +0 -0
  408. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/stores/__init__.py +0 -0
  409. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/stores/arno_bridge.py +0 -0
  410. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/stores/iris_sql_store.py +0 -0
  411. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/stores/lazy_kg.py +0 -0
  412. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/text_search.py +0 -0
  413. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/utils.py +0 -0
  414. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/iris_vector_graph/vector_utils.py +0 -0
  415. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/sql/fhir_bridges.sql +0 -0
  416. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/sql/fraud_sample_data.sql +0 -0
  417. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/sql/globals_schema.sql +0 -0
  418. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/sql/graph_path_globals.sql +0 -0
  419. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/sql/graph_walk_tvf.sql +0 -0
  420. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/sql/migrations/000_base_schema_iris.sql +0 -0
  421. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/sql/migrations/001_add_nodepk_table.sql +0 -0
  422. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/sql/migrations/001_rollback_nodepk.sql +0 -0
  423. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/sql/migrations/002_add_fk_constraints.sql +0 -0
  424. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/sql/operators.sql +0 -0
  425. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/sql/operators_fixed.sql +0 -0
  426. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/sql/procedures/kg_PageRank.sql +0 -0
  427. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/sql/rdf_reifications.sql +0 -0
  428. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/sql/schema.sql +0 -0
  429. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/TESTING.md +0 -0
  430. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/benchmark_parser.py +0 -0
  431. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/benchmarks/README.md +0 -0
  432. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/benchmarks/bench.py +0 -0
  433. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/benchmarks/bench_193_full.py +0 -0
  434. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/benchmarks/bench_utils.py +0 -0
  435. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/benchmarks/benchmark_neo4j.py +0 -0
  436. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/benchmarks/bfs_benchmark.py +0 -0
  437. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/benchmarks/establish_baseline.py +0 -0
  438. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/benchmarks/graph_gen.py +0 -0
  439. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/benchmarks/ic2_profile.py +0 -0
  440. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/benchmarks/iris_baseline_run.py +0 -0
  441. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/benchmarks/iris_os_run.py +0 -0
  442. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/benchmarks/ldbc_full_loader.py +0 -0
  443. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/benchmarks/load_neo4j.py +0 -0
  444. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/benchmarks/synthetic_baseline.csv +0 -0
  445. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/conftest.py +0 -0
  446. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/contract/__init__.py +0 -0
  447. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/contract/conftest.py +0 -0
  448. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/contract/test_cypher_api.py +0 -0
  449. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/contract/test_cypher_api_errors.py +0 -0
  450. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/contract/test_graphql_queries.py +0 -0
  451. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/contract/test_graphql_schema.py +0 -0
  452. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/contract/test_ppr_api.py +0 -0
  453. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/curl_suite.sh +0 -0
  454. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/__init__.py +0 -0
  455. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/conftest.py +0 -0
  456. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/fixtures/__init__.py +0 -0
  457. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/fixtures/centrality_graphs.py +0 -0
  458. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/fixtures/community_graphs.py +0 -0
  459. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_analytics_dispatch.py +0 -0
  460. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_approx_count_distinct.py +0 -0
  461. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_aql_e2e.py +0 -0
  462. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_arno_bfs_global.py +0 -0
  463. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_arno_bfs_unified.py +0 -0
  464. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_betweenness_neighborhood_e2e.py +0 -0
  465. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_betweenness_os_e2e.py +0 -0
  466. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_biomedical_demo.py +0 -0
  467. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_biomedical_ui.py +0 -0
  468. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_centrality_e2e.py +0 -0
  469. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_closeness_os_e2e.py +0 -0
  470. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_communities_e2e.py +0 -0
  471. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_communities_perf.py +0 -0
  472. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_cypher_coerce_e2e.py +0 -0
  473. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_cypher_gaps_e2e.py +0 -0
  474. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_cypher_sprints_e2e.py +0 -0
  475. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_cypher_vector_search.py +0 -0
  476. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_cypher_vl_path_bfs.py +0 -0
  477. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_edge_weights.py +0 -0
  478. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_eigenvector_os_e2e.py +0 -0
  479. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_embed_queue_e2e.py +0 -0
  480. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_embedded_wgproto_e2e.py +0 -0
  481. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_execution_contexts.py +0 -0
  482. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_execution_contexts_new.py +0 -0
  483. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_fhir_bridges_e2e.py +0 -0
  484. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_fraud_demo.py +0 -0
  485. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_fraud_ui.py +0 -0
  486. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_gql_autogen_startup.py +0 -0
  487. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_gql_cypher_passthrough.py +0 -0
  488. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_gql_node_queries.py +0 -0
  489. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_gql_semantic_search.py +0 -0
  490. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_gql_traversal.py +0 -0
  491. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_graph_kernels_e2e.py +0 -0
  492. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_hla_kg_e2e.py +0 -0
  493. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_ic13_shortest_path.py +0 -0
  494. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_ic3_exact_count.py +0 -0
  495. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_igraph_fastpath_parity.py +0 -0
  496. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_index_protocol.py +0 -0
  497. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_introspection_api.py +0 -0
  498. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_ivf_insert.py +0 -0
  499. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_large_output_chunked.py +0 -0
  500. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_lazy_kg_e2e.py +0 -0
  501. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_lazy_node_resolution.py +0 -0
  502. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_msbfs_closeness.py +0 -0
  503. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_multi_query_engine_platform.py +0 -0
  504. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_named_paths_e2e.py +0 -0
  505. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_nkg_index_e2e.py +0 -0
  506. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_objectscript_split_resolution.py +0 -0
  507. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_operator_wiring_e2e.py +0 -0
  508. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_pattern_comprehension_reduce.py +0 -0
  509. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_plaid.py +0 -0
  510. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_plaid_search_e2e.py +0 -0
  511. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_ppr_cls_fast_path.py +0 -0
  512. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_ppr_guided_e2e.py +0 -0
  513. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_procedure_installation.py +0 -0
  514. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_reification_e2e.py +0 -0
  515. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_schema_procedures_e2e.py +0 -0
  516. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_sdk_ergonomics_178_180_e2e.py +0 -0
  517. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_store_injection_e2e.py +0 -0
  518. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_streaming_bfs.py +0 -0
  519. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_stress_api.py +0 -0
  520. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_stress_ingest.py +0 -0
  521. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_stress_multi_context.py +0 -0
  522. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_stress_search.py +0 -0
  523. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_stress_setup.py +0 -0
  524. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_stress_traversal.py +0 -0
  525. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_subgraph_e2e.py +0 -0
  526. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_subquery_call_e2e.py +0 -0
  527. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_temporal_store_e2e.py +0 -0
  528. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_unified_index_api.py +0 -0
  529. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_untested_methods.py +0 -0
  530. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/e2e/test_vecindex_e2e.py +0 -0
  531. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/__init__.py +0 -0
  532. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/conftest.py +0 -0
  533. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/gql/__init__.py +0 -0
  534. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/gql/test_graphql_mutations.py +0 -0
  535. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/gql/test_graphql_nested_queries.py +0 -0
  536. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/gql/test_graphql_queries.py +0 -0
  537. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/gql/test_graphql_vector_search.py +0 -0
  538. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_196_bug_fixes.py +0 -0
  539. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_admin_introspection.py +0 -0
  540. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_algorithm_branches.py +0 -0
  541. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_algorithms_deep_coverage.py +0 -0
  542. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_algorithms_error_paths.py +0 -0
  543. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_algorithms_integration.py +0 -0
  544. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_algorithms_new_paths.py +0 -0
  545. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_api_completeness.py +0 -0
  546. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_arno_bridge_mock_paths.py +0 -0
  547. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_arno_bridge_paths.py +0 -0
  548. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_arno_store_layer.py +0 -0
  549. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_bidirectional_ppr.py +0 -0
  550. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_bulk_load_session.py +0 -0
  551. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_bulk_loader_live.py +0 -0
  552. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_cls_layer.py +0 -0
  553. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_coverage_final_push.py +0 -0
  554. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_coverage_push_final.py +0 -0
  555. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_cypher_advanced.py +0 -0
  556. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_cypher_api_e2e.py +0 -0
  557. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_cypher_api_exception_paths.py +0 -0
  558. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_cypher_enhancements.py +0 -0
  559. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_cypher_multi_type.py +0 -0
  560. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_cypher_rd.py +0 -0
  561. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_cypher_rel_vars.py +0 -0
  562. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_cypher_single_type.py +0 -0
  563. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_cypher_untyped.py +0 -0
  564. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_cypher_vector_search.py +0 -0
  565. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_diabolical_qa.py +0 -0
  566. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_doc_claims.py +0 -0
  567. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_driver_segfault_guard.py +0 -0
  568. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_embed_queue_e2e.py +0 -0
  569. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_embeddings_api.py +0 -0
  570. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_embeddings_integration.py +0 -0
  571. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_embeddings_paths.py +0 -0
  572. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_engine_misc_paths.py +0 -0
  573. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_engine_utils_paths.py +0 -0
  574. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_fastapi_graphql.py +0 -0
  575. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_fhir_bridges_integration.py +0 -0
  576. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_fhir_event_sidecar.py +0 -0
  577. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_fusion_dbapi_bulk.py +0 -0
  578. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_gql_resolvers_live.py +0 -0
  579. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_index_consistency_e2e.py +0 -0
  580. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_lazykg_algorithms.py +0 -0
  581. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_lazykg_fallback_forced.py +0 -0
  582. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_named_paths_integration.py +0 -0
  583. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_nodepk_advanced_benchmarks.py +0 -0
  584. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_nodepk_constraints.py +0 -0
  585. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_nodepk_graph_analytics.py +0 -0
  586. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_nodepk_migration.py +0 -0
  587. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_nodepk_performance.py +0 -0
  588. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_nodepk_production_scale.py +0 -0
  589. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_nodes_edges_and_algo_paths.py +0 -0
  590. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_nodes_edges_deep.py +0 -0
  591. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_objectscript_classes.py +0 -0
  592. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_pagerank_sql_optimization.py +0 -0
  593. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_query_deep.py +0 -0
  594. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_query_engine_branches.py +0 -0
  595. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_query_engine_special.py +0 -0
  596. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_query_fastpaths.py +0 -0
  597. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_query_paths_deep.py +0 -0
  598. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_query_special_patterns.py +0 -0
  599. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_rdf_semantic_layer_e2e.py +0 -0
  600. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_reification_integration.py +0 -0
  601. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_remaining_paths.py +0 -0
  602. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_schema_and_engine_procs.py +0 -0
  603. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_schema_deep.py +0 -0
  604. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_schema_migration.py +0 -0
  605. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_snapshot_deep.py +0 -0
  606. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_snapshot_import_export.py +0 -0
  607. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_snapshot_paths.py +0 -0
  608. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_sql_parameterization.py +0 -0
  609. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_sql_store_direct.py +0 -0
  610. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_sql_store_paths.py +0 -0
  611. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_store_algorithms.py +0 -0
  612. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_store_bfs_deep.py +0 -0
  613. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_store_exception_paths.py +0 -0
  614. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_store_write_paths.py +0 -0
  615. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_stored_procedure_install.py +0 -0
  616. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_subquery_call_integration.py +0 -0
  617. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_vector_advanced_paths.py +0 -0
  618. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_vector_engine_deep.py +0 -0
  619. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_vector_index_paths.py +0 -0
  620. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_vector_index_paths2.py +0 -0
  621. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_vector_optimizer_live.py +0 -0
  622. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/integration/test_vector_paths.py +0 -0
  623. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/perf/__init__.py +0 -0
  624. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/perf/test_betweenness_vs_gds.py +0 -0
  625. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/perf/test_head_to_head.py +0 -0
  626. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/perf/test_leiden_four_way.py +0 -0
  627. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/performance/conftest.py +0 -0
  628. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/performance/scale_benchmark.py +0 -0
  629. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/performance/test_ppr_stress.py +0 -0
  630. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/performance/test_stress_v1_5.py +0 -0
  631. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/python/run_all_tests.py +0 -0
  632. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/python/test_iris_rest_api.py +0 -0
  633. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/python/test_networkx_loader.py +0 -0
  634. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/python/test_performance_benchmarks.py +0 -0
  635. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/python/test_pyops_vector_conversion.py +0 -0
  636. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/python/test_python_operators.py +0 -0
  637. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/python/test_python_sdk.py +0 -0
  638. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/python/test_schema_validation.py +0 -0
  639. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/python/test_sql_queries.py +0 -0
  640. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/python/test_vector_functions.py +0 -0
  641. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/regression/__init__.py +0 -0
  642. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/regression/engine_api_baseline.json +0 -0
  643. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/regression/test_complexity.py +0 -0
  644. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/regression/test_engine_api.py +0 -0
  645. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/regression/test_module_size.py +0 -0
  646. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/regression/test_no_silent_swallow.py +0 -0
  647. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/test_schema_contract.py +0 -0
  648. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/cypher/__init__.py +0 -0
  649. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/cypher/test_lexer.py +0 -0
  650. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/cypher/test_lexer_advanced.py +0 -0
  651. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/cypher/test_parser.py +0 -0
  652. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/cypher/test_parser_advanced.py +0 -0
  653. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_193_bfs_nkg_fast_path.py +0 -0
  654. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_194_readme.py +0 -0
  655. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_admin_remaining.py +0 -0
  656. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_admin_unit.py +0 -0
  657. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_algorithm_warning_paths.py +0 -0
  658. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_algorithms_extended_unit.py +0 -0
  659. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_algorithms_large_graph_warn.py +0 -0
  660. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_algorithms_unit.py +0 -0
  661. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_api_security.py +0 -0
  662. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_aql_lexer.py +0 -0
  663. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_aql_parser.py +0 -0
  664. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_aql_translator.py +0 -0
  665. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_aql_translator_extra.py +0 -0
  666. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_arno_bridge.py +0 -0
  667. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_batch_mutations.py +0 -0
  668. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_betweenness_os_unit.py +0 -0
  669. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_bfs_arno.py +0 -0
  670. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_bolt_relationship_encoding.py +0 -0
  671. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_bolt_server.py +0 -0
  672. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_bulk_load_session.py +0 -0
  673. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_bulk_loader_coverage.py +0 -0
  674. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_bulk_loader_unit.py +0 -0
  675. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_centrality_translator.py +0 -0
  676. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_centrality_unit.py +0 -0
  677. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cli.py +0 -0
  678. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_closeness_os_unit.py +0 -0
  679. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cls_deployment.py +0 -0
  680. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_communities_translator.py +0 -0
  681. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_communities_unit.py +0 -0
  682. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_concept_first_status.py +0 -0
  683. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_coverage_boost.py +0 -0
  684. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cypher_api_admin.py +0 -0
  685. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cypher_api_coverage.py +0 -0
  686. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cypher_api_extra.py +0 -0
  687. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cypher_benchmark.py +0 -0
  688. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cypher_benchmark_scale.py +0 -0
  689. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cypher_case_when.py +0 -0
  690. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cypher_e2e_new_features.py +0 -0
  691. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cypher_functions.py +0 -0
  692. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cypher_parser.py +0 -0
  693. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cypher_posos_bugs.py +0 -0
  694. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cypher_procedures.py +0 -0
  695. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cypher_translator.py +0 -0
  696. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cypher_union_exists.py +0 -0
  697. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cypher_var_length.py +0 -0
  698. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_cypher_vector_search.py +0 -0
  699. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_dbapi_utils_unit.py +0 -0
  700. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_drift_detector.py +0 -0
  701. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_edge_embeddings.py +0 -0
  702. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_edgeprop_ndjson.py +0 -0
  703. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_embed_nodes_params.py +0 -0
  704. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_embed_queue_unit.py +0 -0
  705. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_embed_selector.py +0 -0
  706. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_embed_selector_unit.py +0 -0
  707. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_embedded.py +0 -0
  708. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_embedded_wgproto.py +0 -0
  709. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_embeddings_remaining.py +0 -0
  710. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_embeddings_unit.py +0 -0
  711. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_engine_deep.py +0 -0
  712. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_engine_dimension_fix.py +0 -0
  713. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_engine_embeddings.py +0 -0
  714. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_engine_mocked.py +0 -0
  715. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_engine_status.py +0 -0
  716. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_engine_unit.py +0 -0
  717. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_error_model.py +0 -0
  718. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_fetch_first_join_bug.py +0 -0
  719. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_fhir_bridge.py +0 -0
  720. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_fhir_bridges.py +0 -0
  721. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_fhir_event_sidecar.py +0 -0
  722. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_gds_shims.py +0 -0
  723. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_get_nodes.py +0 -0
  724. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_gql_coverage.py +0 -0
  725. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_gql_edge_cases.py +0 -0
  726. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_gql_resolver_bodies.py +0 -0
  727. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_graph_kernels.py +0 -0
  728. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_graphql_dataloader.py +0 -0
  729. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_index_config.py +0 -0
  730. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_index_handle.py +0 -0
  731. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_index_protocol.py +0 -0
  732. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_ingest_formats.py +0 -0
  733. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_introspection_api.py +0 -0
  734. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_ivgresult.py +0 -0
  735. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_khop_dispatch.py +0 -0
  736. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_lazy_kg.py +0 -0
  737. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_module_coverage.py +0 -0
  738. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_named_graphs.py +0 -0
  739. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_named_paths.py +0 -0
  740. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_nodes_edges_unit.py +0 -0
  741. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_operators_coverage.py +0 -0
  742. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_operators_wiring.py +0 -0
  743. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_parse_cache.py +0 -0
  744. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_plaid_search.py +0 -0
  745. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_ppr_guided_subgraph.py +0 -0
  746. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_predicate_order.py +0 -0
  747. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_prov_export.py +0 -0
  748. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_query_extra_unit.py +0 -0
  749. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_query_fastpath_unit.py +0 -0
  750. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_query_unit.py +0 -0
  751. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_rdf_coverage_boost.py +0 -0
  752. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_rdf_export.py +0 -0
  753. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_reification.py +0 -0
  754. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_retrieve_and_vector_distance.py +0 -0
  755. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_schema_engine_unit.py +0 -0
  756. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_schema_init.py +0 -0
  757. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_schema_procedures.py +0 -0
  758. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_schema_remaining.py +0 -0
  759. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_schema_unit.py +0 -0
  760. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_sdk.py +0 -0
  761. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_sdk_async.py +0 -0
  762. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_sdk_coverage.py +0 -0
  763. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_shacl_validation.py +0 -0
  764. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_shortest_path.py +0 -0
  765. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_snapshot.py +0 -0
  766. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_snapshot_restore_unit.py +0 -0
  767. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_snapshot_unit.py +0 -0
  768. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_sql_splitter.py +0 -0
  769. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_sql_store_unit.py +0 -0
  770. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_sql_table_bridge.py +0 -0
  771. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_store_protocol.py +0 -0
  772. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_structural_guard.py +0 -0
  773. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_structural_guard_e2e.py +0 -0
  774. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_subgraph.py +0 -0
  775. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_subquery_call.py +0 -0
  776. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_supporting_modules.py +0 -0
  777. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_sync_model.py +0 -0
  778. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_temporal_cypher.py +0 -0
  779. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_temporal_edges.py +0 -0
  780. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_temporal_unit.py +0 -0
  781. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_translator_coverage.py +0 -0
  782. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_translator_deep_coverage.py +0 -0
  783. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_translator_extended.py +0 -0
  784. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_translator_gaps.py +0 -0
  785. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_unified_edge_store.py +0 -0
  786. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_utilities_final.py +0 -0
  787. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_utils_coverage.py +0 -0
  788. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_validation.py +0 -0
  789. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_vector_search_routing.py +0 -0
  790. {iris_vector_graph-2.4.6 → iris_vector_graph-2.5.0}/tests/unit/test_weighted_shortest_path.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iris-vector-graph
3
- Version: 2.4.6
3
+ Version: 2.5.0
4
4
  Summary: Native graph database layer for InterSystems IRIS — openCypher, hybrid vector search, temporal property graph, RDF export, SHACL validation
5
5
  Project-URL: Homepage, https://github.com/intersystems-community/iris-vector-graph
6
6
  Project-URL: Documentation, https://github.com/intersystems-community/iris-vector-graph/tree/main/docs
@@ -26,6 +26,8 @@ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
26
26
  Requires-Python: >=3.10
27
27
  Requires-Dist: intersystems-iris>=1.0.0
28
28
  Requires-Dist: iris-embedded-python-wrapper>=0.5.20
29
+ Provides-Extra: ai
30
+ Requires-Dist: iris-agentic-dev>=1.0; extra == 'ai'
29
31
  Provides-Extra: biodata
30
32
  Requires-Dist: biopython>=1.81; extra == 'biodata'
31
33
  Requires-Dist: bioservices>=1.11.0; extra == 'biodata'
@@ -197,7 +199,7 @@ and [docs/performance/GRAPH_ALGORITHMS.md](docs/performance/GRAPH_ALGORITHMS.md)
197
199
 
198
200
  ## Architecture
199
201
 
200
- ```
202
+ ```text
201
203
  ┌─────────────────────────────────────────────────────────────────────┐
202
204
  │ iris-vector-graph v2.1.0 │
203
205
  ├─────────────────────────────────────────────────────────────────────┤
@@ -293,6 +295,29 @@ reference, SHACL shape writing, PROV-O vocabulary mapping, and integration patte
293
295
 
294
296
  ---
295
297
 
298
+ ## AI Agent Development
299
+
300
+ When building agents that use IVG as a knowledge graph backend, install the
301
+ [iris-agentic-dev](https://github.com/intersystems-community/iris-agentic-dev) MCP
302
+ toolkit for ObjectScript compilation, global inspection, and IRIS method invocation
303
+ from your agent's tool loop:
304
+
305
+ ```bash
306
+ pip install iris-agentic-dev
307
+ ```
308
+
309
+ This gives your agent `iris_compile`, `iris_execute`, `iris_global`, and related tools
310
+ that work alongside IVG's Python API.
311
+
312
+ Skill files with agent-oriented quickstarts:
313
+
314
+ - [`skills/iris-vector-graph/SKILL.md`](skills/iris-vector-graph/SKILL.md) — IVG API,
315
+ temporal edges, SHACL, globals, container setup, common gotchas
316
+ - [`skills/ivg-arno/SKILL.md`](skills/ivg-arno/SKILL.md) — Arno Rust acceleration,
317
+ BFS at scale, enterprise container, ASQ query syntax
318
+
319
+ ---
320
+
296
321
  ## License
297
322
 
298
323
  MIT. See [LICENSE](LICENSE).
@@ -105,7 +105,7 @@ and [docs/performance/GRAPH_ALGORITHMS.md](docs/performance/GRAPH_ALGORITHMS.md)
105
105
 
106
106
  ## Architecture
107
107
 
108
- ```
108
+ ```text
109
109
  ┌─────────────────────────────────────────────────────────────────────┐
110
110
  │ iris-vector-graph v2.1.0 │
111
111
  ├─────────────────────────────────────────────────────────────────────┤
@@ -201,6 +201,29 @@ reference, SHACL shape writing, PROV-O vocabulary mapping, and integration patte
201
201
 
202
202
  ---
203
203
 
204
+ ## AI Agent Development
205
+
206
+ When building agents that use IVG as a knowledge graph backend, install the
207
+ [iris-agentic-dev](https://github.com/intersystems-community/iris-agentic-dev) MCP
208
+ toolkit for ObjectScript compilation, global inspection, and IRIS method invocation
209
+ from your agent's tool loop:
210
+
211
+ ```bash
212
+ pip install iris-agentic-dev
213
+ ```
214
+
215
+ This gives your agent `iris_compile`, `iris_execute`, `iris_global`, and related tools
216
+ that work alongside IVG's Python API.
217
+
218
+ Skill files with agent-oriented quickstarts:
219
+
220
+ - [`skills/iris-vector-graph/SKILL.md`](skills/iris-vector-graph/SKILL.md) — IVG API,
221
+ temporal edges, SHACL, globals, container setup, common gotchas
222
+ - [`skills/ivg-arno/SKILL.md`](skills/ivg-arno/SKILL.md) — Arno Rust acceleration,
223
+ BFS at scale, enterprise container, ASQ query syntax
224
+
225
+ ---
226
+
204
227
  ## License
205
228
 
206
229
  MIT. See [LICENSE](LICENSE).
@@ -13,6 +13,9 @@
13
13
  /// ^BM25Idx(name, "tf", term, docId) integer — term frequency (term-first!)
14
14
  /// ^BM25Idx(name, "len", docId) integer — document token count
15
15
  ///
16
+ /// Stopwords: common English function words stored in ^BM25Idx("__stop__", word)
17
+ /// at class-load time. Filtered out during Tokenize to reduce IDF noise.
18
+ ///
16
19
  /// Usage:
17
20
  /// set result = ##class(Graph.KG.BM25Index).Build("ncit", $ListBuild("name","definition"))
18
21
  /// set hits = ##class(Graph.KG.BM25Index).Search("ncit", "ankylosing spondylitis", 10)
@@ -20,29 +23,54 @@ Class Graph.KG.BM25Index Extends %RegisteredObject
20
23
  {
21
24
 
22
25
  // ================================================================
23
- // Tokenizeprivate helper used by Build, Search, Insert
26
+ // InitStopwordspopulate ^BM25Idx("__stop__") once per process
27
+ // ================================================================
28
+
29
+ ClassMethod InitStopwords() [ Private ]
30
+ {
31
+ If $Data(^BM25Idx("__stop__", "the")) Return
32
+ Set words = "a,an,the,and,or,but,in,on,at,to,for,of,with,by,from,is,are,was,were,be,been,being,have,has,had,do,does,did,will,would,could,should,may,might,shall,this,that,these,those,it,its,i,we,you,he,she,they,them,their,our,your,his,her,not,no,nor,so,yet,both,either,neither,each,all,any,such,as,if,than,then,there,here,when,where,which,who,what,how"
33
+ Set n = $LENGTH(words, ",")
34
+ For i = 1:1:n {
35
+ Set w = $PIECE(words, ",", i)
36
+ Set ^BM25Idx("__stop__", w) = 1
37
+ }
38
+ }
39
+
40
+ // ================================================================
41
+ // Tokenize — private helper used by Build, Search, Insert, Delete
24
42
  // ================================================================
25
43
 
26
44
  ClassMethod Tokenize(text As %String) As %List [ Private ]
27
45
  {
46
+ Do ..InitStopwords()
28
47
  Set lower = $ZCONVERT(text, "L")
29
48
  // Try iFind tokenizer first (better punctuation handling, base IRIS)
49
+ Set raw = ""
30
50
  Try {
31
- Set tokens = ##class(%iFind.Utils).Analyze(lower, "en", 1)
32
- Return tokens
51
+ Set raw = ##class(%iFind.Utils).Analyze(lower, "en", 1)
33
52
  } Catch {}
34
- // Fallback: iterate chars, accumulate alphanumeric runs
35
- Set result = "", tok = ""
36
- For i = 1:1:$LENGTH(lower) {
37
- Set c = $EXTRACT(lower, i)
38
- If c?1AN {
39
- Set tok = tok_c
40
- } ElseIf tok '= "" {
41
- Set result = result_$LISTBUILD(tok)
42
- Set tok = ""
53
+ If raw = "" {
54
+ // Fallback: iterate chars, accumulate alphanumeric runs
55
+ Set tok = ""
56
+ For i = 1:1:$LENGTH(lower) {
57
+ Set c = $EXTRACT(lower, i)
58
+ If c?1AN {
59
+ Set tok = tok_c
60
+ } ElseIf tok '= "" {
61
+ Set raw = raw_$LISTBUILD(tok)
62
+ Set tok = ""
63
+ }
43
64
  }
65
+ If tok '= "" Set raw = raw_$LISTBUILD(tok)
66
+ }
67
+ // Filter stopwords
68
+ Set result = "", tIdx = 0
69
+ While $LISTNEXT(raw, tIdx, tok) {
70
+ If tok = "" Continue
71
+ If $Data(^BM25Idx("__stop__", tok)) Continue
72
+ Set result = result_$LISTBUILD(tok)
44
73
  }
45
- If tok '= "" Set result = result_$LISTBUILD(tok)
46
74
  Return result
47
75
  }
48
76
 
@@ -54,85 +82,71 @@ ClassMethod Build(name As %String, propsCSV As %String, k1 As %Double = 1.5, b A
54
82
  {
55
83
  Kill ^BM25Idx(name)
56
84
 
57
- Set N = 0
58
- Set totalLen = 0
85
+ // Build an IN-list literal from propsCSV for the single batch query.
86
+ // e.g. "name,definition" → "'name','definition'"
87
+ Set inList = ""
88
+ Set nProps = $LENGTH(propsCSV, ",")
89
+ For pi = 1:1:nProps {
90
+ Set propKey = $ZSTRIP($PIECE(propsCSV, ",", pi), "<>W")
91
+ If propKey = "" Continue
92
+ Set escaped = $Replace(propKey, "'", "''")
93
+ Set inList = inList _ $Select(inList="":"", 1:",") _ "'" _ escaped _ "'"
94
+ }
95
+ If inList = "" Return "{""indexed"":0,""avgdl"":0,""vocab_size"":0}"
59
96
 
60
- Set sql = "SELECT node_id FROM Graph_KG.nodes"
97
+ // One query fetches all (node_id, val) pairs for the requested properties.
98
+ // Ordered by node_id so we can accumulate per-doc by scanning in sequence.
99
+ Set sql = "SELECT n.node_id, p.val FROM Graph_KG.nodes n "
100
+ _ "LEFT JOIN Graph_KG.rdf_props p ON p.s = n.node_id AND p.key IN ("_inList_") "
101
+ _ "ORDER BY n.node_id"
61
102
  Set stmt = ##class(%SQL.Statement).%New()
62
103
  Do stmt.%Prepare(sql)
63
104
  Set rs = stmt.%Execute()
64
105
 
106
+ Set N = 0
107
+ Set totalLen = 0
108
+ Set curDoc = ""
109
+ Set docText = ""
110
+
65
111
  While rs.%Next() {
66
112
  Set docId = rs.%Get("node_id")
113
+ Set val = rs.%GetData(2) // p.val (NULL when no matching prop row)
67
114
 
68
- Set docText = ""
69
- Set nProps = $LENGTH(propsCSV, ",")
70
- For pi = 1:1:nProps {
71
- Set propKey = $PIECE(propsCSV, ",", pi)
72
- Set propKey = $ZSTRIP(propKey, "<>W")
73
- If propKey = "" Continue
74
- Set pSql = "SELECT val FROM Graph_KG.rdf_props WHERE s = ? AND key = ?"
75
- Set pStmt = ##class(%SQL.Statement).%New()
76
- Do pStmt.%Prepare(pSql)
77
- Set pRs = pStmt.%Execute(docId, propKey)
78
- While pRs.%Next() {
79
- Set docText = docText_" "_pRs.%Get("val")
115
+ If docId '= curDoc {
116
+ // Flush previous doc
117
+ If curDoc '= "" {
118
+ Do ..IndexDoc(name, curDoc, docText, .N, .totalLen)
80
119
  }
120
+ Set curDoc = docId
121
+ Set docText = $Select(val="":"", 1:val)
122
+ } Else {
123
+ If val '= "" Set docText = docText _ " " _ val
81
124
  }
82
-
83
- Set tokens = ..Tokenize(docText)
84
- Set docLen = $LISTLENGTH(tokens)
85
- If docLen = 0 Continue
86
-
87
- Kill tfMap
88
- Set tIdx = 0
89
- While $LISTNEXT(tokens, tIdx, tok) {
90
- If tok = "" Continue
91
- Set tfMap(tok) = $Get(tfMap(tok), 0) + 1
92
- }
93
-
94
- Set tok = ""
95
- For {
96
- Set tok = $Order(tfMap(tok))
97
- Quit:tok=""
98
- Set ^BM25Idx(name, "tf", tok, docId) = tfMap(tok)
99
- }
100
-
101
- Set ^BM25Idx(name, "len", docId) = docLen
102
- Set N = N + 1
103
- Set totalLen = totalLen + docLen
125
+ }
126
+ // Flush last doc
127
+ If curDoc '= "" {
128
+ Do ..IndexDoc(name, curDoc, docText, .N, .totalLen)
104
129
  }
105
130
 
106
- // Compute and store IDF for all terms
131
+ // Compute IDF for all terms from accumulated tf subscripts
107
132
  Set avgdl = $Select(N > 0: totalLen / N, 1: 0)
108
133
  Set vocabSize = 0
109
134
  Set term = ""
110
- For {
111
- Set term = $Order(^BM25Idx(name, "idf", term))
112
- Quit:term=""
113
- Kill ^BM25Idx(name, "idf", term)
114
- }
115
-
116
- // Compute IDF from df (document frequency) via tf subscripts
117
- Set term = ""
118
135
  For {
119
136
  Set term = $Order(^BM25Idx(name, "tf", term))
120
137
  Quit:term=""
121
- // Count df = number of docs containing this term
122
138
  Set df = 0
123
- Set docId = ""
139
+ Set d = ""
124
140
  For {
125
- Set docId = $Order(^BM25Idx(name, "tf", term, docId))
126
- Quit:docId=""
141
+ Set d = $Order(^BM25Idx(name, "tf", term, d))
142
+ Quit:d=""
127
143
  Set df = df + 1
128
144
  }
129
- // Robertson IDF: log((N - df + 0.5) / (df + 0.5) + 1)
130
145
  Set idf = $ZLN((N - df + 0.5) / (df + 0.5) + 1)
131
146
  Set ^BM25Idx(name, "idf", term) = idf
132
147
  Set vocabSize = vocabSize + 1
133
148
  }
134
149
 
135
- // Store config
136
150
  Set ^BM25Idx(name, "cfg", "N") = N
137
151
  Set ^BM25Idx(name, "cfg", "avgdl") = avgdl
138
152
  Set ^BM25Idx(name, "cfg", "k1") = k1
@@ -142,6 +156,29 @@ ClassMethod Build(name As %String, propsCSV As %String, k1 As %Double = 1.5, b A
142
156
  Return "{""indexed"":"_N_",""avgdl"":"_avgdl_",""vocab_size"":"_vocabSize_"}"
143
157
  }
144
158
 
159
+ // Accumulate tf and length for one document — shared by Build batch loop.
160
+ ClassMethod IndexDoc(name As %String, docId As %String, docText As %String, ByRef N As %Integer, ByRef totalLen As %Integer) [ Private ]
161
+ {
162
+ Set tokens = ..Tokenize(docText)
163
+ Set docLen = $LISTLENGTH(tokens)
164
+ If docLen = 0 Return
165
+ Kill tfMap
166
+ Set tIdx = 0
167
+ While $LISTNEXT(tokens, tIdx, tok) {
168
+ If tok = "" Continue
169
+ Set tfMap(tok) = $Get(tfMap(tok), 0) + 1
170
+ }
171
+ Set tok = ""
172
+ For {
173
+ Set tok = $Order(tfMap(tok))
174
+ Quit:tok=""
175
+ Set ^BM25Idx(name, "tf", tok, docId) = tfMap(tok)
176
+ }
177
+ Set ^BM25Idx(name, "len", docId) = docLen
178
+ Set N = N + 1
179
+ Set totalLen = totalLen + docLen
180
+ }
181
+
145
182
  // ================================================================
146
183
  // Search — BM25 ranked retrieval
147
184
  // ================================================================
@@ -185,29 +222,31 @@ ClassMethod Search(name As %String, queryText As %String, k As %Integer = 10) As
185
222
  }
186
223
 
187
224
  // Sort by score descending — collect top k
188
- // Use inverted score as subscript for natural $Order sorting
225
+ // Scale score to a 12-decimal fixed-point integer subscript so $Order
226
+ // gives ascending-numeric order; we iterate in reverse with $Order(...,-1).
227
+ // This avoids the "10M offset" overflow that breaks when BM25 scores exceed it.
189
228
  Kill ^||bm25sorted
190
229
  Set docId = ""
191
230
  For {
192
231
  Set docId = $Order(^||bm25scores(docId), 1, score)
193
232
  Quit:docId=""
194
- // Negate score for descending sort (use large offset to avoid negative subscripts)
195
- Set negScore = 10000000 - score
196
- Set ^||bm25sorted(negScore, docId) = score
233
+ // Multiply by 1e12 and round to integer subscript safe for any BM25 score
234
+ Set sortKey = $NUMBER(score * 1000000000000, 0)
235
+ Set ^||bm25sorted(sortKey, docId) = score
197
236
  }
198
237
 
199
- // Build JSON result array
238
+ // Walk in descending order using $Order with direction -1
200
239
  Set result = "["
201
240
  Set count = 0
202
- Set negScore = ""
241
+ Set sortKey = ""
203
242
  For {
204
243
  If count >= k Quit
205
- Set negScore = $Order(^||bm25sorted(negScore))
206
- Quit:negScore=""
244
+ Set sortKey = $Order(^||bm25sorted(sortKey), -1)
245
+ Quit:sortKey=""
207
246
  Set docId = ""
208
247
  For {
209
248
  If count >= k Quit
210
- Set docId = $Order(^||bm25sorted(negScore, docId), 1, score)
249
+ Set docId = $Order(^||bm25sorted(sortKey, docId), 1, score)
211
250
  Quit:docId=""
212
251
  If count > 0 Set result = result_","
213
252
  Set safeId = $Replace(docId, """", "\""")
@@ -284,10 +323,11 @@ ClassMethod Insert(name As %String, docId As %String, text As %String) As %Integ
284
323
  Quit:d=""
285
324
  Set df = df + 1
286
325
  }
326
+ // Check for new term BEFORE overwriting idf entry
327
+ Set isNewTerm = '$Data(^BM25Idx(name, "idf", tok))
287
328
  Set idf = $ZLN((N - df + 0.5) / (df + 0.5) + 1)
288
329
  Set ^BM25Idx(name, "idf", tok) = idf
289
- // Update vocab_size if this is a new term
290
- If '$Data(^BM25Idx(name, "idf", tok)) {
330
+ If isNewTerm {
291
331
  Set ^BM25Idx(name, "cfg", "vocab_size") = $Increment(^BM25Idx(name, "cfg", "vocab_size"))
292
332
  }
293
333
  }
@@ -295,6 +335,63 @@ ClassMethod Insert(name As %String, docId As %String, text As %String) As %Integ
295
335
  Return 1
296
336
  }
297
337
 
338
+ // ================================================================
339
+ // Delete — remove a single document from the index
340
+ // ================================================================
341
+
342
+ ClassMethod Delete(name As %String, docId As %String) As %Integer
343
+ {
344
+ Set oldLen = +$Get(^BM25Idx(name, "len", docId), 0)
345
+ If oldLen = 0 Return 0 // doc not in index
346
+
347
+ Set N = +$Get(^BM25Idx(name, "cfg", "N"), 0)
348
+ Set totalLen = N * +$Get(^BM25Idx(name, "cfg", "avgdl"), 0)
349
+
350
+ // Collect terms this doc contributed to
351
+ Kill affectedTerms
352
+ Set term = ""
353
+ For {
354
+ Set term = $Order(^BM25Idx(name, "tf", term))
355
+ Quit:term=""
356
+ If $Data(^BM25Idx(name, "tf", term, docId)) {
357
+ Kill ^BM25Idx(name, "tf", term, docId)
358
+ Set affectedTerms(term) = 1
359
+ }
360
+ }
361
+ Kill ^BM25Idx(name, "len", docId)
362
+
363
+ // Update doc count and avgdl
364
+ Set N = N - 1
365
+ Set totalLen = totalLen - oldLen
366
+ Set ^BM25Idx(name, "cfg", "N") = N
367
+ Set ^BM25Idx(name, "cfg", "avgdl") = $Select(N > 0: totalLen / N, 1: 0)
368
+
369
+ // Recompute IDF for affected terms; remove terms that now have df=0
370
+ Set term = ""
371
+ For {
372
+ Set term = $Order(affectedTerms(term))
373
+ Quit:term=""
374
+ Set df = 0
375
+ Set d = ""
376
+ For {
377
+ Set d = $Order(^BM25Idx(name, "tf", term, d))
378
+ Quit:d=""
379
+ Set df = df + 1
380
+ }
381
+ If df = 0 {
382
+ Kill ^BM25Idx(name, "idf", term)
383
+ Set ^BM25Idx(name, "cfg", "vocab_size") = $Increment(^BM25Idx(name, "cfg", "vocab_size"), -1)
384
+ } Else {
385
+ If N > 0 {
386
+ Set idf = $ZLN((N - df + 0.5) / (df + 0.5) + 1)
387
+ Set ^BM25Idx(name, "idf", term) = idf
388
+ }
389
+ }
390
+ }
391
+
392
+ Return 1
393
+ }
394
+
298
395
  // ================================================================
299
396
  // Drop — remove entire index
300
397
  // ================================================================
@@ -408,6 +408,198 @@ class NodesEdgesMixin:
408
408
  ids = self.get_node_ids_by_label(label)
409
409
  return self.get_nodes(ids) if ids else []
410
410
 
411
+ # ------------------------------------------------------------------
412
+ # Property-side primitives (v2.5.0)
413
+ # Single-table scans over rdf_props / nodes only — no JOIN, no FETCH FIRST.
414
+ # ------------------------------------------------------------------
415
+
416
+ def get_node_ids_by_property(
417
+ self,
418
+ key: str,
419
+ val: Optional[str] = None,
420
+ limit: Optional[int] = None,
421
+ ) -> List[str]:
422
+ """Subject ids carrying property `key`, optionally filtered to `= val`.
423
+
424
+ Direct mirror of get_node_ids_by_label for the property dimension.
425
+ Single-table scan; no JOIN; uses TOP n (never FETCH FIRST).
426
+
427
+ Args:
428
+ key: Property name.
429
+ val: Optional exact value filter. None means "carries the key at all".
430
+ limit: Cap on returned rows. Non-positive means no limit.
431
+
432
+ Returns:
433
+ List of node ids.
434
+ """
435
+ top = f"TOP {int(limit)} " if limit and int(limit) > 0 else ""
436
+ sql = f'SELECT {top}s FROM {_table("rdf_props")} WHERE "key" = ?'
437
+ params: List[Any] = [key]
438
+ if val is not None:
439
+ sql += " AND val = ?"
440
+ params.append(val)
441
+ cursor = self.conn.cursor()
442
+ try:
443
+ cursor.execute(sql, params)
444
+ return [row[0] for row in cursor.fetchall() if row and row[0]]
445
+ except Exception as e:
446
+ logger.error("get_node_ids_by_property(%s) failed: %s", key, e)
447
+ return []
448
+ finally:
449
+ cursor.close()
450
+
451
+ def get_nodes_by_property(
452
+ self,
453
+ key: str,
454
+ val: Optional[str] = None,
455
+ limit: Optional[int] = None,
456
+ ) -> List[Dict[str, Any]]:
457
+ """Hydrated nodes carrying property `key` (optionally `= val`).
458
+
459
+ Equivalent to get_node_ids_by_property + get_nodes.
460
+ """
461
+ ids = self.get_node_ids_by_property(key, val=val, limit=limit)
462
+ return self.get_nodes(ids) if ids else []
463
+
464
+ def get_property_pairs(self, key: str) -> List[tuple]:
465
+ """(subject, value) pairs for every row under property `key`.
466
+
467
+ Returns one pair per subject (the schema enforces PK on (s, key)).
468
+ Useful when you need both the subject id and the value in one pass
469
+ without hydrating full nodes via get_nodes.
470
+ """
471
+ sql = f'SELECT s, val FROM {_table("rdf_props")} WHERE "key" = ?'
472
+ cursor = self.conn.cursor()
473
+ try:
474
+ cursor.execute(sql, [key])
475
+ return [(row[0], row[1]) for row in cursor.fetchall() if row and row[0]]
476
+ except Exception as e:
477
+ logger.error("get_property_pairs(%s) failed: %s", key, e)
478
+ return []
479
+ finally:
480
+ cursor.close()
481
+
482
+ def get_property_values(self, key: str) -> List[str]:
483
+ """Every value stored under property `key`, across all subjects.
484
+
485
+ Value-side scan without subject context: use to seed dedup sets in one
486
+ pass over large property populations (e.g. all source_urls).
487
+ """
488
+ sql = f'SELECT val FROM {_table("rdf_props")} WHERE "key" = ?'
489
+ cursor = self.conn.cursor()
490
+ try:
491
+ cursor.execute(sql, [key])
492
+ return [row[0] for row in cursor.fetchall() if row and row[0]]
493
+ except Exception as e:
494
+ logger.error("get_property_values(%s) failed: %s", key, e)
495
+ return []
496
+ finally:
497
+ cursor.close()
498
+
499
+ def property_value_exists(self, key: str, like: str) -> bool:
500
+ """True if any row under `key` has a value matching SQL LIKE `like`.
501
+
502
+ TOP 1 probe — never FETCH FIRST (SIGSEGV on IRIS AI builds, DP-451209).
503
+ """
504
+ sql = f'SELECT TOP 1 1 FROM {_table("rdf_props")} WHERE "key" = ? AND val LIKE ?'
505
+ cursor = self.conn.cursor()
506
+ try:
507
+ cursor.execute(sql, [key, like])
508
+ return cursor.fetchone() is not None
509
+ except Exception as e:
510
+ logger.error("property_value_exists(%s LIKE %s) failed: %s", key, like, e)
511
+ return False
512
+ finally:
513
+ cursor.close()
514
+
515
+ def get_property_pairs_like(
516
+ self,
517
+ key: str,
518
+ like: str,
519
+ limit: Optional[int] = None,
520
+ ) -> List[tuple]:
521
+ """(subject, value) pairs under `key` whose value matches SQL LIKE `like`.
522
+
523
+ Keyword-search primitive: bounded LIKE probe beats hydrating all nodes.
524
+ `limit` non-positive means no cap.
525
+ """
526
+ top = f"TOP {int(limit)} " if limit and int(limit) > 0 else ""
527
+ sql = (
528
+ f'SELECT {top}s, val FROM {_table("rdf_props")} '
529
+ f'WHERE "key" = ? AND val LIKE ?'
530
+ )
531
+ cursor = self.conn.cursor()
532
+ try:
533
+ cursor.execute(sql, [key, like])
534
+ return [(row[0], row[1]) for row in cursor.fetchall() if row and row[0]]
535
+ except Exception as e:
536
+ logger.error("get_property_pairs_like(%s LIKE %s) failed: %s", key, like, e)
537
+ return []
538
+ finally:
539
+ cursor.close()
540
+
541
+ def get_json_field_values(self, key: str, field: str) -> List[str]:
542
+ """Values of one JSON `field` inside every `key` blob, extracted server-side.
543
+
544
+ Uses $PIECE extraction to avoid moving multi-MB JSON blobs to Python.
545
+ """
546
+ sql = (
547
+ f"SELECT $PIECE($PIECE(val, '\"{field}\": \"', 2), '\"', 1) "
548
+ f'FROM {_table("rdf_props")} WHERE "key" = ? AND val LIKE ?'
549
+ )
550
+ cursor = self.conn.cursor()
551
+ try:
552
+ cursor.execute(sql, [key, f"%{field}%"])
553
+ return [row[0] for row in cursor.fetchall() if row and row[0]]
554
+ except Exception as e:
555
+ logger.error("get_json_field_values(%s.%s) failed: %s", key, field, e)
556
+ return []
557
+ finally:
558
+ cursor.close()
559
+
560
+ def get_node_ids_like(self, pattern: str) -> List[str]:
561
+ """Node ids matching a SQL LIKE `pattern`.
562
+
563
+ Used for test-fixture cleanup (ids like `test-run-1234:%`) and for
564
+ producing the id list that bulk_delete_nodes requires.
565
+ """
566
+ sql = f"SELECT node_id FROM {_table('nodes')} WHERE node_id LIKE ?"
567
+ cursor = self.conn.cursor()
568
+ try:
569
+ cursor.execute(sql, [pattern])
570
+ return [row[0] for row in cursor.fetchall() if row and row[0]]
571
+ except Exception as e:
572
+ logger.error("get_node_ids_like(%s) failed: %s", pattern, e)
573
+ return []
574
+ finally:
575
+ cursor.close()
576
+
577
+ def count_subjects_with_property(
578
+ self,
579
+ key: str,
580
+ val: Optional[str] = None,
581
+ ) -> int:
582
+ """COUNT(*) of subjects carrying `key` (optionally `= val`).
583
+
584
+ Does not hydrate nodes — pure count for cardinality estimates.
585
+ """
586
+ sql = f'SELECT COUNT(*) FROM {_table("rdf_props")} WHERE "key" = ?'
587
+ params: List[Any] = [key]
588
+ if val is not None:
589
+ sql += " AND val = ?"
590
+ params.append(val)
591
+ cursor = self.conn.cursor()
592
+ try:
593
+ cursor.execute(sql, params)
594
+ row = cursor.fetchone()
595
+ return int(row[0]) if row and row[0] else 0
596
+ except Exception as e:
597
+ logger.error(
598
+ "count_subjects_with_property(%s=%s) failed: %s", key, val, e
599
+ )
600
+ return 0
601
+ finally:
602
+ cursor.close()
411
603
 
412
604
  def create_node(
413
605
  self, node_id: str, labels: List[str] = None, properties: Dict[str, Any] = None,