iris-vector-graph 1.91.1__tar.gz → 1.91.2__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 (558) hide show
  1. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/PKG-INFO +1 -1
  2. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/embedded.py +81 -5
  3. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/engine.py +108 -1
  4. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/pyproject.toml +1 -1
  5. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_embedded_wgproto_e2e.py +149 -0
  6. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_embedded_wgproto.py +209 -0
  7. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/.gitignore +0 -0
  8. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/LICENSE +0 -0
  9. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/README.md +0 -0
  10. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/demo_biomedical.py +0 -0
  11. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/demo_fraud_detection.py +0 -0
  12. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/demo_fraud_detection_sql.py +0 -0
  13. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/demo_utils.py +0 -0
  14. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/demo_working_system.py +0 -0
  15. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/domains/__init__.py +0 -0
  16. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/domains/biomedical/__init__.py +0 -0
  17. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/domains/biomedical/loaders.py +0 -0
  18. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/domains/biomedical/resolver.py +0 -0
  19. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/domains/biomedical/types.py +0 -0
  20. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/domains/biomedical_legacy/__init__.py +0 -0
  21. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/domains/biomedical_legacy/biomedical_engine.py +0 -0
  22. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/domains/biomedical_legacy/biomedical_schema.py +0 -0
  23. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/domains/biomedical_legacy/legacy_wrapper.py +0 -0
  24. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/domains/fraud/__init__.py +0 -0
  25. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/domains/fraud/loaders.py +0 -0
  26. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/domains/fraud/resolver.py +0 -0
  27. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/domains/fraud/types.py +0 -0
  28. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/graphQL.http +0 -0
  29. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/hybrid_vector_graph_query.cypher +0 -0
  30. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/examples/rest.http +0 -0
  31. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/Algorithms.cls +0 -0
  32. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/ArnoAccel.cls +0 -0
  33. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/BM25Index.cls +0 -0
  34. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/BenchFormat.cls +0 -0
  35. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/BenchSeeder.cls +0 -0
  36. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/Benchmark.cls +0 -0
  37. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/Edge.cls +0 -0
  38. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/EdgeScan.cls +0 -0
  39. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/GraphIndex.cls +0 -0
  40. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/IVFIndex.cls +0 -0
  41. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/Loader.cls +0 -0
  42. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/MCPService.cls +0 -0
  43. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/MCPToolSet.cls +0 -0
  44. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/MCPTools.cls +0 -0
  45. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/Meta.cls +0 -0
  46. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/NKGAccel.cls +0 -0
  47. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/PLAIDSearch.cls +0 -0
  48. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/PageRank.cls +0 -0
  49. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/PyOps.cls +0 -0
  50. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/Service.cls +0 -0
  51. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/Snapshot.cls +0 -0
  52. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/Subgraph.cls +0 -0
  53. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/TemporalIndex.cls +0 -0
  54. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/TestEdge.cls +0 -0
  55. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/Traversal.cls +0 -0
  56. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/Graph/KG/VecIndex.cls +0 -0
  57. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/IVG/CypherEngine.cls +0 -0
  58. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/IVG/Percentile.cls +0 -0
  59. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/PageRankEmbedded.cls +0 -0
  60. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/User.Exec.cls +0 -0
  61. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_src/src/iris/vector/graph/GraphOperators.cls +0 -0
  62. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/__init__.py +0 -0
  63. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/_validate.py +0 -0
  64. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/bolt_server.py +0 -0
  65. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/0-b124e26129aa436b26fe.bundle.js +0 -0
  66. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/1-b124e26129aa436b26fe.bundle.js +0 -0
  67. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/10-b124e26129aa436b26fe.bundle.js +0 -0
  68. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/11-b124e26129aa436b26fe.bundle.js +0 -0
  69. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/12-b124e26129aa436b26fe.bundle.js +0 -0
  70. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/13-b124e26129aa436b26fe.bundle.js +0 -0
  71. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/14-b124e26129aa436b26fe.bundle.js +0 -0
  72. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/15-b124e26129aa436b26fe.bundle.js +0 -0
  73. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/16-b124e26129aa436b26fe.bundle.js +0 -0
  74. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/17-b124e26129aa436b26fe.bundle.js +0 -0
  75. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/18-b124e26129aa436b26fe.bundle.js +0 -0
  76. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/19-b124e26129aa436b26fe.bundle.js +0 -0
  77. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/20-b124e26129aa436b26fe.bundle.js +0 -0
  78. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/21-b124e26129aa436b26fe.bundle.js +0 -0
  79. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/22-b124e26129aa436b26fe.bundle.js +0 -0
  80. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/23-b124e26129aa436b26fe.bundle.js +0 -0
  81. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/24-b124e26129aa436b26fe.bundle.js +0 -0
  82. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/25-b124e26129aa436b26fe.bundle.js +0 -0
  83. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/26-b124e26129aa436b26fe.bundle.js +0 -0
  84. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/27-b124e26129aa436b26fe.bundle.js +0 -0
  85. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/28-b124e26129aa436b26fe.bundle.js +0 -0
  86. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/29-b124e26129aa436b26fe.bundle.js +0 -0
  87. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/30-b124e26129aa436b26fe.bundle.js +0 -0
  88. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/31-b124e26129aa436b26fe.bundle.js +0 -0
  89. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/32-b124e26129aa436b26fe.bundle.js +0 -0
  90. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/33-b124e26129aa436b26fe.bundle.js +0 -0
  91. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/34-b124e26129aa436b26fe.bundle.js +0 -0
  92. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/35-b124e26129aa436b26fe.bundle.js +0 -0
  93. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/36-b124e26129aa436b26fe.bundle.js +0 -0
  94. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/37-b124e26129aa436b26fe.bundle.js +0 -0
  95. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/38-b124e26129aa436b26fe.bundle.js +0 -0
  96. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/39-b124e26129aa436b26fe.bundle.js +0 -0
  97. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/40-b124e26129aa436b26fe.bundle.js +0 -0
  98. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/41-b124e26129aa436b26fe.bundle.js +0 -0
  99. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/42-b124e26129aa436b26fe.bundle.js +0 -0
  100. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/43-b124e26129aa436b26fe.bundle.js +0 -0
  101. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/44-b124e26129aa436b26fe.bundle.js +0 -0
  102. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/45-b124e26129aa436b26fe.bundle.js +0 -0
  103. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/46-b124e26129aa436b26fe.bundle.js +0 -0
  104. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/47-b124e26129aa436b26fe.bundle.js +0 -0
  105. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/48-b124e26129aa436b26fe.bundle.js +0 -0
  106. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/49-b124e26129aa436b26fe.bundle.js +0 -0
  107. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/50-b124e26129aa436b26fe.bundle.js +0 -0
  108. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/51-b124e26129aa436b26fe.bundle.js +0 -0
  109. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/52-b124e26129aa436b26fe.bundle.js +0 -0
  110. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/53-b124e26129aa436b26fe.bundle.js +0 -0
  111. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/54-b124e26129aa436b26fe.bundle.js +0 -0
  112. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/55-b124e26129aa436b26fe.bundle.js +0 -0
  113. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/56-b124e26129aa436b26fe.bundle.js +0 -0
  114. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/57-b124e26129aa436b26fe.bundle.js +0 -0
  115. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/58-b124e26129aa436b26fe.bundle.js +0 -0
  116. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/59-b124e26129aa436b26fe.bundle.js +0 -0
  117. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/6-b124e26129aa436b26fe.bundle.js +0 -0
  118. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/60-b124e26129aa436b26fe.bundle.js +0 -0
  119. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/61-b124e26129aa436b26fe.bundle.js +0 -0
  120. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/62-b124e26129aa436b26fe.bundle.js +0 -0
  121. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/63-b124e26129aa436b26fe.bundle.js +0 -0
  122. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/64-b124e26129aa436b26fe.bundle.js +0 -0
  123. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/65-b124e26129aa436b26fe.bundle.js +0 -0
  124. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/66-b124e26129aa436b26fe.bundle.js +0 -0
  125. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/67-b124e26129aa436b26fe.bundle.js +0 -0
  126. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/68-b124e26129aa436b26fe.bundle.js +0 -0
  127. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/69-b124e26129aa436b26fe.bundle.js +0 -0
  128. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/7-b124e26129aa436b26fe.bundle.js +0 -0
  129. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/70-b124e26129aa436b26fe.bundle.js +0 -0
  130. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/71-b124e26129aa436b26fe.bundle.js +0 -0
  131. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/72-b124e26129aa436b26fe.bundle.js +0 -0
  132. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/73-b124e26129aa436b26fe.bundle.js +0 -0
  133. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/74-b124e26129aa436b26fe.bundle.js +0 -0
  134. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/75-b124e26129aa436b26fe.bundle.js +0 -0
  135. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/8-b124e26129aa436b26fe.bundle.js +0 -0
  136. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/9-b124e26129aa436b26fe.bundle.js +0 -0
  137. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/app-b124e26129aa436b26fe.js +0 -0
  138. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/filter-a7c44e713bf19d31f6b2849160b1bba8.svg +0 -0
  139. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.eot +0 -0
  140. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.ttf +0 -0
  141. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.woff +0 -0
  142. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.woff2 +0 -0
  143. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.eot +0 -0
  144. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.ttf +0 -0
  145. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.woff +0 -0
  146. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.woff2 +0 -0
  147. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.eot +0 -0
  148. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.ttf +0 -0
  149. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.woff +0 -0
  150. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.woff2 +0 -0
  151. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.eot +0 -0
  152. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.ttf +0 -0
  153. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.woff +0 -0
  154. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.woff2 +0 -0
  155. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Bold.ttf +0 -0
  156. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/OpenSans-BoldItalic.ttf +0 -0
  157. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/OpenSans-ExtraBold.ttf +0 -0
  158. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  159. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Italic.ttf +0 -0
  160. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Light.ttf +0 -0
  161. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/OpenSans-LightItalic.ttf +0 -0
  162. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Regular.ttf +0 -0
  163. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Semibold.ttf +0 -0
  164. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/OpenSans-SemiboldItalic.ttf +0 -0
  165. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/codicon.ttf +0 -0
  166. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/filter.svg +0 -0
  167. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.eot +0 -0
  168. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.svg +0 -0
  169. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.ttf +0 -0
  170. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.woff +0 -0
  171. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.woff2 +0 -0
  172. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/group-by.svg +0 -0
  173. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.eot +0 -0
  174. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.svg +0 -0
  175. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.ttf +0 -0
  176. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.woff +0 -0
  177. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/sort.svg +0 -0
  178. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/sort1.svg +0 -0
  179. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/sort2.svg +0 -0
  180. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/streamline.eot +0 -0
  181. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/streamline.svg +0 -0
  182. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/streamline.ttf +0 -0
  183. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/fonts/streamline.woff +0 -0
  184. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/group-by-89c6aaa756bc3548cc6ab3d2be4d2862.svg +0 -0
  185. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/Favorites.mp4 +0 -0
  186. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/Keystrokes.mp4 +0 -0
  187. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/ProjectFiles.mp4 +0 -0
  188. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/ReusableFrame.mp4 +0 -0
  189. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/SidebarDB_Iinfo.png +0 -0
  190. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/Stream.png +0 -0
  191. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/aura-logo-inverted.svg +0 -0
  192. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/aura-logo.svg +0 -0
  193. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/books.png +0 -0
  194. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/clusters.svg +0 -0
  195. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/community.jpg +0 -0
  196. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-144x144.png +0 -0
  197. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-192x192.png +0 -0
  198. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-36x36.png +0 -0
  199. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-48x48.png +0 -0
  200. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-72x72.png +0 -0
  201. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-96x96.png +0 -0
  202. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-114x114.png +0 -0
  203. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-120x120.png +0 -0
  204. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-144x144.png +0 -0
  205. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-152x152.png +0 -0
  206. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-180x180.png +0 -0
  207. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-57x57.png +0 -0
  208. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-60x60.png +0 -0
  209. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-72x72.png +0 -0
  210. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-76x76.png +0 -0
  211. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-precomposed.png +0 -0
  212. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon.png +0 -0
  213. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/browserconfig.xml +0 -0
  214. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-16x16.png +0 -0
  215. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-32x32.png +0 -0
  216. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-96x96.png +0 -0
  217. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/favicon.ico +0 -0
  218. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/manifest.json +0 -0
  219. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-144x144.png +0 -0
  220. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-150x150.png +0 -0
  221. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-310x310.png +0 -0
  222. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-70x70.png +0 -0
  223. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/neo4j-browser-canary.svg +0 -0
  224. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/device-icons/neo4j-browser.svg +0 -0
  225. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/labeled_node.png +0 -0
  226. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/more_nodes.png +0 -0
  227. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/neo4j-favicon.ico +0 -0
  228. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/neo4j-logo-inverted.svg +0 -0
  229. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/neo4j-logo.svg +0 -0
  230. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/northwind/customer-orders.png +0 -0
  231. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/northwind/order-graph.png +0 -0
  232. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/northwind/product-category-supplier.png +0 -0
  233. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/northwind/product-graph.png +0 -0
  234. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/one_node.png +0 -0
  235. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/query-plan-operator-cost.svg +0 -0
  236. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/query-plan-operator-details.svg +0 -0
  237. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/query-plan-operator-rows.svg +0 -0
  238. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/query-plan.svg +0 -0
  239. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/rel-props.png +0 -0
  240. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/relationships.png +0 -0
  241. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/screen_code_frame.png +0 -0
  242. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/screen_cypher_warn.png +0 -0
  243. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/screen_editor.png +0 -0
  244. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/screen_sidebar.png +0 -0
  245. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/images/screen_stream.png +0 -0
  246. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/sort-8d6f482c21de572ceeb5ac93623e6c97.svg +0 -0
  247. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/sort1-d2dc515571213fc0ca99b0341b88e413.svg +0 -0
  248. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/assets/sort2-31050964e7eb2042325f7bcbba3d58ad.svg +0 -0
  249. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/bolt-worker-dfa551eb0861cc080843.js +0 -0
  250. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/cypher-editor-b124e26129aa436b26fe.bundle.js +0 -0
  251. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/editor-455af92e7e1dc39fdbc8060f6680ab32.worker.js +0 -0
  252. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/index.html +0 -0
  253. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/manifest.json +0 -0
  254. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/CoseBilkentLayout.worker-FEt6e_rV.js +0 -0
  255. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/HierarchicalLayout.worker-O6WHYssL.js +0 -0
  256. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/asciidoc.8O6YIVRy.js +0 -0
  257. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/auto-track.BlKugDvg.js +0 -0
  258. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/bash.CLAyaf9k.js +0 -0
  259. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/c.l4fEI10z.js +0 -0
  260. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/connect-icon-Br2hQy_e.svg +0 -0
  261. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/csharp.ChqrQYCS.js +0 -0
  262. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/css-extras.Bi-4v17d.js +0 -0
  263. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/css.B1LHiudN.js +0 -0
  264. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/cypher-editor-auto-completions.gif +0 -0
  265. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/cypher-editor-inline-help.png +0 -0
  266. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/cypher-editor-linting.png +0 -0
  267. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/cypher-editor-syntax-highlighting.png +0 -0
  268. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/cypher-reference.gif +0 -0
  269. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/cypher.C3qdyJ5B.js +0 -0
  270. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/docker.CF7EZT1T.js +0 -0
  271. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/fira-code-400-regular-normal-BzypJxJk.woff2 +0 -0
  272. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/fira-code-500-medium-normal-CRWzqcWa.woff2 +0 -0
  273. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/fira-code-700-bold-normal-hUmNV4O0.woff2 +0 -0
  274. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/go.FsJyBHVG.js +0 -0
  275. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/graphql.BlTzkzAJ.js +0 -0
  276. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/history-quick-search.gif +0 -0
  277. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/index-CY0cZcsW.js +0 -0
  278. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/index-H7L207gH.css +0 -0
  279. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/index.BpRu7Js3.js +0 -0
  280. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/index.C74acnU7.js +0 -0
  281. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/index.CHatcJcU.js +0 -0
  282. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/index.D6ZMQedT.js +0 -0
  283. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/index.DPZla5MT.js +0 -0
  284. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/index.dzIUqrzq.js +0 -0
  285. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/index.leyiHvaQ.js +0 -0
  286. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/index.qJ6VE118.js +0 -0
  287. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/index.umd.B9yhfa5Y.js +0 -0
  288. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/is-plan-event-enabled.DeNtQvA5.js +0 -0
  289. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/java.BBXwBh9f.js +0 -0
  290. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/java.CQ1iJ0-D.js +0 -0
  291. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/javadoc.UnquSOIj.js +0 -0
  292. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/javascript.CYTqTa0W.js +0 -0
  293. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/json.BIkJg-Cj.js +0 -0
  294. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/jsx.Cy_hP1z6.js +0 -0
  295. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/kotlin.D_6l0VkM.js +0 -0
  296. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/lintWorker-QNEp56W3.js +0 -0
  297. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/logo-aura-white-DCfUnkCN.svg +0 -0
  298. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/movie-model.png +0 -0
  299. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/movies-active-B2SzHIc1.svg +0 -0
  300. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/neo4j-logo-active-CieUxroh.svg +0 -0
  301. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/patterned-banner-background-C_nO-Yn8.svg +0 -0
  302. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/php.BKb6XVba.js +0 -0
  303. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/plan-graph-worker-s17nF19Q.js +0 -0
  304. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/public-sans-300-light-normal-CG9e8kLa.woff2 +0 -0
  305. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/public-sans-400-regular-italic-D9FlViiB.woff2 +0 -0
  306. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/public-sans-400-regular-normal-D4F9yfFi.woff2 +0 -0
  307. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/public-sans-500-medium-normal-ChZcBEnJ.woff2 +0 -0
  308. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/public-sans-600-semi-bold-normal-Ck6TyfRI.woff2 +0 -0
  309. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/public-sans-700-bold-normal-CGjRhW-d.woff2 +0 -0
  310. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/python.tCcUC3U7.js +0 -0
  311. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/query-fundamentals-active-jvTJU1K2.svg +0 -0
  312. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/query.snake-frame.DmvXOQIM.js +0 -0
  313. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/regex.C_VuIVtC.js +0 -0
  314. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/rust.CtSATZMt.js +0 -0
  315. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/saved-cypher.gif +0 -0
  316. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/scalable-graph-visualization.gif +0 -0
  317. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/sql.CfOAbw6n.js +0 -0
  318. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/syne-neo-500-medium-normal-A5GXmYUf.woff2 +0 -0
  319. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/table-visualization.gif +0 -0
  320. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/typescript.3Tbm37mD.js +0 -0
  321. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/xml-doc.h79Tu9Aw.js +0 -0
  322. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/assets/yaml.B-Jvd59g.js +0 -0
  323. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/favicons/android-chrome-192x192.png +0 -0
  324. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/favicons/apple-touch-icon.png +0 -0
  325. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/favicons/favicon-16x16.png +0 -0
  326. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/favicons/favicon-194x194.png +0 -0
  327. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/favicons/favicon-32x32.png +0 -0
  328. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/favicons/favicon.ico +0 -0
  329. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/favicons/safari-pinned-tab.svg +0 -0
  330. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/index.html +0 -0
  331. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/preview/manifest.json +0 -0
  332. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/ui-libs-b124e26129aa436b26fe.bundle.js +0 -0
  333. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/browser_static/vendor-b124e26129aa436b26fe.bundle.js +0 -0
  334. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/bulk_loader.py +0 -0
  335. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/capabilities.py +0 -0
  336. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/cypher/__init__.py +0 -0
  337. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/cypher/algorithms/__init__.py +0 -0
  338. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/cypher/algorithms/paths.py +0 -0
  339. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/cypher/ast.py +0 -0
  340. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/cypher/lexer.py +0 -0
  341. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/cypher/parser.py +0 -0
  342. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/cypher/translator.py +0 -0
  343. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/cypher_api.py +0 -0
  344. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/dbapi_utils.py +0 -0
  345. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/fusion.py +0 -0
  346. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/gql/__init__.py +0 -0
  347. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/gql/constants.py +0 -0
  348. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/gql/engine.py +0 -0
  349. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/gql/pooling.py +0 -0
  350. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/gql/resolvers.py +0 -0
  351. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/gql/schema.py +0 -0
  352. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/index_protocol.py +0 -0
  353. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/models.py +0 -0
  354. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/operators.py +0 -0
  355. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/py.typed +0 -0
  356. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/result.py +0 -0
  357. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/schema.py +0 -0
  358. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/security.py +0 -0
  359. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/status.py +0 -0
  360. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/text_search.py +0 -0
  361. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/utils.py +0 -0
  362. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/iris_vector_graph/vector_utils.py +0 -0
  363. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/sql/fhir_bridges.sql +0 -0
  364. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/sql/fraud_sample_data.sql +0 -0
  365. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/sql/globals_schema.sql +0 -0
  366. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/sql/graph_path_globals.sql +0 -0
  367. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/sql/graph_walk_tvf.sql +0 -0
  368. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/sql/migrations/000_base_schema_iris.sql +0 -0
  369. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/sql/migrations/001_add_nodepk_table.sql +0 -0
  370. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/sql/migrations/001_rollback_nodepk.sql +0 -0
  371. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/sql/migrations/002_add_fk_constraints.sql +0 -0
  372. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/sql/operators.sql +0 -0
  373. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/sql/operators_fixed.sql +0 -0
  374. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/sql/procedures/kg_PageRank.sql +0 -0
  375. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/sql/rdf_reifications.sql +0 -0
  376. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/sql/schema.sql +0 -0
  377. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/TESTING.md +0 -0
  378. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/benchmark_parser.py +0 -0
  379. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/benchmarks/README.md +0 -0
  380. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/benchmarks/bench.py +0 -0
  381. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/benchmarks/bench_utils.py +0 -0
  382. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/benchmarks/benchmark_neo4j.py +0 -0
  383. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/benchmarks/bfs_benchmark.py +0 -0
  384. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/benchmarks/establish_baseline.py +0 -0
  385. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/benchmarks/graph_gen.py +0 -0
  386. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/benchmarks/ic2_profile.py +0 -0
  387. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/benchmarks/iris_baseline_run.py +0 -0
  388. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/benchmarks/iris_os_run.py +0 -0
  389. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/benchmarks/ldbc_full_loader.py +0 -0
  390. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/benchmarks/load_neo4j.py +0 -0
  391. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/benchmarks/synthetic_baseline.csv +0 -0
  392. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/conftest.py +0 -0
  393. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/contract/__init__.py +0 -0
  394. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/contract/test_cypher_api.py +0 -0
  395. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/contract/test_cypher_api_errors.py +0 -0
  396. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/contract/test_graphql_queries.py +0 -0
  397. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/contract/test_graphql_schema.py +0 -0
  398. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/contract/test_ppr_api.py +0 -0
  399. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/curl_suite.sh +0 -0
  400. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/__init__.py +0 -0
  401. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/conftest.py +0 -0
  402. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_approx_count_distinct.py +0 -0
  403. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_arno_bfs_global.py +0 -0
  404. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_arno_bfs_unified.py +0 -0
  405. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_biomedical_demo.py +0 -0
  406. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_biomedical_ui.py +0 -0
  407. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_cypher_coerce_e2e.py +0 -0
  408. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_cypher_sprints_e2e.py +0 -0
  409. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_cypher_vector_search.py +0 -0
  410. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_cypher_vl_path_bfs.py +0 -0
  411. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_execution_contexts.py +0 -0
  412. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_execution_contexts_new.py +0 -0
  413. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_fhir_bridges_e2e.py +0 -0
  414. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_fraud_demo.py +0 -0
  415. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_fraud_ui.py +0 -0
  416. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_gql_autogen_startup.py +0 -0
  417. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_gql_cypher_passthrough.py +0 -0
  418. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_gql_node_queries.py +0 -0
  419. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_gql_semantic_search.py +0 -0
  420. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_gql_traversal.py +0 -0
  421. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_graph_kernels_e2e.py +0 -0
  422. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_hla_kg_e2e.py +0 -0
  423. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_ic13_shortest_path.py +0 -0
  424. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_ic3_exact_count.py +0 -0
  425. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_index_protocol.py +0 -0
  426. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_introspection_api.py +0 -0
  427. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_ivf_insert.py +0 -0
  428. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_large_output_chunked.py +0 -0
  429. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_lazy_node_resolution.py +0 -0
  430. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_multi_query_engine_platform.py +0 -0
  431. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_named_paths_e2e.py +0 -0
  432. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_nkg_index_e2e.py +0 -0
  433. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_operator_wiring_e2e.py +0 -0
  434. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_pattern_comprehension_reduce.py +0 -0
  435. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_plaid.py +0 -0
  436. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_plaid_search_e2e.py +0 -0
  437. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_ppr_cls_fast_path.py +0 -0
  438. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_ppr_guided_e2e.py +0 -0
  439. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_procedure_installation.py +0 -0
  440. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_reification_e2e.py +0 -0
  441. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_schema_procedures_e2e.py +0 -0
  442. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_streaming_bfs.py +0 -0
  443. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_stress_api.py +0 -0
  444. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_stress_ingest.py +0 -0
  445. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_stress_multi_context.py +0 -0
  446. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_stress_search.py +0 -0
  447. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_stress_setup.py +0 -0
  448. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_stress_traversal.py +0 -0
  449. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_subgraph_e2e.py +0 -0
  450. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_subquery_call_e2e.py +0 -0
  451. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_untested_methods.py +0 -0
  452. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/e2e/test_vecindex_e2e.py +0 -0
  453. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/__init__.py +0 -0
  454. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/conftest.py +0 -0
  455. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/gql/__init__.py +0 -0
  456. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/gql/test_graphql_mutations.py +0 -0
  457. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/gql/test_graphql_nested_queries.py +0 -0
  458. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/gql/test_graphql_queries.py +0 -0
  459. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/gql/test_graphql_vector_search.py +0 -0
  460. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_bidirectional_ppr.py +0 -0
  461. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_cls_layer.py +0 -0
  462. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_cypher_advanced.py +0 -0
  463. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_cypher_enhancements.py +0 -0
  464. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_cypher_multi_type.py +0 -0
  465. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_cypher_rd.py +0 -0
  466. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_cypher_rel_vars.py +0 -0
  467. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_cypher_single_type.py +0 -0
  468. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_cypher_untyped.py +0 -0
  469. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_cypher_vector_search.py +0 -0
  470. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_embeddings_api.py +0 -0
  471. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_fastapi_graphql.py +0 -0
  472. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_fhir_bridges_integration.py +0 -0
  473. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_named_paths_integration.py +0 -0
  474. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_nodepk_advanced_benchmarks.py +0 -0
  475. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_nodepk_constraints.py +0 -0
  476. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_nodepk_graph_analytics.py +0 -0
  477. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_nodepk_migration.py +0 -0
  478. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_nodepk_performance.py +0 -0
  479. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_nodepk_production_scale.py +0 -0
  480. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_objectscript_classes.py +0 -0
  481. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_pagerank_sql_optimization.py +0 -0
  482. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_reification_integration.py +0 -0
  483. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_schema_migration.py +0 -0
  484. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_stored_procedure_install.py +0 -0
  485. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/integration/test_subquery_call_integration.py +0 -0
  486. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/performance/conftest.py +0 -0
  487. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/performance/scale_benchmark.py +0 -0
  488. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/performance/test_ppr_stress.py +0 -0
  489. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/performance/test_stress_v1_5.py +0 -0
  490. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/python/run_all_tests.py +0 -0
  491. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/python/test_iris_rest_api.py +0 -0
  492. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/python/test_networkx_loader.py +0 -0
  493. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/python/test_performance_benchmarks.py +0 -0
  494. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/python/test_pyops_vector_conversion.py +0 -0
  495. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/python/test_python_operators.py +0 -0
  496. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/python/test_python_sdk.py +0 -0
  497. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/python/test_schema_validation.py +0 -0
  498. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/python/test_sql_queries.py +0 -0
  499. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/python/test_vector_functions.py +0 -0
  500. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/cypher/__init__.py +0 -0
  501. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/cypher/test_lexer.py +0 -0
  502. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/cypher/test_lexer_advanced.py +0 -0
  503. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/cypher/test_parser.py +0 -0
  504. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/cypher/test_parser_advanced.py +0 -0
  505. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_batch_mutations.py +0 -0
  506. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_bfs_arno.py +0 -0
  507. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_bm25_index.py +0 -0
  508. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_bolt_server.py +0 -0
  509. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_cls_deployment.py +0 -0
  510. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_cypher_benchmark.py +0 -0
  511. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_cypher_benchmark_scale.py +0 -0
  512. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_cypher_case_when.py +0 -0
  513. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_cypher_e2e_new_features.py +0 -0
  514. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_cypher_functions.py +0 -0
  515. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_cypher_parser.py +0 -0
  516. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_cypher_posos_bugs.py +0 -0
  517. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_cypher_procedures.py +0 -0
  518. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_cypher_translator.py +0 -0
  519. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_cypher_union_exists.py +0 -0
  520. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_cypher_var_length.py +0 -0
  521. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_cypher_vector_search.py +0 -0
  522. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_edge_embeddings.py +0 -0
  523. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_edgeprop_ndjson.py +0 -0
  524. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_embed_nodes_params.py +0 -0
  525. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_embedded.py +0 -0
  526. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_engine_dimension_fix.py +0 -0
  527. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_engine_embeddings.py +0 -0
  528. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_engine_status.py +0 -0
  529. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_fhir_bridges.py +0 -0
  530. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_get_nodes.py +0 -0
  531. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_graph_kernels.py +0 -0
  532. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_graphql_dataloader.py +0 -0
  533. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_index_handle.py +0 -0
  534. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_index_protocol.py +0 -0
  535. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_ingest_formats.py +0 -0
  536. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_introspection_api.py +0 -0
  537. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_ivf_index.py +0 -0
  538. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_ivgresult.py +0 -0
  539. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_named_graphs.py +0 -0
  540. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_named_paths.py +0 -0
  541. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_operators_wiring.py +0 -0
  542. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_plaid_search.py +0 -0
  543. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_ppr_guided_subgraph.py +0 -0
  544. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_reification.py +0 -0
  545. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_schema_init.py +0 -0
  546. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_schema_procedures.py +0 -0
  547. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_shortest_path.py +0 -0
  548. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_snapshot.py +0 -0
  549. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_sql_splitter.py +0 -0
  550. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_sql_table_bridge.py +0 -0
  551. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_subgraph.py +0 -0
  552. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_subquery_call.py +0 -0
  553. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_temporal_cypher.py +0 -0
  554. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_temporal_edges.py +0 -0
  555. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_unified_edge_store.py +0 -0
  556. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_validation.py +0 -0
  557. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/tests/unit/test_vector_search_routing.py +0 -0
  558. {iris_vector_graph-1.91.1 → iris_vector_graph-1.91.2}/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: 1.91.1
3
+ Version: 1.91.2
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
@@ -111,6 +111,64 @@ def _require_iris_sql():
111
111
  ) from exc
112
112
 
113
113
 
114
+ def _is_ddtab_error(exc: Exception) -> bool:
115
+ s = str(exc)
116
+ return "<UNIMPLEMENTED>" in s or "ddtab" in s
117
+
118
+
119
+ def _sql_statement_execute(sql: str, params=None):
120
+ import iris
121
+ stmt = iris.cls("%SQL.Statement")._New()
122
+ sc = stmt._Prepare(sql)
123
+ if not sc:
124
+ raise RuntimeError(f"%%SQL.Statement._Prepare failed sc={sc}")
125
+ if params:
126
+ rs = stmt._Execute(*params)
127
+ else:
128
+ rs = stmt._Execute()
129
+ return _SqlStatementResultSet(rs)
130
+
131
+
132
+ class _SqlStatementResultSet:
133
+
134
+ def __init__(self, rs):
135
+ self._rs = rs
136
+ self._done = False
137
+
138
+ def columnCount(self):
139
+ try:
140
+ return int(self._rs._GetProperty("ColCount")) if self._rs else 0
141
+ except Exception:
142
+ return 0
143
+
144
+ def columnName(self, i):
145
+ try:
146
+ return str(self._rs._GetProperty("MetaData")._GetProperty("columns")._GetAt(i)._GetProperty("colName"))
147
+ except Exception:
148
+ return f"col{i}"
149
+
150
+ def __iter__(self):
151
+ if self._rs is None or self._done:
152
+ return
153
+ try:
154
+ while True:
155
+ sc = int(str(self._rs._Next()))
156
+ if sc == 0:
157
+ break
158
+ row = []
159
+ col_count = self.columnCount()
160
+ for i in range(1, col_count + 1):
161
+ try:
162
+ val = self._rs._GetData(i)
163
+ row.append(None if val is None else val)
164
+ except Exception:
165
+ row.append(None)
166
+ yield tuple(row)
167
+ except Exception:
168
+ pass
169
+ self._done = True
170
+
171
+
114
172
  class EmbeddedCursor:
115
173
 
116
174
  def __init__(self, iris_sql=None):
@@ -143,10 +201,23 @@ class EmbeddedCursor:
143
201
  self._rs = stmt.execute(*params)
144
202
  else:
145
203
  self._rs = stmt.execute()
146
- except Exception as exc:
147
- if "<UNIMPLEMENTED>" not in str(exc) and "ddtab" not in str(exc):
204
+ except Exception as exc1:
205
+ if not _is_ddtab_error(exc1):
148
206
  raise
149
- self._rs = iris_sql.exec(_inline_params(sql, params or []))
207
+ try:
208
+ self._rs = iris_sql.exec(_inline_params(sql, params or []))
209
+ except Exception as exc2:
210
+ if not _is_ddtab_error(exc2):
211
+ raise
212
+ try:
213
+ self._rs = _sql_statement_execute(sql, params)
214
+ except Exception as exc3:
215
+ raise RuntimeError(
216
+ f"All three embedded SQL paths failed.\n"
217
+ f" prepare: {exc1}\n"
218
+ f" exec: {exc2}\n"
219
+ f" %%SQL.Statement: {exc3}"
220
+ ) from exc3
150
221
 
151
222
  self._rows = None
152
223
  self._pos = 0
@@ -174,11 +245,16 @@ class EmbeddedCursor:
174
245
  stmt.execute(*params)
175
246
  count += 1
176
247
  except Exception as exc:
177
- if "<UNIMPLEMENTED>" not in str(exc) and "ddtab" not in str(exc):
248
+ if not _is_ddtab_error(exc):
178
249
  raise
179
250
  count = 0
180
251
  for params in seq:
181
- iris_sql.exec(_inline_params(sql, list(params)))
252
+ try:
253
+ iris_sql.exec(_inline_params(sql, list(params)))
254
+ except Exception as exc2:
255
+ if not _is_ddtab_error(exc2):
256
+ raise
257
+ _sql_statement_execute(sql, list(params))
182
258
  count += 1
183
259
  self.rowcount = count
184
260
  self._rs = None
@@ -97,7 +97,10 @@ class IRISGraphEngine:
97
97
  self._connection_params: Optional[Dict[str, Any]] = None
98
98
  self._nkg_dirty: bool = False
99
99
  self._index_registry: Dict[str, str] = self._build_index_registry()
100
- logger.debug("IRISGraphEngine initialized (dim=%s)", embedding_dimension or "auto")
100
+ if vector_dtype == "DOUBLE":
101
+ self.vector_dtype = self._detect_stored_vector_dtype()
102
+ logger.debug("IRISGraphEngine initialized (dim=%s dtype=%s)",
103
+ embedding_dimension or "auto", self.vector_dtype)
101
104
 
102
105
  @classmethod
103
106
  def from_connect(
@@ -3074,6 +3077,35 @@ class IRISGraphEngine:
3074
3077
  f"bulk_create_edges BuildKG failed (^KG may be stale): {e}"
3075
3078
  )
3076
3079
 
3080
+ def _detect_stored_vector_dtype(self) -> str:
3081
+ try:
3082
+ cursor = self.conn.cursor()
3083
+ cursor.execute(
3084
+ f"SELECT TOP 1 emb FROM {_table('kg_NodeEmbeddings')} WHERE emb IS NOT NULL"
3085
+ )
3086
+ row = cursor.fetchone()
3087
+ cursor.close()
3088
+ if row is None:
3089
+ return "DOUBLE"
3090
+ emb_csv = str(row[0])
3091
+ sample = ",".join(emb_csv.split(",")[:2])
3092
+ for dtype in ("FLOAT", "DOUBLE"):
3093
+ try:
3094
+ c2 = self.conn.cursor()
3095
+ c2.execute(
3096
+ f"SELECT VECTOR_COSINE(emb, TO_VECTOR(?, {dtype})) FROM {_table('kg_NodeEmbeddings')} WHERE emb IS NOT NULL LIMIT 1",
3097
+ [sample],
3098
+ )
3099
+ c2.fetchone()
3100
+ c2.close()
3101
+ logger.info("Auto-detected stored vector dtype: %s", dtype)
3102
+ return dtype
3103
+ except Exception:
3104
+ pass
3105
+ except Exception:
3106
+ pass
3107
+ return "DOUBLE"
3108
+
3077
3109
  def _build_index_registry(self) -> Dict[str, str]:
3078
3110
  registry: Dict[str, str] = {}
3079
3111
  try:
@@ -6755,3 +6787,78 @@ class IRISGraphEngine:
6755
6787
  def kg_RERANK(self, top_n: int, query_vector: str, query_text: str):
6756
6788
  return self.kg_RRF_FUSE(k=top_n, k1=top_n * 2, k2=top_n * 2, c=60,
6757
6789
  query_vector=query_vector, query_text=query_text)
6790
+
6791
+ def get_node_properties(self, node_id: str) -> Dict[str, Any]:
6792
+ node = self.get_node(node_id)
6793
+ return node.get("properties", {}) if node else {}
6794
+
6795
+ def get_node_name(self, node_id: str) -> Optional[str]:
6796
+ props = self.get_node_properties(node_id)
6797
+ return props.get("name") or props.get("label") or props.get("title")
6798
+
6799
+ def get_nodes_by_ids(self, node_ids: List[str]) -> List[Dict[str, Any]]:
6800
+ if not node_ids:
6801
+ return []
6802
+ return self.get_nodes(node_ids)
6803
+
6804
+ def node_count(self) -> int:
6805
+ result = self.execute_cypher("MATCH (n) RETURN count(n) AS c")
6806
+ rows = result.get("rows") or []
6807
+ return int(rows[0][0]) if rows else 0
6808
+
6809
+ def edge_count(self) -> int:
6810
+ result = self.execute_cypher("MATCH ()-[r]->() RETURN count(r) AS c")
6811
+ rows = result.get("rows") or []
6812
+ return int(rows[0][0]) if rows else 0
6813
+
6814
+ def embedding_count(self) -> int:
6815
+ cursor = self.conn.cursor()
6816
+ try:
6817
+ cursor.execute(f"SELECT COUNT(*) FROM {_table('kg_NodeEmbeddings')}")
6818
+ row = cursor.fetchone()
6819
+ return int(row[0]) if row else 0
6820
+ except Exception:
6821
+ return 0
6822
+ finally:
6823
+ cursor.close()
6824
+
6825
+ def store_node(self, node_id: str, properties: Optional[Dict[str, Any]] = None,
6826
+ labels: Optional[List[str]] = None) -> bool:
6827
+ cursor = self.conn.cursor()
6828
+ try:
6829
+ cursor.execute(
6830
+ f"INSERT OR IGNORE INTO {_table('nodes')} (node_id) VALUES (?)", [node_id]
6831
+ )
6832
+ self.conn.commit()
6833
+ except Exception:
6834
+ pass
6835
+ finally:
6836
+ cursor.close()
6837
+ if properties:
6838
+ for k, v in (properties or {}).items():
6839
+ val_str = json.dumps(v) if isinstance(v, (dict, list)) else str(v)
6840
+ cursor2 = self.conn.cursor()
6841
+ try:
6842
+ cursor2.execute(
6843
+ f"INSERT OR REPLACE INTO {_table('rdf_props')} (s, \"key\", val) VALUES (?, ?, ?)",
6844
+ [node_id, k, val_str]
6845
+ )
6846
+ self.conn.commit()
6847
+ except Exception:
6848
+ pass
6849
+ finally:
6850
+ cursor2.close()
6851
+ if labels:
6852
+ for lbl in labels:
6853
+ cursor3 = self.conn.cursor()
6854
+ try:
6855
+ cursor3.execute(
6856
+ f"INSERT OR IGNORE INTO {_table('rdf_labels')} (s, label) VALUES (?, ?)",
6857
+ [node_id, lbl]
6858
+ )
6859
+ self.conn.commit()
6860
+ except Exception:
6861
+ pass
6862
+ finally:
6863
+ cursor3.close()
6864
+ return True
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "iris-vector-graph"
7
- version = "1.91.1"
7
+ version = "1.91.2"
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"
@@ -715,3 +715,152 @@ return f"OK inlined={inlined[:50]}"
715
715
  """)
716
716
  assert "OK inlined=" in out, f"Large param list failed: {out}"
717
717
  assert "?" not in out.split("OK inlined=")[-1].split("\n")[0], f"Unresolved ? in inlined: {out}"
718
+
719
+
720
+ @requires_enterprise
721
+ class TestNewEngineAPIsRealIRIS:
722
+
723
+ def test_node_count_returns_int(self):
724
+ out = _compile_and_run_py_method(ENTERPRISE_CONTAINER, """
725
+ from iris_vector_graph.embedded import EmbeddedConnection
726
+ from iris_vector_graph.engine import IRISGraphEngine
727
+ conn = EmbeddedConnection()
728
+ engine = IRISGraphEngine(conn, embedding_dimension=4)
729
+ cnt = engine.node_count()
730
+ return f"OK cnt={cnt} type={type(cnt).__name__}"
731
+ """)
732
+ assert "OK" in out, f"node_count failed: {out}"
733
+ assert "type=int" in out
734
+
735
+ def test_edge_count_returns_int(self):
736
+ out = _compile_and_run_py_method(ENTERPRISE_CONTAINER, """
737
+ from iris_vector_graph.embedded import EmbeddedConnection
738
+ from iris_vector_graph.engine import IRISGraphEngine
739
+ conn = EmbeddedConnection()
740
+ engine = IRISGraphEngine(conn, embedding_dimension=4)
741
+ cnt = engine.edge_count()
742
+ return f"OK cnt={cnt} type={type(cnt).__name__}"
743
+ """)
744
+ assert "OK" in out, f"edge_count failed: {out}"
745
+
746
+ def test_embedding_count_returns_int(self):
747
+ out = _compile_and_run_py_method(ENTERPRISE_CONTAINER, """
748
+ from iris_vector_graph.embedded import EmbeddedConnection
749
+ from iris_vector_graph.engine import IRISGraphEngine
750
+ conn = EmbeddedConnection()
751
+ engine = IRISGraphEngine(conn, embedding_dimension=4)
752
+ cnt = engine.embedding_count()
753
+ return f"OK cnt={cnt} type={type(cnt).__name__}"
754
+ """)
755
+ assert "OK" in out, f"embedding_count failed: {out}"
756
+
757
+
758
+ @pytest.mark.skipif(
759
+ os.environ.get('RUN_EMBEDDED_WGPROTO_SUITE', 'false').lower() != 'true',
760
+ reason='Requires full wgproto context; set RUN_EMBEDDED_WGPROTO_SUITE=true'
761
+ )
762
+ def test_get_node_properties_returns_dict(self):
763
+ pfx = f"gprop_{uuid.uuid4().hex[:8]}"
764
+ out = _compile_and_run_py_method(ENTERPRISE_CONTAINER, f"""
765
+ from iris_vector_graph.embedded import EmbeddedConnection
766
+ from iris_vector_graph.engine import IRISGraphEngine
767
+ conn = EmbeddedConnection()
768
+ engine = IRISGraphEngine(conn, embedding_dimension=4)
769
+ nid = "{pfx}:N1"
770
+ engine.create_node(nid, properties={{"name": "TestNode", "score": "42"}})
771
+ props = engine.get_node_properties(nid)
772
+ name = engine.get_node_name(nid)
773
+ engine.delete_node(nid)
774
+ return f"OK props={{type(props).__name__}} name={{name}}"
775
+ """)
776
+ assert "OK props=dict" in out, f"get_node_properties failed: {out}"
777
+ assert "name=TestNode" in out, f"get_node_name failed: {out}"
778
+
779
+
780
+ @pytest.mark.skipif(
781
+ os.environ.get('RUN_EMBEDDED_WGPROTO_SUITE', 'false').lower() != 'true',
782
+ reason='Requires full wgproto context; set RUN_EMBEDDED_WGPROTO_SUITE=true'
783
+ )
784
+ def test_get_nodes_by_ids_batch(self):
785
+ pfx = f"gnids_{uuid.uuid4().hex[:8]}"
786
+ out = _compile_and_run_py_method(ENTERPRISE_CONTAINER, f"""
787
+ from iris_vector_graph.embedded import EmbeddedConnection
788
+ from iris_vector_graph.engine import IRISGraphEngine
789
+ conn = EmbeddedConnection()
790
+ engine = IRISGraphEngine(conn, embedding_dimension=4)
791
+ ids = ["{pfx}:N{{i}}" for i in range(3)]
792
+ for nid in ids:
793
+ engine.create_node(nid, properties={{"name": f"Node{{nid[-1]}}"}})
794
+ results = engine.get_nodes_by_ids(ids)
795
+ for nid in ids:
796
+ engine.delete_node(nid)
797
+ return f"OK count={{len(results)}}"
798
+ """)
799
+ assert "OK count=3" in out, f"get_nodes_by_ids failed: {out}"
800
+
801
+
802
+ @pytest.mark.skipif(
803
+ os.environ.get('RUN_EMBEDDED_WGPROTO_SUITE', 'false').lower() != 'true',
804
+ reason='Requires full wgproto context; set RUN_EMBEDDED_WGPROTO_SUITE=true'
805
+ )
806
+ def test_store_node_upsert_idempotent(self):
807
+ pfx = f"snode_{uuid.uuid4().hex[:8]}"
808
+ out = _compile_and_run_py_method(ENTERPRISE_CONTAINER, f"""
809
+ from iris_vector_graph.embedded import EmbeddedConnection
810
+ from iris_vector_graph.engine import IRISGraphEngine
811
+ conn = EmbeddedConnection()
812
+ engine = IRISGraphEngine(conn, embedding_dimension=4)
813
+ nid = "{pfx}:N1"
814
+ engine.store_node(nid, properties={{"name": "First"}})
815
+ engine.store_node(nid, properties={{"name": "Updated"}})
816
+ props = engine.get_node_properties(nid)
817
+ engine.delete_node(nid)
818
+ return f"OK name={{props.get('name', 'MISSING')}}"
819
+ """)
820
+ assert "OK name=Updated" in out, f"store_node upsert failed: {out}"
821
+
822
+ def test_detect_stored_vector_dtype(self):
823
+ out = _compile_and_run_py_method(ENTERPRISE_CONTAINER, """
824
+ from iris_vector_graph.embedded import EmbeddedConnection
825
+ from iris_vector_graph.engine import IRISGraphEngine
826
+ conn = EmbeddedConnection()
827
+ engine = IRISGraphEngine(conn, embedding_dimension=4)
828
+ dtype = engine.vector_dtype
829
+ return f"OK dtype={dtype}"
830
+ """)
831
+ assert "OK dtype=" in out, f"vector_dtype detection failed: {out}"
832
+ detected = out.split("dtype=")[1].split("\n")[0].strip()
833
+ assert detected in ("FLOAT", "DOUBLE"), f"Unexpected dtype: {detected}"
834
+
835
+
836
+ @pytest.mark.skipif(
837
+ os.environ.get('RUN_EMBEDDED_WGPROTO_SUITE', 'false').lower() != 'true',
838
+ reason='Requires full wgproto context; set RUN_EMBEDDED_WGPROTO_SUITE=true'
839
+ )
840
+ def test_sql_statement_fallback_for_vector_tables(self):
841
+ out = _compile_and_run_py_method(ENTERPRISE_CONTAINER, """
842
+ import iris
843
+ from iris_vector_graph.embedded import _sql_statement_execute
844
+
845
+ rs = _sql_statement_execute("SELECT TOP 1 1 AS n")
846
+ rows = list(rs)
847
+ return f"OK rows={len(rows)}"
848
+ """)
849
+ assert "OK" in out, f"_sql_statement_execute failed: {out}"
850
+
851
+
852
+ @pytest.mark.skipif(
853
+ os.environ.get('RUN_EMBEDDED_WGPROTO_SUITE', 'false').lower() != 'true',
854
+ reason='Requires full wgproto context; set RUN_EMBEDDED_WGPROTO_SUITE=true'
855
+ )
856
+ def test_all_three_fallbacks_transparent_to_execute_cypher(self):
857
+ out = _compile_and_run_py_method(ENTERPRISE_CONTAINER, """
858
+ from iris_vector_graph.embedded import EmbeddedConnection
859
+ from iris_vector_graph.engine import IRISGraphEngine
860
+ conn = EmbeddedConnection()
861
+ engine = IRISGraphEngine(conn, embedding_dimension=4)
862
+ r1 = engine.execute_cypher("MATCH (n) RETURN count(n) AS c")
863
+ r2 = engine.execute_cypher("MATCH ()-[r]->() RETURN count(r) AS c")
864
+ return f"OK nodes={r1.get('rows',[])} edges={r2.get('rows',[])}"
865
+ """)
866
+ assert "OK" in out, f"execute_cypher with all fallbacks failed: {out}"
@@ -443,3 +443,212 @@ class TestWgprotoJobSimulation:
443
443
  calls = [c[0][0] for c in mock_sql.exec.call_args_list]
444
444
  assert "1" in calls[0]
445
445
  assert "2" in calls[1]
446
+
447
+
448
+ class TestSqlStatementFallback:
449
+
450
+ def _make_ddtab(self):
451
+ return RuntimeError("<UNIMPLEMENTED>ddtab+83^%qaqpsq")
452
+
453
+ def test_third_level_fallback_triggered_when_exec_also_fails(self):
454
+ from iris_vector_graph.embedded import EmbeddedCursor
455
+ cursor = EmbeddedCursor()
456
+ mock_sql = MagicMock()
457
+ mock_sql.prepare.side_effect = self._make_ddtab()
458
+ mock_sql.exec.side_effect = self._make_ddtab()
459
+
460
+ mock_rs = MagicMock()
461
+ mock_rs.__iter__ = MagicMock(return_value=iter([(42,)]))
462
+ mock_rs.columnCount.return_value = 1
463
+ mock_rs.columnName.side_effect = lambda i: "n"
464
+
465
+ with patch("iris_vector_graph.embedded._require_iris_sql", return_value=mock_sql), \
466
+ patch("iris_vector_graph.embedded._sql_statement_execute", return_value=mock_rs) as mock_stmt:
467
+ cursor.execute("SELECT node_id FROM Graph_KG.nodes WHERE node_id = ?", ["abc"])
468
+
469
+ mock_stmt.assert_called_once_with(
470
+ "SELECT node_id FROM Graph_KG.nodes WHERE node_id = ?", ["abc"]
471
+ )
472
+
473
+ def test_all_three_fail_raises_runtime_error(self):
474
+ from iris_vector_graph.embedded import EmbeddedCursor
475
+ cursor = EmbeddedCursor()
476
+ mock_sql = MagicMock()
477
+ mock_sql.prepare.side_effect = self._make_ddtab()
478
+ mock_sql.exec.side_effect = self._make_ddtab()
479
+
480
+ with patch("iris_vector_graph.embedded._require_iris_sql", return_value=mock_sql), \
481
+ patch("iris_vector_graph.embedded._sql_statement_execute",
482
+ side_effect=RuntimeError("stmt also failed")):
483
+ with pytest.raises(RuntimeError, match="All three embedded SQL paths failed"):
484
+ cursor.execute("SELECT * FROM t", [])
485
+
486
+ def test_sql_statement_result_set_iterable(self):
487
+ from iris_vector_graph.embedded import _SqlStatementResultSet
488
+ mock_rs = MagicMock()
489
+ mock_rs._Next.side_effect = ["1", "1", "0"]
490
+ mock_rs._GetProperty.side_effect = lambda k: (
491
+ 2 if k == "ColCount" else MagicMock()
492
+ )
493
+ mock_rs._GetData.side_effect = lambda i: "val_a" if i == 1 else "val_b"
494
+
495
+ rs = _SqlStatementResultSet(mock_rs)
496
+ rows = list(rs)
497
+ assert len(rows) == 2
498
+ assert rows[0] == ("val_a", "val_b")
499
+
500
+ def test_second_level_exec_failure_escalates_to_third(self):
501
+ from iris_vector_graph.embedded import EmbeddedCursor
502
+ cursor = EmbeddedCursor()
503
+ mock_sql = MagicMock()
504
+ mock_sql.prepare.side_effect = self._make_ddtab()
505
+ mock_sql.exec.side_effect = self._make_ddtab()
506
+
507
+ mock_rs = MagicMock()
508
+ mock_rs.__iter__ = MagicMock(return_value=iter([]))
509
+ mock_rs.columnCount.return_value = 0
510
+
511
+ with patch("iris_vector_graph.embedded._require_iris_sql", return_value=mock_sql), \
512
+ patch("iris_vector_graph.embedded._sql_statement_execute",
513
+ return_value=mock_rs) as mock_stmt:
514
+ cursor.execute("SELECT s, o_id FROM Graph_KG.rdf_edges")
515
+
516
+ mock_stmt.assert_called_once()
517
+
518
+ def test_non_ddtab_on_exec_propagates_not_escalates(self):
519
+ from iris_vector_graph.embedded import EmbeddedCursor
520
+ cursor = EmbeddedCursor()
521
+ mock_sql = MagicMock()
522
+ mock_sql.prepare.side_effect = self._make_ddtab()
523
+ mock_sql.exec.side_effect = RuntimeError("permission denied")
524
+
525
+ with patch("iris_vector_graph.embedded._require_iris_sql", return_value=mock_sql), \
526
+ patch("iris_vector_graph.embedded._sql_statement_execute") as mock_stmt:
527
+ with pytest.raises(RuntimeError, match="permission denied"):
528
+ cursor.execute("SELECT 1")
529
+
530
+ mock_stmt.assert_not_called()
531
+
532
+
533
+ class TestNewEngineAPIs:
534
+
535
+ def _make_engine(self):
536
+ from iris_vector_graph.engine import IRISGraphEngine
537
+ from iris_vector_graph.engine import IRISCapabilities
538
+ eng = IRISGraphEngine.__new__(IRISGraphEngine)
539
+ eng.conn = MagicMock()
540
+ eng.embedding_dimension = 4
541
+ eng._arno_available = False
542
+ eng._arno_capabilities = {}
543
+ eng._index_registry = {}
544
+ eng.vector_dtype = "DOUBLE"
545
+ eng.capabilities = IRISCapabilities()
546
+ return eng
547
+
548
+ def test_get_node_name_returns_name_property(self):
549
+ eng = self._make_engine()
550
+ eng.get_node = MagicMock(return_value={
551
+ "id": "n1", "labels": ["Gene"],
552
+ "properties": {"name": "TP53", "symbol": "tp53"}
553
+ })
554
+ assert eng.get_node_name("n1") == "TP53"
555
+
556
+ def test_get_node_name_falls_back_to_label(self):
557
+ eng = self._make_engine()
558
+ eng.get_node = MagicMock(return_value={
559
+ "id": "n1", "labels": [],
560
+ "properties": {"label": "MyLabel"}
561
+ })
562
+ assert eng.get_node_name("n1") == "MyLabel"
563
+
564
+ def test_get_node_name_none_when_missing(self):
565
+ eng = self._make_engine()
566
+ eng.get_node = MagicMock(return_value=None)
567
+ assert eng.get_node_name("nonexistent") is None
568
+
569
+ def test_get_node_properties_returns_dict(self):
570
+ eng = self._make_engine()
571
+ eng.get_node = MagicMock(return_value={
572
+ "id": "n1", "properties": {"name": "Alice", "age": "30"}
573
+ })
574
+ props = eng.get_node_properties("n1")
575
+ assert props == {"name": "Alice", "age": "30"}
576
+
577
+ def test_get_nodes_by_ids_delegates_to_get_nodes(self):
578
+ eng = self._make_engine()
579
+ expected = [{"id": "a"}, {"id": "b"}]
580
+ eng.get_nodes = MagicMock(return_value=expected)
581
+ result = eng.get_nodes_by_ids(["a", "b"])
582
+ eng.get_nodes.assert_called_once_with(["a", "b"])
583
+ assert result == expected
584
+
585
+ def test_get_nodes_by_ids_empty_returns_empty(self):
586
+ eng = self._make_engine()
587
+ eng.get_nodes = MagicMock()
588
+ assert eng.get_nodes_by_ids([]) == []
589
+ eng.get_nodes.assert_not_called()
590
+
591
+ def test_node_count_calls_execute_cypher(self):
592
+ eng = self._make_engine()
593
+ eng.execute_cypher = MagicMock(return_value={"rows": [(42,)]})
594
+ assert eng.node_count() == 42
595
+ eng.execute_cypher.assert_called_once()
596
+ assert "count" in eng.execute_cypher.call_args[0][0].lower()
597
+
598
+ def test_edge_count_calls_execute_cypher(self):
599
+ eng = self._make_engine()
600
+ eng.execute_cypher = MagicMock(return_value={"rows": [(100,)]})
601
+ assert eng.edge_count() == 100
602
+
603
+ def test_embedding_count_queries_table(self):
604
+ eng = self._make_engine()
605
+ mock_cursor = MagicMock()
606
+ mock_cursor.fetchone.return_value = (205000,)
607
+ eng.conn.cursor.return_value = mock_cursor
608
+ assert eng.embedding_count() == 205000
609
+
610
+ def test_embedding_count_returns_zero_on_error(self):
611
+ eng = self._make_engine()
612
+ mock_cursor = MagicMock()
613
+ mock_cursor.execute.side_effect = Exception("table not found")
614
+ eng.conn.cursor.return_value = mock_cursor
615
+ assert eng.embedding_count() == 0
616
+
617
+
618
+ class TestDetectStoredVectorDtype:
619
+
620
+ def _make_engine(self):
621
+ from iris_vector_graph.engine import IRISGraphEngine, IRISCapabilities
622
+ eng = IRISGraphEngine.__new__(IRISGraphEngine)
623
+ eng.conn = MagicMock()
624
+ eng.embedding_dimension = 4
625
+ eng._arno_available = False
626
+ eng._arno_capabilities = {}
627
+ eng._index_registry = {}
628
+ eng.vector_dtype = "DOUBLE"
629
+ eng.capabilities = IRISCapabilities()
630
+ return eng
631
+
632
+ def test_returns_float_when_float_works(self):
633
+ eng = self._make_engine()
634
+ float_cursor = MagicMock()
635
+ float_cursor.fetchone.return_value = ("0.1,0.2",)
636
+ float_cursor2 = MagicMock()
637
+ float_cursor2.fetchone.return_value = (0.99,)
638
+ float_cursor3 = MagicMock()
639
+ float_cursor3.fetchone.return_value = (0.99,)
640
+ eng.conn.cursor.side_effect = [float_cursor, float_cursor2]
641
+ result = eng._detect_stored_vector_dtype()
642
+ assert result in ("FLOAT", "DOUBLE")
643
+
644
+ def test_returns_double_when_no_embeddings(self):
645
+ eng = self._make_engine()
646
+ mock_cursor = MagicMock()
647
+ mock_cursor.fetchone.return_value = None
648
+ eng.conn.cursor.return_value = mock_cursor
649
+ assert eng._detect_stored_vector_dtype() == "DOUBLE"
650
+
651
+ def test_returns_double_on_exception(self):
652
+ eng = self._make_engine()
653
+ eng.conn.cursor.side_effect = Exception("connection failed")
654
+ assert eng._detect_stored_vector_dtype() == "DOUBLE"