iris-vector-graph 1.91.4__tar.gz → 1.92.1__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 (560) hide show
  1. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/PKG-INFO +34 -1
  2. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/README.md +33 -0
  3. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/__init__.py +14 -0
  4. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/bulk_loader.py +2 -2
  5. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/cypher_api.py +29 -1
  6. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/engine.py +25 -13
  7. iris_vector_graph-1.92.1/iris_vector_graph/fhir_bridge.py +366 -0
  8. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/schema.py +2 -1
  9. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/pyproject.toml +1 -1
  10. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_embedded_wgproto.py +4 -6
  11. iris_vector_graph-1.92.1/tests/unit/test_fhir_bridge.py +397 -0
  12. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_sql_table_bridge.py +1 -0
  13. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/.gitignore +0 -0
  14. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/LICENSE +0 -0
  15. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/demo_biomedical.py +0 -0
  16. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/demo_fraud_detection.py +0 -0
  17. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/demo_fraud_detection_sql.py +0 -0
  18. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/demo_utils.py +0 -0
  19. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/demo_working_system.py +0 -0
  20. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/domains/__init__.py +0 -0
  21. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/domains/biomedical/__init__.py +0 -0
  22. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/domains/biomedical/loaders.py +0 -0
  23. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/domains/biomedical/resolver.py +0 -0
  24. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/domains/biomedical/types.py +0 -0
  25. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/domains/biomedical_legacy/__init__.py +0 -0
  26. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/domains/biomedical_legacy/biomedical_engine.py +0 -0
  27. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/domains/biomedical_legacy/biomedical_schema.py +0 -0
  28. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/domains/biomedical_legacy/legacy_wrapper.py +0 -0
  29. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/domains/fraud/__init__.py +0 -0
  30. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/domains/fraud/loaders.py +0 -0
  31. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/domains/fraud/resolver.py +0 -0
  32. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/domains/fraud/types.py +0 -0
  33. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/graphQL.http +0 -0
  34. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/hybrid_vector_graph_query.cypher +0 -0
  35. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/examples/rest.http +0 -0
  36. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/Algorithms.cls +0 -0
  37. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/ArnoAccel.cls +0 -0
  38. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/BM25Index.cls +0 -0
  39. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/BenchFormat.cls +0 -0
  40. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/BenchSeeder.cls +0 -0
  41. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/Benchmark.cls +0 -0
  42. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/Edge.cls +0 -0
  43. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/EdgeScan.cls +0 -0
  44. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/GraphIndex.cls +0 -0
  45. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/IVFIndex.cls +0 -0
  46. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/Loader.cls +0 -0
  47. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/MCPService.cls +0 -0
  48. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/MCPToolSet.cls +0 -0
  49. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/MCPTools.cls +0 -0
  50. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/Meta.cls +0 -0
  51. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/NKGAccel.cls +0 -0
  52. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/PLAIDSearch.cls +0 -0
  53. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/PageRank.cls +0 -0
  54. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/PyOps.cls +0 -0
  55. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/Service.cls +0 -0
  56. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/Snapshot.cls +0 -0
  57. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/Subgraph.cls +0 -0
  58. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/TemporalIndex.cls +0 -0
  59. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/TestEdge.cls +0 -0
  60. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/Traversal.cls +0 -0
  61. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/Graph/KG/VecIndex.cls +0 -0
  62. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/IVG/CypherEngine.cls +0 -0
  63. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/IVG/Percentile.cls +0 -0
  64. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/PageRankEmbedded.cls +0 -0
  65. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/User.Exec.cls +0 -0
  66. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_src/src/iris/vector/graph/GraphOperators.cls +0 -0
  67. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/_validate.py +0 -0
  68. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/bolt_server.py +0 -0
  69. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/0-b124e26129aa436b26fe.bundle.js +0 -0
  70. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/1-b124e26129aa436b26fe.bundle.js +0 -0
  71. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/10-b124e26129aa436b26fe.bundle.js +0 -0
  72. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/11-b124e26129aa436b26fe.bundle.js +0 -0
  73. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/12-b124e26129aa436b26fe.bundle.js +0 -0
  74. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/13-b124e26129aa436b26fe.bundle.js +0 -0
  75. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/14-b124e26129aa436b26fe.bundle.js +0 -0
  76. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/15-b124e26129aa436b26fe.bundle.js +0 -0
  77. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/16-b124e26129aa436b26fe.bundle.js +0 -0
  78. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/17-b124e26129aa436b26fe.bundle.js +0 -0
  79. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/18-b124e26129aa436b26fe.bundle.js +0 -0
  80. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/19-b124e26129aa436b26fe.bundle.js +0 -0
  81. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/20-b124e26129aa436b26fe.bundle.js +0 -0
  82. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/21-b124e26129aa436b26fe.bundle.js +0 -0
  83. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/22-b124e26129aa436b26fe.bundle.js +0 -0
  84. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/23-b124e26129aa436b26fe.bundle.js +0 -0
  85. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/24-b124e26129aa436b26fe.bundle.js +0 -0
  86. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/25-b124e26129aa436b26fe.bundle.js +0 -0
  87. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/26-b124e26129aa436b26fe.bundle.js +0 -0
  88. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/27-b124e26129aa436b26fe.bundle.js +0 -0
  89. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/28-b124e26129aa436b26fe.bundle.js +0 -0
  90. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/29-b124e26129aa436b26fe.bundle.js +0 -0
  91. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/30-b124e26129aa436b26fe.bundle.js +0 -0
  92. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/31-b124e26129aa436b26fe.bundle.js +0 -0
  93. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/32-b124e26129aa436b26fe.bundle.js +0 -0
  94. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/33-b124e26129aa436b26fe.bundle.js +0 -0
  95. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/34-b124e26129aa436b26fe.bundle.js +0 -0
  96. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/35-b124e26129aa436b26fe.bundle.js +0 -0
  97. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/36-b124e26129aa436b26fe.bundle.js +0 -0
  98. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/37-b124e26129aa436b26fe.bundle.js +0 -0
  99. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/38-b124e26129aa436b26fe.bundle.js +0 -0
  100. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/39-b124e26129aa436b26fe.bundle.js +0 -0
  101. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/40-b124e26129aa436b26fe.bundle.js +0 -0
  102. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/41-b124e26129aa436b26fe.bundle.js +0 -0
  103. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/42-b124e26129aa436b26fe.bundle.js +0 -0
  104. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/43-b124e26129aa436b26fe.bundle.js +0 -0
  105. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/44-b124e26129aa436b26fe.bundle.js +0 -0
  106. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/45-b124e26129aa436b26fe.bundle.js +0 -0
  107. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/46-b124e26129aa436b26fe.bundle.js +0 -0
  108. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/47-b124e26129aa436b26fe.bundle.js +0 -0
  109. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/48-b124e26129aa436b26fe.bundle.js +0 -0
  110. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/49-b124e26129aa436b26fe.bundle.js +0 -0
  111. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/50-b124e26129aa436b26fe.bundle.js +0 -0
  112. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/51-b124e26129aa436b26fe.bundle.js +0 -0
  113. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/52-b124e26129aa436b26fe.bundle.js +0 -0
  114. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/53-b124e26129aa436b26fe.bundle.js +0 -0
  115. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/54-b124e26129aa436b26fe.bundle.js +0 -0
  116. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/55-b124e26129aa436b26fe.bundle.js +0 -0
  117. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/56-b124e26129aa436b26fe.bundle.js +0 -0
  118. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/57-b124e26129aa436b26fe.bundle.js +0 -0
  119. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/58-b124e26129aa436b26fe.bundle.js +0 -0
  120. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/59-b124e26129aa436b26fe.bundle.js +0 -0
  121. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/6-b124e26129aa436b26fe.bundle.js +0 -0
  122. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/60-b124e26129aa436b26fe.bundle.js +0 -0
  123. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/61-b124e26129aa436b26fe.bundle.js +0 -0
  124. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/62-b124e26129aa436b26fe.bundle.js +0 -0
  125. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/63-b124e26129aa436b26fe.bundle.js +0 -0
  126. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/64-b124e26129aa436b26fe.bundle.js +0 -0
  127. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/65-b124e26129aa436b26fe.bundle.js +0 -0
  128. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/66-b124e26129aa436b26fe.bundle.js +0 -0
  129. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/67-b124e26129aa436b26fe.bundle.js +0 -0
  130. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/68-b124e26129aa436b26fe.bundle.js +0 -0
  131. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/69-b124e26129aa436b26fe.bundle.js +0 -0
  132. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/7-b124e26129aa436b26fe.bundle.js +0 -0
  133. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/70-b124e26129aa436b26fe.bundle.js +0 -0
  134. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/71-b124e26129aa436b26fe.bundle.js +0 -0
  135. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/72-b124e26129aa436b26fe.bundle.js +0 -0
  136. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/73-b124e26129aa436b26fe.bundle.js +0 -0
  137. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/74-b124e26129aa436b26fe.bundle.js +0 -0
  138. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/75-b124e26129aa436b26fe.bundle.js +0 -0
  139. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/8-b124e26129aa436b26fe.bundle.js +0 -0
  140. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/9-b124e26129aa436b26fe.bundle.js +0 -0
  141. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/app-b124e26129aa436b26fe.js +0 -0
  142. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/filter-a7c44e713bf19d31f6b2849160b1bba8.svg +0 -0
  143. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.eot +0 -0
  144. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.ttf +0 -0
  145. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.woff +0 -0
  146. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.woff2 +0 -0
  147. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.eot +0 -0
  148. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.ttf +0 -0
  149. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.woff +0 -0
  150. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.woff2 +0 -0
  151. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.eot +0 -0
  152. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.ttf +0 -0
  153. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.woff +0 -0
  154. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.woff2 +0 -0
  155. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.eot +0 -0
  156. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.ttf +0 -0
  157. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.woff +0 -0
  158. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.woff2 +0 -0
  159. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Bold.ttf +0 -0
  160. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/OpenSans-BoldItalic.ttf +0 -0
  161. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/OpenSans-ExtraBold.ttf +0 -0
  162. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  163. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Italic.ttf +0 -0
  164. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Light.ttf +0 -0
  165. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/OpenSans-LightItalic.ttf +0 -0
  166. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Regular.ttf +0 -0
  167. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Semibold.ttf +0 -0
  168. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/OpenSans-SemiboldItalic.ttf +0 -0
  169. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/codicon.ttf +0 -0
  170. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/filter.svg +0 -0
  171. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.eot +0 -0
  172. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.svg +0 -0
  173. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.ttf +0 -0
  174. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.woff +0 -0
  175. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.woff2 +0 -0
  176. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/group-by.svg +0 -0
  177. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.eot +0 -0
  178. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.svg +0 -0
  179. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.ttf +0 -0
  180. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.woff +0 -0
  181. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/sort.svg +0 -0
  182. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/sort1.svg +0 -0
  183. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/sort2.svg +0 -0
  184. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/streamline.eot +0 -0
  185. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/streamline.svg +0 -0
  186. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/streamline.ttf +0 -0
  187. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/fonts/streamline.woff +0 -0
  188. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/group-by-89c6aaa756bc3548cc6ab3d2be4d2862.svg +0 -0
  189. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/Favorites.mp4 +0 -0
  190. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/Keystrokes.mp4 +0 -0
  191. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/ProjectFiles.mp4 +0 -0
  192. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/ReusableFrame.mp4 +0 -0
  193. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/SidebarDB_Iinfo.png +0 -0
  194. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/Stream.png +0 -0
  195. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/aura-logo-inverted.svg +0 -0
  196. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/aura-logo.svg +0 -0
  197. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/books.png +0 -0
  198. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/clusters.svg +0 -0
  199. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/community.jpg +0 -0
  200. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-144x144.png +0 -0
  201. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-192x192.png +0 -0
  202. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-36x36.png +0 -0
  203. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-48x48.png +0 -0
  204. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-72x72.png +0 -0
  205. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-96x96.png +0 -0
  206. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-114x114.png +0 -0
  207. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-120x120.png +0 -0
  208. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-144x144.png +0 -0
  209. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-152x152.png +0 -0
  210. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-180x180.png +0 -0
  211. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-57x57.png +0 -0
  212. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-60x60.png +0 -0
  213. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-72x72.png +0 -0
  214. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-76x76.png +0 -0
  215. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-precomposed.png +0 -0
  216. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon.png +0 -0
  217. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/browserconfig.xml +0 -0
  218. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-16x16.png +0 -0
  219. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-32x32.png +0 -0
  220. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-96x96.png +0 -0
  221. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/favicon.ico +0 -0
  222. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/manifest.json +0 -0
  223. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-144x144.png +0 -0
  224. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-150x150.png +0 -0
  225. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-310x310.png +0 -0
  226. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-70x70.png +0 -0
  227. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/neo4j-browser-canary.svg +0 -0
  228. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/device-icons/neo4j-browser.svg +0 -0
  229. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/labeled_node.png +0 -0
  230. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/more_nodes.png +0 -0
  231. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/neo4j-favicon.ico +0 -0
  232. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/neo4j-logo-inverted.svg +0 -0
  233. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/neo4j-logo.svg +0 -0
  234. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/northwind/customer-orders.png +0 -0
  235. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/northwind/order-graph.png +0 -0
  236. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/northwind/product-category-supplier.png +0 -0
  237. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/northwind/product-graph.png +0 -0
  238. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/one_node.png +0 -0
  239. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/query-plan-operator-cost.svg +0 -0
  240. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/query-plan-operator-details.svg +0 -0
  241. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/query-plan-operator-rows.svg +0 -0
  242. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/query-plan.svg +0 -0
  243. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/rel-props.png +0 -0
  244. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/relationships.png +0 -0
  245. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/screen_code_frame.png +0 -0
  246. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/screen_cypher_warn.png +0 -0
  247. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/screen_editor.png +0 -0
  248. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/screen_sidebar.png +0 -0
  249. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/images/screen_stream.png +0 -0
  250. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/sort-8d6f482c21de572ceeb5ac93623e6c97.svg +0 -0
  251. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/sort1-d2dc515571213fc0ca99b0341b88e413.svg +0 -0
  252. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/assets/sort2-31050964e7eb2042325f7bcbba3d58ad.svg +0 -0
  253. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/bolt-worker-dfa551eb0861cc080843.js +0 -0
  254. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/cypher-editor-b124e26129aa436b26fe.bundle.js +0 -0
  255. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/editor-455af92e7e1dc39fdbc8060f6680ab32.worker.js +0 -0
  256. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/index.html +0 -0
  257. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/manifest.json +0 -0
  258. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/CoseBilkentLayout.worker-FEt6e_rV.js +0 -0
  259. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/HierarchicalLayout.worker-O6WHYssL.js +0 -0
  260. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/asciidoc.8O6YIVRy.js +0 -0
  261. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/auto-track.BlKugDvg.js +0 -0
  262. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/bash.CLAyaf9k.js +0 -0
  263. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/c.l4fEI10z.js +0 -0
  264. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/connect-icon-Br2hQy_e.svg +0 -0
  265. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/csharp.ChqrQYCS.js +0 -0
  266. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/css-extras.Bi-4v17d.js +0 -0
  267. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/css.B1LHiudN.js +0 -0
  268. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/cypher-editor-auto-completions.gif +0 -0
  269. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/cypher-editor-inline-help.png +0 -0
  270. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/cypher-editor-linting.png +0 -0
  271. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/cypher-editor-syntax-highlighting.png +0 -0
  272. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/cypher-reference.gif +0 -0
  273. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/cypher.C3qdyJ5B.js +0 -0
  274. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/docker.CF7EZT1T.js +0 -0
  275. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/fira-code-400-regular-normal-BzypJxJk.woff2 +0 -0
  276. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/fira-code-500-medium-normal-CRWzqcWa.woff2 +0 -0
  277. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/fira-code-700-bold-normal-hUmNV4O0.woff2 +0 -0
  278. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/go.FsJyBHVG.js +0 -0
  279. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/graphql.BlTzkzAJ.js +0 -0
  280. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/history-quick-search.gif +0 -0
  281. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/index-CY0cZcsW.js +0 -0
  282. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/index-H7L207gH.css +0 -0
  283. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/index.BpRu7Js3.js +0 -0
  284. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/index.C74acnU7.js +0 -0
  285. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/index.CHatcJcU.js +0 -0
  286. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/index.D6ZMQedT.js +0 -0
  287. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/index.DPZla5MT.js +0 -0
  288. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/index.dzIUqrzq.js +0 -0
  289. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/index.leyiHvaQ.js +0 -0
  290. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/index.qJ6VE118.js +0 -0
  291. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/index.umd.B9yhfa5Y.js +0 -0
  292. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/is-plan-event-enabled.DeNtQvA5.js +0 -0
  293. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/java.BBXwBh9f.js +0 -0
  294. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/java.CQ1iJ0-D.js +0 -0
  295. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/javadoc.UnquSOIj.js +0 -0
  296. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/javascript.CYTqTa0W.js +0 -0
  297. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/json.BIkJg-Cj.js +0 -0
  298. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/jsx.Cy_hP1z6.js +0 -0
  299. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/kotlin.D_6l0VkM.js +0 -0
  300. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/lintWorker-QNEp56W3.js +0 -0
  301. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/logo-aura-white-DCfUnkCN.svg +0 -0
  302. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/movie-model.png +0 -0
  303. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/movies-active-B2SzHIc1.svg +0 -0
  304. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/neo4j-logo-active-CieUxroh.svg +0 -0
  305. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/patterned-banner-background-C_nO-Yn8.svg +0 -0
  306. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/php.BKb6XVba.js +0 -0
  307. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/plan-graph-worker-s17nF19Q.js +0 -0
  308. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/public-sans-300-light-normal-CG9e8kLa.woff2 +0 -0
  309. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/public-sans-400-regular-italic-D9FlViiB.woff2 +0 -0
  310. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/public-sans-400-regular-normal-D4F9yfFi.woff2 +0 -0
  311. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/public-sans-500-medium-normal-ChZcBEnJ.woff2 +0 -0
  312. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/public-sans-600-semi-bold-normal-Ck6TyfRI.woff2 +0 -0
  313. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/public-sans-700-bold-normal-CGjRhW-d.woff2 +0 -0
  314. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/python.tCcUC3U7.js +0 -0
  315. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/query-fundamentals-active-jvTJU1K2.svg +0 -0
  316. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/query.snake-frame.DmvXOQIM.js +0 -0
  317. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/regex.C_VuIVtC.js +0 -0
  318. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/rust.CtSATZMt.js +0 -0
  319. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/saved-cypher.gif +0 -0
  320. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/scalable-graph-visualization.gif +0 -0
  321. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/sql.CfOAbw6n.js +0 -0
  322. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/syne-neo-500-medium-normal-A5GXmYUf.woff2 +0 -0
  323. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/table-visualization.gif +0 -0
  324. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/typescript.3Tbm37mD.js +0 -0
  325. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/xml-doc.h79Tu9Aw.js +0 -0
  326. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/assets/yaml.B-Jvd59g.js +0 -0
  327. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/favicons/android-chrome-192x192.png +0 -0
  328. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/favicons/apple-touch-icon.png +0 -0
  329. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/favicons/favicon-16x16.png +0 -0
  330. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/favicons/favicon-194x194.png +0 -0
  331. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/favicons/favicon-32x32.png +0 -0
  332. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/favicons/favicon.ico +0 -0
  333. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/favicons/safari-pinned-tab.svg +0 -0
  334. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/index.html +0 -0
  335. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/preview/manifest.json +0 -0
  336. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/ui-libs-b124e26129aa436b26fe.bundle.js +0 -0
  337. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/browser_static/vendor-b124e26129aa436b26fe.bundle.js +0 -0
  338. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/capabilities.py +0 -0
  339. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/cypher/__init__.py +0 -0
  340. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/cypher/algorithms/__init__.py +0 -0
  341. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/cypher/algorithms/paths.py +0 -0
  342. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/cypher/ast.py +0 -0
  343. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/cypher/lexer.py +0 -0
  344. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/cypher/parser.py +0 -0
  345. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/cypher/translator.py +0 -0
  346. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/dbapi_utils.py +0 -0
  347. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/embedded.py +0 -0
  348. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/fusion.py +0 -0
  349. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/gql/__init__.py +0 -0
  350. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/gql/constants.py +0 -0
  351. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/gql/engine.py +0 -0
  352. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/gql/pooling.py +0 -0
  353. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/gql/resolvers.py +0 -0
  354. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/gql/schema.py +0 -0
  355. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/index_protocol.py +0 -0
  356. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/models.py +0 -0
  357. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/operators.py +0 -0
  358. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/py.typed +0 -0
  359. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/result.py +0 -0
  360. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/security.py +0 -0
  361. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/status.py +0 -0
  362. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/text_search.py +0 -0
  363. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/utils.py +0 -0
  364. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/iris_vector_graph/vector_utils.py +0 -0
  365. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/sql/fhir_bridges.sql +0 -0
  366. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/sql/fraud_sample_data.sql +0 -0
  367. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/sql/globals_schema.sql +0 -0
  368. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/sql/graph_path_globals.sql +0 -0
  369. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/sql/graph_walk_tvf.sql +0 -0
  370. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/sql/migrations/000_base_schema_iris.sql +0 -0
  371. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/sql/migrations/001_add_nodepk_table.sql +0 -0
  372. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/sql/migrations/001_rollback_nodepk.sql +0 -0
  373. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/sql/migrations/002_add_fk_constraints.sql +0 -0
  374. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/sql/operators.sql +0 -0
  375. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/sql/operators_fixed.sql +0 -0
  376. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/sql/procedures/kg_PageRank.sql +0 -0
  377. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/sql/rdf_reifications.sql +0 -0
  378. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/sql/schema.sql +0 -0
  379. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/TESTING.md +0 -0
  380. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/benchmark_parser.py +0 -0
  381. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/benchmarks/README.md +0 -0
  382. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/benchmarks/bench.py +0 -0
  383. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/benchmarks/bench_utils.py +0 -0
  384. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/benchmarks/benchmark_neo4j.py +0 -0
  385. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/benchmarks/bfs_benchmark.py +0 -0
  386. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/benchmarks/establish_baseline.py +0 -0
  387. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/benchmarks/graph_gen.py +0 -0
  388. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/benchmarks/ic2_profile.py +0 -0
  389. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/benchmarks/iris_baseline_run.py +0 -0
  390. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/benchmarks/iris_os_run.py +0 -0
  391. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/benchmarks/ldbc_full_loader.py +0 -0
  392. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/benchmarks/load_neo4j.py +0 -0
  393. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/benchmarks/synthetic_baseline.csv +0 -0
  394. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/conftest.py +0 -0
  395. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/contract/__init__.py +0 -0
  396. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/contract/test_cypher_api.py +0 -0
  397. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/contract/test_cypher_api_errors.py +0 -0
  398. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/contract/test_graphql_queries.py +0 -0
  399. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/contract/test_graphql_schema.py +0 -0
  400. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/contract/test_ppr_api.py +0 -0
  401. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/curl_suite.sh +0 -0
  402. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/__init__.py +0 -0
  403. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/conftest.py +0 -0
  404. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_approx_count_distinct.py +0 -0
  405. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_arno_bfs_global.py +0 -0
  406. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_arno_bfs_unified.py +0 -0
  407. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_biomedical_demo.py +0 -0
  408. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_biomedical_ui.py +0 -0
  409. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_cypher_coerce_e2e.py +0 -0
  410. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_cypher_sprints_e2e.py +0 -0
  411. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_cypher_vector_search.py +0 -0
  412. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_cypher_vl_path_bfs.py +0 -0
  413. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_embedded_wgproto_e2e.py +0 -0
  414. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_execution_contexts.py +0 -0
  415. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_execution_contexts_new.py +0 -0
  416. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_fhir_bridges_e2e.py +0 -0
  417. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_fraud_demo.py +0 -0
  418. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_fraud_ui.py +0 -0
  419. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_gql_autogen_startup.py +0 -0
  420. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_gql_cypher_passthrough.py +0 -0
  421. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_gql_node_queries.py +0 -0
  422. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_gql_semantic_search.py +0 -0
  423. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_gql_traversal.py +0 -0
  424. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_graph_kernels_e2e.py +0 -0
  425. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_hla_kg_e2e.py +0 -0
  426. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_ic13_shortest_path.py +0 -0
  427. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_ic3_exact_count.py +0 -0
  428. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_index_protocol.py +0 -0
  429. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_introspection_api.py +0 -0
  430. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_ivf_insert.py +0 -0
  431. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_large_output_chunked.py +0 -0
  432. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_lazy_node_resolution.py +0 -0
  433. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_multi_query_engine_platform.py +0 -0
  434. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_named_paths_e2e.py +0 -0
  435. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_nkg_index_e2e.py +0 -0
  436. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_operator_wiring_e2e.py +0 -0
  437. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_pattern_comprehension_reduce.py +0 -0
  438. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_plaid.py +0 -0
  439. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_plaid_search_e2e.py +0 -0
  440. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_ppr_cls_fast_path.py +0 -0
  441. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_ppr_guided_e2e.py +0 -0
  442. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_procedure_installation.py +0 -0
  443. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_reification_e2e.py +0 -0
  444. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_schema_procedures_e2e.py +0 -0
  445. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_streaming_bfs.py +0 -0
  446. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_stress_api.py +0 -0
  447. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_stress_ingest.py +0 -0
  448. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_stress_multi_context.py +0 -0
  449. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_stress_search.py +0 -0
  450. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_stress_setup.py +0 -0
  451. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_stress_traversal.py +0 -0
  452. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_subgraph_e2e.py +0 -0
  453. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_subquery_call_e2e.py +0 -0
  454. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_untested_methods.py +0 -0
  455. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/e2e/test_vecindex_e2e.py +0 -0
  456. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/__init__.py +0 -0
  457. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/conftest.py +0 -0
  458. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/gql/__init__.py +0 -0
  459. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/gql/test_graphql_mutations.py +0 -0
  460. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/gql/test_graphql_nested_queries.py +0 -0
  461. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/gql/test_graphql_queries.py +0 -0
  462. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/gql/test_graphql_vector_search.py +0 -0
  463. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_bidirectional_ppr.py +0 -0
  464. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_cls_layer.py +0 -0
  465. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_cypher_advanced.py +0 -0
  466. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_cypher_enhancements.py +0 -0
  467. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_cypher_multi_type.py +0 -0
  468. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_cypher_rd.py +0 -0
  469. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_cypher_rel_vars.py +0 -0
  470. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_cypher_single_type.py +0 -0
  471. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_cypher_untyped.py +0 -0
  472. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_cypher_vector_search.py +0 -0
  473. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_embeddings_api.py +0 -0
  474. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_fastapi_graphql.py +0 -0
  475. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_fhir_bridges_integration.py +0 -0
  476. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_named_paths_integration.py +0 -0
  477. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_nodepk_advanced_benchmarks.py +0 -0
  478. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_nodepk_constraints.py +0 -0
  479. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_nodepk_graph_analytics.py +0 -0
  480. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_nodepk_migration.py +0 -0
  481. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_nodepk_performance.py +0 -0
  482. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_nodepk_production_scale.py +0 -0
  483. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_objectscript_classes.py +0 -0
  484. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_pagerank_sql_optimization.py +0 -0
  485. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_reification_integration.py +0 -0
  486. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_schema_migration.py +0 -0
  487. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_stored_procedure_install.py +0 -0
  488. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/integration/test_subquery_call_integration.py +0 -0
  489. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/performance/conftest.py +0 -0
  490. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/performance/scale_benchmark.py +0 -0
  491. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/performance/test_ppr_stress.py +0 -0
  492. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/performance/test_stress_v1_5.py +0 -0
  493. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/python/run_all_tests.py +0 -0
  494. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/python/test_iris_rest_api.py +0 -0
  495. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/python/test_networkx_loader.py +0 -0
  496. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/python/test_performance_benchmarks.py +0 -0
  497. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/python/test_pyops_vector_conversion.py +0 -0
  498. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/python/test_python_operators.py +0 -0
  499. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/python/test_python_sdk.py +0 -0
  500. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/python/test_schema_validation.py +0 -0
  501. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/python/test_sql_queries.py +0 -0
  502. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/python/test_vector_functions.py +0 -0
  503. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/cypher/__init__.py +0 -0
  504. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/cypher/test_lexer.py +0 -0
  505. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/cypher/test_lexer_advanced.py +0 -0
  506. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/cypher/test_parser.py +0 -0
  507. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/cypher/test_parser_advanced.py +0 -0
  508. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_batch_mutations.py +0 -0
  509. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_bfs_arno.py +0 -0
  510. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_bm25_index.py +0 -0
  511. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_bolt_server.py +0 -0
  512. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_cls_deployment.py +0 -0
  513. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_cypher_benchmark.py +0 -0
  514. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_cypher_benchmark_scale.py +0 -0
  515. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_cypher_case_when.py +0 -0
  516. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_cypher_e2e_new_features.py +0 -0
  517. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_cypher_functions.py +0 -0
  518. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_cypher_parser.py +0 -0
  519. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_cypher_posos_bugs.py +0 -0
  520. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_cypher_procedures.py +0 -0
  521. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_cypher_translator.py +0 -0
  522. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_cypher_union_exists.py +0 -0
  523. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_cypher_var_length.py +0 -0
  524. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_cypher_vector_search.py +0 -0
  525. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_edge_embeddings.py +0 -0
  526. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_edgeprop_ndjson.py +0 -0
  527. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_embed_nodes_params.py +0 -0
  528. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_embedded.py +0 -0
  529. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_engine_dimension_fix.py +0 -0
  530. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_engine_embeddings.py +0 -0
  531. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_engine_status.py +0 -0
  532. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_fhir_bridges.py +0 -0
  533. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_get_nodes.py +0 -0
  534. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_graph_kernels.py +0 -0
  535. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_graphql_dataloader.py +0 -0
  536. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_index_handle.py +0 -0
  537. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_index_protocol.py +0 -0
  538. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_ingest_formats.py +0 -0
  539. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_introspection_api.py +0 -0
  540. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_ivf_index.py +0 -0
  541. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_ivgresult.py +0 -0
  542. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_named_graphs.py +0 -0
  543. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_named_paths.py +0 -0
  544. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_operators_wiring.py +0 -0
  545. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_plaid_search.py +0 -0
  546. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_ppr_guided_subgraph.py +0 -0
  547. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_reification.py +0 -0
  548. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_schema_init.py +0 -0
  549. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_schema_procedures.py +0 -0
  550. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_shortest_path.py +0 -0
  551. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_snapshot.py +0 -0
  552. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_sql_splitter.py +0 -0
  553. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_subgraph.py +0 -0
  554. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_subquery_call.py +0 -0
  555. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_temporal_cypher.py +0 -0
  556. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_temporal_edges.py +0 -0
  557. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_unified_edge_store.py +0 -0
  558. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_validation.py +0 -0
  559. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/tests/unit/test_vector_search_routing.py +0 -0
  560. {iris_vector_graph-1.91.4 → iris_vector_graph-1.92.1}/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.4
3
+ Version: 1.92.1
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
@@ -696,11 +696,29 @@ components = ops.kg_WCC()
696
696
  ## FHIR Bridge
697
697
 
698
698
  ```python
699
+ from iris_vector_graph import get_kg_anchors, unified_clinical_pipeline, FHIRSearchTool
700
+
699
701
  # Load ICD-10→MeSH mappings from UMLS MRCONSO
700
702
  # python scripts/ingest/load_umls_bridges.py --mrconso /path/to/MRCONSO.RRF
701
703
 
704
+ # Resolve ICD-10 codes to KG node IDs
702
705
  anchors = engine.get_kg_anchors(icd_codes=["J18.0", "E11.9"])
703
706
  # → ["MeSH:D001996", "MeSH:D003924"] (filtered to nodes in KG)
707
+
708
+ # Full pipeline: FHIR patient → conditions → KG anchors → PPR → ranked results
709
+ result = unified_clinical_pipeline(
710
+ engine=engine,
711
+ query="pneumonia elderly",
712
+ fhir_base_url="http://localhost:8080/fhir",
713
+ patient_id="maria-gonzalez-001",
714
+ )
715
+ # result["status"] → "ok"
716
+ # result["anchors"] → ["MeSH:D011014", "MeSH:D003924"]
717
+ # result["ppr_results"] → [{"node_id": "...", "score": 0.85}, ...]
718
+
719
+ # MCP-compatible tool for AI agents
720
+ tool = FHIRSearchTool(base_url="http://localhost:8080/fhir")
721
+ conditions = tool("patient-123") # → {"conditions": [...], "error": None}
704
722
  ```
705
723
 
706
724
  ---
@@ -1234,6 +1252,21 @@ Four openCypher gaps closed, all from structured gap analysis against the openCy
1234
1252
 
1235
1253
  ## Changelog
1236
1254
 
1255
+ ### v1.92.0 (2026-05-11)
1256
+
1257
+ **FHIR-KG Clinical Bridge** — new `iris_vector_graph.fhir_bridge` module bridges clinical patient data to the biomedical knowledge graph.
1258
+
1259
+ - `get_kg_anchors(engine, icd_codes)` — resolve ICD-10 codes to KG node IDs via `fhir_bridges` table
1260
+ - `extract_icd_codes(bundle)` — parse ICD-10 codes from FHIR Condition bundles
1261
+ - `fhir_search_conditions(url, patient_id)` — FHIR REST client (10s independent timeout, BasicAuth)
1262
+ - `unified_clinical_pipeline(engine, ...)` — full pipeline: FHIR → anchors → PPR → ranked results with provenance
1263
+ - `FHIRSearchTool` — MCP-compatible FHIR search wrapper for AI agents
1264
+ - `GetPatientKGNeighborhoodTool` — MCP-compatible patient → graph neighborhood tool
1265
+ - Cypher API: `POST /api/cypher` accepts optional `fhir_patient_id` + `fhir_base_url` — auto-resolves patient anchors into `$patient_anchors` parameter
1266
+
1267
+ **Bug fix:**
1268
+ - Duplicate key detection now catches IRIS's actual "failed unique check" error message (previously only checked for SQLCODE -119 and "duplicate" substring, which don't match)
1269
+
1237
1270
  ### v1.91.0 (2026-05-09)
1238
1271
 
1239
1272
  **Engine-first architecture** — `IRISGraphOperators` is now a thin shim over `IRISGraphEngine`.
@@ -624,11 +624,29 @@ components = ops.kg_WCC()
624
624
  ## FHIR Bridge
625
625
 
626
626
  ```python
627
+ from iris_vector_graph import get_kg_anchors, unified_clinical_pipeline, FHIRSearchTool
628
+
627
629
  # Load ICD-10→MeSH mappings from UMLS MRCONSO
628
630
  # python scripts/ingest/load_umls_bridges.py --mrconso /path/to/MRCONSO.RRF
629
631
 
632
+ # Resolve ICD-10 codes to KG node IDs
630
633
  anchors = engine.get_kg_anchors(icd_codes=["J18.0", "E11.9"])
631
634
  # → ["MeSH:D001996", "MeSH:D003924"] (filtered to nodes in KG)
635
+
636
+ # Full pipeline: FHIR patient → conditions → KG anchors → PPR → ranked results
637
+ result = unified_clinical_pipeline(
638
+ engine=engine,
639
+ query="pneumonia elderly",
640
+ fhir_base_url="http://localhost:8080/fhir",
641
+ patient_id="maria-gonzalez-001",
642
+ )
643
+ # result["status"] → "ok"
644
+ # result["anchors"] → ["MeSH:D011014", "MeSH:D003924"]
645
+ # result["ppr_results"] → [{"node_id": "...", "score": 0.85}, ...]
646
+
647
+ # MCP-compatible tool for AI agents
648
+ tool = FHIRSearchTool(base_url="http://localhost:8080/fhir")
649
+ conditions = tool("patient-123") # → {"conditions": [...], "error": None}
632
650
  ```
633
651
 
634
652
  ---
@@ -1162,6 +1180,21 @@ Four openCypher gaps closed, all from structured gap analysis against the openCy
1162
1180
 
1163
1181
  ## Changelog
1164
1182
 
1183
+ ### v1.92.0 (2026-05-11)
1184
+
1185
+ **FHIR-KG Clinical Bridge** — new `iris_vector_graph.fhir_bridge` module bridges clinical patient data to the biomedical knowledge graph.
1186
+
1187
+ - `get_kg_anchors(engine, icd_codes)` — resolve ICD-10 codes to KG node IDs via `fhir_bridges` table
1188
+ - `extract_icd_codes(bundle)` — parse ICD-10 codes from FHIR Condition bundles
1189
+ - `fhir_search_conditions(url, patient_id)` — FHIR REST client (10s independent timeout, BasicAuth)
1190
+ - `unified_clinical_pipeline(engine, ...)` — full pipeline: FHIR → anchors → PPR → ranked results with provenance
1191
+ - `FHIRSearchTool` — MCP-compatible FHIR search wrapper for AI agents
1192
+ - `GetPatientKGNeighborhoodTool` — MCP-compatible patient → graph neighborhood tool
1193
+ - Cypher API: `POST /api/cypher` accepts optional `fhir_patient_id` + `fhir_base_url` — auto-resolves patient anchors into `$patient_anchors` parameter
1194
+
1195
+ **Bug fix:**
1196
+ - Duplicate key detection now catches IRIS's actual "failed unique check" error message (previously only checked for SQLCODE -119 and "duplicate" substring, which don't match)
1197
+
1165
1198
  ### v1.91.0 (2026-05-09)
1166
1199
 
1167
1200
  **Engine-first architecture** — `IRISGraphOperators` is now a thin shim over `IRISGraphEngine`.
@@ -24,6 +24,14 @@ from .dbapi_utils import (
24
24
  create_ivfflat_index,
25
25
  vector_similarity_search,
26
26
  )
27
+ from .fhir_bridge import (
28
+ get_kg_anchors,
29
+ extract_icd_codes,
30
+ fhir_search_conditions,
31
+ unified_clinical_pipeline,
32
+ FHIRSearchTool,
33
+ GetPatientKGNeighborhoodTool,
34
+ )
27
35
 
28
36
  try:
29
37
  from .embedded import EmbeddedConnection, EmbeddedCursor
@@ -58,4 +66,10 @@ __all__ = [
58
66
  "KHop2Input",
59
67
  "TemporalEdgeInput",
60
68
  "VecSearchInput",
69
+ "get_kg_anchors",
70
+ "extract_icd_codes",
71
+ "fhir_search_conditions",
72
+ "unified_clinical_pipeline",
73
+ "FHIRSearchTool",
74
+ "GetPatientKGNeighborhoodTool",
61
75
  ]
@@ -70,8 +70,8 @@ class BulkLoader:
70
70
  if commit_per_batch:
71
71
  self.conn.rollback()
72
72
  err_str = str(e)
73
- # UNIQUE violation: fall back to row-by-row for this batch
74
- if "-119" in err_str or "UNIQUE" in err_str:
73
+ err_lower = err_str.lower()
74
+ if "-119" in err_str or "unique" in err_lower:
75
75
  for row in batch:
76
76
  try:
77
77
  cursor.execute(sql, row)
@@ -95,6 +95,9 @@ class CypherRequest(BaseModel):
95
95
  query: str
96
96
  parameters: dict[str, Any] = Field(default_factory=dict)
97
97
  limitRows: int = 1000
98
+ fhir_patient_id: str | None = None
99
+ fhir_base_url: str | None = None
100
+ fhir_auth: tuple[str, str] | list[str] | None = None
98
101
 
99
102
 
100
103
  @app.websocket("/")
@@ -185,12 +188,37 @@ def health():
185
188
  return {"status": "ok", "engine": False, "error": str(e)}
186
189
 
187
190
 
191
+ def _resolve_patient_anchors(req: CypherRequest) -> list[str]:
192
+ from iris_vector_graph.fhir_bridge import fhir_search_conditions, get_kg_anchors
193
+
194
+ fhir_url = req.fhir_base_url or os.environ.get("FHIR_BASE_URL", "")
195
+ if not fhir_url:
196
+ return []
197
+ auth = tuple(req.fhir_auth) if req.fhir_auth else None
198
+ fhir_result = fhir_search_conditions(
199
+ fhir_base_url=fhir_url,
200
+ patient_id=req.fhir_patient_id,
201
+ auth=auth,
202
+ )
203
+ if fhir_result["error"] or not fhir_result["conditions"]:
204
+ return []
205
+ icd_codes = [c["code"] for c in fhir_result["conditions"] if c.get("code")]
206
+ if not icd_codes:
207
+ return []
208
+ engine = _get_engine()
209
+ return get_kg_anchors(engine, icd_codes)
210
+
211
+
188
212
  @app.post("/api/cypher")
189
213
  def cypher_query(req: CypherRequest):
190
214
  trace_id = str(uuid.uuid4())[:8]
191
215
  t0 = time.time()
192
216
  try:
193
- result = _run_cypher(req.query, req.parameters, req.limitRows)
217
+ params = dict(req.parameters)
218
+ if req.fhir_patient_id:
219
+ anchors = _resolve_patient_anchors(req)
220
+ params["patient_anchors"] = anchors
221
+ result = _run_cypher(req.query, params, req.limitRows)
194
222
  duration = int((time.time() - t0) * 1000)
195
223
  _log("POST", "/api/cypher", 200, duration, trace_id)
196
224
  return result
@@ -891,7 +891,8 @@ class IRISGraphEngine:
891
891
  except Exception:
892
892
  pass
893
893
  finally:
894
- cursor.close()
894
+ if hasattr(cursor, 'close'):
895
+ cursor.close()
895
896
 
896
897
  def execute_cypher(
897
898
  self, cypher_query: str, parameters: Dict[str, Any] = None,
@@ -2828,10 +2829,11 @@ class IRISGraphEngine:
2828
2829
  return True
2829
2830
  except Exception as e:
2830
2831
  cursor.execute("ROLLBACK")
2832
+ err_lower = str(e).lower()
2831
2833
  if (
2832
- "UNIQUE" in str(e)
2834
+ "unique" in err_lower
2833
2835
  or "-119" in str(e)
2834
- or "validation failed" in str(e).lower()
2836
+ or "validation failed" in err_lower
2835
2837
  ):
2836
2838
  logger.debug(f"create_node skipped: {node_id}: {str(e)[:80]}")
2837
2839
  else:
@@ -2863,7 +2865,8 @@ class IRISGraphEngine:
2863
2865
  self.conn.commit()
2864
2866
  except Exception as e:
2865
2867
  self.conn.rollback()
2866
- if "UNIQUE" in str(e) or "-119" in str(e):
2868
+ err_lower = str(e).lower()
2869
+ if "unique" in err_lower or "-119" in str(e):
2867
2870
  logger.debug(
2868
2871
  f"create_edge duplicate: {source_id}-[{predicate}]->{target_id}"
2869
2872
  )
@@ -4257,9 +4260,12 @@ class IRISGraphEngine:
4257
4260
  emb_str = ",".join(str(x) for x in embedding)
4258
4261
  meta_json = json.dumps(metadata) if metadata else None
4259
4262
 
4260
- cursor.execute(
4261
- f"DELETE FROM {_table('kg_NodeEmbeddings')} WHERE id = ?", [node_id]
4262
- )
4263
+ try:
4264
+ cursor.execute(
4265
+ f"DELETE FROM {_table('kg_NodeEmbeddings')} WHERE id = ?", [node_id]
4266
+ )
4267
+ except Exception:
4268
+ pass
4263
4269
  cursor.execute(
4264
4270
  f"INSERT INTO {_table('kg_NodeEmbeddings')} (id, emb, metadata) VALUES (?, TO_VECTOR(?, {self.vector_dtype}), ?)",
4265
4271
  [node_id, emb_str, meta_json],
@@ -4302,9 +4308,12 @@ class IRISGraphEngine:
4302
4308
  emb_str = ",".join(str(x) for x in embedding)
4303
4309
  meta_json = json.dumps(metadata) if metadata else None
4304
4310
 
4305
- cursor.execute(
4306
- f"DELETE FROM {_table('kg_NodeEmbeddings')} WHERE id = ?", [node_id]
4307
- )
4311
+ try:
4312
+ cursor.execute(
4313
+ f"DELETE FROM {_table('kg_NodeEmbeddings')} WHERE id = ?", [node_id]
4314
+ )
4315
+ except Exception:
4316
+ pass
4308
4317
  cursor.execute(
4309
4318
  f"INSERT INTO {_table('kg_NodeEmbeddings')} (id, emb, metadata) VALUES (?, TO_VECTOR(?, {_dtype}), ?)",
4310
4319
  [node_id, emb_str, meta_json],
@@ -6858,7 +6867,8 @@ class IRISGraphEngine:
6858
6867
  )
6859
6868
  self.conn.commit()
6860
6869
  except Exception as e:
6861
- if "-119" not in str(e) and "duplicate" not in str(e).lower():
6870
+ err_lower = str(e).lower()
6871
+ if "-119" not in str(e) and "duplicate" not in err_lower and "unique" not in err_lower:
6862
6872
  raise
6863
6873
  finally:
6864
6874
  cursor.close()
@@ -6890,7 +6900,8 @@ class IRISGraphEngine:
6890
6900
  )
6891
6901
  self.conn.commit()
6892
6902
  except Exception as e:
6893
- if "-119" not in str(e) and "duplicate" not in str(e).lower():
6903
+ err_lower = str(e).lower()
6904
+ if "-119" not in str(e) and "duplicate" not in err_lower and "unique" not in err_lower:
6894
6905
  raise
6895
6906
  finally:
6896
6907
  cursor3.close()
@@ -6909,7 +6920,8 @@ class IRISGraphEngine:
6909
6920
  )
6910
6921
  self.conn.commit()
6911
6922
  except Exception as e:
6912
- if "-119" not in str(e) and "duplicate" not in str(e).lower():
6923
+ err_lower = str(e).lower()
6924
+ if "-119" not in str(e) and "duplicate" not in err_lower and "unique" not in err_lower:
6913
6925
  raise
6914
6926
  finally:
6915
6927
  cursor.close()
@@ -0,0 +1,366 @@
1
+ """FHIR-to-KG Clinical Bridge.
2
+
3
+ Bridges clinical patient data (FHIR Conditions with ICD-10 codes) to the
4
+ biomedical knowledge graph (MeSH/MONDO identifiers) via the fhir_bridges table.
5
+
6
+ Core functions:
7
+ get_kg_anchors(engine, icd_codes) -> list[str]
8
+ unified_clinical_pipeline(engine, ...) -> dict
9
+ extract_icd_codes(bundle) -> list[str]
10
+
11
+ MCP tools:
12
+ FHIRSearchTool
13
+ GetPatientKGNeighborhoodTool
14
+ """
15
+
16
+ import json
17
+ import logging
18
+ from typing import Any, Optional
19
+
20
+ import requests
21
+
22
+ logger = logging.getLogger(__name__)
23
+
24
+ __all__ = [
25
+ "get_kg_anchors",
26
+ "extract_icd_codes",
27
+ "fhir_search_conditions",
28
+ "unified_clinical_pipeline",
29
+ "FHIRSearchTool",
30
+ "GetPatientKGNeighborhoodTool",
31
+ ]
32
+
33
+
34
+ # ---------------------------------------------------------------------------
35
+ # US2: Query Patient KG Anchors
36
+ # ---------------------------------------------------------------------------
37
+
38
+
39
+ def get_kg_anchors(engine: Any, icd_codes: list[str], bridge_type: str = "icd10_to_mesh") -> list[str]:
40
+ """Resolve ICD-10 codes to KG node IDs via the fhir_bridges table.
41
+
42
+ Delegates to engine.get_kg_anchors() which performs the SQL JOIN
43
+ against Graph_KG.nodes to filter to only existing KG nodes.
44
+
45
+ Args:
46
+ engine: IRISGraphEngine instance
47
+ icd_codes: List of ICD-10-CM codes (e.g. ["E11.9", "I10"])
48
+ bridge_type: Bridge type filter (default "icd10_to_mesh")
49
+
50
+ Returns:
51
+ List of KG node IDs that exist in Graph_KG.nodes.
52
+ Empty list if no codes provided, no bridges loaded, or no matches.
53
+ """
54
+ if not icd_codes:
55
+ return []
56
+ result = engine.get_kg_anchors(icd_codes=icd_codes, bridge_type=bridge_type)
57
+ if not result:
58
+ logger.warning(
59
+ "get_kg_anchors returned empty for codes=%s — check fhir_bridges table is populated",
60
+ icd_codes,
61
+ )
62
+ return result
63
+
64
+
65
+ # ---------------------------------------------------------------------------
66
+ # US3: FHIR Client Helpers
67
+ # ---------------------------------------------------------------------------
68
+
69
+
70
+ def fhir_search_conditions(
71
+ fhir_base_url: str,
72
+ patient_id: str,
73
+ auth: Optional[tuple[str, str]] = None,
74
+ timeout: float = 10.0,
75
+ ) -> dict:
76
+ """Search FHIR server for Condition resources for a patient.
77
+
78
+ Args:
79
+ fhir_base_url: Base URL of FHIR server (e.g. "http://localhost:8080/fhir")
80
+ patient_id: FHIR patient ID
81
+ auth: Optional (username, password) tuple for BasicAuth
82
+ timeout: Request timeout in seconds (default 10s, independent per spec)
83
+
84
+ Returns:
85
+ dict with keys:
86
+ "conditions": list of condition dicts with "code", "system", "display"
87
+ "error": None on success, error message string on failure
88
+ """
89
+ url = f"{fhir_base_url}/Condition?patient={patient_id}&_format=json"
90
+ try:
91
+ resp = requests.get(url, auth=auth, timeout=timeout)
92
+ resp.raise_for_status()
93
+ bundle = resp.json()
94
+ conditions = extract_icd_codes_from_bundle(bundle)
95
+ return {"conditions": conditions, "error": None}
96
+ except requests.exceptions.Timeout:
97
+ msg = f"FHIR request timed out after {timeout}s"
98
+ logger.warning(msg)
99
+ return {"conditions": [], "error": msg}
100
+ except requests.exceptions.ConnectionError as e:
101
+ msg = f"FHIR server unreachable: {e}"
102
+ logger.warning(msg)
103
+ return {"conditions": [], "error": msg}
104
+ except requests.exceptions.HTTPError as e:
105
+ msg = f"FHIR HTTP error: {e.response.status_code}"
106
+ logger.warning(msg)
107
+ return {"conditions": [], "error": msg}
108
+ except Exception as e:
109
+ msg = f"FHIR request failed: {e}"
110
+ logger.warning(msg)
111
+ return {"conditions": [], "error": msg}
112
+
113
+
114
+ def extract_icd_codes(bundle: dict) -> list[str]:
115
+ """Extract ICD-10-CM codes from a FHIR Condition bundle.
116
+
117
+ Looks for coding entries with system containing 'icd-10' or 'icd10'.
118
+
119
+ Args:
120
+ bundle: FHIR Bundle resource (JSON dict)
121
+
122
+ Returns:
123
+ List of ICD-10 code strings (deduplicated).
124
+ """
125
+ codes: list[str] = []
126
+ entries = bundle.get("entry", [])
127
+ for entry in entries:
128
+ resource = entry.get("resource", {})
129
+ if resource.get("resourceType") != "Condition":
130
+ continue
131
+ code_obj = resource.get("code", {})
132
+ for coding in code_obj.get("coding", []):
133
+ system = (coding.get("system") or "").lower()
134
+ if "icd-10" in system or "icd10" in system:
135
+ code_val = coding.get("code")
136
+ if code_val and code_val not in codes:
137
+ codes.append(code_val)
138
+ return codes
139
+
140
+
141
+ def extract_icd_codes_from_bundle(bundle: dict) -> list[dict]:
142
+ """Extract structured condition info from a FHIR Condition bundle.
143
+
144
+ Returns richer structure than extract_icd_codes (which returns only code strings).
145
+
146
+ Args:
147
+ bundle: FHIR Bundle resource
148
+
149
+ Returns:
150
+ List of dicts with "code", "system", "display" keys.
151
+ """
152
+ conditions: list[dict] = []
153
+ entries = bundle.get("entry", [])
154
+ for entry in entries:
155
+ resource = entry.get("resource", {})
156
+ if resource.get("resourceType") != "Condition":
157
+ continue
158
+ code_obj = resource.get("code", {})
159
+ for coding in code_obj.get("coding", []):
160
+ system = (coding.get("system") or "").lower()
161
+ if "icd-10" in system or "icd10" in system:
162
+ conditions.append({
163
+ "code": coding.get("code", ""),
164
+ "system": coding.get("system", ""),
165
+ "display": coding.get("display", ""),
166
+ })
167
+ return conditions
168
+
169
+
170
+ # ---------------------------------------------------------------------------
171
+ # US3: Unified Clinical Pipeline
172
+ # ---------------------------------------------------------------------------
173
+
174
+
175
+ def unified_clinical_pipeline(
176
+ engine: Any,
177
+ query: str,
178
+ fhir_base_url: str,
179
+ patient_id: str,
180
+ fhir_auth: Optional[tuple[str, str]] = None,
181
+ top_k: int = 10,
182
+ ppr_top_k: int = 20,
183
+ fhir_timeout: float = 10.0,
184
+ ) -> dict:
185
+ """Run the full clinical-to-literature pipeline.
186
+
187
+ Pipeline steps:
188
+ 1. Search FHIR for patient Conditions
189
+ 2. Extract ICD-10 codes
190
+ 3. Resolve codes to KG anchors via fhir_bridges
191
+ 4. Run Personalized PageRank from anchor nodes
192
+ 5. Return ranked results with provenance
193
+
194
+ Args:
195
+ engine: IRISGraphEngine instance
196
+ query: Clinical query string (for provenance/context)
197
+ fhir_base_url: FHIR server base URL
198
+ patient_id: FHIR patient ID
199
+ fhir_auth: Optional (username, password) for BasicAuth
200
+ top_k: Number of top vector search results (unused in current impl)
201
+ ppr_top_k: Number of PPR results to return
202
+ fhir_timeout: FHIR request timeout in seconds
203
+
204
+ Returns:
205
+ dict with keys:
206
+ status: "ok" | "no_fhir_conditions" | "no_bridges_loaded" |
207
+ "anchors_resolved_but_no_graph_connectivity"
208
+ anchors: list of KG node IDs
209
+ ppr_results: list of PPR-ranked nodes (empty if no connectivity)
210
+ fhir_conditions: list of condition dicts from FHIR
211
+ provenance: dict with pipeline step details
212
+ """
213
+ result = {
214
+ "status": "ok",
215
+ "anchors": [],
216
+ "ppr_results": [],
217
+ "fhir_conditions": [],
218
+ "provenance": {"query": query, "patient_id": patient_id, "steps": []},
219
+ }
220
+
221
+ # Step 1: Fetch FHIR conditions
222
+ fhir_result = fhir_search_conditions(
223
+ fhir_base_url=fhir_base_url,
224
+ patient_id=patient_id,
225
+ auth=fhir_auth,
226
+ timeout=fhir_timeout,
227
+ )
228
+ result["provenance"]["steps"].append({"step": "fhir_search", "error": fhir_result["error"]})
229
+
230
+ if fhir_result["error"]:
231
+ result["status"] = "fhir_error"
232
+ result["provenance"]["fhir_error"] = fhir_result["error"]
233
+ return result
234
+
235
+ result["fhir_conditions"] = fhir_result["conditions"]
236
+
237
+ # Step 2: Extract ICD-10 codes
238
+ icd_codes = [c["code"] for c in fhir_result["conditions"] if c.get("code")]
239
+ result["provenance"]["steps"].append({"step": "extract_icd_codes", "codes": icd_codes})
240
+
241
+ if not icd_codes:
242
+ result["status"] = "no_fhir_conditions"
243
+ return result
244
+
245
+ # Step 3: Resolve to KG anchors
246
+ anchors = get_kg_anchors(engine, icd_codes)
247
+ result["anchors"] = anchors
248
+ result["provenance"]["steps"].append({"step": "get_kg_anchors", "anchors": anchors})
249
+
250
+ if not anchors:
251
+ result["status"] = "no_bridges_loaded"
252
+ return result
253
+
254
+ # Step 4: Run PPR from anchors
255
+ try:
256
+ ppr_results = engine.kg_PERSONALIZED_PAGERANK(
257
+ seed_entities=anchors,
258
+ top_k=ppr_top_k,
259
+ )
260
+ result["ppr_results"] = ppr_results
261
+ result["provenance"]["steps"].append({"step": "ppr", "result_count": len(ppr_results)})
262
+
263
+ if not ppr_results:
264
+ result["status"] = "anchors_resolved_but_no_graph_connectivity"
265
+ except Exception as e:
266
+ logger.warning(f"PPR failed: {e}")
267
+ result["status"] = "anchors_resolved_but_no_graph_connectivity"
268
+ result["provenance"]["steps"].append({"step": "ppr", "error": str(e)})
269
+
270
+ return result
271
+
272
+
273
+ # ---------------------------------------------------------------------------
274
+ # US4: FHIR Search Tool (MCP-compatible)
275
+ # ---------------------------------------------------------------------------
276
+
277
+
278
+ class FHIRSearchTool:
279
+ """MCP-compatible tool that searches a FHIR server for patient data.
280
+
281
+ Wraps FHIR REST API details (pagination, auth, resource parsing) so
282
+ AI agents don't need to know FHIR internals.
283
+ """
284
+
285
+ name = "fhir_search_conditions"
286
+ description = (
287
+ "Search a FHIR server for patient Condition resources. "
288
+ "Returns structured list of conditions with ICD-10 codes."
289
+ )
290
+
291
+ def __init__(
292
+ self,
293
+ base_url: str,
294
+ auth: Optional[tuple[str, str]] = None,
295
+ timeout: float = 10.0,
296
+ ):
297
+ self.base_url = base_url
298
+ self.auth = auth
299
+ self.timeout = timeout
300
+
301
+ def __call__(self, patient_id: str) -> dict:
302
+ """Execute the tool.
303
+
304
+ Args:
305
+ patient_id: FHIR patient ID to search conditions for.
306
+
307
+ Returns:
308
+ dict with "conditions" list and "error" (None on success).
309
+ """
310
+ return fhir_search_conditions(
311
+ fhir_base_url=self.base_url,
312
+ patient_id=patient_id,
313
+ auth=self.auth,
314
+ timeout=self.timeout,
315
+ )
316
+
317
+
318
+ # ---------------------------------------------------------------------------
319
+ # US5: Patient Graph Neighborhood Tool (MCP-compatible)
320
+ # ---------------------------------------------------------------------------
321
+
322
+
323
+ class GetPatientKGNeighborhoodTool:
324
+ """MCP-compatible tool: patient_id -> conditions -> anchors -> PPR neighborhood.
325
+
326
+ Python equivalent of CareConnect's GetPatientGraphNeighborhood ObjectScript tool.
327
+ """
328
+
329
+ name = "get_patient_kg_neighborhood"
330
+ description = (
331
+ "Get the knowledge graph neighborhood for a patient. "
332
+ "Chains: patient → FHIR Conditions → ICD codes → KG anchors → PPR walk → ranked concepts."
333
+ )
334
+
335
+ def __init__(
336
+ self,
337
+ engine: Any,
338
+ fhir_base_url: str,
339
+ fhir_auth: Optional[tuple[str, str]] = None,
340
+ fhir_timeout: float = 10.0,
341
+ ppr_top_k: int = 20,
342
+ ):
343
+ self.engine = engine
344
+ self.fhir_base_url = fhir_base_url
345
+ self.fhir_auth = fhir_auth
346
+ self.fhir_timeout = fhir_timeout
347
+ self.ppr_top_k = ppr_top_k
348
+
349
+ def __call__(self, patient_id: str) -> dict:
350
+ """Execute the tool.
351
+
352
+ Args:
353
+ patient_id: FHIR patient ID.
354
+
355
+ Returns:
356
+ dict with "anchors", "ppr_results", "status".
357
+ """
358
+ return unified_clinical_pipeline(
359
+ engine=self.engine,
360
+ query=f"patient_neighborhood:{patient_id}",
361
+ fhir_base_url=self.fhir_base_url,
362
+ patient_id=patient_id,
363
+ fhir_auth=self.fhir_auth,
364
+ ppr_top_k=self.ppr_top_k,
365
+ fhir_timeout=self.fhir_timeout,
366
+ )
@@ -362,7 +362,8 @@ CREATE INDEX idx_edges_confidence ON Graph_KG.rdf_edges(JSON_VALUE(qualifiers, '
362
362
  )
363
363
  return True
364
364
  except Exception as e:
365
- if "already exists" in str(e).lower() or "duplicate" in str(e).lower():
365
+ err_lower = str(e).lower()
366
+ if "already exists" in err_lower or "duplicate" in err_lower or "unique" in err_lower:
366
367
  return True
367
368
  return False
368
369
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "iris-vector-graph"
7
- version = "1.91.4"
7
+ version = "1.92.1"
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"