iris-vector-graph 2.4.6__tar.gz → 2.4.8__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.
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/PKG-INFO +27 -2
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/README.md +24 -1
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/BM25Index.cls +173 -76
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/vector.py +15 -4
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/pyproject.toml +4 -1
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_bm25_index.py +103 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_ivf_index.py +172 -0
- iris_vector_graph-2.4.8/tests/unit/test_rrf_fuse_e2e.py +307 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_vector_unit.py +24 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/.gitignore +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/LICENSE +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/demo_biomedical.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/demo_fraud_detection.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/demo_fraud_detection_sql.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/demo_rdf_semantic_layer.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/demo_utils.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/demo_working_system.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/domains/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/domains/biomedical/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/domains/biomedical/loaders.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/domains/biomedical/resolver.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/domains/biomedical/types.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/domains/biomedical_legacy/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/domains/biomedical_legacy/biomedical_engine.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/domains/biomedical_legacy/biomedical_schema.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/domains/biomedical_legacy/legacy_wrapper.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/domains/fraud/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/domains/fraud/loaders.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/domains/fraud/resolver.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/domains/fraud/types.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/graphQL.http +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/hybrid_vector_graph_query.cypher +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/examples/rest.http +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/Algorithms.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/ArnoAccel.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/BenchFormat.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/BenchSeeder.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/Benchmark.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/Centrality.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/Communities.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/Edge.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/EdgeScan.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/EmbedQueue.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/GraphIndex.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/IVFIndex.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/Loader.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/MCPService.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/MCPToolSet.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/MCPTools.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/Meta.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/NKGAccel.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/NKGAccelAdjacency.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/NKGAccelCentrality.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/NKGAccelLoader.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/NKGAccelTraversal.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/PLAIDSearch.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/PageRank.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/PyOps.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/Service.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/Snapshot.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/Subgraph.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/TemporalIndex.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/TestEdge.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/Traversal.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/TraversalBFS.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/TraversalBuild.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/TraversalKHop.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/TraversalPaths.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/VecIndex.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/kgNodeEmbeddings.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/Graph/KG/kgNodeEmbeddingsoptimized.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/IVG/CypherEngine.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/IVG/Percentile.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/PageRankEmbedded.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/User.Exec.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_src/src/iris/vector/graph/GraphOperators.cls +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/_rdf_utils.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/admin.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/algorithms.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/embeddings.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/fhir.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/nodes_edges.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/prov.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/query.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/query.py,cover +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/rdf_export.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/schema.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/shacl.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/snapshot.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/snapshot.py,cover +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_engine/temporal.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/_validate.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/api_auth.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/bolt_server.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/0-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/1-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/10-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/11-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/12-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/13-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/14-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/15-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/16-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/17-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/18-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/19-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/20-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/21-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/22-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/23-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/24-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/25-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/26-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/27-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/28-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/29-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/30-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/31-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/32-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/33-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/34-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/35-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/36-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/37-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/38-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/39-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/40-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/41-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/42-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/43-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/44-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/45-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/46-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/47-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/48-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/49-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/50-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/51-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/52-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/53-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/54-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/55-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/56-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/57-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/58-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/59-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/6-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/60-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/61-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/62-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/63-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/64-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/65-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/66-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/67-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/68-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/69-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/7-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/70-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/71-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/72-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/73-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/74-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/75-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/8-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/9-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/app-b124e26129aa436b26fe.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/filter-a7c44e713bf19d31f6b2849160b1bba8.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.eot +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.woff +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.woff2 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.eot +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.woff +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.woff2 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.eot +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.woff +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.woff2 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.eot +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.woff +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.woff2 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Bold.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/OpenSans-BoldItalic.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/OpenSans-ExtraBold.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Italic.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Light.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/OpenSans-LightItalic.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Regular.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Semibold.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/OpenSans-SemiboldItalic.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/codicon.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/filter.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.eot +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.woff +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.woff2 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/group-by.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.eot +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.woff +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/sort.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/sort1.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/sort2.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/streamline.eot +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/streamline.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/streamline.ttf +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/fonts/streamline.woff +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/group-by-89c6aaa756bc3548cc6ab3d2be4d2862.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/Favorites.mp4 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/Keystrokes.mp4 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/ProjectFiles.mp4 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/ReusableFrame.mp4 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/SidebarDB_Iinfo.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/Stream.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/aura-logo-inverted.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/aura-logo.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/books.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/clusters.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/community.jpg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-144x144.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-192x192.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-36x36.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-48x48.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-72x72.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-96x96.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-114x114.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-120x120.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-144x144.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-152x152.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-180x180.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-57x57.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-60x60.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-72x72.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-76x76.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-precomposed.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/browserconfig.xml +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-16x16.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-32x32.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-96x96.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/favicon.ico +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/manifest.json +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-144x144.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-150x150.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-310x310.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-70x70.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/neo4j-browser-canary.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/device-icons/neo4j-browser.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/labeled_node.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/more_nodes.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/neo4j-favicon.ico +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/neo4j-logo-inverted.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/neo4j-logo.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/northwind/customer-orders.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/northwind/order-graph.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/northwind/product-category-supplier.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/northwind/product-graph.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/one_node.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/query-plan-operator-cost.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/query-plan-operator-details.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/query-plan-operator-rows.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/query-plan.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/rel-props.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/relationships.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/screen_code_frame.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/screen_cypher_warn.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/screen_editor.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/screen_sidebar.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/images/screen_stream.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/sort-8d6f482c21de572ceeb5ac93623e6c97.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/sort1-d2dc515571213fc0ca99b0341b88e413.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/assets/sort2-31050964e7eb2042325f7bcbba3d58ad.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/bolt-worker-dfa551eb0861cc080843.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/cypher-editor-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/editor-455af92e7e1dc39fdbc8060f6680ab32.worker.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/index.html +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/manifest.json +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/CoseBilkentLayout.worker-FEt6e_rV.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/HierarchicalLayout.worker-O6WHYssL.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/asciidoc.8O6YIVRy.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/auto-track.BlKugDvg.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/bash.CLAyaf9k.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/c.l4fEI10z.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/connect-icon-Br2hQy_e.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/csharp.ChqrQYCS.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/css-extras.Bi-4v17d.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/css.B1LHiudN.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/cypher-editor-auto-completions.gif +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/cypher-editor-inline-help.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/cypher-editor-linting.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/cypher-editor-syntax-highlighting.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/cypher-reference.gif +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/cypher.C3qdyJ5B.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/docker.CF7EZT1T.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/fira-code-400-regular-normal-BzypJxJk.woff2 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/fira-code-500-medium-normal-CRWzqcWa.woff2 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/fira-code-700-bold-normal-hUmNV4O0.woff2 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/go.FsJyBHVG.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/graphql.BlTzkzAJ.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/history-quick-search.gif +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/index-CY0cZcsW.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/index-H7L207gH.css +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/index.BpRu7Js3.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/index.C74acnU7.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/index.CHatcJcU.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/index.D6ZMQedT.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/index.DPZla5MT.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/index.dzIUqrzq.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/index.leyiHvaQ.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/index.qJ6VE118.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/index.umd.B9yhfa5Y.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/is-plan-event-enabled.DeNtQvA5.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/java.BBXwBh9f.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/java.CQ1iJ0-D.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/javadoc.UnquSOIj.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/javascript.CYTqTa0W.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/json.BIkJg-Cj.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/jsx.Cy_hP1z6.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/kotlin.D_6l0VkM.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/lintWorker-QNEp56W3.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/logo-aura-white-DCfUnkCN.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/movie-model.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/movies-active-B2SzHIc1.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/neo4j-logo-active-CieUxroh.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/patterned-banner-background-C_nO-Yn8.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/php.BKb6XVba.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/plan-graph-worker-s17nF19Q.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/public-sans-300-light-normal-CG9e8kLa.woff2 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/public-sans-400-regular-italic-D9FlViiB.woff2 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/public-sans-400-regular-normal-D4F9yfFi.woff2 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/public-sans-500-medium-normal-ChZcBEnJ.woff2 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/public-sans-600-semi-bold-normal-Ck6TyfRI.woff2 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/public-sans-700-bold-normal-CGjRhW-d.woff2 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/python.tCcUC3U7.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/query-fundamentals-active-jvTJU1K2.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/query.snake-frame.DmvXOQIM.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/regex.C_VuIVtC.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/rust.CtSATZMt.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/saved-cypher.gif +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/scalable-graph-visualization.gif +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/sql.CfOAbw6n.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/syne-neo-500-medium-normal-A5GXmYUf.woff2 +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/table-visualization.gif +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/typescript.3Tbm37mD.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/xml-doc.h79Tu9Aw.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/assets/yaml.B-Jvd59g.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/favicons/android-chrome-192x192.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/favicons/apple-touch-icon.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/favicons/favicon-16x16.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/favicons/favicon-194x194.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/favicons/favicon-32x32.png +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/favicons/favicon.ico +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/favicons/safari-pinned-tab.svg +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/index.html +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/preview/manifest.json +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/ui-libs-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/browser_static/vendor-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/bulk_loader.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/capabilities.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/cli.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/cypher/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/cypher/algorithms/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/cypher/algorithms/paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/cypher/aql/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/cypher/aql/ast.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/cypher/aql/lexer.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/cypher/aql/parser.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/cypher/aql/translator.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/cypher/ast.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/cypher/lexer.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/cypher/parser.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/cypher/translator.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/cypher/translator.py,cover +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/cypher_api.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/dbapi_utils.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/embed_selector.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/embedded.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/engine.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/errors.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/fhir_bridge.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/fusion.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/gql/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/gql/constants.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/gql/engine.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/gql/pooling.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/gql/resolvers.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/gql/schema.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/index_config.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/index_protocol.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/models.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/operators.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/py.typed +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/result.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/schema.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/sdk.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/security.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/status.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/store_protocol.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/stores/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/stores/arno_bridge.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/stores/iris_sql_store.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/stores/lazy_kg.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/text_search.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/utils.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/iris_vector_graph/vector_utils.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/sql/fhir_bridges.sql +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/sql/fraud_sample_data.sql +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/sql/globals_schema.sql +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/sql/graph_path_globals.sql +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/sql/graph_walk_tvf.sql +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/sql/migrations/000_base_schema_iris.sql +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/sql/migrations/001_add_nodepk_table.sql +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/sql/migrations/001_rollback_nodepk.sql +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/sql/migrations/002_add_fk_constraints.sql +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/sql/operators.sql +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/sql/operators_fixed.sql +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/sql/procedures/kg_PageRank.sql +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/sql/rdf_reifications.sql +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/sql/schema.sql +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/TESTING.md +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/benchmark_parser.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/benchmarks/README.md +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/benchmarks/bench.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/benchmarks/bench_193_full.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/benchmarks/bench_utils.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/benchmarks/benchmark_neo4j.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/benchmarks/bfs_benchmark.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/benchmarks/establish_baseline.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/benchmarks/graph_gen.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/benchmarks/ic2_profile.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/benchmarks/iris_baseline_run.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/benchmarks/iris_os_run.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/benchmarks/ldbc_full_loader.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/benchmarks/load_neo4j.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/benchmarks/synthetic_baseline.csv +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/conftest.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/contract/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/contract/conftest.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/contract/test_cypher_api.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/contract/test_cypher_api_errors.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/contract/test_graphql_queries.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/contract/test_graphql_schema.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/contract/test_ppr_api.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/curl_suite.sh +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/conftest.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/fixtures/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/fixtures/centrality_graphs.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/fixtures/community_graphs.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_analytics_dispatch.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_approx_count_distinct.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_aql_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_arno_bfs_global.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_arno_bfs_unified.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_betweenness_neighborhood_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_betweenness_os_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_biomedical_demo.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_biomedical_ui.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_centrality_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_closeness_os_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_communities_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_communities_perf.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_cypher_coerce_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_cypher_gaps_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_cypher_sprints_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_cypher_vector_search.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_cypher_vl_path_bfs.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_edge_weights.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_eigenvector_os_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_embed_queue_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_embedded_wgproto_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_execution_contexts.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_execution_contexts_new.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_fhir_bridges_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_fraud_demo.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_fraud_ui.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_gql_autogen_startup.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_gql_cypher_passthrough.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_gql_node_queries.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_gql_semantic_search.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_gql_traversal.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_graph_kernels_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_hla_kg_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_ic13_shortest_path.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_ic3_exact_count.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_igraph_fastpath_parity.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_index_protocol.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_introspection_api.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_ivf_insert.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_large_output_chunked.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_lazy_kg_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_lazy_node_resolution.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_msbfs_closeness.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_multi_query_engine_platform.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_named_paths_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_nkg_index_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_objectscript_split_resolution.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_operator_wiring_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_pattern_comprehension_reduce.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_plaid.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_plaid_search_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_ppr_cls_fast_path.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_ppr_guided_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_procedure_installation.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_reification_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_schema_procedures_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_sdk_ergonomics_178_180_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_store_injection_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_streaming_bfs.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_stress_api.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_stress_ingest.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_stress_multi_context.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_stress_search.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_stress_setup.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_stress_traversal.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_subgraph_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_subquery_call_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_temporal_store_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_unified_index_api.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_untested_methods.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/e2e/test_vecindex_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/conftest.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/gql/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/gql/test_graphql_mutations.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/gql/test_graphql_nested_queries.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/gql/test_graphql_queries.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/gql/test_graphql_vector_search.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_196_bug_fixes.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_admin_introspection.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_algorithm_branches.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_algorithms_deep_coverage.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_algorithms_error_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_algorithms_integration.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_algorithms_new_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_api_completeness.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_arno_bridge_mock_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_arno_bridge_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_arno_store_layer.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_bidirectional_ppr.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_bulk_load_session.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_bulk_loader_live.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_cls_layer.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_coverage_final_push.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_coverage_push_final.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_cypher_advanced.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_cypher_api_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_cypher_api_exception_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_cypher_enhancements.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_cypher_multi_type.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_cypher_rd.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_cypher_rel_vars.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_cypher_single_type.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_cypher_untyped.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_cypher_vector_search.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_diabolical_qa.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_doc_claims.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_driver_segfault_guard.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_embed_queue_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_embeddings_api.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_embeddings_integration.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_embeddings_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_engine_misc_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_engine_utils_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_fastapi_graphql.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_fhir_bridges_integration.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_fhir_event_sidecar.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_fusion_dbapi_bulk.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_gql_resolvers_live.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_index_consistency_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_lazykg_algorithms.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_lazykg_fallback_forced.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_named_paths_integration.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_nodepk_advanced_benchmarks.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_nodepk_constraints.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_nodepk_graph_analytics.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_nodepk_migration.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_nodepk_performance.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_nodepk_production_scale.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_nodes_edges_and_algo_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_nodes_edges_deep.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_objectscript_classes.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_pagerank_sql_optimization.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_query_deep.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_query_engine_branches.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_query_engine_special.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_query_fastpaths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_query_paths_deep.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_query_special_patterns.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_rdf_semantic_layer_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_reification_integration.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_remaining_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_schema_and_engine_procs.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_schema_deep.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_schema_migration.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_snapshot_deep.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_snapshot_import_export.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_snapshot_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_sql_parameterization.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_sql_store_direct.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_sql_store_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_store_algorithms.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_store_bfs_deep.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_store_exception_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_store_write_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_stored_procedure_install.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_subquery_call_integration.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_vector_advanced_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_vector_engine_deep.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_vector_index_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_vector_index_paths2.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_vector_optimizer_live.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/integration/test_vector_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/perf/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/perf/test_betweenness_vs_gds.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/perf/test_head_to_head.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/perf/test_leiden_four_way.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/performance/conftest.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/performance/scale_benchmark.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/performance/test_ppr_stress.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/performance/test_stress_v1_5.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/python/run_all_tests.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/python/test_iris_rest_api.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/python/test_networkx_loader.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/python/test_performance_benchmarks.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/python/test_pyops_vector_conversion.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/python/test_python_operators.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/python/test_python_sdk.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/python/test_schema_validation.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/python/test_sql_queries.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/python/test_vector_functions.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/regression/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/regression/engine_api_baseline.json +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/regression/test_complexity.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/regression/test_engine_api.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/regression/test_module_size.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/regression/test_no_silent_swallow.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/test_schema_contract.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/cypher/__init__.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/cypher/test_lexer.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/cypher/test_lexer_advanced.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/cypher/test_parser.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/cypher/test_parser_advanced.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_193_bfs_nkg_fast_path.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_194_readme.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_admin_remaining.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_admin_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_algorithm_warning_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_algorithms_extended_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_algorithms_large_graph_warn.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_algorithms_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_api_security.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_aql_lexer.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_aql_parser.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_aql_translator.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_aql_translator_extra.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_arno_bridge.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_batch_mutations.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_betweenness_os_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_bfs_arno.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_bolt_relationship_encoding.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_bolt_server.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_bulk_load_session.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_bulk_loader_coverage.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_bulk_loader_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_centrality_translator.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_centrality_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cli.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_closeness_os_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cls_deployment.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_communities_translator.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_communities_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_concept_first_status.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_coverage_boost.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cypher_api_admin.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cypher_api_coverage.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cypher_api_extra.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cypher_benchmark.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cypher_benchmark_scale.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cypher_case_when.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cypher_e2e_new_features.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cypher_functions.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cypher_parser.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cypher_posos_bugs.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cypher_procedures.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cypher_translator.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cypher_union_exists.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cypher_var_length.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_cypher_vector_search.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_dbapi_utils_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_drift_detector.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_edge_embeddings.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_edgeprop_ndjson.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_embed_nodes_params.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_embed_queue_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_embed_selector.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_embed_selector_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_embedded.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_embedded_wgproto.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_embeddings_remaining.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_embeddings_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_engine_deep.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_engine_dimension_fix.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_engine_embeddings.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_engine_mocked.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_engine_status.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_engine_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_error_model.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_fetch_first_join_bug.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_fhir_bridge.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_fhir_bridges.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_fhir_event_sidecar.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_gds_shims.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_get_nodes.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_gql_coverage.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_gql_edge_cases.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_gql_resolver_bodies.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_graph_kernels.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_graphql_dataloader.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_index_config.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_index_handle.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_index_protocol.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_ingest_formats.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_introspection_api.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_ivgresult.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_khop_dispatch.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_lazy_kg.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_module_coverage.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_named_graphs.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_named_paths.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_nodes_edges_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_operators_coverage.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_operators_wiring.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_parse_cache.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_plaid_search.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_ppr_guided_subgraph.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_predicate_order.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_prov_export.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_query_extra_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_query_fastpath_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_query_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_rdf_coverage_boost.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_rdf_export.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_reification.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_retrieve_and_vector_distance.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_schema_engine_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_schema_init.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_schema_procedures.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_schema_remaining.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_schema_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_sdk.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_sdk_async.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_sdk_coverage.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_shacl_validation.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_shortest_path.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_snapshot.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_snapshot_restore_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_snapshot_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_sql_splitter.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_sql_store_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_sql_table_bridge.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_store_protocol.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_structural_guard.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_structural_guard_e2e.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_subgraph.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_subquery_call.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_supporting_modules.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_sync_model.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_temporal_cypher.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_temporal_edges.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_temporal_unit.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_translator_coverage.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_translator_deep_coverage.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_translator_extended.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_translator_gaps.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_unified_edge_store.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_utilities_final.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_utils_coverage.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_validation.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_vector_search_routing.py +0 -0
- {iris_vector_graph-2.4.6 → iris_vector_graph-2.4.8}/tests/unit/test_weighted_shortest_path.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: iris-vector-graph
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.8
|
|
4
4
|
Summary: Native graph database layer for InterSystems IRIS — openCypher, hybrid vector search, temporal property graph, RDF export, SHACL validation
|
|
5
5
|
Project-URL: Homepage, https://github.com/intersystems-community/iris-vector-graph
|
|
6
6
|
Project-URL: Documentation, https://github.com/intersystems-community/iris-vector-graph/tree/main/docs
|
|
@@ -26,6 +26,8 @@ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
|
|
26
26
|
Requires-Python: >=3.10
|
|
27
27
|
Requires-Dist: intersystems-iris>=1.0.0
|
|
28
28
|
Requires-Dist: iris-embedded-python-wrapper>=0.5.20
|
|
29
|
+
Provides-Extra: ai
|
|
30
|
+
Requires-Dist: iris-agentic-dev>=1.0; extra == 'ai'
|
|
29
31
|
Provides-Extra: biodata
|
|
30
32
|
Requires-Dist: biopython>=1.81; extra == 'biodata'
|
|
31
33
|
Requires-Dist: bioservices>=1.11.0; extra == 'biodata'
|
|
@@ -197,7 +199,7 @@ and [docs/performance/GRAPH_ALGORITHMS.md](docs/performance/GRAPH_ALGORITHMS.md)
|
|
|
197
199
|
|
|
198
200
|
## Architecture
|
|
199
201
|
|
|
200
|
-
```
|
|
202
|
+
```text
|
|
201
203
|
┌─────────────────────────────────────────────────────────────────────┐
|
|
202
204
|
│ iris-vector-graph v2.1.0 │
|
|
203
205
|
├─────────────────────────────────────────────────────────────────────┤
|
|
@@ -293,6 +295,29 @@ reference, SHACL shape writing, PROV-O vocabulary mapping, and integration patte
|
|
|
293
295
|
|
|
294
296
|
---
|
|
295
297
|
|
|
298
|
+
## AI Agent Development
|
|
299
|
+
|
|
300
|
+
When building agents that use IVG as a knowledge graph backend, install the
|
|
301
|
+
[iris-agentic-dev](https://github.com/intersystems-community/iris-agentic-dev) MCP
|
|
302
|
+
toolkit for ObjectScript compilation, global inspection, and IRIS method invocation
|
|
303
|
+
from your agent's tool loop:
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
pip install iris-agentic-dev
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
This gives your agent `iris_compile`, `iris_execute`, `iris_global`, and related tools
|
|
310
|
+
that work alongside IVG's Python API.
|
|
311
|
+
|
|
312
|
+
Skill files with agent-oriented quickstarts:
|
|
313
|
+
|
|
314
|
+
- [`skills/iris-vector-graph/SKILL.md`](skills/iris-vector-graph/SKILL.md) — IVG API,
|
|
315
|
+
temporal edges, SHACL, globals, container setup, common gotchas
|
|
316
|
+
- [`skills/ivg-arno/SKILL.md`](skills/ivg-arno/SKILL.md) — Arno Rust acceleration,
|
|
317
|
+
BFS at scale, enterprise container, ASQ query syntax
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
296
321
|
## License
|
|
297
322
|
|
|
298
323
|
MIT. See [LICENSE](LICENSE).
|
|
@@ -105,7 +105,7 @@ and [docs/performance/GRAPH_ALGORITHMS.md](docs/performance/GRAPH_ALGORITHMS.md)
|
|
|
105
105
|
|
|
106
106
|
## Architecture
|
|
107
107
|
|
|
108
|
-
```
|
|
108
|
+
```text
|
|
109
109
|
┌─────────────────────────────────────────────────────────────────────┐
|
|
110
110
|
│ iris-vector-graph v2.1.0 │
|
|
111
111
|
├─────────────────────────────────────────────────────────────────────┤
|
|
@@ -201,6 +201,29 @@ reference, SHACL shape writing, PROV-O vocabulary mapping, and integration patte
|
|
|
201
201
|
|
|
202
202
|
---
|
|
203
203
|
|
|
204
|
+
## AI Agent Development
|
|
205
|
+
|
|
206
|
+
When building agents that use IVG as a knowledge graph backend, install the
|
|
207
|
+
[iris-agentic-dev](https://github.com/intersystems-community/iris-agentic-dev) MCP
|
|
208
|
+
toolkit for ObjectScript compilation, global inspection, and IRIS method invocation
|
|
209
|
+
from your agent's tool loop:
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
pip install iris-agentic-dev
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
This gives your agent `iris_compile`, `iris_execute`, `iris_global`, and related tools
|
|
216
|
+
that work alongside IVG's Python API.
|
|
217
|
+
|
|
218
|
+
Skill files with agent-oriented quickstarts:
|
|
219
|
+
|
|
220
|
+
- [`skills/iris-vector-graph/SKILL.md`](skills/iris-vector-graph/SKILL.md) — IVG API,
|
|
221
|
+
temporal edges, SHACL, globals, container setup, common gotchas
|
|
222
|
+
- [`skills/ivg-arno/SKILL.md`](skills/ivg-arno/SKILL.md) — Arno Rust acceleration,
|
|
223
|
+
BFS at scale, enterprise container, ASQ query syntax
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
204
227
|
## License
|
|
205
228
|
|
|
206
229
|
MIT. See [LICENSE](LICENSE).
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
/// ^BM25Idx(name, "tf", term, docId) integer — term frequency (term-first!)
|
|
14
14
|
/// ^BM25Idx(name, "len", docId) integer — document token count
|
|
15
15
|
///
|
|
16
|
+
/// Stopwords: common English function words stored in ^BM25Idx("__stop__", word)
|
|
17
|
+
/// at class-load time. Filtered out during Tokenize to reduce IDF noise.
|
|
18
|
+
///
|
|
16
19
|
/// Usage:
|
|
17
20
|
/// set result = ##class(Graph.KG.BM25Index).Build("ncit", $ListBuild("name","definition"))
|
|
18
21
|
/// set hits = ##class(Graph.KG.BM25Index).Search("ncit", "ankylosing spondylitis", 10)
|
|
@@ -20,29 +23,54 @@ Class Graph.KG.BM25Index Extends %RegisteredObject
|
|
|
20
23
|
{
|
|
21
24
|
|
|
22
25
|
// ================================================================
|
|
23
|
-
//
|
|
26
|
+
// InitStopwords — populate ^BM25Idx("__stop__") once per process
|
|
27
|
+
// ================================================================
|
|
28
|
+
|
|
29
|
+
ClassMethod InitStopwords() [ Private ]
|
|
30
|
+
{
|
|
31
|
+
If $Data(^BM25Idx("__stop__", "the")) Return
|
|
32
|
+
Set words = "a,an,the,and,or,but,in,on,at,to,for,of,with,by,from,is,are,was,were,be,been,being,have,has,had,do,does,did,will,would,could,should,may,might,shall,this,that,these,those,it,its,i,we,you,he,she,they,them,their,our,your,his,her,not,no,nor,so,yet,both,either,neither,each,all,any,such,as,if,than,then,there,here,when,where,which,who,what,how"
|
|
33
|
+
Set n = $LENGTH(words, ",")
|
|
34
|
+
For i = 1:1:n {
|
|
35
|
+
Set w = $PIECE(words, ",", i)
|
|
36
|
+
Set ^BM25Idx("__stop__", w) = 1
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// ================================================================
|
|
41
|
+
// Tokenize — private helper used by Build, Search, Insert, Delete
|
|
24
42
|
// ================================================================
|
|
25
43
|
|
|
26
44
|
ClassMethod Tokenize(text As %String) As %List [ Private ]
|
|
27
45
|
{
|
|
46
|
+
Do ..InitStopwords()
|
|
28
47
|
Set lower = $ZCONVERT(text, "L")
|
|
29
48
|
// Try iFind tokenizer first (better punctuation handling, base IRIS)
|
|
49
|
+
Set raw = ""
|
|
30
50
|
Try {
|
|
31
|
-
Set
|
|
32
|
-
Return tokens
|
|
51
|
+
Set raw = ##class(%iFind.Utils).Analyze(lower, "en", 1)
|
|
33
52
|
} Catch {}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
53
|
+
If raw = "" {
|
|
54
|
+
// Fallback: iterate chars, accumulate alphanumeric runs
|
|
55
|
+
Set tok = ""
|
|
56
|
+
For i = 1:1:$LENGTH(lower) {
|
|
57
|
+
Set c = $EXTRACT(lower, i)
|
|
58
|
+
If c?1AN {
|
|
59
|
+
Set tok = tok_c
|
|
60
|
+
} ElseIf tok '= "" {
|
|
61
|
+
Set raw = raw_$LISTBUILD(tok)
|
|
62
|
+
Set tok = ""
|
|
63
|
+
}
|
|
43
64
|
}
|
|
65
|
+
If tok '= "" Set raw = raw_$LISTBUILD(tok)
|
|
66
|
+
}
|
|
67
|
+
// Filter stopwords
|
|
68
|
+
Set result = "", tIdx = 0
|
|
69
|
+
While $LISTNEXT(raw, tIdx, tok) {
|
|
70
|
+
If tok = "" Continue
|
|
71
|
+
If $Data(^BM25Idx("__stop__", tok)) Continue
|
|
72
|
+
Set result = result_$LISTBUILD(tok)
|
|
44
73
|
}
|
|
45
|
-
If tok '= "" Set result = result_$LISTBUILD(tok)
|
|
46
74
|
Return result
|
|
47
75
|
}
|
|
48
76
|
|
|
@@ -54,85 +82,71 @@ ClassMethod Build(name As %String, propsCSV As %String, k1 As %Double = 1.5, b A
|
|
|
54
82
|
{
|
|
55
83
|
Kill ^BM25Idx(name)
|
|
56
84
|
|
|
57
|
-
|
|
58
|
-
|
|
85
|
+
// Build an IN-list literal from propsCSV for the single batch query.
|
|
86
|
+
// e.g. "name,definition" → "'name','definition'"
|
|
87
|
+
Set inList = ""
|
|
88
|
+
Set nProps = $LENGTH(propsCSV, ",")
|
|
89
|
+
For pi = 1:1:nProps {
|
|
90
|
+
Set propKey = $ZSTRIP($PIECE(propsCSV, ",", pi), "<>W")
|
|
91
|
+
If propKey = "" Continue
|
|
92
|
+
Set escaped = $Replace(propKey, "'", "''")
|
|
93
|
+
Set inList = inList _ $Select(inList="":"", 1:",") _ "'" _ escaped _ "'"
|
|
94
|
+
}
|
|
95
|
+
If inList = "" Return "{""indexed"":0,""avgdl"":0,""vocab_size"":0}"
|
|
59
96
|
|
|
60
|
-
|
|
97
|
+
// One query fetches all (node_id, val) pairs for the requested properties.
|
|
98
|
+
// Ordered by node_id so we can accumulate per-doc by scanning in sequence.
|
|
99
|
+
Set sql = "SELECT n.node_id, p.val FROM Graph_KG.nodes n "
|
|
100
|
+
_ "LEFT JOIN Graph_KG.rdf_props p ON p.s = n.node_id AND p.key IN ("_inList_") "
|
|
101
|
+
_ "ORDER BY n.node_id"
|
|
61
102
|
Set stmt = ##class(%SQL.Statement).%New()
|
|
62
103
|
Do stmt.%Prepare(sql)
|
|
63
104
|
Set rs = stmt.%Execute()
|
|
64
105
|
|
|
106
|
+
Set N = 0
|
|
107
|
+
Set totalLen = 0
|
|
108
|
+
Set curDoc = ""
|
|
109
|
+
Set docText = ""
|
|
110
|
+
|
|
65
111
|
While rs.%Next() {
|
|
66
112
|
Set docId = rs.%Get("node_id")
|
|
113
|
+
Set val = rs.%GetData(2) // p.val (NULL when no matching prop row)
|
|
67
114
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
Set propKey = $ZSTRIP(propKey, "<>W")
|
|
73
|
-
If propKey = "" Continue
|
|
74
|
-
Set pSql = "SELECT val FROM Graph_KG.rdf_props WHERE s = ? AND key = ?"
|
|
75
|
-
Set pStmt = ##class(%SQL.Statement).%New()
|
|
76
|
-
Do pStmt.%Prepare(pSql)
|
|
77
|
-
Set pRs = pStmt.%Execute(docId, propKey)
|
|
78
|
-
While pRs.%Next() {
|
|
79
|
-
Set docText = docText_" "_pRs.%Get("val")
|
|
115
|
+
If docId '= curDoc {
|
|
116
|
+
// Flush previous doc
|
|
117
|
+
If curDoc '= "" {
|
|
118
|
+
Do ..IndexDoc(name, curDoc, docText, .N, .totalLen)
|
|
80
119
|
}
|
|
120
|
+
Set curDoc = docId
|
|
121
|
+
Set docText = $Select(val="":"", 1:val)
|
|
122
|
+
} Else {
|
|
123
|
+
If val '= "" Set docText = docText _ " " _ val
|
|
81
124
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
Kill tfMap
|
|
88
|
-
Set tIdx = 0
|
|
89
|
-
While $LISTNEXT(tokens, tIdx, tok) {
|
|
90
|
-
If tok = "" Continue
|
|
91
|
-
Set tfMap(tok) = $Get(tfMap(tok), 0) + 1
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
Set tok = ""
|
|
95
|
-
For {
|
|
96
|
-
Set tok = $Order(tfMap(tok))
|
|
97
|
-
Quit:tok=""
|
|
98
|
-
Set ^BM25Idx(name, "tf", tok, docId) = tfMap(tok)
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
Set ^BM25Idx(name, "len", docId) = docLen
|
|
102
|
-
Set N = N + 1
|
|
103
|
-
Set totalLen = totalLen + docLen
|
|
125
|
+
}
|
|
126
|
+
// Flush last doc
|
|
127
|
+
If curDoc '= "" {
|
|
128
|
+
Do ..IndexDoc(name, curDoc, docText, .N, .totalLen)
|
|
104
129
|
}
|
|
105
130
|
|
|
106
|
-
// Compute
|
|
131
|
+
// Compute IDF for all terms from accumulated tf subscripts
|
|
107
132
|
Set avgdl = $Select(N > 0: totalLen / N, 1: 0)
|
|
108
133
|
Set vocabSize = 0
|
|
109
134
|
Set term = ""
|
|
110
|
-
For {
|
|
111
|
-
Set term = $Order(^BM25Idx(name, "idf", term))
|
|
112
|
-
Quit:term=""
|
|
113
|
-
Kill ^BM25Idx(name, "idf", term)
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
// Compute IDF from df (document frequency) via tf subscripts
|
|
117
|
-
Set term = ""
|
|
118
135
|
For {
|
|
119
136
|
Set term = $Order(^BM25Idx(name, "tf", term))
|
|
120
137
|
Quit:term=""
|
|
121
|
-
// Count df = number of docs containing this term
|
|
122
138
|
Set df = 0
|
|
123
|
-
Set
|
|
139
|
+
Set d = ""
|
|
124
140
|
For {
|
|
125
|
-
Set
|
|
126
|
-
Quit:
|
|
141
|
+
Set d = $Order(^BM25Idx(name, "tf", term, d))
|
|
142
|
+
Quit:d=""
|
|
127
143
|
Set df = df + 1
|
|
128
144
|
}
|
|
129
|
-
// Robertson IDF: log((N - df + 0.5) / (df + 0.5) + 1)
|
|
130
145
|
Set idf = $ZLN((N - df + 0.5) / (df + 0.5) + 1)
|
|
131
146
|
Set ^BM25Idx(name, "idf", term) = idf
|
|
132
147
|
Set vocabSize = vocabSize + 1
|
|
133
148
|
}
|
|
134
149
|
|
|
135
|
-
// Store config
|
|
136
150
|
Set ^BM25Idx(name, "cfg", "N") = N
|
|
137
151
|
Set ^BM25Idx(name, "cfg", "avgdl") = avgdl
|
|
138
152
|
Set ^BM25Idx(name, "cfg", "k1") = k1
|
|
@@ -142,6 +156,29 @@ ClassMethod Build(name As %String, propsCSV As %String, k1 As %Double = 1.5, b A
|
|
|
142
156
|
Return "{""indexed"":"_N_",""avgdl"":"_avgdl_",""vocab_size"":"_vocabSize_"}"
|
|
143
157
|
}
|
|
144
158
|
|
|
159
|
+
// Accumulate tf and length for one document — shared by Build batch loop.
|
|
160
|
+
ClassMethod IndexDoc(name As %String, docId As %String, docText As %String, ByRef N As %Integer, ByRef totalLen As %Integer) [ Private ]
|
|
161
|
+
{
|
|
162
|
+
Set tokens = ..Tokenize(docText)
|
|
163
|
+
Set docLen = $LISTLENGTH(tokens)
|
|
164
|
+
If docLen = 0 Return
|
|
165
|
+
Kill tfMap
|
|
166
|
+
Set tIdx = 0
|
|
167
|
+
While $LISTNEXT(tokens, tIdx, tok) {
|
|
168
|
+
If tok = "" Continue
|
|
169
|
+
Set tfMap(tok) = $Get(tfMap(tok), 0) + 1
|
|
170
|
+
}
|
|
171
|
+
Set tok = ""
|
|
172
|
+
For {
|
|
173
|
+
Set tok = $Order(tfMap(tok))
|
|
174
|
+
Quit:tok=""
|
|
175
|
+
Set ^BM25Idx(name, "tf", tok, docId) = tfMap(tok)
|
|
176
|
+
}
|
|
177
|
+
Set ^BM25Idx(name, "len", docId) = docLen
|
|
178
|
+
Set N = N + 1
|
|
179
|
+
Set totalLen = totalLen + docLen
|
|
180
|
+
}
|
|
181
|
+
|
|
145
182
|
// ================================================================
|
|
146
183
|
// Search — BM25 ranked retrieval
|
|
147
184
|
// ================================================================
|
|
@@ -185,29 +222,31 @@ ClassMethod Search(name As %String, queryText As %String, k As %Integer = 10) As
|
|
|
185
222
|
}
|
|
186
223
|
|
|
187
224
|
// Sort by score descending — collect top k
|
|
188
|
-
//
|
|
225
|
+
// Scale score to a 12-decimal fixed-point integer subscript so $Order
|
|
226
|
+
// gives ascending-numeric order; we iterate in reverse with $Order(...,-1).
|
|
227
|
+
// This avoids the "10M offset" overflow that breaks when BM25 scores exceed it.
|
|
189
228
|
Kill ^||bm25sorted
|
|
190
229
|
Set docId = ""
|
|
191
230
|
For {
|
|
192
231
|
Set docId = $Order(^||bm25scores(docId), 1, score)
|
|
193
232
|
Quit:docId=""
|
|
194
|
-
//
|
|
195
|
-
Set
|
|
196
|
-
Set ^||bm25sorted(
|
|
233
|
+
// Multiply by 1e12 and round to integer → subscript safe for any BM25 score
|
|
234
|
+
Set sortKey = $NUMBER(score * 1000000000000, 0)
|
|
235
|
+
Set ^||bm25sorted(sortKey, docId) = score
|
|
197
236
|
}
|
|
198
237
|
|
|
199
|
-
//
|
|
238
|
+
// Walk in descending order using $Order with direction -1
|
|
200
239
|
Set result = "["
|
|
201
240
|
Set count = 0
|
|
202
|
-
Set
|
|
241
|
+
Set sortKey = ""
|
|
203
242
|
For {
|
|
204
243
|
If count >= k Quit
|
|
205
|
-
Set
|
|
206
|
-
Quit:
|
|
244
|
+
Set sortKey = $Order(^||bm25sorted(sortKey), -1)
|
|
245
|
+
Quit:sortKey=""
|
|
207
246
|
Set docId = ""
|
|
208
247
|
For {
|
|
209
248
|
If count >= k Quit
|
|
210
|
-
Set docId = $Order(^||bm25sorted(
|
|
249
|
+
Set docId = $Order(^||bm25sorted(sortKey, docId), 1, score)
|
|
211
250
|
Quit:docId=""
|
|
212
251
|
If count > 0 Set result = result_","
|
|
213
252
|
Set safeId = $Replace(docId, """", "\""")
|
|
@@ -284,10 +323,11 @@ ClassMethod Insert(name As %String, docId As %String, text As %String) As %Integ
|
|
|
284
323
|
Quit:d=""
|
|
285
324
|
Set df = df + 1
|
|
286
325
|
}
|
|
326
|
+
// Check for new term BEFORE overwriting idf entry
|
|
327
|
+
Set isNewTerm = '$Data(^BM25Idx(name, "idf", tok))
|
|
287
328
|
Set idf = $ZLN((N - df + 0.5) / (df + 0.5) + 1)
|
|
288
329
|
Set ^BM25Idx(name, "idf", tok) = idf
|
|
289
|
-
|
|
290
|
-
If '$Data(^BM25Idx(name, "idf", tok)) {
|
|
330
|
+
If isNewTerm {
|
|
291
331
|
Set ^BM25Idx(name, "cfg", "vocab_size") = $Increment(^BM25Idx(name, "cfg", "vocab_size"))
|
|
292
332
|
}
|
|
293
333
|
}
|
|
@@ -295,6 +335,63 @@ ClassMethod Insert(name As %String, docId As %String, text As %String) As %Integ
|
|
|
295
335
|
Return 1
|
|
296
336
|
}
|
|
297
337
|
|
|
338
|
+
// ================================================================
|
|
339
|
+
// Delete — remove a single document from the index
|
|
340
|
+
// ================================================================
|
|
341
|
+
|
|
342
|
+
ClassMethod Delete(name As %String, docId As %String) As %Integer
|
|
343
|
+
{
|
|
344
|
+
Set oldLen = +$Get(^BM25Idx(name, "len", docId), 0)
|
|
345
|
+
If oldLen = 0 Return 0 // doc not in index
|
|
346
|
+
|
|
347
|
+
Set N = +$Get(^BM25Idx(name, "cfg", "N"), 0)
|
|
348
|
+
Set totalLen = N * +$Get(^BM25Idx(name, "cfg", "avgdl"), 0)
|
|
349
|
+
|
|
350
|
+
// Collect terms this doc contributed to
|
|
351
|
+
Kill affectedTerms
|
|
352
|
+
Set term = ""
|
|
353
|
+
For {
|
|
354
|
+
Set term = $Order(^BM25Idx(name, "tf", term))
|
|
355
|
+
Quit:term=""
|
|
356
|
+
If $Data(^BM25Idx(name, "tf", term, docId)) {
|
|
357
|
+
Kill ^BM25Idx(name, "tf", term, docId)
|
|
358
|
+
Set affectedTerms(term) = 1
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
Kill ^BM25Idx(name, "len", docId)
|
|
362
|
+
|
|
363
|
+
// Update doc count and avgdl
|
|
364
|
+
Set N = N - 1
|
|
365
|
+
Set totalLen = totalLen - oldLen
|
|
366
|
+
Set ^BM25Idx(name, "cfg", "N") = N
|
|
367
|
+
Set ^BM25Idx(name, "cfg", "avgdl") = $Select(N > 0: totalLen / N, 1: 0)
|
|
368
|
+
|
|
369
|
+
// Recompute IDF for affected terms; remove terms that now have df=0
|
|
370
|
+
Set term = ""
|
|
371
|
+
For {
|
|
372
|
+
Set term = $Order(affectedTerms(term))
|
|
373
|
+
Quit:term=""
|
|
374
|
+
Set df = 0
|
|
375
|
+
Set d = ""
|
|
376
|
+
For {
|
|
377
|
+
Set d = $Order(^BM25Idx(name, "tf", term, d))
|
|
378
|
+
Quit:d=""
|
|
379
|
+
Set df = df + 1
|
|
380
|
+
}
|
|
381
|
+
If df = 0 {
|
|
382
|
+
Kill ^BM25Idx(name, "idf", term)
|
|
383
|
+
Set ^BM25Idx(name, "cfg", "vocab_size") = $Increment(^BM25Idx(name, "cfg", "vocab_size"), -1)
|
|
384
|
+
} Else {
|
|
385
|
+
If N > 0 {
|
|
386
|
+
Set idf = $ZLN((N - df + 0.5) / (df + 0.5) + 1)
|
|
387
|
+
Set ^BM25Idx(name, "idf", term) = idf
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
Return 1
|
|
393
|
+
}
|
|
394
|
+
|
|
298
395
|
// ================================================================
|
|
299
396
|
// Drop — remove entire index
|
|
300
397
|
// ================================================================
|
|
@@ -685,10 +685,14 @@ class VectorMixin:
|
|
|
685
685
|
|
|
686
686
|
try:
|
|
687
687
|
for idx_name in self._index_registry:
|
|
688
|
-
|
|
688
|
+
idx_type = self._index_registry[idx_name]
|
|
689
|
+
if idx_type == "ivf":
|
|
689
690
|
raw = self.ivf_search(idx_name, vec_list, k=k1)
|
|
690
691
|
vec_results = [(r["id"], float(r.get("score", 0))) for r in raw]
|
|
691
692
|
break
|
|
693
|
+
if idx_type == "hnsw":
|
|
694
|
+
vec_results = self.kg_KNN_VEC(query_vector, k=k1)
|
|
695
|
+
break
|
|
692
696
|
for idx_name in self._index_registry:
|
|
693
697
|
if self._index_registry[idx_name] == "bm25":
|
|
694
698
|
txt_results = self.bm25_search(idx_name, query_text, k=k2)
|
|
@@ -956,6 +960,12 @@ class VectorMixin:
|
|
|
956
960
|
"Graph.KG.BM25Index", "Insert", name, doc_id, text
|
|
957
961
|
)
|
|
958
962
|
return bool(int(str(result)))
|
|
963
|
+
def bm25_delete(self, name: str, doc_id: str) -> bool:
|
|
964
|
+
result = self._iris_obj().classMethodValue(
|
|
965
|
+
"Graph.KG.BM25Index", "Delete", name, doc_id
|
|
966
|
+
)
|
|
967
|
+
return bool(int(str(result)))
|
|
968
|
+
|
|
959
969
|
def bm25_drop(self, name: str) -> None:
|
|
960
970
|
self._iris_obj().classMethodVoid("Graph.KG.BM25Index", "Drop", name)
|
|
961
971
|
def bm25_info(self, name: str) -> dict:
|
|
@@ -997,19 +1007,20 @@ class VectorMixin:
|
|
|
997
1007
|
import struct
|
|
998
1008
|
|
|
999
1009
|
cursor = self.conn.cursor()
|
|
1010
|
+
emb_table = _table("kg_NodeEmbeddings")
|
|
1000
1011
|
if node_ids is not None:
|
|
1001
1012
|
if not node_ids:
|
|
1002
1013
|
raise ValueError("ivf_build: node_ids list is empty")
|
|
1003
1014
|
placeholders = ",".join(["?"] * len(node_ids))
|
|
1004
1015
|
cursor.execute(
|
|
1005
|
-
f"SELECT id, emb FROM
|
|
1016
|
+
f"SELECT id, emb FROM {emb_table} WHERE id IN ({placeholders})",
|
|
1006
1017
|
node_ids,
|
|
1007
1018
|
)
|
|
1008
1019
|
else:
|
|
1009
|
-
cursor.execute("SELECT id, emb FROM
|
|
1020
|
+
cursor.execute(f"SELECT id, emb FROM {emb_table}")
|
|
1010
1021
|
rows = cursor.fetchall()
|
|
1011
1022
|
if not rows:
|
|
1012
|
-
raise ValueError("ivf_build: no vectors found in
|
|
1023
|
+
raise ValueError(f"ivf_build: no vectors found in {emb_table}")
|
|
1013
1024
|
|
|
1014
1025
|
node_ids = []
|
|
1015
1026
|
vecs = []
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "iris-vector-graph"
|
|
7
|
-
version = "2.4.
|
|
7
|
+
version = "2.4.8"
|
|
8
8
|
description = "Native graph database layer for InterSystems IRIS — openCypher, hybrid vector search, temporal property graph, RDF export, SHACL validation"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -120,6 +120,9 @@ biodata = [
|
|
|
120
120
|
demo = [
|
|
121
121
|
"python-fasthtml>=0.12.0"
|
|
122
122
|
]
|
|
123
|
+
ai = [
|
|
124
|
+
"iris-agentic-dev>=1.0",
|
|
125
|
+
]
|
|
123
126
|
browser = [
|
|
124
127
|
"fastapi>=0.118.0",
|
|
125
128
|
"uvicorn>=0.37.0",
|
|
@@ -215,6 +215,31 @@ class TestBM25IndexUnit:
|
|
|
215
215
|
context = TranslationContext()
|
|
216
216
|
translate_procedure_call(proc, context)
|
|
217
217
|
|
|
218
|
+
def test_bm25_delete_calls_classmethod(self):
|
|
219
|
+
"""bm25_delete calls Graph.KG.BM25Index.Delete with correct args."""
|
|
220
|
+
engine = _make_engine()
|
|
221
|
+
iris_mock = MagicMock()
|
|
222
|
+
iris_mock.classMethodValue.return_value = "1"
|
|
223
|
+
engine._iris_obj = lambda: iris_mock
|
|
224
|
+
|
|
225
|
+
engine.bm25_delete("idx", "doc1")
|
|
226
|
+
|
|
227
|
+
calls = iris_mock.classMethodValue.call_args_list
|
|
228
|
+
del_calls = [c for c in calls if len(c.args) > 1 and c.args[1] == "Delete"]
|
|
229
|
+
assert del_calls, "Delete classMethod not called"
|
|
230
|
+
assert del_calls[0].args[2] == "idx"
|
|
231
|
+
assert del_calls[0].args[3] == "doc1"
|
|
232
|
+
|
|
233
|
+
def test_bm25_delete_missing_doc_returns_false(self):
|
|
234
|
+
"""bm25_delete returns False when doc not in index."""
|
|
235
|
+
engine = _make_engine()
|
|
236
|
+
iris_mock = MagicMock()
|
|
237
|
+
iris_mock.classMethodValue.return_value = "0"
|
|
238
|
+
engine._iris_obj = lambda: iris_mock
|
|
239
|
+
|
|
240
|
+
result = engine.bm25_delete("idx", "nonexistent_doc")
|
|
241
|
+
assert result is False
|
|
242
|
+
|
|
218
243
|
# T041 ─────────────────────────────────────────────────────────
|
|
219
244
|
def test_ivg_bm25_search_yields_node_score(self):
|
|
220
245
|
"""ivg.bm25.search registers variable_aliases for node and score."""
|
|
@@ -397,6 +422,84 @@ class TestBM25IndexE2E:
|
|
|
397
422
|
results_after = self.engine.bm25_search(idx, "some", 3)
|
|
398
423
|
assert results_after == []
|
|
399
424
|
|
|
425
|
+
def test_delete_removes_doc(self):
|
|
426
|
+
"""After bm25_delete, doc is no longer findable."""
|
|
427
|
+
run = self._test_run_id
|
|
428
|
+
node_id = f"bm25del_{run}"
|
|
429
|
+
unique = f"deletemeterm{run}"
|
|
430
|
+
self.engine.create_node(node_id, labels=["TestBM25"], properties={"name": unique})
|
|
431
|
+
idx = f"test44del_{run}"
|
|
432
|
+
self.engine.bm25_build(idx, ["name"])
|
|
433
|
+
|
|
434
|
+
results_before = self.engine.bm25_search(idx, unique, 5)
|
|
435
|
+
assert any(r[0] == node_id for r in results_before), "doc should be findable before delete"
|
|
436
|
+
|
|
437
|
+
ok = self.engine.bm25_delete(idx, node_id)
|
|
438
|
+
assert ok is True
|
|
439
|
+
|
|
440
|
+
results_after = self.engine.bm25_search(idx, unique, 5)
|
|
441
|
+
ids_after = [r[0] for r in results_after]
|
|
442
|
+
assert node_id not in ids_after, "deleted doc should not appear in search results"
|
|
443
|
+
self.engine.bm25_drop(idx)
|
|
444
|
+
|
|
445
|
+
def test_insert_vocab_size_grows(self):
|
|
446
|
+
"""Inserting a doc with new terms increments vocab_size."""
|
|
447
|
+
run = self._test_run_id
|
|
448
|
+
self._create_node_with_name(f"bm25vocab_{run}", "some baseline text")
|
|
449
|
+
idx = f"test44vocab_{run}"
|
|
450
|
+
self.engine.bm25_build(idx, ["name"])
|
|
451
|
+
|
|
452
|
+
info_before = self.engine.bm25_info(idx)
|
|
453
|
+
vocab_before = info_before.get("vocab_size", 0)
|
|
454
|
+
|
|
455
|
+
unique_term = f"xquorumzyx{run}"
|
|
456
|
+
self.engine.bm25_insert(idx, f"vocabdoc_{run}", f"{unique_term} word")
|
|
457
|
+
|
|
458
|
+
info_after = self.engine.bm25_info(idx)
|
|
459
|
+
vocab_after = info_after.get("vocab_size", 0)
|
|
460
|
+
assert vocab_after > vocab_before, "vocab_size should grow after inserting new terms"
|
|
461
|
+
self.engine.bm25_drop(idx)
|
|
462
|
+
|
|
463
|
+
def test_build_batch_same_result_as_sequential(self):
|
|
464
|
+
"""Build produces same vocab_size and ranking whether 1 or many nodes exist."""
|
|
465
|
+
run = self._test_run_id
|
|
466
|
+
terms = [
|
|
467
|
+
("bm25batch_a", "diabetes mellitus glucose"),
|
|
468
|
+
("bm25batch_b", "insulin resistance glucose"),
|
|
469
|
+
("bm25batch_c", "rheumatoid arthritis inflammation"),
|
|
470
|
+
("bm25batch_d", "lupus erythematosus autoimmune"),
|
|
471
|
+
("bm25batch_e", "ankylosing spondylitis hla"),
|
|
472
|
+
]
|
|
473
|
+
for nid, text in terms:
|
|
474
|
+
self.engine.create_node(f"{nid}_{run}", labels=["TestBM25"], properties={"name": text})
|
|
475
|
+
|
|
476
|
+
idx = f"test44batch_{run}"
|
|
477
|
+
result = self.engine.bm25_build(idx, ["name"])
|
|
478
|
+
assert result.get("indexed", 0) >= 5
|
|
479
|
+
assert result.get("vocab_size", 0) > 0
|
|
480
|
+
|
|
481
|
+
hits = self.engine.bm25_search(idx, "glucose", 5)
|
|
482
|
+
ids = [r[0] for r in hits]
|
|
483
|
+
assert f"bm25batch_a_{run}" in ids or f"bm25batch_b_{run}" in ids, \
|
|
484
|
+
"glucose-containing docs should rank"
|
|
485
|
+
self.engine.bm25_drop(idx)
|
|
486
|
+
|
|
487
|
+
def test_high_score_doc_ranked_first(self):
|
|
488
|
+
"""Doc with 20M-range score is still sorted correctly — no negated-score overflow."""
|
|
489
|
+
run = self._test_run_id
|
|
490
|
+
for i in range(50):
|
|
491
|
+
self.engine.create_node(
|
|
492
|
+
f"bm25overflow_{run}_{i}", labels=["TestBM25"],
|
|
493
|
+
properties={"name": " ".join([f"rare{run}term"] * 20)}
|
|
494
|
+
)
|
|
495
|
+
idx = f"test44overflow_{run}"
|
|
496
|
+
self.engine.bm25_build(idx, ["name"])
|
|
497
|
+
results = self.engine.bm25_search(idx, f"rare{run}term", 5)
|
|
498
|
+
assert results, "should get results on saturated-term query"
|
|
499
|
+
scores = [s for _, s in results]
|
|
500
|
+
assert scores == sorted(scores, reverse=True), "results must be descending by score"
|
|
501
|
+
self.engine.bm25_drop(idx)
|
|
502
|
+
|
|
400
503
|
# T035 ─────────────────────────────────────────────────────────
|
|
401
504
|
def test_kgtxt_returns_bm25_scores_not_like_scores(self):
|
|
402
505
|
n1 = self._create_node_with_name("bm25test:H1", "diabetes mellitus type 2")
|