iris-vector-graph 2.4.1__tar.gz → 2.4.3__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 (786) hide show
  1. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/PKG-INFO +1 -1
  2. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/nodes_edges.py +5 -1
  3. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/query.py +8 -2
  4. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/cypher/translator.py +27 -1
  5. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/engine.py +64 -0
  6. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/pyproject.toml +1 -1
  7. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/TESTING.md +19 -29
  8. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/benchmarks/README.md +8 -11
  9. iris_vector_graph-2.4.3/tests/integration/test_driver_segfault_guard.py +146 -0
  10. iris_vector_graph-2.4.3/tests/unit/test_fetch_first_join_bug.py +56 -0
  11. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/.gitignore +0 -0
  12. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/LICENSE +0 -0
  13. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/README.md +0 -0
  14. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/demo_biomedical.py +0 -0
  15. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/demo_fraud_detection.py +0 -0
  16. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/demo_fraud_detection_sql.py +0 -0
  17. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/demo_rdf_semantic_layer.py +0 -0
  18. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/demo_utils.py +0 -0
  19. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/demo_working_system.py +0 -0
  20. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/domains/__init__.py +0 -0
  21. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/domains/biomedical/__init__.py +0 -0
  22. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/domains/biomedical/loaders.py +0 -0
  23. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/domains/biomedical/resolver.py +0 -0
  24. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/domains/biomedical/types.py +0 -0
  25. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/domains/biomedical_legacy/__init__.py +0 -0
  26. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/domains/biomedical_legacy/biomedical_engine.py +0 -0
  27. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/domains/biomedical_legacy/biomedical_schema.py +0 -0
  28. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/domains/biomedical_legacy/legacy_wrapper.py +0 -0
  29. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/domains/fraud/__init__.py +0 -0
  30. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/domains/fraud/loaders.py +0 -0
  31. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/domains/fraud/resolver.py +0 -0
  32. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/domains/fraud/types.py +0 -0
  33. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/graphQL.http +0 -0
  34. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/hybrid_vector_graph_query.cypher +0 -0
  35. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/examples/rest.http +0 -0
  36. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/Algorithms.cls +0 -0
  37. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/ArnoAccel.cls +0 -0
  38. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/BM25Index.cls +0 -0
  39. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/BenchFormat.cls +0 -0
  40. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/BenchSeeder.cls +0 -0
  41. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/Benchmark.cls +0 -0
  42. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/Centrality.cls +0 -0
  43. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/Communities.cls +0 -0
  44. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/Edge.cls +0 -0
  45. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/EdgeScan.cls +0 -0
  46. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/EmbedQueue.cls +0 -0
  47. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/GraphIndex.cls +0 -0
  48. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/IVFIndex.cls +0 -0
  49. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/Loader.cls +0 -0
  50. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/MCPService.cls +0 -0
  51. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/MCPToolSet.cls +0 -0
  52. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/MCPTools.cls +0 -0
  53. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/Meta.cls +0 -0
  54. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/NKGAccel.cls +0 -0
  55. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/NKGAccelAdjacency.cls +0 -0
  56. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/NKGAccelCentrality.cls +0 -0
  57. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/NKGAccelLoader.cls +0 -0
  58. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/NKGAccelTraversal.cls +0 -0
  59. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/PLAIDSearch.cls +0 -0
  60. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/PageRank.cls +0 -0
  61. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/PyOps.cls +0 -0
  62. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/Service.cls +0 -0
  63. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/Snapshot.cls +0 -0
  64. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/Subgraph.cls +0 -0
  65. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/TemporalIndex.cls +0 -0
  66. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/TestEdge.cls +0 -0
  67. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/Traversal.cls +0 -0
  68. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/TraversalBFS.cls +0 -0
  69. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/TraversalBuild.cls +0 -0
  70. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/TraversalKHop.cls +0 -0
  71. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/TraversalPaths.cls +0 -0
  72. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/Graph/KG/VecIndex.cls +0 -0
  73. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/IVG/CypherEngine.cls +0 -0
  74. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/IVG/Percentile.cls +0 -0
  75. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/PageRankEmbedded.cls +0 -0
  76. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/User.Exec.cls +0 -0
  77. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_src/src/iris/vector/graph/GraphOperators.cls +0 -0
  78. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/__init__.py +0 -0
  79. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/__init__.py +0 -0
  80. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/_rdf_utils.py +0 -0
  81. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/admin.py +0 -0
  82. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/algorithms.py +0 -0
  83. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/embeddings.py +0 -0
  84. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/fhir.py +0 -0
  85. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/prov.py +0 -0
  86. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/query.py,cover +0 -0
  87. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/rdf_export.py +0 -0
  88. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/schema.py +0 -0
  89. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/shacl.py +0 -0
  90. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/snapshot.py +0 -0
  91. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/snapshot.py,cover +0 -0
  92. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/temporal.py +0 -0
  93. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_engine/vector.py +0 -0
  94. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/_validate.py +0 -0
  95. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/api_auth.py +0 -0
  96. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/bolt_server.py +0 -0
  97. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/0-b124e26129aa436b26fe.bundle.js +0 -0
  98. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/1-b124e26129aa436b26fe.bundle.js +0 -0
  99. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/10-b124e26129aa436b26fe.bundle.js +0 -0
  100. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/11-b124e26129aa436b26fe.bundle.js +0 -0
  101. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/12-b124e26129aa436b26fe.bundle.js +0 -0
  102. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/13-b124e26129aa436b26fe.bundle.js +0 -0
  103. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/14-b124e26129aa436b26fe.bundle.js +0 -0
  104. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/15-b124e26129aa436b26fe.bundle.js +0 -0
  105. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/16-b124e26129aa436b26fe.bundle.js +0 -0
  106. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/17-b124e26129aa436b26fe.bundle.js +0 -0
  107. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/18-b124e26129aa436b26fe.bundle.js +0 -0
  108. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/19-b124e26129aa436b26fe.bundle.js +0 -0
  109. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/20-b124e26129aa436b26fe.bundle.js +0 -0
  110. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/21-b124e26129aa436b26fe.bundle.js +0 -0
  111. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/22-b124e26129aa436b26fe.bundle.js +0 -0
  112. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/23-b124e26129aa436b26fe.bundle.js +0 -0
  113. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/24-b124e26129aa436b26fe.bundle.js +0 -0
  114. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/25-b124e26129aa436b26fe.bundle.js +0 -0
  115. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/26-b124e26129aa436b26fe.bundle.js +0 -0
  116. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/27-b124e26129aa436b26fe.bundle.js +0 -0
  117. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/28-b124e26129aa436b26fe.bundle.js +0 -0
  118. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/29-b124e26129aa436b26fe.bundle.js +0 -0
  119. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/30-b124e26129aa436b26fe.bundle.js +0 -0
  120. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/31-b124e26129aa436b26fe.bundle.js +0 -0
  121. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/32-b124e26129aa436b26fe.bundle.js +0 -0
  122. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/33-b124e26129aa436b26fe.bundle.js +0 -0
  123. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/34-b124e26129aa436b26fe.bundle.js +0 -0
  124. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/35-b124e26129aa436b26fe.bundle.js +0 -0
  125. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/36-b124e26129aa436b26fe.bundle.js +0 -0
  126. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/37-b124e26129aa436b26fe.bundle.js +0 -0
  127. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/38-b124e26129aa436b26fe.bundle.js +0 -0
  128. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/39-b124e26129aa436b26fe.bundle.js +0 -0
  129. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/40-b124e26129aa436b26fe.bundle.js +0 -0
  130. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/41-b124e26129aa436b26fe.bundle.js +0 -0
  131. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/42-b124e26129aa436b26fe.bundle.js +0 -0
  132. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/43-b124e26129aa436b26fe.bundle.js +0 -0
  133. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/44-b124e26129aa436b26fe.bundle.js +0 -0
  134. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/45-b124e26129aa436b26fe.bundle.js +0 -0
  135. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/46-b124e26129aa436b26fe.bundle.js +0 -0
  136. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/47-b124e26129aa436b26fe.bundle.js +0 -0
  137. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/48-b124e26129aa436b26fe.bundle.js +0 -0
  138. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/49-b124e26129aa436b26fe.bundle.js +0 -0
  139. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/50-b124e26129aa436b26fe.bundle.js +0 -0
  140. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/51-b124e26129aa436b26fe.bundle.js +0 -0
  141. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/52-b124e26129aa436b26fe.bundle.js +0 -0
  142. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/53-b124e26129aa436b26fe.bundle.js +0 -0
  143. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/54-b124e26129aa436b26fe.bundle.js +0 -0
  144. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/55-b124e26129aa436b26fe.bundle.js +0 -0
  145. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/56-b124e26129aa436b26fe.bundle.js +0 -0
  146. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/57-b124e26129aa436b26fe.bundle.js +0 -0
  147. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/58-b124e26129aa436b26fe.bundle.js +0 -0
  148. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/59-b124e26129aa436b26fe.bundle.js +0 -0
  149. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/6-b124e26129aa436b26fe.bundle.js +0 -0
  150. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/60-b124e26129aa436b26fe.bundle.js +0 -0
  151. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/61-b124e26129aa436b26fe.bundle.js +0 -0
  152. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/62-b124e26129aa436b26fe.bundle.js +0 -0
  153. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/63-b124e26129aa436b26fe.bundle.js +0 -0
  154. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/64-b124e26129aa436b26fe.bundle.js +0 -0
  155. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/65-b124e26129aa436b26fe.bundle.js +0 -0
  156. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/66-b124e26129aa436b26fe.bundle.js +0 -0
  157. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/67-b124e26129aa436b26fe.bundle.js +0 -0
  158. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/68-b124e26129aa436b26fe.bundle.js +0 -0
  159. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/69-b124e26129aa436b26fe.bundle.js +0 -0
  160. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/7-b124e26129aa436b26fe.bundle.js +0 -0
  161. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/70-b124e26129aa436b26fe.bundle.js +0 -0
  162. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/71-b124e26129aa436b26fe.bundle.js +0 -0
  163. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/72-b124e26129aa436b26fe.bundle.js +0 -0
  164. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/73-b124e26129aa436b26fe.bundle.js +0 -0
  165. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/74-b124e26129aa436b26fe.bundle.js +0 -0
  166. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/75-b124e26129aa436b26fe.bundle.js +0 -0
  167. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/8-b124e26129aa436b26fe.bundle.js +0 -0
  168. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/9-b124e26129aa436b26fe.bundle.js +0 -0
  169. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/app-b124e26129aa436b26fe.js +0 -0
  170. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/filter-a7c44e713bf19d31f6b2849160b1bba8.svg +0 -0
  171. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.eot +0 -0
  172. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.ttf +0 -0
  173. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.woff +0 -0
  174. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.woff2 +0 -0
  175. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.eot +0 -0
  176. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.ttf +0 -0
  177. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.woff +0 -0
  178. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.woff2 +0 -0
  179. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.eot +0 -0
  180. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.ttf +0 -0
  181. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.woff +0 -0
  182. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.woff2 +0 -0
  183. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.eot +0 -0
  184. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.ttf +0 -0
  185. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.woff +0 -0
  186. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.woff2 +0 -0
  187. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Bold.ttf +0 -0
  188. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/OpenSans-BoldItalic.ttf +0 -0
  189. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/OpenSans-ExtraBold.ttf +0 -0
  190. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  191. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Italic.ttf +0 -0
  192. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Light.ttf +0 -0
  193. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/OpenSans-LightItalic.ttf +0 -0
  194. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Regular.ttf +0 -0
  195. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Semibold.ttf +0 -0
  196. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/OpenSans-SemiboldItalic.ttf +0 -0
  197. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/codicon.ttf +0 -0
  198. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/filter.svg +0 -0
  199. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.eot +0 -0
  200. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.svg +0 -0
  201. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.ttf +0 -0
  202. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.woff +0 -0
  203. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.woff2 +0 -0
  204. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/group-by.svg +0 -0
  205. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.eot +0 -0
  206. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.svg +0 -0
  207. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.ttf +0 -0
  208. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.woff +0 -0
  209. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/sort.svg +0 -0
  210. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/sort1.svg +0 -0
  211. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/sort2.svg +0 -0
  212. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/streamline.eot +0 -0
  213. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/streamline.svg +0 -0
  214. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/streamline.ttf +0 -0
  215. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/fonts/streamline.woff +0 -0
  216. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/group-by-89c6aaa756bc3548cc6ab3d2be4d2862.svg +0 -0
  217. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/Favorites.mp4 +0 -0
  218. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/Keystrokes.mp4 +0 -0
  219. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/ProjectFiles.mp4 +0 -0
  220. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/ReusableFrame.mp4 +0 -0
  221. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/SidebarDB_Iinfo.png +0 -0
  222. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/Stream.png +0 -0
  223. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/aura-logo-inverted.svg +0 -0
  224. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/aura-logo.svg +0 -0
  225. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/books.png +0 -0
  226. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/clusters.svg +0 -0
  227. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/community.jpg +0 -0
  228. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-144x144.png +0 -0
  229. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-192x192.png +0 -0
  230. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-36x36.png +0 -0
  231. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-48x48.png +0 -0
  232. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-72x72.png +0 -0
  233. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-96x96.png +0 -0
  234. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-114x114.png +0 -0
  235. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-120x120.png +0 -0
  236. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-144x144.png +0 -0
  237. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-152x152.png +0 -0
  238. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-180x180.png +0 -0
  239. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-57x57.png +0 -0
  240. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-60x60.png +0 -0
  241. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-72x72.png +0 -0
  242. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-76x76.png +0 -0
  243. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-precomposed.png +0 -0
  244. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon.png +0 -0
  245. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/browserconfig.xml +0 -0
  246. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-16x16.png +0 -0
  247. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-32x32.png +0 -0
  248. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-96x96.png +0 -0
  249. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/favicon.ico +0 -0
  250. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/manifest.json +0 -0
  251. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-144x144.png +0 -0
  252. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-150x150.png +0 -0
  253. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-310x310.png +0 -0
  254. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-70x70.png +0 -0
  255. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/neo4j-browser-canary.svg +0 -0
  256. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/device-icons/neo4j-browser.svg +0 -0
  257. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/labeled_node.png +0 -0
  258. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/more_nodes.png +0 -0
  259. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/neo4j-favicon.ico +0 -0
  260. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/neo4j-logo-inverted.svg +0 -0
  261. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/neo4j-logo.svg +0 -0
  262. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/northwind/customer-orders.png +0 -0
  263. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/northwind/order-graph.png +0 -0
  264. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/northwind/product-category-supplier.png +0 -0
  265. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/northwind/product-graph.png +0 -0
  266. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/one_node.png +0 -0
  267. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/query-plan-operator-cost.svg +0 -0
  268. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/query-plan-operator-details.svg +0 -0
  269. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/query-plan-operator-rows.svg +0 -0
  270. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/query-plan.svg +0 -0
  271. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/rel-props.png +0 -0
  272. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/relationships.png +0 -0
  273. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/screen_code_frame.png +0 -0
  274. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/screen_cypher_warn.png +0 -0
  275. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/screen_editor.png +0 -0
  276. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/screen_sidebar.png +0 -0
  277. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/images/screen_stream.png +0 -0
  278. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/sort-8d6f482c21de572ceeb5ac93623e6c97.svg +0 -0
  279. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/sort1-d2dc515571213fc0ca99b0341b88e413.svg +0 -0
  280. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/assets/sort2-31050964e7eb2042325f7bcbba3d58ad.svg +0 -0
  281. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/bolt-worker-dfa551eb0861cc080843.js +0 -0
  282. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/cypher-editor-b124e26129aa436b26fe.bundle.js +0 -0
  283. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/editor-455af92e7e1dc39fdbc8060f6680ab32.worker.js +0 -0
  284. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/index.html +0 -0
  285. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/manifest.json +0 -0
  286. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/CoseBilkentLayout.worker-FEt6e_rV.js +0 -0
  287. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/HierarchicalLayout.worker-O6WHYssL.js +0 -0
  288. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/asciidoc.8O6YIVRy.js +0 -0
  289. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/auto-track.BlKugDvg.js +0 -0
  290. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/bash.CLAyaf9k.js +0 -0
  291. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/c.l4fEI10z.js +0 -0
  292. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/connect-icon-Br2hQy_e.svg +0 -0
  293. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/csharp.ChqrQYCS.js +0 -0
  294. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/css-extras.Bi-4v17d.js +0 -0
  295. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/css.B1LHiudN.js +0 -0
  296. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/cypher-editor-auto-completions.gif +0 -0
  297. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/cypher-editor-inline-help.png +0 -0
  298. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/cypher-editor-linting.png +0 -0
  299. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/cypher-editor-syntax-highlighting.png +0 -0
  300. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/cypher-reference.gif +0 -0
  301. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/cypher.C3qdyJ5B.js +0 -0
  302. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/docker.CF7EZT1T.js +0 -0
  303. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/fira-code-400-regular-normal-BzypJxJk.woff2 +0 -0
  304. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/fira-code-500-medium-normal-CRWzqcWa.woff2 +0 -0
  305. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/fira-code-700-bold-normal-hUmNV4O0.woff2 +0 -0
  306. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/go.FsJyBHVG.js +0 -0
  307. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/graphql.BlTzkzAJ.js +0 -0
  308. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/history-quick-search.gif +0 -0
  309. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/index-CY0cZcsW.js +0 -0
  310. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/index-H7L207gH.css +0 -0
  311. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/index.BpRu7Js3.js +0 -0
  312. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/index.C74acnU7.js +0 -0
  313. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/index.CHatcJcU.js +0 -0
  314. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/index.D6ZMQedT.js +0 -0
  315. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/index.DPZla5MT.js +0 -0
  316. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/index.dzIUqrzq.js +0 -0
  317. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/index.leyiHvaQ.js +0 -0
  318. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/index.qJ6VE118.js +0 -0
  319. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/index.umd.B9yhfa5Y.js +0 -0
  320. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/is-plan-event-enabled.DeNtQvA5.js +0 -0
  321. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/java.BBXwBh9f.js +0 -0
  322. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/java.CQ1iJ0-D.js +0 -0
  323. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/javadoc.UnquSOIj.js +0 -0
  324. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/javascript.CYTqTa0W.js +0 -0
  325. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/json.BIkJg-Cj.js +0 -0
  326. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/jsx.Cy_hP1z6.js +0 -0
  327. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/kotlin.D_6l0VkM.js +0 -0
  328. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/lintWorker-QNEp56W3.js +0 -0
  329. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/logo-aura-white-DCfUnkCN.svg +0 -0
  330. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/movie-model.png +0 -0
  331. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/movies-active-B2SzHIc1.svg +0 -0
  332. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/neo4j-logo-active-CieUxroh.svg +0 -0
  333. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/patterned-banner-background-C_nO-Yn8.svg +0 -0
  334. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/php.BKb6XVba.js +0 -0
  335. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/plan-graph-worker-s17nF19Q.js +0 -0
  336. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/public-sans-300-light-normal-CG9e8kLa.woff2 +0 -0
  337. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/public-sans-400-regular-italic-D9FlViiB.woff2 +0 -0
  338. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/public-sans-400-regular-normal-D4F9yfFi.woff2 +0 -0
  339. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/public-sans-500-medium-normal-ChZcBEnJ.woff2 +0 -0
  340. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/public-sans-600-semi-bold-normal-Ck6TyfRI.woff2 +0 -0
  341. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/public-sans-700-bold-normal-CGjRhW-d.woff2 +0 -0
  342. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/python.tCcUC3U7.js +0 -0
  343. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/query-fundamentals-active-jvTJU1K2.svg +0 -0
  344. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/query.snake-frame.DmvXOQIM.js +0 -0
  345. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/regex.C_VuIVtC.js +0 -0
  346. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/rust.CtSATZMt.js +0 -0
  347. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/saved-cypher.gif +0 -0
  348. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/scalable-graph-visualization.gif +0 -0
  349. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/sql.CfOAbw6n.js +0 -0
  350. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/syne-neo-500-medium-normal-A5GXmYUf.woff2 +0 -0
  351. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/table-visualization.gif +0 -0
  352. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/typescript.3Tbm37mD.js +0 -0
  353. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/xml-doc.h79Tu9Aw.js +0 -0
  354. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/assets/yaml.B-Jvd59g.js +0 -0
  355. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/favicons/android-chrome-192x192.png +0 -0
  356. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/favicons/apple-touch-icon.png +0 -0
  357. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/favicons/favicon-16x16.png +0 -0
  358. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/favicons/favicon-194x194.png +0 -0
  359. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/favicons/favicon-32x32.png +0 -0
  360. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/favicons/favicon.ico +0 -0
  361. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/favicons/safari-pinned-tab.svg +0 -0
  362. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/index.html +0 -0
  363. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/preview/manifest.json +0 -0
  364. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/ui-libs-b124e26129aa436b26fe.bundle.js +0 -0
  365. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/browser_static/vendor-b124e26129aa436b26fe.bundle.js +0 -0
  366. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/bulk_loader.py +0 -0
  367. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/capabilities.py +0 -0
  368. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/cli.py +0 -0
  369. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/cypher/__init__.py +0 -0
  370. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/cypher/algorithms/__init__.py +0 -0
  371. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/cypher/algorithms/paths.py +0 -0
  372. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/cypher/aql/__init__.py +0 -0
  373. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/cypher/aql/ast.py +0 -0
  374. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/cypher/aql/lexer.py +0 -0
  375. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/cypher/aql/parser.py +0 -0
  376. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/cypher/aql/translator.py +0 -0
  377. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/cypher/ast.py +0 -0
  378. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/cypher/lexer.py +0 -0
  379. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/cypher/parser.py +0 -0
  380. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/cypher/translator.py,cover +0 -0
  381. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/cypher_api.py +0 -0
  382. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/dbapi_utils.py +0 -0
  383. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/embed_selector.py +0 -0
  384. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/embedded.py +0 -0
  385. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/errors.py +0 -0
  386. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/fhir_bridge.py +0 -0
  387. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/fusion.py +0 -0
  388. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/gql/__init__.py +0 -0
  389. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/gql/constants.py +0 -0
  390. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/gql/engine.py +0 -0
  391. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/gql/pooling.py +0 -0
  392. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/gql/resolvers.py +0 -0
  393. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/gql/schema.py +0 -0
  394. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/index_config.py +0 -0
  395. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/index_protocol.py +0 -0
  396. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/models.py +0 -0
  397. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/operators.py +0 -0
  398. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/py.typed +0 -0
  399. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/result.py +0 -0
  400. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/schema.py +0 -0
  401. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/sdk.py +0 -0
  402. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/security.py +0 -0
  403. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/status.py +0 -0
  404. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/store_protocol.py +0 -0
  405. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/stores/__init__.py +0 -0
  406. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/stores/arno_bridge.py +0 -0
  407. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/stores/iris_sql_store.py +0 -0
  408. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/stores/lazy_kg.py +0 -0
  409. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/text_search.py +0 -0
  410. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/utils.py +0 -0
  411. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/iris_vector_graph/vector_utils.py +0 -0
  412. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/sql/fhir_bridges.sql +0 -0
  413. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/sql/fraud_sample_data.sql +0 -0
  414. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/sql/globals_schema.sql +0 -0
  415. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/sql/graph_path_globals.sql +0 -0
  416. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/sql/graph_walk_tvf.sql +0 -0
  417. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/sql/migrations/000_base_schema_iris.sql +0 -0
  418. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/sql/migrations/001_add_nodepk_table.sql +0 -0
  419. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/sql/migrations/001_rollback_nodepk.sql +0 -0
  420. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/sql/migrations/002_add_fk_constraints.sql +0 -0
  421. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/sql/operators.sql +0 -0
  422. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/sql/operators_fixed.sql +0 -0
  423. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/sql/procedures/kg_PageRank.sql +0 -0
  424. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/sql/rdf_reifications.sql +0 -0
  425. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/sql/schema.sql +0 -0
  426. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/benchmark_parser.py +0 -0
  427. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/benchmarks/bench.py +0 -0
  428. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/benchmarks/bench_193_full.py +0 -0
  429. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/benchmarks/bench_utils.py +0 -0
  430. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/benchmarks/benchmark_neo4j.py +0 -0
  431. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/benchmarks/bfs_benchmark.py +0 -0
  432. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/benchmarks/establish_baseline.py +0 -0
  433. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/benchmarks/graph_gen.py +0 -0
  434. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/benchmarks/ic2_profile.py +0 -0
  435. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/benchmarks/iris_baseline_run.py +0 -0
  436. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/benchmarks/iris_os_run.py +0 -0
  437. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/benchmarks/ldbc_full_loader.py +0 -0
  438. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/benchmarks/load_neo4j.py +0 -0
  439. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/benchmarks/synthetic_baseline.csv +0 -0
  440. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/conftest.py +0 -0
  441. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/contract/__init__.py +0 -0
  442. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/contract/conftest.py +0 -0
  443. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/contract/test_cypher_api.py +0 -0
  444. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/contract/test_cypher_api_errors.py +0 -0
  445. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/contract/test_graphql_queries.py +0 -0
  446. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/contract/test_graphql_schema.py +0 -0
  447. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/contract/test_ppr_api.py +0 -0
  448. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/curl_suite.sh +0 -0
  449. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/__init__.py +0 -0
  450. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/conftest.py +0 -0
  451. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/fixtures/__init__.py +0 -0
  452. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/fixtures/centrality_graphs.py +0 -0
  453. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/fixtures/community_graphs.py +0 -0
  454. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_analytics_dispatch.py +0 -0
  455. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_approx_count_distinct.py +0 -0
  456. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_aql_e2e.py +0 -0
  457. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_arno_bfs_global.py +0 -0
  458. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_arno_bfs_unified.py +0 -0
  459. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_betweenness_neighborhood_e2e.py +0 -0
  460. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_betweenness_os_e2e.py +0 -0
  461. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_biomedical_demo.py +0 -0
  462. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_biomedical_ui.py +0 -0
  463. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_centrality_e2e.py +0 -0
  464. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_closeness_os_e2e.py +0 -0
  465. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_communities_e2e.py +0 -0
  466. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_communities_perf.py +0 -0
  467. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_cypher_coerce_e2e.py +0 -0
  468. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_cypher_gaps_e2e.py +0 -0
  469. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_cypher_sprints_e2e.py +0 -0
  470. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_cypher_vector_search.py +0 -0
  471. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_cypher_vl_path_bfs.py +0 -0
  472. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_edge_weights.py +0 -0
  473. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_eigenvector_os_e2e.py +0 -0
  474. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_embed_queue_e2e.py +0 -0
  475. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_embedded_wgproto_e2e.py +0 -0
  476. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_execution_contexts.py +0 -0
  477. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_execution_contexts_new.py +0 -0
  478. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_fhir_bridges_e2e.py +0 -0
  479. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_fraud_demo.py +0 -0
  480. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_fraud_ui.py +0 -0
  481. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_gql_autogen_startup.py +0 -0
  482. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_gql_cypher_passthrough.py +0 -0
  483. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_gql_node_queries.py +0 -0
  484. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_gql_semantic_search.py +0 -0
  485. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_gql_traversal.py +0 -0
  486. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_graph_kernels_e2e.py +0 -0
  487. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_hla_kg_e2e.py +0 -0
  488. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_ic13_shortest_path.py +0 -0
  489. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_ic3_exact_count.py +0 -0
  490. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_igraph_fastpath_parity.py +0 -0
  491. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_index_protocol.py +0 -0
  492. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_introspection_api.py +0 -0
  493. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_ivf_insert.py +0 -0
  494. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_large_output_chunked.py +0 -0
  495. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_lazy_kg_e2e.py +0 -0
  496. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_lazy_node_resolution.py +0 -0
  497. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_msbfs_closeness.py +0 -0
  498. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_multi_query_engine_platform.py +0 -0
  499. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_named_paths_e2e.py +0 -0
  500. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_nkg_index_e2e.py +0 -0
  501. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_objectscript_split_resolution.py +0 -0
  502. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_operator_wiring_e2e.py +0 -0
  503. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_pattern_comprehension_reduce.py +0 -0
  504. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_plaid.py +0 -0
  505. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_plaid_search_e2e.py +0 -0
  506. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_ppr_cls_fast_path.py +0 -0
  507. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_ppr_guided_e2e.py +0 -0
  508. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_procedure_installation.py +0 -0
  509. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_reification_e2e.py +0 -0
  510. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_schema_procedures_e2e.py +0 -0
  511. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_sdk_ergonomics_178_180_e2e.py +0 -0
  512. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_store_injection_e2e.py +0 -0
  513. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_streaming_bfs.py +0 -0
  514. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_stress_api.py +0 -0
  515. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_stress_ingest.py +0 -0
  516. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_stress_multi_context.py +0 -0
  517. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_stress_search.py +0 -0
  518. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_stress_setup.py +0 -0
  519. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_stress_traversal.py +0 -0
  520. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_subgraph_e2e.py +0 -0
  521. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_subquery_call_e2e.py +0 -0
  522. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_temporal_store_e2e.py +0 -0
  523. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_unified_index_api.py +0 -0
  524. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_untested_methods.py +0 -0
  525. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/e2e/test_vecindex_e2e.py +0 -0
  526. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/__init__.py +0 -0
  527. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/conftest.py +0 -0
  528. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/gql/__init__.py +0 -0
  529. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/gql/test_graphql_mutations.py +0 -0
  530. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/gql/test_graphql_nested_queries.py +0 -0
  531. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/gql/test_graphql_queries.py +0 -0
  532. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/gql/test_graphql_vector_search.py +0 -0
  533. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_196_bug_fixes.py +0 -0
  534. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_admin_introspection.py +0 -0
  535. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_algorithm_branches.py +0 -0
  536. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_algorithms_deep_coverage.py +0 -0
  537. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_algorithms_error_paths.py +0 -0
  538. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_algorithms_integration.py +0 -0
  539. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_algorithms_new_paths.py +0 -0
  540. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_api_completeness.py +0 -0
  541. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_arno_bridge_mock_paths.py +0 -0
  542. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_arno_bridge_paths.py +0 -0
  543. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_arno_store_layer.py +0 -0
  544. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_bidirectional_ppr.py +0 -0
  545. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_bulk_load_session.py +0 -0
  546. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_bulk_loader_live.py +0 -0
  547. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_cls_layer.py +0 -0
  548. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_coverage_final_push.py +0 -0
  549. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_coverage_push_final.py +0 -0
  550. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_cypher_advanced.py +0 -0
  551. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_cypher_api_e2e.py +0 -0
  552. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_cypher_api_exception_paths.py +0 -0
  553. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_cypher_enhancements.py +0 -0
  554. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_cypher_multi_type.py +0 -0
  555. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_cypher_rd.py +0 -0
  556. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_cypher_rel_vars.py +0 -0
  557. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_cypher_single_type.py +0 -0
  558. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_cypher_untyped.py +0 -0
  559. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_cypher_vector_search.py +0 -0
  560. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_diabolical_qa.py +0 -0
  561. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_doc_claims.py +0 -0
  562. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_embed_queue_e2e.py +0 -0
  563. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_embeddings_api.py +0 -0
  564. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_embeddings_integration.py +0 -0
  565. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_embeddings_paths.py +0 -0
  566. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_engine_misc_paths.py +0 -0
  567. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_engine_utils_paths.py +0 -0
  568. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_fastapi_graphql.py +0 -0
  569. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_fhir_bridges_integration.py +0 -0
  570. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_fhir_event_sidecar.py +0 -0
  571. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_fusion_dbapi_bulk.py +0 -0
  572. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_gql_resolvers_live.py +0 -0
  573. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_index_consistency_e2e.py +0 -0
  574. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_lazykg_algorithms.py +0 -0
  575. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_lazykg_fallback_forced.py +0 -0
  576. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_named_paths_integration.py +0 -0
  577. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_nodepk_advanced_benchmarks.py +0 -0
  578. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_nodepk_constraints.py +0 -0
  579. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_nodepk_graph_analytics.py +0 -0
  580. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_nodepk_migration.py +0 -0
  581. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_nodepk_performance.py +0 -0
  582. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_nodepk_production_scale.py +0 -0
  583. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_nodes_edges_and_algo_paths.py +0 -0
  584. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_nodes_edges_deep.py +0 -0
  585. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_objectscript_classes.py +0 -0
  586. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_pagerank_sql_optimization.py +0 -0
  587. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_query_deep.py +0 -0
  588. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_query_engine_branches.py +0 -0
  589. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_query_engine_special.py +0 -0
  590. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_query_fastpaths.py +0 -0
  591. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_query_paths_deep.py +0 -0
  592. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_query_special_patterns.py +0 -0
  593. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_rdf_semantic_layer_e2e.py +0 -0
  594. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_reification_integration.py +0 -0
  595. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_remaining_paths.py +0 -0
  596. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_schema_and_engine_procs.py +0 -0
  597. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_schema_deep.py +0 -0
  598. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_schema_migration.py +0 -0
  599. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_snapshot_deep.py +0 -0
  600. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_snapshot_import_export.py +0 -0
  601. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_snapshot_paths.py +0 -0
  602. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_sql_parameterization.py +0 -0
  603. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_sql_store_direct.py +0 -0
  604. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_sql_store_paths.py +0 -0
  605. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_store_algorithms.py +0 -0
  606. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_store_bfs_deep.py +0 -0
  607. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_store_exception_paths.py +0 -0
  608. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_store_write_paths.py +0 -0
  609. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_stored_procedure_install.py +0 -0
  610. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_subquery_call_integration.py +0 -0
  611. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_vector_advanced_paths.py +0 -0
  612. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_vector_engine_deep.py +0 -0
  613. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_vector_index_paths.py +0 -0
  614. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_vector_index_paths2.py +0 -0
  615. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_vector_optimizer_live.py +0 -0
  616. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/integration/test_vector_paths.py +0 -0
  617. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/perf/__init__.py +0 -0
  618. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/perf/test_betweenness_vs_gds.py +0 -0
  619. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/perf/test_head_to_head.py +0 -0
  620. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/perf/test_leiden_four_way.py +0 -0
  621. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/performance/conftest.py +0 -0
  622. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/performance/scale_benchmark.py +0 -0
  623. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/performance/test_ppr_stress.py +0 -0
  624. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/performance/test_stress_v1_5.py +0 -0
  625. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/python/run_all_tests.py +0 -0
  626. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/python/test_iris_rest_api.py +0 -0
  627. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/python/test_networkx_loader.py +0 -0
  628. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/python/test_performance_benchmarks.py +0 -0
  629. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/python/test_pyops_vector_conversion.py +0 -0
  630. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/python/test_python_operators.py +0 -0
  631. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/python/test_python_sdk.py +0 -0
  632. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/python/test_schema_validation.py +0 -0
  633. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/python/test_sql_queries.py +0 -0
  634. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/python/test_vector_functions.py +0 -0
  635. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/regression/__init__.py +0 -0
  636. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/regression/engine_api_baseline.json +0 -0
  637. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/regression/test_complexity.py +0 -0
  638. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/regression/test_engine_api.py +0 -0
  639. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/regression/test_module_size.py +0 -0
  640. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/regression/test_no_silent_swallow.py +0 -0
  641. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/test_schema_contract.py +0 -0
  642. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/cypher/__init__.py +0 -0
  643. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/cypher/test_lexer.py +0 -0
  644. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/cypher/test_lexer_advanced.py +0 -0
  645. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/cypher/test_parser.py +0 -0
  646. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/cypher/test_parser_advanced.py +0 -0
  647. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_193_bfs_nkg_fast_path.py +0 -0
  648. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_194_readme.py +0 -0
  649. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_admin_remaining.py +0 -0
  650. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_admin_unit.py +0 -0
  651. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_algorithm_warning_paths.py +0 -0
  652. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_algorithms_extended_unit.py +0 -0
  653. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_algorithms_large_graph_warn.py +0 -0
  654. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_algorithms_unit.py +0 -0
  655. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_api_security.py +0 -0
  656. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_aql_lexer.py +0 -0
  657. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_aql_parser.py +0 -0
  658. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_aql_translator.py +0 -0
  659. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_aql_translator_extra.py +0 -0
  660. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_arno_bridge.py +0 -0
  661. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_batch_mutations.py +0 -0
  662. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_betweenness_os_unit.py +0 -0
  663. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_bfs_arno.py +0 -0
  664. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_bm25_index.py +0 -0
  665. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_bolt_relationship_encoding.py +0 -0
  666. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_bolt_server.py +0 -0
  667. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_bulk_load_session.py +0 -0
  668. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_bulk_loader_coverage.py +0 -0
  669. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_bulk_loader_unit.py +0 -0
  670. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_centrality_translator.py +0 -0
  671. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_centrality_unit.py +0 -0
  672. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cli.py +0 -0
  673. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_closeness_os_unit.py +0 -0
  674. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cls_deployment.py +0 -0
  675. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_communities_translator.py +0 -0
  676. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_communities_unit.py +0 -0
  677. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_concept_first_status.py +0 -0
  678. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_coverage_boost.py +0 -0
  679. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cypher_api_admin.py +0 -0
  680. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cypher_api_coverage.py +0 -0
  681. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cypher_api_extra.py +0 -0
  682. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cypher_benchmark.py +0 -0
  683. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cypher_benchmark_scale.py +0 -0
  684. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cypher_case_when.py +0 -0
  685. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cypher_e2e_new_features.py +0 -0
  686. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cypher_functions.py +0 -0
  687. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cypher_parser.py +0 -0
  688. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cypher_posos_bugs.py +0 -0
  689. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cypher_procedures.py +0 -0
  690. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cypher_translator.py +0 -0
  691. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cypher_union_exists.py +0 -0
  692. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cypher_var_length.py +0 -0
  693. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_cypher_vector_search.py +0 -0
  694. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_dbapi_utils_unit.py +0 -0
  695. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_drift_detector.py +0 -0
  696. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_edge_embeddings.py +0 -0
  697. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_edgeprop_ndjson.py +0 -0
  698. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_embed_nodes_params.py +0 -0
  699. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_embed_queue_unit.py +0 -0
  700. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_embed_selector.py +0 -0
  701. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_embed_selector_unit.py +0 -0
  702. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_embedded.py +0 -0
  703. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_embedded_wgproto.py +0 -0
  704. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_embeddings_remaining.py +0 -0
  705. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_embeddings_unit.py +0 -0
  706. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_engine_deep.py +0 -0
  707. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_engine_dimension_fix.py +0 -0
  708. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_engine_embeddings.py +0 -0
  709. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_engine_mocked.py +0 -0
  710. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_engine_status.py +0 -0
  711. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_engine_unit.py +0 -0
  712. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_error_model.py +0 -0
  713. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_fhir_bridge.py +0 -0
  714. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_fhir_bridges.py +0 -0
  715. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_fhir_event_sidecar.py +0 -0
  716. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_gds_shims.py +0 -0
  717. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_get_nodes.py +0 -0
  718. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_gql_coverage.py +0 -0
  719. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_gql_edge_cases.py +0 -0
  720. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_gql_resolver_bodies.py +0 -0
  721. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_graph_kernels.py +0 -0
  722. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_graphql_dataloader.py +0 -0
  723. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_index_config.py +0 -0
  724. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_index_handle.py +0 -0
  725. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_index_protocol.py +0 -0
  726. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_ingest_formats.py +0 -0
  727. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_introspection_api.py +0 -0
  728. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_ivf_index.py +0 -0
  729. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_ivgresult.py +0 -0
  730. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_khop_dispatch.py +0 -0
  731. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_lazy_kg.py +0 -0
  732. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_module_coverage.py +0 -0
  733. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_named_graphs.py +0 -0
  734. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_named_paths.py +0 -0
  735. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_nodes_edges_unit.py +0 -0
  736. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_operators_coverage.py +0 -0
  737. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_operators_wiring.py +0 -0
  738. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_parse_cache.py +0 -0
  739. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_plaid_search.py +0 -0
  740. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_ppr_guided_subgraph.py +0 -0
  741. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_predicate_order.py +0 -0
  742. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_prov_export.py +0 -0
  743. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_query_extra_unit.py +0 -0
  744. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_query_fastpath_unit.py +0 -0
  745. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_query_unit.py +0 -0
  746. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_rdf_coverage_boost.py +0 -0
  747. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_rdf_export.py +0 -0
  748. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_reification.py +0 -0
  749. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_retrieve_and_vector_distance.py +0 -0
  750. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_schema_engine_unit.py +0 -0
  751. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_schema_init.py +0 -0
  752. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_schema_procedures.py +0 -0
  753. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_schema_remaining.py +0 -0
  754. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_schema_unit.py +0 -0
  755. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_sdk.py +0 -0
  756. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_sdk_async.py +0 -0
  757. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_sdk_coverage.py +0 -0
  758. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_shacl_validation.py +0 -0
  759. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_shortest_path.py +0 -0
  760. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_snapshot.py +0 -0
  761. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_snapshot_restore_unit.py +0 -0
  762. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_snapshot_unit.py +0 -0
  763. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_sql_splitter.py +0 -0
  764. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_sql_store_unit.py +0 -0
  765. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_sql_table_bridge.py +0 -0
  766. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_store_protocol.py +0 -0
  767. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_structural_guard.py +0 -0
  768. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_structural_guard_e2e.py +0 -0
  769. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_subgraph.py +0 -0
  770. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_subquery_call.py +0 -0
  771. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_supporting_modules.py +0 -0
  772. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_sync_model.py +0 -0
  773. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_temporal_cypher.py +0 -0
  774. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_temporal_edges.py +0 -0
  775. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_temporal_unit.py +0 -0
  776. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_translator_coverage.py +0 -0
  777. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_translator_deep_coverage.py +0 -0
  778. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_translator_extended.py +0 -0
  779. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_translator_gaps.py +0 -0
  780. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_unified_edge_store.py +0 -0
  781. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_utilities_final.py +0 -0
  782. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_utils_coverage.py +0 -0
  783. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_validation.py +0 -0
  784. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_vector_search_routing.py +0 -0
  785. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/tests/unit/test_vector_unit.py +0 -0
  786. {iris_vector_graph-2.4.1 → iris_vector_graph-2.4.3}/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.1
3
+ Version: 2.4.3
4
4
  Summary: Transactional Graph + Vector retrieval system for InterSystems IRIS with hybrid search, openCypher, and GraphQL APIs
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
@@ -459,7 +459,11 @@ class NodesEdgesMixin:
459
459
  graph: Optional named graph identifier.
460
460
 
461
461
  Returns:
462
- True if the edge was created or already existed, False on error.
462
+ True if a NEW edge was created. False if the edge already existed
463
+ (UNIQUE violation, swallowed safely) OR on error. The duplicate case is
464
+ safe and never raises — but it is NOT distinguishable from an error by the
465
+ return value, so callers that re-create edges defensively should call
466
+ create_edge unconditionally and not gate success on the return value.
463
467
  """
464
468
  EdgeInput(source_id=source_id, predicate=predicate, target_id=target_id)
465
469
  cursor = self.conn.cursor()
@@ -355,8 +355,11 @@ class QueryMixin:
355
355
  max_hops = vl0.get("max_hops", 5)
356
356
  direction = vl0.get("direction", "out")
357
357
  def _extract_limit(s: str) -> int:
358
- # IRIS SQL uses FETCH FIRST N ROWS ONLY; fall back to LIMIT N
358
+ # IRIS SQL uses FETCH FIRST N ROWS ONLY; the build-106 %qaqpre workaround
359
+ # emits SELECT TOP N instead; fall back to LIMIT N.
359
360
  m = _re.search(r"FETCH\s+FIRST\s+(\d+)\s+ROWS\s+ONLY", s, _re.IGNORECASE)
361
+ if not m:
362
+ m = _re.search(r"\bSELECT\s+(?:DISTINCT\s+)?TOP\s+(\d+)\b", s, _re.IGNORECASE)
360
363
  if not m:
361
364
  m = _re.search(r"\bLIMIT\s+(\d+)", s, _re.IGNORECASE)
362
365
  return int(m.group(1)) if m else 0
@@ -563,8 +566,11 @@ class QueryMixin:
563
566
  import re as _re
564
567
  sql_str = sql_query.sql if isinstance(sql_query.sql, str) else (sql_query.sql[0] if sql_query.sql else "")
565
568
  if sql_query.sql:
566
- # IRIS SQL uses "FETCH FIRST N ROWS ONLY" (not LIMIT N)
569
+ # IRIS SQL uses "FETCH FIRST N ROWS ONLY"; the build-106 %qaqpre workaround
570
+ # emits SELECT TOP N instead; fall back to LIMIT N.
567
571
  m = _re.search(r"FETCH\s+FIRST\s+(\d+)\s+ROWS\s+ONLY", sql_str, _re.IGNORECASE)
572
+ if not m:
573
+ m = _re.search(r"\bSELECT\s+(?:DISTINCT\s+)?TOP\s+(\d+)\b", sql_str, _re.IGNORECASE)
568
574
  if not m:
569
575
  m = _re.search(r"\bLIMIT\s+(\d+)", sql_str, _re.IGNORECASE)
570
576
  if m:
@@ -1044,9 +1044,14 @@ def _maybe_split_deep_joins(sql: str, params: list, context) -> str:
1044
1044
  if join_count <= JOIN_THRESHOLD:
1045
1045
  return sql
1046
1046
  import re as _re
1047
- select_m = _re.match(r'(SELECT\s+(?:DISTINCT\s+)?)(.*?)(\nFROM\s)', sql, _re.DOTALL)
1047
+ # Capture an optional `TOP n` in the prefix (the FETCH-FIRST-+-JOIN workaround emits
1048
+ # SELECT [DISTINCT] TOP n) so it stays attached to the SELECT keyword and is not
1049
+ # swept into the column list.
1050
+ select_m = _re.match(r'(SELECT\s+(?:DISTINCT\s+)?(?:TOP\s+\d+\s+)?)(.*?)(\nFROM\s)', sql, _re.DOTALL)
1048
1051
  if not select_m:
1049
1052
  return sql
1053
+ # select_prefix carries any DISTINCT and TOP n; both propagate to the outer wrapper
1054
+ # (line below), so the CTE wrap preserves the row cap from the TOP workaround.
1050
1055
  select_prefix = select_m.group(1)
1051
1056
  select_cols = select_m.group(2).strip()
1052
1057
  has_agg = bool(_re.search(r'\b(AVG|SUM|COUNT|MIN|MAX|STDEV|JSON_ARRAYAGG)\s*\(', select_cols))
@@ -1543,6 +1548,27 @@ def apply_pagination(
1543
1548
  if limit is not None or skip is not None:
1544
1549
  if "\nFROM " not in sql and "FROM " not in sql.split("\n")[0]:
1545
1550
  sql = sql.rstrip() + "\nFROM (SELECT 1) __dual"
1551
+ # Build-106 workaround: IRIS 2026.3.0AI build 106 SIGSEGVs in %qaqpre when a
1552
+ # multi-table JOIN is combined with `FETCH FIRST n ROWS ONLY` on VARCHAR-keyed
1553
+ # tables (the ivg schema). `SELECT TOP n` does NOT crash. When the engine has
1554
+ # detected the bug (engine._fetch_first_unsafe, set by a connect-time probe) and
1555
+ # there is a LIMIT with NO SKIP (TOP cannot express OFFSET), emit TOP instead.
1556
+ engine = getattr(context, "_engine", None)
1557
+ fetch_first_unsafe = bool(getattr(engine, "_fetch_first_unsafe", False))
1558
+ if (
1559
+ limit is not None
1560
+ and skip is None
1561
+ and fetch_first_unsafe
1562
+ and sql.lstrip().upper().startswith("SELECT ")
1563
+ and " TOP " not in sql.split("\n", 1)[0].upper()
1564
+ ):
1565
+ # Inject `TOP n` right after the leading SELECT (and after DISTINCT if present).
1566
+ head, sep, rest = sql.partition("SELECT ")
1567
+ if rest[:9].upper().startswith("DISTINCT "):
1568
+ rest = "DISTINCT " + f"TOP {limit} " + rest[9:]
1569
+ else:
1570
+ rest = f"TOP {limit} " + rest
1571
+ return head + sep + rest
1546
1572
  if limit is not None:
1547
1573
  sql += f"\nFETCH FIRST {limit} ROWS ONLY"
1548
1574
  if skip is not None:
@@ -143,6 +143,7 @@ class IRISGraphEngine(RdfExportMixin, ShaclMixin, ProvMixin, TemporalMixin, Snap
143
143
  self._rel_mapping_cache: Optional[Dict[tuple, dict]] = None
144
144
  self._connection_params: Optional[Dict[str, Any]] = None
145
145
  self._nkg_dirty: bool = False
146
+ self._fetch_first_unsafe_cached: Optional[bool] = None # build-106 %qaqpre probe (lazy)
146
147
  self._native_conn = None # dedicated connection for iris.createIRIS — never used for cursor DDL
147
148
  self._index_registry: Dict[str, str] = self._build_index_registry()
148
149
  self._pending_index_config: Dict[str, Any] = {}
@@ -209,6 +210,69 @@ class IRISGraphEngine(RdfExportMixin, ShaclMixin, ProvMixin, TemporalMixin, Snap
209
210
  )
210
211
  return cls(conn, embedding_dimension=embedding_dimension, **kwargs)
211
212
 
213
+ @property
214
+ def _fetch_first_unsafe(self) -> bool:
215
+ """True when this IRIS build SIGSEGVs in %qaqpre on a multi-table JOIN combined
216
+ with `FETCH FIRST n ROWS ONLY` (observed on irishealth 2026.3.0AI build 106).
217
+
218
+ Detected once and cached. Primary signal is a behavioral probe run in a
219
+ SUBPROCESS (the crash is a hard SIGSEGV — uncatchable in-process), gated on
220
+ having stored connection params. Falls back to a $ZVERSION build check when a
221
+ subprocess probe is not possible (e.g. embedded context). Defaults to safe
222
+ (False) if neither can determine — `TOP` is only a workaround, never required.
223
+ """
224
+ if self._fetch_first_unsafe_cached is None:
225
+ self._fetch_first_unsafe_cached = self._detect_fetch_first_unsafe()
226
+ return self._fetch_first_unsafe_cached
227
+
228
+ def _detect_fetch_first_unsafe(self) -> bool:
229
+ # Subprocess behavioral probe (most reliable): run the crashing shape against a
230
+ # VARCHAR-keyed temp table; SIGSEGV (rc -11 / 139) => unsafe.
231
+ if self._connection_params:
232
+ try:
233
+ import subprocess, sys, json
234
+ cp = json.dumps(self._connection_params)
235
+ script = (
236
+ "import iris, json, sys\n"
237
+ f"cp = json.loads(r'''{cp}''')\n"
238
+ "c = iris.dbapi.connect(**cp); cur = c.cursor()\n"
239
+ "for d in ['CREATE TABLE ivg_ff_probe_a (id VARCHAR(64))',"
240
+ "'CREATE TABLE ivg_ff_probe_b (sid VARCHAR(64))']:\n"
241
+ " try: cur.execute(d)\n"
242
+ " except Exception: pass\n"
243
+ "cur.execute('SELECT a.id FROM ivg_ff_probe_a a JOIN ivg_ff_probe_b b "
244
+ "ON b.sid=a.id FETCH FIRST 1 ROWS ONLY'); cur.fetchall()\n"
245
+ "print('OK')\n"
246
+ )
247
+ r = subprocess.run([sys.executable, "-c", script],
248
+ capture_output=True, text=True, timeout=60)
249
+ if r.returncode in (-11, 139, -6, 134):
250
+ logger.warning(
251
+ "IRIS build SIGSEGVs in %%qaqpre on FETCH FIRST + multi-table JOIN "
252
+ "(observed on 2026.2.0AI and 2026.3.0AI AI builds); ivg will emit "
253
+ "TOP for LIMIT-only queries to avoid the crash."
254
+ )
255
+ return True
256
+ return False
257
+ except Exception as e:
258
+ logger.debug("fetch-first probe failed, falling back to version check: %s", e)
259
+ # Fallback: $ZVERSION check (no crash risk) when a subprocess probe is not
260
+ # possible (e.g. embedded context with no stored connection params). The bug
261
+ # has been observed on the IRIS "AI" build line (2026.2.0AI build 161 and
262
+ # 2026.3.0AI build 106); treat AI builds as unsafe conservatively. Non-AI
263
+ # builds are assumed safe (FETCH FIRST retained). If a future build fixes it,
264
+ # this fallback can be narrowed — the subprocess probe remains authoritative.
265
+ try:
266
+ cur = self.conn.cursor()
267
+ cur.execute("SELECT $ZVERSION")
268
+ ver = str(cur.fetchone()[0])
269
+ import re as _re
270
+ if _re.search(r"20\d\d\.\d+\.\d+AI", ver):
271
+ return True
272
+ except Exception:
273
+ pass
274
+ return False
275
+
212
276
  def _reconnect_if_stale(self) -> None:
213
277
  try:
214
278
  cur = self.conn.cursor()
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "iris-vector-graph"
7
- version = "2.4.1"
7
+ version = "2.4.3"
8
8
  description = "Transactional Graph + Vector retrieval system for InterSystems IRIS with hybrid search, openCypher, and GraphQL APIs"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -20,22 +20,22 @@ pytest -m performance
20
20
 
21
21
  The `iris_test_container` fixture (session scope) manages the container lifecycle:
22
22
 
23
- 1. **Attach or Start**: If a container named `iris-vector-graph-main` is already running, attaches to it via `IRISContainer.attach()`. Otherwise starts a fresh container.
24
- 2. **Ready**: Waits for the IRIS SuperServer to be ready (180s timeout).
25
- 3. **Initialize**: Automatically creates the `Graph_KG` schema, tables, views, and loads ObjectScript classes.
26
- 4. **Security**: Creates a dedicated **`test`** user with password **`test`** and ensures password expiry is disabled.
27
- 5. **Verify**: Blocks until a real `test`/`test` connection succeeds — no test module ever races on a not-yet-ready container.
28
- 6. **Execute**: Runs the requested tests.
29
- 7. **Tear down**: Stops containers that were started by the fixture; leaves pre-existing containers running.
23
+ 1. **Attach or Start**: If a container named `iris-vector-graph-main` is already running, attaches to it via `IRISContainer.attach()`. Otherwise starts a fresh container.
24
+ 2. **Ready**: Waits for the IRIS SuperServer to be ready (180s timeout).
25
+ 3. **Initialize**: Automatically creates the `Graph_KG` schema, tables, views, and loads ObjectScript classes.
26
+ 4. **Security**: Creates a dedicated **`test`** user with password **`test`** and ensures password expiry is disabled.
27
+ 5. **Verify**: Blocks until a real `test`/`test` connection succeeds — no test module ever races on a not-yet-ready container.
28
+ 6. **Execute**: Runs the requested tests.
29
+ 7. **Tear down**: Stops containers that were started by the fixture; leaves pre-existing containers running.
30
30
 
31
31
  ## Key Fixtures
32
32
 
33
- | Fixture | Scope | Description |
34
- | --------------------- | -------- | ---------------------------------------------------------------------------------------------- |
35
- | `iris_test_container` | Session | Managed IRIS container for the entire test session. |
36
- | `iris_connection` | Module | Reusable DBAPI connection from the managed container. |
37
- | `iris_cursor` | Function | Fresh cursor with automatic rollback isolation. |
38
- | `clean_test_data` | Function | Provides a unique prefix (e.g., `TEST_abc123:`) and auto-deletes matching data after the test. |
33
+ | Fixture | Scope | Description |
34
+ |---------|-------|-------------|
35
+ | `iris_test_container` | Session | Managed IRIS container for the entire test session. |
36
+ | `iris_connection` | Module | Reusable DBAPI connection from the managed container. |
37
+ | `iris_cursor` | Function | Fresh cursor with automatic rollback isolation. |
38
+ | `clean_test_data` | Function | Provides a unique prefix (e.g., `TEST_abc123:`) and auto-deletes matching data after the test. |
39
39
 
40
40
  ## Writing New Tests
41
41
 
@@ -49,64 +49,55 @@ def test_my_feature(iris_connection, clean_test_data):
49
49
  """Test with managed container and auto-cleanup."""
50
50
  prefix = clean_test_data
51
51
  cursor = iris_connection.cursor()
52
-
52
+
53
53
  # Create test data using the unique prefix
54
54
  cursor.execute(
55
55
  "INSERT INTO nodes (node_id) VALUES (?)",
56
56
  (f"{prefix}node1",)
57
57
  )
58
58
  iris_connection.commit()
59
-
59
+
60
60
  # Assertions
61
61
  cursor.execute("SELECT COUNT(*) FROM nodes WHERE node_id LIKE ?", (f"{prefix}%",))
62
62
  assert cursor.fetchone()[0] == 1
63
-
63
+
64
64
  # No need to manual cleanup - clean_test_data fixture handles it!
65
65
  ```
66
66
 
67
67
  ## Configuration
68
68
 
69
- | Environment Variable | Default | Description |
70
- | -------------------- | ------- | --------------------------- |
71
- | `IRIS_TEST_TIMEOUT` | `180` | Startup timeout in seconds. |
69
+ | Environment Variable | Default | Description |
70
+ |----------------------|---------|-------------|
71
+ | `IRIS_TEST_TIMEOUT` | `180` | Startup timeout in seconds. |
72
72
 
73
73
  ## Troubleshooting
74
74
 
75
75
  ### "Password change required" or "Access Denied"
76
-
77
76
  IRIS Community Edition often enforces a password change on first login. The test infrastructure automatically handles this by:
78
-
79
77
  1. Creating a dedicated `test`/`test` user with `%ALL` roles.
80
78
  2. Forcefully clearing `ChangePassword` and `PasswordNeverExpires` flags via ObjectScript.
81
79
 
82
80
  If you encounter this when connecting manually:
83
-
84
81
  - Use the **`test`** user instead of `_SYSTEM`.
85
82
  - Or reset the `_SYSTEM` password: `Set usr = ##class(Security.Users).%OpenId("_SYSTEM"), usr.ChangePassword=0, usr.PasswordNeverExpires=1 Do usr.%Save()`
86
83
 
87
84
  ### Schema (`Graph_KG`)
88
-
89
85
  All tables are created in the **`Graph_KG`** schema with views mirrored into `SQLUser` for unqualified access. Use fully-qualified names in tests (`Graph_KG.nodes`) or the unqualified view aliases (`nodes`, `rdf_edges`, etc.).
90
86
 
91
87
  ### "AttributeError: module 'iris' has no attribute 'connect'"
92
-
93
88
  This used to happen because of a naming conflict with the `iris/` directory. That directory has been renamed to `iris_src/`, so `import iris` should now work correctly.
94
89
 
95
90
  The `iris_connection` fixture handles connection management for you.
96
91
 
97
92
  ### Resetting the Environment
98
-
99
93
  If the test container gets into a bad state:
100
-
101
94
  ```bash
102
95
  docker rm -f iris-vector-graph-main
103
96
  pytest
104
97
  ```
105
98
 
106
99
  ### Production-Scale Benchmarks
107
-
108
100
  The `test_nodepk_production_scale` tests create 100K nodes / 500K edges and are **skipped by default** to avoid multi-minute runtimes and segfaults under memory pressure. To run them:
109
-
110
101
  ```bash
111
102
  RUN_PRODUCTION_SCALE=1 pytest tests/integration/test_nodepk_production_scale.py
112
103
  ```
@@ -114,7 +105,6 @@ RUN_PRODUCTION_SCALE=1 pytest tests/integration/test_nodepk_production_scale.py
114
105
  ## Constitutional Compliance
115
106
 
116
107
  This infrastructure enforces **Principle II: Test-First with Live Database**:
117
-
118
108
  - ✅ All `@pytest.mark.requires_database` tests hit real IRIS.
119
109
  - ✅ No mocked database for integration tests.
120
110
  - ✅ Schema automatically initialized.
@@ -1,7 +1,6 @@
1
1
  # IVG Benchmark Suite (Spec 093)
2
2
 
3
3
  Repeatable benchmark harness measuring IVG traversal performance:
4
-
5
4
  - `ivg-os`: ObjectScript `BFSFastJson` over `^KG` globals
6
5
  - `ivg-arno`: Rust `NKGAccel.BFSJson` over `^NKG` integer adjacency (enterprise IRIS only)
7
6
 
@@ -42,11 +41,9 @@ Arno (Rust BFS via `NKGAccel.BFSJson`) requires enterprise IRIS with `libarno_ca
42
41
  deployed to the IRIS manager directory. Community IRIS reports `arno BFS not available`.
43
42
 
44
43
  To run with arno:
45
-
46
44
  ```bash
47
45
  IRIS_PORT=64780 conda run -n py312 python bench.py --datasets M --skip-load
48
46
  ```
49
-
50
47
  (assumes IVG classes and graph data already loaded in enterprise container)
51
48
 
52
49
  ## Output
@@ -57,14 +54,14 @@ JSON result files are gitignored.
57
54
 
58
55
  ## Query catalog
59
56
 
60
- | ID | Pattern | Engine path |
61
- | --- | -------------------------------- | ------------------------------ |
62
- | Q1 | 1-hop count (SQL MATCH) | IRISGraphEngine.execute_cypher |
63
- | Q2 | 2-hop BFS, DISTINCT nodes | BFSFastJson / NKGAccel.BFSJson |
64
- | Q3 | 3-hop BFS | same |
65
- | Q4 | 4-hop BFS | same (MAXSTRING risk on M+) |
66
- | Q5 | shortestPath (unweighted BFS) | ShortestPathJson |
67
- | Q6 | weighted shortestPath (Dijkstra) | ivg.shortestPath.weighted |
57
+ | ID | Pattern | Engine path |
58
+ |----|---------|-------------|
59
+ | Q1 | 1-hop count (SQL MATCH) | IRISGraphEngine.execute_cypher |
60
+ | Q2 | 2-hop BFS, DISTINCT nodes | BFSFastJson / NKGAccel.BFSJson |
61
+ | Q3 | 3-hop BFS | same |
62
+ | Q4 | 4-hop BFS | same (MAXSTRING risk on M+) |
63
+ | Q5 | shortestPath (unweighted BFS) | ShortestPathJson |
64
+ | Q6 | weighted shortestPath (Dijkstra) | ivg.shortestPath.weighted |
68
65
 
69
66
  ## Known limitations
70
67
 
@@ -0,0 +1,146 @@
1
+ """Subprocess-isolated guard against the intersystems-iris driver SIGSEGV
2
+ (DP-451209 family) on the multi-JOIN parameterized SELECT shape that ivg's Cypher
3
+ translator generates.
4
+
5
+ WHY A SUBPROCESS: the failure mode is a NATIVE SIGSEGV in the driver's
6
+ cursor.execute — it kills the Python process with NO exception and NO pytest FAIL
7
+ (it reports as "0% coverage / process died"). A normal test cannot assert against a
8
+ crash that erases the test process. So we run the suspect query in a CHILD process and
9
+ assert the child did not die with signal 11 (exit code -11 / 139). If the driver
10
+ regresses to crashing, THIS test fails visibly instead of silently killing the suite.
11
+
12
+ Reference: productivity-framework/specs/058-memory-recall-bridge/IRISPYTHON_SEGFAULT_REPORT.md
13
+ (report filed against intersystems-iris 5.3.3; ivg generates valid SQL — the driver
14
+ crashes executing it). ivg owns the SQL generator, so it owns this regression guard.
15
+
16
+ The crashing shape (translator.py): 2 LEFT JOINs to rdf_props on different "key" params
17
+ (L3167/3180/3221) + an EXISTS structural guard (L294) + a param-concat LIKE (L2758) +
18
+ FETCH FIRST, with multiple positional params.
19
+
20
+ SCOPE / KNOWN LIMITATION: the report's crash is SCALE-DEPENDENT — it reproduced against
21
+ ~1.1M nodes / 3.1M edges, where the driver picks a particular plan. On the small fixture
22
+ data here the same shape does NOT crash (different plan), so these tests do NOT reproduce
23
+ the original bug. What they DO guard: that this exact query shape, through both the raw
24
+ driver and ivg's execute_cypher, never SIGSEGVs the host on representative data — i.e.
25
+ they catch a regression to "crashes even on small data," and they make the shape an
26
+ explicit, runnable artifact. A faithful repro needs a large dataset; gate that behind
27
+ IVG_SEGFAULT_SCALE_TEST=1 with a pre-loaded large graph (not run by default — too heavy).
28
+ """
29
+ import os
30
+ import sys
31
+ import subprocess
32
+ import textwrap
33
+ import pytest
34
+
35
+ SKIP_IRIS_TESTS = os.environ.get("SKIP_IRIS_TESTS", "false").lower() == "true"
36
+
37
+ pytestmark = pytest.mark.skipif(SKIP_IRIS_TESTS, reason="SKIP_IRIS_TESTS=true")
38
+
39
+ # signal 11 (SIGSEGV) shows up as returncode -11 (POSIX) or 139 (shell convention).
40
+ SEGV_RETURNCODES = {-11, 139}
41
+
42
+
43
+ def _conn_params(conn):
44
+ """Pull host/port/namespace/creds off the live test connection for the subprocess."""
45
+ return {
46
+ "hostname": getattr(conn, "hostname", "localhost"),
47
+ "port": int(getattr(conn, "port", os.environ.get("IVG_PORT", "21972"))),
48
+ "namespace": getattr(conn, "namespace", "USER"),
49
+ "username": getattr(conn, "username", "_SYSTEM"),
50
+ "password": getattr(conn, "password", "SYS"),
51
+ }
52
+
53
+
54
+ def _run_in_subprocess(body: str, params: dict) -> subprocess.CompletedProcess:
55
+ script = textwrap.dedent(f"""
56
+ import faulthandler, sys
57
+ faulthandler.enable()
58
+ import iris # the wrapper's unified iris (base dep)
59
+ conn = iris.dbapi.connect(
60
+ hostname={params['hostname']!r}, port={params['port']},
61
+ namespace={params['namespace']!r},
62
+ username={params['username']!r}, password={params['password']!r},
63
+ )
64
+ {body}
65
+ print("SUBPROCESS_OK")
66
+ """)
67
+ return subprocess.run(
68
+ [sys.executable, "-c", script],
69
+ capture_output=True, text=True, timeout=120,
70
+ )
71
+
72
+
73
+ class TestDriverSegfaultGuard:
74
+ def test_raw_crash_shape_does_not_segfault(self, iris_connection):
75
+ """The report's minimal raw-driver repro, run in a child process. We assert the
76
+ child does not die with SIGSEGV. (It may raise a clean SQL error or return rows —
77
+ both are acceptable; a SIGSEGV is not.)"""
78
+ params = _conn_params(iris_connection)
79
+ body = textwrap.dedent('''
80
+ cur = conn.cursor()
81
+ sql = (
82
+ "SELECT n0.node_id AS f_id, p4.val AS f_posted_at "
83
+ "FROM Graph_KG.nodes n0 "
84
+ "JOIN Graph_KG.rdf_edges e2 ON e2.s = n0.node_id AND e2.p = ? "
85
+ "JOIN Graph_KG.nodes n1 ON n1.node_id = e2.o_id "
86
+ "LEFT JOIN Graph_KG.rdf_props p3 ON p3.s = n0.node_id AND p3.\\"key\\" = ? "
87
+ "LEFT JOIN Graph_KG.rdf_props p4 ON p4.s = n0.node_id AND p4.\\"key\\" = ? "
88
+ "WHERE EXISTS (SELECT 1 FROM Graph_KG.rdf_props _sgn0 "
89
+ "WHERE _sgn0.s = n0.node_id AND _sgn0.\\"key\\" = 'title') "
90
+ "AND ((n0.node_id LIKE (? || '%') AND p3.val = ?) AND n1.node_id = ?) "
91
+ "FETCH FIRST 1 ROWS ONLY"
92
+ )
93
+ params = ['IN_PROJECT', 'title', 'posted_at', 'seg:', 'x', 'seg:target']
94
+ try:
95
+ cur.execute(sql, params)
96
+ cur.fetchall()
97
+ except Exception as e:
98
+ # A clean exception is fine — the driver bug is the CRASH, not an error.
99
+ print("SUBPROCESS_SQL_EXCEPTION:", type(e).__name__)
100
+ ''')
101
+ result = _run_in_subprocess(body, params)
102
+ assert result.returncode not in SEGV_RETURNCODES, (
103
+ "intersystems-iris driver SIGSEGV on the multi-JOIN parameterized SELECT "
104
+ f"shape (DP-451209 family). returncode={result.returncode}\n"
105
+ f"stderr tail:\n{result.stderr[-800:]}"
106
+ )
107
+
108
+ def test_cypher_path_crash_shape_does_not_segfault(self, engine, iris_connection):
109
+ """The CONSUMER path: a Cypher query through execute_cypher that ivg translates
110
+ to the crashing shape (LIKE-prefix on id + two property projections + a related
111
+ node). Built on real (small) fixture data. Asserts no host SIGSEGV."""
112
+ # Seed a tiny graph with the property/edge shape the query touches.
113
+ eng = engine
114
+ try:
115
+ eng.create_node("seg:a")
116
+ eng.create_node("seg:target")
117
+ eng.set_node_property("seg:a", "title", "hello")
118
+ eng.set_node_property("seg:a", "posted_at", "2026-06-27")
119
+ eng.create_edge("seg:a", "IN_PROJECT", "seg:target")
120
+ except Exception:
121
+ pass # best-effort seed; the point is the query shape, not the data
122
+
123
+ params = _conn_params(iris_connection)
124
+ body = textwrap.dedent('''
125
+ from iris_vector_graph.engine import IRISGraphEngine, set_schema_prefix
126
+ set_schema_prefix("Graph_KG")
127
+ eng = IRISGraphEngine(conn, embedding_dimension=384)
128
+ cypher = (
129
+ "MATCH (n)-[:IN_PROJECT]->(m) "
130
+ "WHERE n.node_id STARTS WITH 'seg:' AND n.title = 'hello' "
131
+ "AND m.node_id = 'seg:target' "
132
+ "RETURN n.node_id AS id, n.posted_at AS posted_at "
133
+ "LIMIT 1"
134
+ )
135
+ try:
136
+ res = eng.execute_cypher(cypher, read_only=True)
137
+ print("SUBPROCESS_CYPHER_ROWS:", len(getattr(res, 'rows', []) or []))
138
+ except Exception as e:
139
+ print("SUBPROCESS_CYPHER_EXCEPTION:", type(e).__name__)
140
+ ''')
141
+ result = _run_in_subprocess(body, params)
142
+ assert result.returncode not in SEGV_RETURNCODES, (
143
+ "ivg execute_cypher -> generated SQL SIGSEGV'd the host process "
144
+ f"(driver DP-451209 family). returncode={result.returncode}\n"
145
+ f"stderr tail:\n{result.stderr[-800:]}"
146
+ )
@@ -0,0 +1,56 @@
1
+ """Translator tests for the FETCH FIRST + JOIN %qaqpre crash workaround (build-106).
2
+
3
+ ROOT CAUSE (proven on a live irishealth:2026.3.0AI.106.0 container): the DB-API driver
4
+ SIGSEGVs in %qaqpre when executing a query that combines a multi-table JOIN with
5
+ `FETCH FIRST n ROWS ONLY` on VARCHAR-keyed tables (the ivg schema). It is NOT the
6
+ INNER JOIN keyword (the original report's guess) — comma-join and LEFT OUTER JOIN crash
7
+ too. `SELECT TOP n` does NOT crash and is the fix.
8
+
9
+ The engine detects the bug at connect time (subprocess probe) and sets
10
+ `engine._fetch_first_unsafe`. When set, the translator emits `SELECT TOP n` instead of a
11
+ trailing `FETCH FIRST n ROWS ONLY` for LIMIT-only queries.
12
+ """
13
+ import pytest
14
+ from iris_vector_graph.cypher.translator import translate_to_sql
15
+ from iris_vector_graph.cypher.parser import parse_query
16
+
17
+
18
+ class _StubEngine:
19
+ """Minimal engine carrying just the bug flag the translator reads."""
20
+ def __init__(self, fetch_first_unsafe):
21
+ self._fetch_first_unsafe = fetch_first_unsafe
22
+ def get_table_mapping(self, label):
23
+ return None
24
+
25
+
26
+ def _sql(cypher, *, unsafe, params=None):
27
+ ast = parse_query(cypher)
28
+ res = translate_to_sql(ast, params or {}, engine=_StubEngine(unsafe))
29
+ return res if isinstance(res, str) else str(res)
30
+
31
+
32
+ class TestFetchFirstJoinWorkaround:
33
+ CYPHER = "MATCH (n)-[:R]->(m) RETURN n.node_id AS id LIMIT 5"
34
+
35
+ def test_unsafe_build_emits_top_not_fetch_first(self):
36
+ sql = _sql(self.CYPHER, unsafe=True)
37
+ assert "FETCH FIRST" not in sql, f"FETCH FIRST must not be emitted on unsafe build:\n{sql}"
38
+ assert "TOP 5" in sql, f"expected SELECT TOP 5:\n{sql}"
39
+
40
+ def test_safe_build_keeps_fetch_first(self):
41
+ sql = _sql(self.CYPHER, unsafe=False)
42
+ # On safe builds the existing FETCH FIRST behavior is preserved.
43
+ assert "FETCH FIRST 5 ROWS ONLY" in sql, f"expected FETCH FIRST on safe build:\n{sql}"
44
+
45
+ def test_unsafe_limit_only_simple_match(self):
46
+ sql = _sql("MATCH (n) RETURN n.node_id LIMIT 3", unsafe=True)
47
+ assert "FETCH FIRST" not in sql
48
+ assert "TOP 3" in sql
49
+
50
+ def test_unsafe_skip_plus_limit_keeps_fetch_first(self):
51
+ # TOP cannot express OFFSET; SKIP+LIMIT must retain FETCH FIRST + OFFSET
52
+ # (rare; residual build-106 risk is documented in apply_pagination).
53
+ sql = _sql("MATCH (n) RETURN n.node_id SKIP 2 LIMIT 4", unsafe=True)
54
+ assert "OFFSET 2" in sql
55
+ assert "FETCH FIRST 4 ROWS ONLY" in sql
56
+ assert "TOP 4" not in sql