iris-vector-graph 2.5.0__tar.gz → 2.7.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/PKG-INFO +3 -1
- iris_vector_graph-2.7.0/iris_src/src/IVG/Percentile.cls +54 -0
- iris_vector_graph-2.7.0/iris_src/src/User.CypherFn.cls +237 -0
- iris_vector_graph-2.7.0/iris_src/src/User.SQL.cls +22 -0
- iris_vector_graph-2.7.0/iris_src/src/User.funcJSONKEYS.cls +20 -0
- iris_vector_graph-2.7.0/iris_src/src/User.funcSTRSPLIT.cls +18 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/admin.py +16 -17
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/algorithms.py +1 -2
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/embeddings.py +21 -24
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/fhir.py +8 -9
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/nodes_edges.py +46 -47
- iris_vector_graph-2.7.0/iris_vector_graph/_engine/query.py +1931 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/schema.py +12 -13
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/snapshot.py +5 -6
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/temporal.py +8 -8
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/vector.py +10 -11
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/cypher/ast.py +13 -4
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/cypher/lexer.py +144 -15
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/cypher/parser.py +610 -144
- iris_vector_graph-2.7.0/iris_vector_graph/cypher/translator.py +14851 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/engine.py +24 -7
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/schema.py +5 -5
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/stores/iris_sql_store.py +112 -1
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/pyproject.toml +6 -2
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/TESTING.md +29 -19
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/benchmarks/README.md +11 -8
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/conftest.py +48 -23
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_cypher_advanced.py +59 -3
- iris_vector_graph-2.7.0/tests/tck/conftest.py +215 -0
- iris_vector_graph-2.7.0/tests/tck/environment.py +283 -0
- iris_vector_graph-2.7.0/tests/tck/steps/__init__.py +0 -0
- iris_vector_graph-2.7.0/tests/tck/steps/comparison.py +861 -0
- iris_vector_graph-2.7.0/tests/tck/steps/graph_setup.py +281 -0
- iris_vector_graph-2.7.0/tests/tck/steps/query.py +163 -0
- iris_vector_graph-2.7.0/tests/tck/steps/results.py +148 -0
- iris_vector_graph-2.7.0/tests/tck/wip.txt +129 -0
- iris_vector_graph-2.7.0/tests/tck/wip_generate.py +125 -0
- iris_vector_graph-2.7.0/tests/unit/cypher/__init__.py +0 -0
- iris_vector_graph-2.7.0/tests/unit/tck/__init__.py +0 -0
- iris_vector_graph-2.7.0/tests/unit/tck/test_comparison_node_columns.py +126 -0
- iris_vector_graph-2.7.0/tests/unit/tck/test_comparison_normalise.py +45 -0
- iris_vector_graph-2.7.0/tests/unit/tck/test_result_comparison.py +102 -0
- iris_vector_graph-2.7.0/tests/unit/tck/test_steps_graph_setup.py +43 -0
- iris_vector_graph-2.7.0/tests/unit/tck/test_steps_query.py +66 -0
- iris_vector_graph-2.7.0/tests/unit/tck/test_steps_results.py +73 -0
- iris_vector_graph-2.7.0/tests/unit/tck/test_tck_collector.py +70 -0
- iris_vector_graph-2.7.0/tests/unit/tck/test_tck_value_parse.py +68 -0
- iris_vector_graph-2.7.0/tests/unit/tck/test_wip_enforcement.py +28 -0
- iris_vector_graph-2.7.0/tests/unit/tck/test_wip_generate.py +61 -0
- iris_vector_graph-2.7.0/tests/unit/test_admin_rdf_prov_shacl_coverage.py +341 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_bulk_loader_coverage.py +94 -0
- iris_vector_graph-2.7.0/tests/unit/test_create_validation.py +102 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cypher_api_coverage.py +64 -0
- iris_vector_graph-2.7.0/tests/unit/test_cypher_translator.py +779 -0
- iris_vector_graph-2.7.0/tests/unit/test_engine_coverage_v8.py +1843 -0
- iris_vector_graph-2.7.0/tests/unit/test_engine_final_v9.py +2336 -0
- iris_vector_graph-2.7.0/tests/unit/test_is_null_expression.py +53 -0
- iris_vector_graph-2.7.0/tests/unit/test_keyword_as_label.py +45 -0
- iris_vector_graph-2.7.0/tests/unit/test_lazy_kg_coverage.py +243 -0
- iris_vector_graph-2.7.0/tests/unit/test_lexer_parser_coverage.py +311 -0
- iris_vector_graph-2.7.0/tests/unit/test_match_far_node_labels.py +53 -0
- iris_vector_graph-2.7.0/tests/unit/test_misc_coverage_v8.py +1350 -0
- iris_vector_graph-2.7.0/tests/unit/test_misc_final_v9.py +1453 -0
- iris_vector_graph-2.7.0/tests/unit/test_nodes_edges_property_primitives.py +404 -0
- iris_vector_graph-2.7.0/tests/unit/test_parser_extended_coverage.py +535 -0
- iris_vector_graph-2.7.0/tests/unit/test_query_coverage.py +2409 -0
- iris_vector_graph-2.7.0/tests/unit/test_query_extended_coverage.py +262 -0
- iris_vector_graph-2.7.0/tests/unit/test_query_final_v10.py +2233 -0
- iris_vector_graph-2.7.0/tests/unit/test_schema_final_v10.py +1922 -0
- iris_vector_graph-2.7.0/tests/unit/test_schema_prefix_isolation.py +181 -0
- iris_vector_graph-2.7.0/tests/unit/test_schema_snapshot_coverage.py +448 -0
- iris_vector_graph-2.7.0/tests/unit/test_snapshot_coverage.py +487 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_complex_v6c.py +541 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_translator_deep_coverage.py +71 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_early_v6d.py +632 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_extended_v2.py +503 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_extended_v3.py +398 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_extended_v4.py +711 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_extended_v5a.py +524 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_extended_v5b.py +541 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_extended_v5c.py +527 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_extended_v5d.py +661 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_final_v10.py +1136 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_final_v9a.py +1810 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_translator_gaps.py +76 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_late_v8b.py +955 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_merge_v6b.py +568 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_mid_v7b.py +1332 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_mid_v7c.py +899 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_mid_v7d.py +980 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_mid_v7e.py +843 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_mid_v7f.py +882 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_mid_v7g.py +1069 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_mid_v8c.py +642 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_proc_stage.py +465 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_temporal.py +607 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_temporal_v6a.py +532 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_temporal_v7a.py +1097 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_temporal_v7h.py +907 -0
- iris_vector_graph-2.7.0/tests/unit/test_translator_temporal_v8a.py +1165 -0
- iris_vector_graph-2.7.0/tests/unit/test_vector_schema_extended_coverage.py +228 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_vector_search_routing.py +1 -0
- iris_vector_graph-2.5.0/iris_src/src/IVG/Percentile.cls +0 -29
- iris_vector_graph-2.5.0/iris_vector_graph/_engine/query.py +0 -974
- iris_vector_graph-2.5.0/iris_vector_graph/cypher/translator.py +0 -4212
- iris_vector_graph-2.5.0/tests/unit/test_cypher_translator.py +0 -252
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/.gitignore +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/LICENSE +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/README.md +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/demo_biomedical.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/demo_fraud_detection.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/demo_fraud_detection_sql.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/demo_rdf_semantic_layer.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/demo_utils.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/demo_working_system.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/domains/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/domains/biomedical/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/domains/biomedical/loaders.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/domains/biomedical/resolver.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/domains/biomedical/types.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/domains/biomedical_legacy/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/domains/biomedical_legacy/biomedical_engine.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/domains/biomedical_legacy/biomedical_schema.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/domains/biomedical_legacy/legacy_wrapper.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/domains/fraud/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/domains/fraud/loaders.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/domains/fraud/resolver.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/domains/fraud/types.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/graphQL.http +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/hybrid_vector_graph_query.cypher +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/examples/rest.http +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/Algorithms.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/ArnoAccel.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/BM25Index.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/BenchFormat.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/BenchSeeder.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/Benchmark.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/Centrality.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/Communities.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/Edge.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/EdgeScan.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/EmbedQueue.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/GraphIndex.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/IVFIndex.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/Loader.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/MCPService.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/MCPToolSet.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/MCPTools.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/Meta.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/NKGAccel.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/NKGAccelAdjacency.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/NKGAccelCentrality.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/NKGAccelLoader.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/NKGAccelTraversal.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/PLAIDSearch.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/PageRank.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/PyOps.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/Service.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/Snapshot.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/Subgraph.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/TemporalIndex.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/TestEdge.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/Traversal.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/TraversalBFS.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/TraversalBuild.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/TraversalKHop.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/TraversalPaths.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/VecIndex.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/kgNodeEmbeddings.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/Graph/KG/kgNodeEmbeddingsoptimized.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/IVG/CypherEngine.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/PageRankEmbedded.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/User.Exec.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_src/src/iris/vector/graph/GraphOperators.cls +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/_rdf_utils.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/prov.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/query.py,cover +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/rdf_export.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/shacl.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_engine/snapshot.py,cover +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/_validate.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/api_auth.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/bolt_server.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/0-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/1-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/10-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/11-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/12-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/13-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/14-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/15-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/16-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/17-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/18-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/19-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/20-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/21-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/22-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/23-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/24-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/25-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/26-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/27-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/28-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/29-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/30-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/31-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/32-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/33-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/34-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/35-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/36-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/37-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/38-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/39-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/40-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/41-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/42-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/43-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/44-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/45-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/46-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/47-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/48-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/49-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/50-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/51-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/52-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/53-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/54-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/55-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/56-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/57-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/58-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/59-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/6-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/60-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/61-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/62-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/63-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/64-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/65-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/66-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/67-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/68-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/69-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/7-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/70-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/71-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/72-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/73-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/74-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/75-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/8-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/9-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/app-b124e26129aa436b26fe.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/filter-a7c44e713bf19d31f6b2849160b1bba8.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.eot +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.woff +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Bold.woff2 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.eot +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.woff +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Light.woff2 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.eot +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.woff +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Medium.woff2 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.eot +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.woff +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/FiraCode-Regular.woff2 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Bold.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-BoldItalic.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-ExtraBold.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Italic.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Light.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-LightItalic.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Regular.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-Semibold.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/OpenSans-SemiboldItalic.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/codicon.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/filter.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.eot +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.woff +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/fontawesome-webfont.woff2 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/group-by.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.eot +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/neo4j-world.woff +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/sort.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/sort1.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/sort2.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/streamline.eot +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/streamline.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/streamline.ttf +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/fonts/streamline.woff +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/group-by-89c6aaa756bc3548cc6ab3d2be4d2862.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/Favorites.mp4 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/Keystrokes.mp4 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/ProjectFiles.mp4 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/ReusableFrame.mp4 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/SidebarDB_Iinfo.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/Stream.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/aura-logo-inverted.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/aura-logo.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/books.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/clusters.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/community.jpg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-144x144.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-192x192.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-36x36.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-48x48.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-72x72.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/android-icon-96x96.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-114x114.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-120x120.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-144x144.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-152x152.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-180x180.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-57x57.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-60x60.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-72x72.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-76x76.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon-precomposed.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/apple-icon.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/browserconfig.xml +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-16x16.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-32x32.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/favicon-96x96.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/favicon.ico +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/manifest.json +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-144x144.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-150x150.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-310x310.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/ms-icon-70x70.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/neo4j-browser-canary.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/device-icons/neo4j-browser.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/labeled_node.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/more_nodes.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/neo4j-favicon.ico +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/neo4j-logo-inverted.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/neo4j-logo.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/northwind/customer-orders.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/northwind/order-graph.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/northwind/product-category-supplier.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/northwind/product-graph.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/one_node.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/query-plan-operator-cost.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/query-plan-operator-details.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/query-plan-operator-rows.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/query-plan.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/rel-props.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/relationships.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/screen_code_frame.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/screen_cypher_warn.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/screen_editor.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/screen_sidebar.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/images/screen_stream.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/sort-8d6f482c21de572ceeb5ac93623e6c97.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/sort1-d2dc515571213fc0ca99b0341b88e413.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/assets/sort2-31050964e7eb2042325f7bcbba3d58ad.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/bolt-worker-dfa551eb0861cc080843.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/cypher-editor-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/editor-455af92e7e1dc39fdbc8060f6680ab32.worker.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/index.html +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/manifest.json +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/CoseBilkentLayout.worker-FEt6e_rV.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/HierarchicalLayout.worker-O6WHYssL.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/asciidoc.8O6YIVRy.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/auto-track.BlKugDvg.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/bash.CLAyaf9k.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/c.l4fEI10z.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/connect-icon-Br2hQy_e.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/csharp.ChqrQYCS.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/css-extras.Bi-4v17d.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/css.B1LHiudN.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/cypher-editor-auto-completions.gif +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/cypher-editor-inline-help.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/cypher-editor-linting.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/cypher-editor-syntax-highlighting.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/cypher-reference.gif +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/cypher.C3qdyJ5B.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/docker.CF7EZT1T.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/fira-code-400-regular-normal-BzypJxJk.woff2 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/fira-code-500-medium-normal-CRWzqcWa.woff2 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/fira-code-700-bold-normal-hUmNV4O0.woff2 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/go.FsJyBHVG.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/graphql.BlTzkzAJ.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/history-quick-search.gif +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/index-CY0cZcsW.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/index-H7L207gH.css +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/index.BpRu7Js3.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/index.C74acnU7.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/index.CHatcJcU.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/index.D6ZMQedT.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/index.DPZla5MT.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/index.dzIUqrzq.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/index.leyiHvaQ.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/index.qJ6VE118.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/index.umd.B9yhfa5Y.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/is-plan-event-enabled.DeNtQvA5.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/java.BBXwBh9f.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/java.CQ1iJ0-D.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/javadoc.UnquSOIj.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/javascript.CYTqTa0W.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/json.BIkJg-Cj.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/jsx.Cy_hP1z6.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/kotlin.D_6l0VkM.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/lintWorker-QNEp56W3.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/logo-aura-white-DCfUnkCN.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/movie-model.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/movies-active-B2SzHIc1.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/neo4j-logo-active-CieUxroh.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/patterned-banner-background-C_nO-Yn8.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/php.BKb6XVba.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/plan-graph-worker-s17nF19Q.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/public-sans-300-light-normal-CG9e8kLa.woff2 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/public-sans-400-regular-italic-D9FlViiB.woff2 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/public-sans-400-regular-normal-D4F9yfFi.woff2 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/public-sans-500-medium-normal-ChZcBEnJ.woff2 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/public-sans-600-semi-bold-normal-Ck6TyfRI.woff2 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/public-sans-700-bold-normal-CGjRhW-d.woff2 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/python.tCcUC3U7.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/query-fundamentals-active-jvTJU1K2.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/query.snake-frame.DmvXOQIM.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/regex.C_VuIVtC.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/rust.CtSATZMt.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/saved-cypher.gif +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/scalable-graph-visualization.gif +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/sql.CfOAbw6n.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/syne-neo-500-medium-normal-A5GXmYUf.woff2 +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/table-visualization.gif +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/typescript.3Tbm37mD.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/xml-doc.h79Tu9Aw.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/assets/yaml.B-Jvd59g.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/favicons/android-chrome-192x192.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/favicons/apple-touch-icon.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/favicons/favicon-16x16.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/favicons/favicon-194x194.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/favicons/favicon-32x32.png +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/favicons/favicon.ico +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/favicons/safari-pinned-tab.svg +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/index.html +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/preview/manifest.json +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/ui-libs-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/browser_static/vendor-b124e26129aa436b26fe.bundle.js +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/bulk_loader.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/capabilities.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/cli.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/cypher/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/cypher/algorithms/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/cypher/algorithms/paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/cypher/aql/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/cypher/aql/ast.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/cypher/aql/lexer.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/cypher/aql/parser.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/cypher/aql/translator.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/cypher/translator.py,cover +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/cypher_api.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/dbapi_utils.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/embed_selector.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/embedded.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/errors.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/fhir_bridge.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/fusion.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/gql/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/gql/constants.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/gql/engine.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/gql/pooling.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/gql/resolvers.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/gql/schema.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/index_config.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/index_protocol.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/models.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/operators.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/py.typed +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/result.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/sdk.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/security.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/status.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/store_protocol.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/stores/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/stores/arno_bridge.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/stores/lazy_kg.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/text_search.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/utils.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/iris_vector_graph/vector_utils.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/sql/fhir_bridges.sql +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/sql/fraud_sample_data.sql +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/sql/globals_schema.sql +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/sql/graph_path_globals.sql +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/sql/graph_walk_tvf.sql +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/sql/migrations/000_base_schema_iris.sql +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/sql/migrations/001_add_nodepk_table.sql +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/sql/migrations/001_rollback_nodepk.sql +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/sql/migrations/002_add_fk_constraints.sql +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/sql/operators.sql +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/sql/operators_fixed.sql +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/sql/procedures/kg_PageRank.sql +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/sql/rdf_reifications.sql +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/sql/schema.sql +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/benchmark_parser.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/benchmarks/bench.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/benchmarks/bench_193_full.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/benchmarks/bench_utils.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/benchmarks/benchmark_neo4j.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/benchmarks/bfs_benchmark.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/benchmarks/establish_baseline.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/benchmarks/graph_gen.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/benchmarks/ic2_profile.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/benchmarks/iris_baseline_run.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/benchmarks/iris_os_run.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/benchmarks/ldbc_full_loader.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/benchmarks/load_neo4j.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/benchmarks/synthetic_baseline.csv +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/contract/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/contract/conftest.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/contract/test_cypher_api.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/contract/test_cypher_api_errors.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/contract/test_graphql_queries.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/contract/test_graphql_schema.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/contract/test_ppr_api.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/curl_suite.sh +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/conftest.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/fixtures/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/fixtures/centrality_graphs.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/fixtures/community_graphs.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_analytics_dispatch.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_approx_count_distinct.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_aql_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_arno_bfs_global.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_arno_bfs_unified.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_betweenness_neighborhood_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_betweenness_os_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_biomedical_demo.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_biomedical_ui.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_centrality_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_closeness_os_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_communities_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_communities_perf.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_cypher_coerce_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_cypher_gaps_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_cypher_sprints_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_cypher_vector_search.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_cypher_vl_path_bfs.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_edge_weights.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_eigenvector_os_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_embed_queue_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_embedded_wgproto_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_execution_contexts.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_execution_contexts_new.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_fhir_bridges_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_fraud_demo.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_fraud_ui.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_gql_autogen_startup.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_gql_cypher_passthrough.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_gql_node_queries.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_gql_semantic_search.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_gql_traversal.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_graph_kernels_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_hla_kg_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_ic13_shortest_path.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_ic3_exact_count.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_igraph_fastpath_parity.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_index_protocol.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_introspection_api.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_ivf_insert.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_large_output_chunked.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_lazy_kg_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_lazy_node_resolution.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_msbfs_closeness.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_multi_query_engine_platform.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_named_paths_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_nkg_index_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_objectscript_split_resolution.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_operator_wiring_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_pattern_comprehension_reduce.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_plaid.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_plaid_search_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_ppr_cls_fast_path.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_ppr_guided_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_procedure_installation.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_reification_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_schema_procedures_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_sdk_ergonomics_178_180_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_store_injection_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_streaming_bfs.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_stress_api.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_stress_ingest.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_stress_multi_context.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_stress_search.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_stress_setup.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_stress_traversal.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_subgraph_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_subquery_call_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_temporal_store_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_unified_index_api.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_untested_methods.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/e2e/test_vecindex_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/conftest.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/gql/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/gql/test_graphql_mutations.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/gql/test_graphql_nested_queries.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/gql/test_graphql_queries.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/gql/test_graphql_vector_search.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_196_bug_fixes.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_admin_introspection.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_algorithm_branches.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_algorithms_deep_coverage.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_algorithms_error_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_algorithms_integration.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_algorithms_new_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_api_completeness.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_arno_bridge_mock_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_arno_bridge_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_arno_store_layer.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_bidirectional_ppr.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_bulk_load_session.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_bulk_loader_live.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_cls_layer.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_coverage_final_push.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_coverage_push_final.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_cypher_api_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_cypher_api_exception_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_cypher_enhancements.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_cypher_multi_type.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_cypher_rd.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_cypher_rel_vars.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_cypher_single_type.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_cypher_untyped.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_cypher_vector_search.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_diabolical_qa.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_doc_claims.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_driver_segfault_guard.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_embed_queue_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_embeddings_api.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_embeddings_integration.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_embeddings_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_engine_misc_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_engine_utils_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_fastapi_graphql.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_fhir_bridges_integration.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_fhir_event_sidecar.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_fusion_dbapi_bulk.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_gql_resolvers_live.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_index_consistency_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_lazykg_algorithms.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_lazykg_fallback_forced.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_named_paths_integration.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_nodepk_advanced_benchmarks.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_nodepk_constraints.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_nodepk_graph_analytics.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_nodepk_migration.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_nodepk_performance.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_nodepk_production_scale.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_nodes_edges_and_algo_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_nodes_edges_deep.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_objectscript_classes.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_pagerank_sql_optimization.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_query_deep.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_query_engine_branches.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_query_engine_special.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_query_fastpaths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_query_paths_deep.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_query_special_patterns.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_rdf_semantic_layer_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_reification_integration.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_remaining_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_schema_and_engine_procs.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_schema_deep.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_schema_migration.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_snapshot_deep.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_snapshot_import_export.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_snapshot_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_sql_parameterization.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_sql_store_direct.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_sql_store_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_store_algorithms.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_store_bfs_deep.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_store_exception_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_store_write_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_stored_procedure_install.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_subquery_call_integration.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_vector_advanced_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_vector_engine_deep.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_vector_index_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_vector_index_paths2.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_vector_optimizer_live.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/integration/test_vector_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/perf/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/perf/test_betweenness_vs_gds.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/perf/test_head_to_head.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/perf/test_leiden_four_way.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/performance/conftest.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/performance/scale_benchmark.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/performance/test_ppr_stress.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/performance/test_stress_v1_5.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/python/run_all_tests.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/python/test_iris_rest_api.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/python/test_networkx_loader.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/python/test_performance_benchmarks.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/python/test_pyops_vector_conversion.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/python/test_python_operators.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/python/test_python_sdk.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/python/test_schema_validation.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/python/test_sql_queries.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/python/test_vector_functions.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/regression/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/regression/engine_api_baseline.json +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/regression/test_complexity.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/regression/test_engine_api.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/regression/test_module_size.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/regression/test_no_silent_swallow.py +0 -0
- {iris_vector_graph-2.5.0/tests/unit/cypher → iris_vector_graph-2.7.0/tests/tck}/__init__.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/test_schema_contract.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/cypher/test_lexer.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/cypher/test_lexer_advanced.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/cypher/test_parser.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/cypher/test_parser_advanced.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_193_bfs_nkg_fast_path.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_194_readme.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_admin_remaining.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_admin_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_algorithm_warning_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_algorithms_extended_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_algorithms_large_graph_warn.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_algorithms_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_api_security.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_aql_lexer.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_aql_parser.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_aql_translator.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_aql_translator_extra.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_arno_bridge.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_batch_mutations.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_betweenness_os_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_bfs_arno.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_bm25_index.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_bolt_relationship_encoding.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_bolt_server.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_bulk_load_session.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_bulk_loader_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_centrality_translator.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_centrality_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cli.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_closeness_os_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cls_deployment.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_communities_translator.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_communities_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_concept_first_status.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_coverage_boost.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cypher_api_admin.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cypher_api_extra.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cypher_benchmark.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cypher_benchmark_scale.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cypher_case_when.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cypher_e2e_new_features.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cypher_functions.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cypher_parser.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cypher_posos_bugs.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cypher_procedures.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cypher_union_exists.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cypher_var_length.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_cypher_vector_search.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_dbapi_utils_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_drift_detector.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_edge_embeddings.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_edgeprop_ndjson.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_embed_nodes_params.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_embed_queue_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_embed_selector.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_embed_selector_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_embedded.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_embedded_wgproto.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_embeddings_remaining.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_embeddings_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_engine_deep.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_engine_dimension_fix.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_engine_embeddings.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_engine_mocked.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_engine_status.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_engine_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_error_model.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_fetch_first_join_bug.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_fhir_bridge.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_fhir_bridges.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_fhir_event_sidecar.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_gds_shims.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_get_nodes.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_gql_coverage.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_gql_edge_cases.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_gql_resolver_bodies.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_graph_kernels.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_graphql_dataloader.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_index_config.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_index_handle.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_index_protocol.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_ingest_formats.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_introspection_api.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_ivf_index.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_ivgresult.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_khop_dispatch.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_lazy_kg.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_module_coverage.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_named_graphs.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_named_paths.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_nodes_edges_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_operators_coverage.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_operators_wiring.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_parse_cache.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_plaid_search.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_ppr_guided_subgraph.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_predicate_order.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_property_primitives.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_prov_export.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_query_extra_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_query_fastpath_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_query_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_rdf_coverage_boost.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_rdf_export.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_reification.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_retrieve_and_vector_distance.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_rrf_fuse_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_schema_engine_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_schema_init.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_schema_procedures.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_schema_remaining.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_schema_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_sdk.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_sdk_async.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_sdk_coverage.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_shacl_validation.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_shortest_path.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_snapshot.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_snapshot_restore_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_snapshot_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_sql_splitter.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_sql_store_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_sql_table_bridge.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_store_protocol.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_structural_guard.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_structural_guard_e2e.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_subgraph.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_subquery_call.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_supporting_modules.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_sync_model.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_temporal_cypher.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_temporal_edges.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_temporal_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_translator_coverage.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_translator_extended.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_unified_edge_store.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_utilities_final.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_utils_coverage.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_validation.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_vector_unit.py +0 -0
- {iris_vector_graph-2.5.0 → iris_vector_graph-2.7.0}/tests/unit/test_weighted_shortest_path.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: iris-vector-graph
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.7.0
|
|
4
4
|
Summary: Native graph database layer for InterSystems IRIS — openCypher, hybrid vector search, temporal property graph, RDF export, SHACL validation
|
|
5
5
|
Project-URL: Homepage, https://github.com/intersystems-community/iris-vector-graph
|
|
6
6
|
Project-URL: Documentation, https://github.com/intersystems-community/iris-vector-graph/tree/main/docs
|
|
@@ -86,6 +86,8 @@ Requires-Dist: scikit-learn>=1.3.0; extra == 'plaid'
|
|
|
86
86
|
Provides-Extra: rdf
|
|
87
87
|
Requires-Dist: pyshacl>=0.25.0; extra == 'rdf'
|
|
88
88
|
Requires-Dist: rdflib>=6.0.0; extra == 'rdf'
|
|
89
|
+
Provides-Extra: tck
|
|
90
|
+
Requires-Dist: behave>=1.2.6; extra == 'tck'
|
|
89
91
|
Provides-Extra: visualization
|
|
90
92
|
Requires-Dist: graphviz>=0.20.0; extra == 'visualization'
|
|
91
93
|
Requires-Dist: matplotlib>=3.7.0; extra == 'visualization'
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/// Percentile aggregate helpers for IVG Cypher engine.
|
|
2
|
+
Class IVG.Percentile Extends %RegisteredObject [ SqlSchemaName = IVG ]
|
|
3
|
+
{
|
|
4
|
+
|
|
5
|
+
/// percentileDisc(vals, p) — discrete Nth percentile of sorted JSON array.
|
|
6
|
+
ClassMethod PDISC(vals As %String, p As %Double) As %String [ SqlProc ]
|
|
7
|
+
{
|
|
8
|
+
If (p < 0) || (p > 1) { Throw ##class(%Exception.General).%New("ArgumentError","5030","Bad argument given; Details: Incorrect number out of range") }
|
|
9
|
+
Set arr = ##class(%Library.DynamicArray).%FromJSON(vals)
|
|
10
|
+
Set n = arr.%Size()
|
|
11
|
+
If n = 0 { Quit "" }
|
|
12
|
+
Set sorted = ..SortArray(arr, n)
|
|
13
|
+
Set i = ((n - 1) * p) \ 1
|
|
14
|
+
If i < 0 { Set i = 0 }
|
|
15
|
+
If i >= n { Set i = n - 1 }
|
|
16
|
+
Quit sorted.%Get(i)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/// percentileCont(vals, p) — continuous Nth percentile (linear interpolation).
|
|
20
|
+
ClassMethod PCONT(vals As %String, p As %Double) As %Double [ SqlProc ]
|
|
21
|
+
{
|
|
22
|
+
If (p < 0) || (p > 1) { Throw ##class(%Exception.General).%New("ArgumentError","5030","Bad argument given; Details: Incorrect number out of range") }
|
|
23
|
+
Set arr = ##class(%Library.DynamicArray).%FromJSON(vals)
|
|
24
|
+
Set n = arr.%Size()
|
|
25
|
+
If n = 0 { Quit 0 }
|
|
26
|
+
Set sorted = ..SortArray(arr, n)
|
|
27
|
+
Set pos = (n - 1) * p
|
|
28
|
+
Set lower = pos \ 1
|
|
29
|
+
If lower < 0 { Set lower = 0 }
|
|
30
|
+
If lower >= (n - 1) { Quit sorted.%Get(n - 1) + 0 }
|
|
31
|
+
Set frac = pos - lower
|
|
32
|
+
Set lo = sorted.%Get(lower) + 0
|
|
33
|
+
Set hi = sorted.%Get(lower + 1) + 0
|
|
34
|
+
Quit lo + (frac * (hi - lo))
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/// Sort a DynamicArray of numbers ascending (insertion sort, in-place).
|
|
38
|
+
ClassMethod SortArray(arr As %Library.DynamicArray, n As %Integer) As %Library.DynamicArray
|
|
39
|
+
{
|
|
40
|
+
Set i = 1
|
|
41
|
+
While i < n {
|
|
42
|
+
Set key = arr.%Get(i) + 0
|
|
43
|
+
Set j = i - 1
|
|
44
|
+
While j >= 0 && (arr.%Get(j) + 0 > key) {
|
|
45
|
+
Do arr.%Set(j + 1, arr.%Get(j) + 0)
|
|
46
|
+
Set j = j - 1
|
|
47
|
+
}
|
|
48
|
+
Do arr.%Set(j + 1, key)
|
|
49
|
+
Set i = i + 1
|
|
50
|
+
}
|
|
51
|
+
Quit arr
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/// User.CypherFn — SQL UDFs for Cypher expression translation
|
|
2
|
+
/// All method names use IVG prefix to avoid IRIS 2026.3 reserved keyword conflicts.
|
|
3
|
+
/// SQL projection names: SQLUser.CypherFn_IVG<Name>
|
|
4
|
+
Class User.CypherFn Extends %RegisteredObject
|
|
5
|
+
{
|
|
6
|
+
|
|
7
|
+
/// Regex match operator (=~ in Cypher). Returns 1 if string matches pattern, 0 otherwise.
|
|
8
|
+
ClassMethod IVGREGEXMATCH(s As %String = "", p As %String = "") As %Integer [ SqlProc ]
|
|
9
|
+
{
|
|
10
|
+
If s = "" || p = "" { Return 0 }
|
|
11
|
+
Try {
|
|
12
|
+
Set m = ##class(%Regex.Matcher).%New(p)
|
|
13
|
+
Set r = m.Match(s)
|
|
14
|
+
Return $Select(r: 1, 1: 0)
|
|
15
|
+
} Catch { Return 0 }
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/// JSON array length. Returns 0 for null/empty.
|
|
19
|
+
ClassMethod IVGJSONARRAYLENGTH(json As %String = "") As %Integer [ SqlProc ]
|
|
20
|
+
{
|
|
21
|
+
If json = "" || json = "null" { Return 0 }
|
|
22
|
+
Try {
|
|
23
|
+
Set arr = ##class(%DynamicArray).%FromJSON(json)
|
|
24
|
+
If arr = "" { Return 0 }
|
|
25
|
+
Return arr.%Size()
|
|
26
|
+
} Catch { Return 0 }
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/// JSON value extraction via JSONPath (supports $.key and $[N] forms).
|
|
30
|
+
ClassMethod IVGJSONVALUE(json As %String = "", path As %String = "") As %String [ SqlProc ]
|
|
31
|
+
{
|
|
32
|
+
If json = "" || json = "null" { Return "" }
|
|
33
|
+
Try {
|
|
34
|
+
Set obj = ##class(%DynamicObject).%FromJSON(json)
|
|
35
|
+
If obj = "" { Return "" }
|
|
36
|
+
If $Extract(path, 1, 2) = "$." {
|
|
37
|
+
Return obj.%Get($Extract(path, 3, *))
|
|
38
|
+
} ElseIf $Extract(path, 1, 2) = "$[" {
|
|
39
|
+
Set idx = +$Extract(path, 3, $Length(path) - 1)
|
|
40
|
+
If obj.%IsA("%DynamicArray") { Return obj.%Get(idx) }
|
|
41
|
+
}
|
|
42
|
+
Return ""
|
|
43
|
+
} Catch { Return "" }
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/// Return keys of a JSON object as a JSON array string.
|
|
47
|
+
ClassMethod IVGJSONKEYS(json As %String = "") As %String [ SqlProc ]
|
|
48
|
+
{
|
|
49
|
+
If json = "" || json = "null" { Return "[]" }
|
|
50
|
+
Try {
|
|
51
|
+
Set obj = ##class(%DynamicObject).%FromJSON(json)
|
|
52
|
+
If obj = "" { Return "[]" }
|
|
53
|
+
Set keys = ##class(%DynamicArray).%New()
|
|
54
|
+
Set iter = obj.%GetIterator()
|
|
55
|
+
While iter.%GetNext(.key, .val) { Do keys.%Push(key) }
|
|
56
|
+
Return keys.%ToJSON()
|
|
57
|
+
} Catch { Return "[]" }
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/// Reverse a JSON array.
|
|
61
|
+
ClassMethod IVGLISTREVERSE(json As %String = "") As %String [ SqlProc ]
|
|
62
|
+
{
|
|
63
|
+
If json = "" || json = "null" { Return "[]" }
|
|
64
|
+
Try {
|
|
65
|
+
Set arr = ##class(%DynamicArray).%FromJSON(json)
|
|
66
|
+
If arr = "" { Return "[]" }
|
|
67
|
+
Set rev = ##class(%DynamicArray).%New()
|
|
68
|
+
Set sz = arr.%Size()
|
|
69
|
+
For i = sz:-1:1 { Do rev.%Push(arr.%Get(i - 1)) }
|
|
70
|
+
Return rev.%ToJSON()
|
|
71
|
+
} Catch { Return "[]" }
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/// Split string by delimiter and return as JSON array.
|
|
75
|
+
ClassMethod IVGSTRSPLIT(s As %String = "", delim As %String = "") As %String [ SqlProc ]
|
|
76
|
+
{
|
|
77
|
+
If s = "" { Return "[]" }
|
|
78
|
+
Set result = ##class(%DynamicArray).%New()
|
|
79
|
+
Set pieces = $Length(s, delim)
|
|
80
|
+
For i = 1:1:pieces { Do result.%Push($Piece(s, delim, i)) }
|
|
81
|
+
Return result.%ToJSON()
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/// Generate a random UUID.
|
|
85
|
+
ClassMethod IVGNEWID() As %String [ SqlProc ]
|
|
86
|
+
{
|
|
87
|
+
Return ##class(%SYS.Util).CreateGUID()
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/// Generate a random float in [0, 1).
|
|
91
|
+
ClassMethod IVGRAND() As %Decimal [ SqlProc ]
|
|
92
|
+
{
|
|
93
|
+
Return ##class(%PopulationStatistics).RandomDouble()
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/// Get first element of a JSON array.
|
|
97
|
+
ClassMethod IVGLISTHEAD(json As %String = "") As %String [ SqlProc ]
|
|
98
|
+
{
|
|
99
|
+
If json = "" || json = "null" { Return "" }
|
|
100
|
+
Try {
|
|
101
|
+
Set arr = ##class(%DynamicArray).%FromJSON(json)
|
|
102
|
+
If arr = "" || arr.%Size() = 0 { Return "" }
|
|
103
|
+
Return arr.%Get(0)
|
|
104
|
+
} Catch { Return "" }
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/// Get last element of a JSON array.
|
|
108
|
+
ClassMethod IVGLISTLAST(json As %String = "") As %String [ SqlProc ]
|
|
109
|
+
{
|
|
110
|
+
If json = "" || json = "null" { Return "" }
|
|
111
|
+
Try {
|
|
112
|
+
Set arr = ##class(%DynamicArray).%FromJSON(json)
|
|
113
|
+
If arr = "" || arr.%Size() = 0 { Return "" }
|
|
114
|
+
Return arr.%Get(arr.%Size() - 1)
|
|
115
|
+
} Catch { Return "" }
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/// Get all but the first element of a JSON array.
|
|
119
|
+
ClassMethod IVGLISTTAIL(json As %String = "") As %String [ SqlProc ]
|
|
120
|
+
{
|
|
121
|
+
If json = "" || json = "null" { Return "[]" }
|
|
122
|
+
Try {
|
|
123
|
+
Set arr = ##class(%DynamicArray).%FromJSON(json)
|
|
124
|
+
If arr = "" || arr.%Size() = 0 { Return "[]" }
|
|
125
|
+
Set tail = ##class(%DynamicArray).%New()
|
|
126
|
+
For i = 1:1:arr.%Size() - 1 { Do tail.%Push(arr.%Get(i)) }
|
|
127
|
+
Return tail.%ToJSON()
|
|
128
|
+
} Catch { Return "[]" }
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/// List element access with strict integer type checking (Cypher TCK compliance).
|
|
132
|
+
/// idx must be a string representation of an integer (no decimals, no leading zeros beyond "0").
|
|
133
|
+
/// Raises an error for non-integer indices (boolean, float, string, list, map).
|
|
134
|
+
/// Returns the array element at 0-based index idx, or NULL for out-of-bounds.
|
|
135
|
+
ClassMethod IVGLISTGET(json As %String = "", idx As %String = "") As %String [ SqlProc ]
|
|
136
|
+
{
|
|
137
|
+
// Reject empty/null list
|
|
138
|
+
If json = "" || json = "null" { Return "" }
|
|
139
|
+
// Type-check: idx must parse as an exact integer (no decimal point)
|
|
140
|
+
// IRIS $IsValidNum returns 1 for integers and floats; use $Find for dot check
|
|
141
|
+
If $Find(idx, ".") > 0 {
|
|
142
|
+
// Float index: TypeError
|
|
143
|
+
Throw ##class(%Exception.General).%New("TypeError","5001",,"Non-integer index for list subscript: "_idx)
|
|
144
|
+
}
|
|
145
|
+
// Check if idx looks like a JSON array or object (starts with [ or {)
|
|
146
|
+
Set firstChar = $Extract($ZStrip(idx,"<W"), 1)
|
|
147
|
+
If firstChar = "[" || (firstChar = "{") {
|
|
148
|
+
Throw ##class(%Exception.General).%New("TypeError","5001",,"Non-integer index for list subscript: "_idx)
|
|
149
|
+
}
|
|
150
|
+
// Must be a valid integer
|
|
151
|
+
If '$IsValidNum(idx, 0) {
|
|
152
|
+
Throw ##class(%Exception.General).%New("TypeError","5001",,"Non-integer index for list subscript: "_idx)
|
|
153
|
+
}
|
|
154
|
+
Set intIdx = +idx
|
|
155
|
+
Try {
|
|
156
|
+
Set arr = ##class(%DynamicArray).%FromJSON(json)
|
|
157
|
+
If arr = "" { Return "" }
|
|
158
|
+
If arr.%IsA("%DynamicArray") = 0 {
|
|
159
|
+
// Not an array (it's an object): TypeError
|
|
160
|
+
Throw ##class(%Exception.General).%New("TypeError","5001",,"Cannot use list subscript on non-list value")
|
|
161
|
+
}
|
|
162
|
+
// Negative index: wrap around
|
|
163
|
+
If intIdx < 0 {
|
|
164
|
+
Set intIdx = arr.%Size() + intIdx
|
|
165
|
+
}
|
|
166
|
+
If intIdx < 0 || intIdx >= arr.%Size() { Return "" }
|
|
167
|
+
Return arr.%Get(intIdx)
|
|
168
|
+
} Catch e {
|
|
169
|
+
Throw e
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/// Always raises a TypeError. Used to signal type errors at SQL execution time.
|
|
174
|
+
ClassMethod IVGTYPEERROR(msg As %String = "TypeError") As %String [ SqlProc ]
|
|
175
|
+
{
|
|
176
|
+
Throw ##class(%Exception.General).%New("TypeError","5001",,msg)
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/// Map property access by dynamic key. Returns NULL for missing keys.
|
|
180
|
+
ClassMethod IVGMAPGET(json As %String = "", key As %String = "") As %String [ SqlProc ]
|
|
181
|
+
{
|
|
182
|
+
If json = "" || json = "null" { Return "" }
|
|
183
|
+
Try {
|
|
184
|
+
Set obj = ##class(%DynamicObject).%FromJSON(json)
|
|
185
|
+
If obj = "" { Return "" }
|
|
186
|
+
Return obj.%Get(key)
|
|
187
|
+
} Catch { Return "" }
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/// Set a key in a JSON object, returning the updated JSON string.
|
|
191
|
+
/// Creates a new empty object if json is null/empty.
|
|
192
|
+
/// Numeric values are stored as numbers; others as strings.
|
|
193
|
+
ClassMethod IVGJSONSET(json As %String = "", key As %String = "", val As %String = "") As %String [ SqlProc ]
|
|
194
|
+
{
|
|
195
|
+
Try {
|
|
196
|
+
If json = "" || json = "null" {
|
|
197
|
+
Set obj = ##class(%DynamicObject).%New()
|
|
198
|
+
} Else {
|
|
199
|
+
Set obj = ##class(%DynamicObject).%FromJSON(json)
|
|
200
|
+
If '$IsObject(obj) { Set obj = ##class(%DynamicObject).%New() }
|
|
201
|
+
}
|
|
202
|
+
If $IsValidNum(val) {
|
|
203
|
+
Set obj = obj.%Set(key, +val)
|
|
204
|
+
} Else {
|
|
205
|
+
Set obj = obj.%Set(key, val)
|
|
206
|
+
}
|
|
207
|
+
Return obj.%ToJSON()
|
|
208
|
+
} Catch { Return json }
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/// Remove a key from a JSON object, returning the updated JSON string.
|
|
212
|
+
ClassMethod IVGJSONREMOVE(json As %String = "", key As %String = "") As %String [ SqlProc ]
|
|
213
|
+
{
|
|
214
|
+
If json = "" || json = "null" { Return "{}" }
|
|
215
|
+
Try {
|
|
216
|
+
Set obj = ##class(%DynamicObject).%FromJSON(json)
|
|
217
|
+
If obj = "" { Return "{}" }
|
|
218
|
+
Do obj.%Remove(key)
|
|
219
|
+
Return obj.%ToJSON()
|
|
220
|
+
} Catch { Return json }
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/// Generate a Cypher range [start, end] as a JSON array. Step defaults to 1.
|
|
224
|
+
ClassMethod IVGRANGE(startVal As %Integer = 0, endVal As %Integer = 0, stepVal As %Integer = 1) As %String [ SqlProc ]
|
|
225
|
+
{
|
|
226
|
+
If stepVal = 0 { Return "[]" }
|
|
227
|
+
Set arr = ##class(%DynamicArray).%New()
|
|
228
|
+
If stepVal > 0 {
|
|
229
|
+
For i = startVal:stepVal:endVal { Do arr.%Push(i) }
|
|
230
|
+
} Else {
|
|
231
|
+
Set i = startVal
|
|
232
|
+
While i >= endVal { Do arr.%Push(i) Set i = i + stepVal }
|
|
233
|
+
}
|
|
234
|
+
Return arr.%ToJSON()
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/// User.SQL — legacy helper class kept for non-SQL ObjectScript use.
|
|
2
|
+
/// SQL UDFs have moved to User.CypherFn (IVG-prefixed names avoid 2026.3 reserved keywords).
|
|
3
|
+
Class User.SQL Extends %RegisteredObject
|
|
4
|
+
{
|
|
5
|
+
|
|
6
|
+
/// Regex match — non-SQL helper method (SQL version: SQLUser.CypherFn_IVGREGEXMATCH)
|
|
7
|
+
ClassMethod REGEXMATCH(str As %String = "", pattern As %String = "") As %Integer
|
|
8
|
+
{
|
|
9
|
+
If str = "" || pattern = "" {
|
|
10
|
+
Return 0
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
Try {
|
|
14
|
+
Set compiled = ##class(%Regex.Matcher).%New(pattern)
|
|
15
|
+
Set result = compiled.Match(str)
|
|
16
|
+
Return $Select(result: 1, 1: 0)
|
|
17
|
+
} Catch ex {
|
|
18
|
+
Return 0
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// User.funcJSONKEYS — SQL UDF for Cypher keys() function
|
|
2
|
+
/// SQL projection name: SQLUser.JSON_KEYS
|
|
3
|
+
Class User.funcJSONKEYS Extends %RegisteredObject
|
|
4
|
+
{
|
|
5
|
+
|
|
6
|
+
/// Return keys of a JSON object as a JSON array string.
|
|
7
|
+
ClassMethod JSONKEYS(json As %String = "") As %String [ SqlName = JSON_KEYS, SqlProc ]
|
|
8
|
+
{
|
|
9
|
+
If json = "" || json = "null" { Return "[]" }
|
|
10
|
+
Try {
|
|
11
|
+
Set obj = ##class(%DynamicObject).%FromJSON(json)
|
|
12
|
+
If obj = "" { Return "[]" }
|
|
13
|
+
Set keys = ##class(%DynamicArray).%New()
|
|
14
|
+
Set iter = obj.%GetIterator()
|
|
15
|
+
While iter.%GetNext(.key, .val) { Do keys.%Push(key) }
|
|
16
|
+
Return keys.%ToJSON()
|
|
17
|
+
} Catch { Return "[]" }
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/// User.funcSTRSPLIT — SQL UDF for Cypher split() function
|
|
2
|
+
/// SQL projection name: SQLUser.STR_SPLIT
|
|
3
|
+
/// Note: method name cannot be STR_SPLIT (reserved keyword in IRIS 2026.3);
|
|
4
|
+
/// use SqlName annotation to project as STR_SPLIT.
|
|
5
|
+
Class User.funcSTRSPLIT Extends %RegisteredObject
|
|
6
|
+
{
|
|
7
|
+
|
|
8
|
+
/// Split string by delimiter and return as JSON array.
|
|
9
|
+
ClassMethod STRSPLIT(s As %String = "", delim As %String = "") As %String [ SqlName = STR_SPLIT, SqlProc ]
|
|
10
|
+
{
|
|
11
|
+
If s = "" { Return "[]" }
|
|
12
|
+
Set result = ##class(%DynamicArray).%New()
|
|
13
|
+
Set pieces = $Length(s, delim)
|
|
14
|
+
For i = 1:1:pieces { Do result.%Push($Piece(s, delim, i)) }
|
|
15
|
+
Return result.%ToJSON()
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
}
|
|
@@ -6,7 +6,6 @@ from iris_vector_graph.status import (
|
|
|
6
6
|
ObjectScriptStatus, ArnoStatus, IndexInventory,
|
|
7
7
|
)
|
|
8
8
|
from iris_vector_graph.result import IVGResult
|
|
9
|
-
from iris_vector_graph.cypher.translator import _table
|
|
10
9
|
|
|
11
10
|
logger = logging.getLogger(__name__)
|
|
12
11
|
|
|
@@ -90,7 +89,7 @@ class AdminMixin:
|
|
|
90
89
|
# HNSW vector index on kg_NodeEmbeddings
|
|
91
90
|
hnsw_count = 0
|
|
92
91
|
try:
|
|
93
|
-
cursor.execute(f"SELECT COUNT(*) FROM {
|
|
92
|
+
cursor.execute(f"SELECT COUNT(*) FROM {self._t('kg_NodeEmbeddings_optimized')}")
|
|
94
93
|
r = cursor.fetchone()
|
|
95
94
|
hnsw_count = int(r[0]) if r else 0
|
|
96
95
|
except Exception:
|
|
@@ -100,13 +99,13 @@ class AdminMixin:
|
|
|
100
99
|
"ONLINE" if hnsw_count > 0 else "BUILDING",
|
|
101
100
|
])
|
|
102
101
|
|
|
103
|
-
for (name,) in _try(f"SELECT DISTINCT name FROM {
|
|
102
|
+
for (name,) in _try(f"SELECT DISTINCT name FROM {self._t('kg_IVFMeta')}"):
|
|
104
103
|
rows.append([name, "VECTOR(IVF)", "NODE", ["*"], ["emb"], "ONLINE"])
|
|
105
104
|
|
|
106
|
-
for (name,) in _try(f"SELECT DISTINCT name FROM {
|
|
105
|
+
for (name,) in _try(f"SELECT DISTINCT name FROM {self._t('kg_BM25Meta')}"):
|
|
107
106
|
rows.append([name, "FULLTEXT(BM25)", "NODE", ["*"], ["*"], "ONLINE"])
|
|
108
107
|
|
|
109
|
-
for (idx_name,) in _try(f"SELECT DISTINCT idx_name FROM {
|
|
108
|
+
for (idx_name,) in _try(f"SELECT DISTINCT idx_name FROM {self._t('kg_PlaidMeta')}"):
|
|
110
109
|
rows.append([idx_name, "VECTOR(PLAID)", "NODE", ["*"], ["emb"], "ONLINE"])
|
|
111
110
|
|
|
112
111
|
try:
|
|
@@ -172,12 +171,12 @@ class AdminMixin:
|
|
|
172
171
|
return 0
|
|
173
172
|
|
|
174
173
|
tables = TableCounts(
|
|
175
|
-
nodes=_count(f"SELECT COUNT(*) FROM {
|
|
176
|
-
edges=_count(f"SELECT COUNT(*) FROM {
|
|
177
|
-
labels=_count(f"SELECT COUNT(*) FROM {
|
|
178
|
-
props=_count(f"SELECT COUNT(*) FROM {
|
|
179
|
-
node_embeddings=_count(f"SELECT COUNT(*) FROM {
|
|
180
|
-
edge_embeddings=_count(f"SELECT COUNT(*) FROM {
|
|
174
|
+
nodes=_count(f"SELECT COUNT(*) FROM {self._t('nodes')}"),
|
|
175
|
+
edges=_count(f"SELECT COUNT(*) FROM {self._t('rdf_edges')}"),
|
|
176
|
+
labels=_count(f"SELECT COUNT(*) FROM {self._t('rdf_labels')}"),
|
|
177
|
+
props=_count(f"SELECT COUNT(*) FROM {self._t('rdf_props')}"),
|
|
178
|
+
node_embeddings=_count(f"SELECT COUNT(*) FROM {self._t('kg_NodeEmbeddings')}"),
|
|
179
|
+
edge_embeddings=_count(f"SELECT COUNT(*) FROM {self._t('kg_EdgeEmbeddings')}"),
|
|
181
180
|
)
|
|
182
181
|
|
|
183
182
|
kg_count = 0
|
|
@@ -215,7 +214,7 @@ class AdminMixin:
|
|
|
215
214
|
if kg_pred:
|
|
216
215
|
try:
|
|
217
216
|
cursor.execute(
|
|
218
|
-
f"SELECT COUNT(*) FROM {
|
|
217
|
+
f"SELECT COUNT(*) FROM {self._t('rdf_edges')} WHERE p = ?",
|
|
219
218
|
[kg_pred],
|
|
220
219
|
)
|
|
221
220
|
row = cursor.fetchone()
|
|
@@ -265,7 +264,7 @@ class AdminMixin:
|
|
|
265
264
|
capabilities=dict(self._arno_capabilities),
|
|
266
265
|
)
|
|
267
266
|
|
|
268
|
-
hnsw_built = _count(f"SELECT COUNT(*) FROM {
|
|
267
|
+
hnsw_built = _count(f"SELECT COUNT(*) FROM {self._t('kg_NodeEmbeddings_optimized')}") > 0
|
|
269
268
|
|
|
270
269
|
def _list_index(sql):
|
|
271
270
|
try:
|
|
@@ -274,9 +273,9 @@ class AdminMixin:
|
|
|
274
273
|
except Exception:
|
|
275
274
|
return []
|
|
276
275
|
|
|
277
|
-
ivf = _list_index(f"SELECT DISTINCT name FROM {
|
|
278
|
-
bm25 = _list_index(f"SELECT DISTINCT name FROM {
|
|
279
|
-
plaid = _list_index(f"SELECT DISTINCT idx_name FROM {
|
|
276
|
+
ivf = _list_index(f"SELECT DISTINCT name FROM {self._t('kg_IVFMeta')}")
|
|
277
|
+
bm25 = _list_index(f"SELECT DISTINCT name FROM {self._t('kg_BM25Meta')}")
|
|
278
|
+
plaid = _list_index(f"SELECT DISTINCT idx_name FROM {self._t('kg_PlaidMeta')}")
|
|
280
279
|
|
|
281
280
|
indexes = IndexInventory(
|
|
282
281
|
hnsw_built=hnsw_built,
|
|
@@ -335,7 +334,7 @@ class AdminMixin:
|
|
|
335
334
|
|
|
336
335
|
cursor = self.conn.cursor()
|
|
337
336
|
try:
|
|
338
|
-
cursor.execute(f"SELECT COUNT(*) FROM {
|
|
337
|
+
cursor.execute(f"SELECT COUNT(*) FROM {self._t('rdf_edges')}")
|
|
339
338
|
row = cursor.fetchone()
|
|
340
339
|
sql_edges = int(row[0]) if row else 0
|
|
341
340
|
except Exception as e:
|
|
@@ -2,7 +2,6 @@ import json
|
|
|
2
2
|
import logging
|
|
3
3
|
from typing import Dict, Any, List, Optional, Tuple, Callable
|
|
4
4
|
|
|
5
|
-
from iris_vector_graph.cypher.translator import _table
|
|
6
5
|
|
|
7
6
|
logger = logging.getLogger(__name__)
|
|
8
7
|
|
|
@@ -394,7 +393,7 @@ class AlgorithmsMixin:
|
|
|
394
393
|
node_labels = parsed.get("labels", {})
|
|
395
394
|
node_embeddings: Dict[str, Any] = {}
|
|
396
395
|
if include_embeddings and nodes:
|
|
397
|
-
emb_table =
|
|
396
|
+
emb_table = self._t("kg_NodeEmbeddings")
|
|
398
397
|
cursor = self.conn.cursor()
|
|
399
398
|
phs = ",".join(["?"] * len(nodes))
|
|
400
399
|
cursor.execute(
|
|
@@ -3,7 +3,6 @@ import json
|
|
|
3
3
|
import logging
|
|
4
4
|
|
|
5
5
|
from iris_vector_graph.schema import GraphSchema
|
|
6
|
-
from iris_vector_graph.cypher.translator import _table
|
|
7
6
|
|
|
8
7
|
logger = logging.getLogger(__name__)
|
|
9
8
|
|
|
@@ -138,7 +137,7 @@ class EmbeddingsMixin:
|
|
|
138
137
|
try:
|
|
139
138
|
cursor.execute(
|
|
140
139
|
"SELECT TOP 1 VECTOR_COSINE(emb, TO_VECTOR('[0]', DOUBLE)) "
|
|
141
|
-
f"FROM {
|
|
140
|
+
f"FROM {self._t('kg_NodeEmbeddings')} WHERE 1=0"
|
|
142
141
|
)
|
|
143
142
|
self._native_vec_available = True
|
|
144
143
|
except Exception as e:
|
|
@@ -201,12 +200,12 @@ class EmbeddingsMixin:
|
|
|
201
200
|
|
|
202
201
|
try:
|
|
203
202
|
cursor.execute(
|
|
204
|
-
f"DELETE FROM {
|
|
203
|
+
f"DELETE FROM {self._t('kg_NodeEmbeddings')} WHERE id = ?", [node_id]
|
|
205
204
|
)
|
|
206
205
|
except Exception:
|
|
207
206
|
pass
|
|
208
207
|
cursor.execute(
|
|
209
|
-
f"INSERT INTO {
|
|
208
|
+
f"INSERT INTO {self._t('kg_NodeEmbeddings')} (id, emb, metadata) VALUES (?, TO_VECTOR('{emb_str}', {self.vector_dtype}), ?)",
|
|
210
209
|
[node_id, meta_json],
|
|
211
210
|
)
|
|
212
211
|
self.conn.commit()
|
|
@@ -250,12 +249,12 @@ class EmbeddingsMixin:
|
|
|
250
249
|
|
|
251
250
|
try:
|
|
252
251
|
cursor.execute(
|
|
253
|
-
f"DELETE FROM {
|
|
252
|
+
f"DELETE FROM {self._t('kg_NodeEmbeddings')} WHERE id = ?", [node_id]
|
|
254
253
|
)
|
|
255
254
|
except Exception:
|
|
256
255
|
pass
|
|
257
256
|
cursor.execute(
|
|
258
|
-
f"INSERT INTO {
|
|
257
|
+
f"INSERT INTO {self._t('kg_NodeEmbeddings')} (id, emb, metadata) VALUES (?, TO_VECTOR('{emb_str}', {_dtype}), ?)",
|
|
259
258
|
[node_id, meta_json],
|
|
260
259
|
)
|
|
261
260
|
cursor.execute("COMMIT")
|
|
@@ -278,7 +277,6 @@ class EmbeddingsMixin:
|
|
|
278
277
|
missing_only: bool = False,
|
|
279
278
|
) -> dict:
|
|
280
279
|
from iris_vector_graph.embed_selector import EmbedSelector, build_node_where
|
|
281
|
-
from iris_vector_graph.cypher import get_schema_prefix
|
|
282
280
|
from iris_vector_graph.engine import _load_sentence_transformer, _is_sentence_transformer
|
|
283
281
|
|
|
284
282
|
sel = EmbedSelector(
|
|
@@ -287,7 +285,7 @@ class EmbeddingsMixin:
|
|
|
287
285
|
exclude_pattern=exclude_pattern,
|
|
288
286
|
missing_only=missing_only,
|
|
289
287
|
)
|
|
290
|
-
where = build_node_where(sel, schema_prefix=
|
|
288
|
+
where = build_node_where(sel, schema_prefix=self._schema_prefix)
|
|
291
289
|
|
|
292
290
|
orig_embedder = self.embedder
|
|
293
291
|
if model is not None:
|
|
@@ -300,12 +298,12 @@ class EmbeddingsMixin:
|
|
|
300
298
|
cursor = self.conn.cursor()
|
|
301
299
|
|
|
302
300
|
where_clause = f"WHERE {where}" if where else ""
|
|
303
|
-
cursor.execute(f"SELECT node_id FROM {
|
|
301
|
+
cursor.execute(f"SELECT node_id FROM {self._t('nodes')} {where_clause}")
|
|
304
302
|
all_node_ids = [row[0] for row in cursor.fetchall()]
|
|
305
303
|
n_total = len(all_node_ids)
|
|
306
304
|
|
|
307
305
|
if not force and not missing_only:
|
|
308
|
-
cursor.execute(f"SELECT id FROM {
|
|
306
|
+
cursor.execute(f"SELECT id FROM {self._t('kg_NodeEmbeddings')}")
|
|
309
307
|
already_embedded = {row[0] for row in cursor.fetchall()}
|
|
310
308
|
to_embed = [nid for nid in all_node_ids if nid not in already_embedded]
|
|
311
309
|
else:
|
|
@@ -319,7 +317,7 @@ class EmbeddingsMixin:
|
|
|
319
317
|
|
|
320
318
|
placeholders = ", ".join("?" * len(batch_ids))
|
|
321
319
|
cursor.execute(
|
|
322
|
-
f'SELECT s, "key", val FROM {
|
|
320
|
+
f'SELECT s, "key", val FROM {self._t("rdf_props")} WHERE s IN ({placeholders})',
|
|
323
321
|
batch_ids,
|
|
324
322
|
)
|
|
325
323
|
props_by_node: Dict[str, Dict[str, Any]] = {}
|
|
@@ -394,7 +392,7 @@ class EmbeddingsMixin:
|
|
|
394
392
|
del_placeholders = ", ".join("?" * len(ids_to_delete))
|
|
395
393
|
try:
|
|
396
394
|
cursor.execute(
|
|
397
|
-
f"DELETE FROM {
|
|
395
|
+
f"DELETE FROM {self._t('kg_NodeEmbeddings')} WHERE id IN ({del_placeholders})",
|
|
398
396
|
ids_to_delete,
|
|
399
397
|
)
|
|
400
398
|
except Exception:
|
|
@@ -402,7 +400,7 @@ class EmbeddingsMixin:
|
|
|
402
400
|
for node_id, emb_str in insert_params:
|
|
403
401
|
try:
|
|
404
402
|
cursor.execute(
|
|
405
|
-
f"INSERT INTO {
|
|
403
|
+
f"INSERT INTO {self._t('kg_NodeEmbeddings')} (id, emb) VALUES (?, TO_VECTOR('{emb_str}', {self.vector_dtype}))",
|
|
406
404
|
[node_id],
|
|
407
405
|
)
|
|
408
406
|
embedded += 1
|
|
@@ -443,7 +441,6 @@ class EmbeddingsMixin:
|
|
|
443
441
|
missing_only: bool = False,
|
|
444
442
|
) -> dict:
|
|
445
443
|
from iris_vector_graph.embed_selector import EmbedSelector, build_edge_where
|
|
446
|
-
from iris_vector_graph.cypher import get_schema_prefix
|
|
447
444
|
from iris_vector_graph.engine import _load_sentence_transformer, _is_sentence_transformer
|
|
448
445
|
|
|
449
446
|
sel = EmbedSelector(
|
|
@@ -453,7 +450,7 @@ class EmbeddingsMixin:
|
|
|
453
450
|
exclude_pattern=exclude_pattern,
|
|
454
451
|
missing_only=missing_only,
|
|
455
452
|
)
|
|
456
|
-
where = build_edge_where(sel, schema_prefix=
|
|
453
|
+
where = build_edge_where(sel, schema_prefix=self._schema_prefix)
|
|
457
454
|
|
|
458
455
|
orig_embedder = self.embedder
|
|
459
456
|
if model is not None:
|
|
@@ -467,14 +464,14 @@ class EmbeddingsMixin:
|
|
|
467
464
|
|
|
468
465
|
where_clause = f"WHERE {where}" if where else ""
|
|
469
466
|
cursor.execute(
|
|
470
|
-
f"SELECT s, p, o_id FROM {
|
|
467
|
+
f"SELECT s, p, o_id FROM {self._t('rdf_edges')} {where_clause}"
|
|
471
468
|
)
|
|
472
469
|
all_edges = [(row[0], row[1], row[2]) for row in cursor.fetchall()]
|
|
473
470
|
n_total = len(all_edges)
|
|
474
471
|
|
|
475
472
|
if not force:
|
|
476
473
|
cursor.execute(
|
|
477
|
-
f"SELECT s, p, o_id FROM {
|
|
474
|
+
f"SELECT s, p, o_id FROM {self._t('kg_EdgeEmbeddings')}"
|
|
478
475
|
)
|
|
479
476
|
already_embedded = {
|
|
480
477
|
(row[0], row[1], row[2]) for row in cursor.fetchall()
|
|
@@ -555,7 +552,7 @@ class EmbeddingsMixin:
|
|
|
555
552
|
for s, p, o_id in del_params:
|
|
556
553
|
try:
|
|
557
554
|
cursor.execute(
|
|
558
|
-
f"DELETE FROM {
|
|
555
|
+
f"DELETE FROM {self._t('kg_EdgeEmbeddings')} "
|
|
559
556
|
"WHERE s=? AND p=? AND o_id=?",
|
|
560
557
|
[s, p, o_id],
|
|
561
558
|
)
|
|
@@ -566,7 +563,7 @@ class EmbeddingsMixin:
|
|
|
566
563
|
for s, p, o_id, emb_str in insert_params:
|
|
567
564
|
try:
|
|
568
565
|
cursor.execute(
|
|
569
|
-
f"INSERT INTO {
|
|
566
|
+
f"INSERT INTO {self._t('kg_EdgeEmbeddings')} "
|
|
570
567
|
f"(s, p, o_id, emb) VALUES (?, ?, ?, TO_VECTOR('{emb_str}', {self.vector_dtype}))",
|
|
571
568
|
[s, p, o_id],
|
|
572
569
|
)
|
|
@@ -611,7 +608,7 @@ class EmbeddingsMixin:
|
|
|
611
608
|
"""
|
|
612
609
|
cursor = self.conn.cursor()
|
|
613
610
|
cursor.execute(
|
|
614
|
-
f"SELECT id, emb, metadata FROM {
|
|
611
|
+
f"SELECT id, emb, metadata FROM {self._t('kg_NodeEmbeddings')} WHERE id = ?",
|
|
615
612
|
[node_id],
|
|
616
613
|
)
|
|
617
614
|
row = cursor.fetchone()
|
|
@@ -644,7 +641,7 @@ class EmbeddingsMixin:
|
|
|
644
641
|
cursor = self.conn.cursor()
|
|
645
642
|
placeholders = ",".join(["?"] * len(node_ids))
|
|
646
643
|
cursor.execute(
|
|
647
|
-
f"SELECT id, emb, metadata FROM {
|
|
644
|
+
f"SELECT id, emb, metadata FROM {self._t('kg_NodeEmbeddings')} WHERE id IN ({placeholders})",
|
|
648
645
|
node_ids,
|
|
649
646
|
)
|
|
650
647
|
|
|
@@ -790,10 +787,10 @@ class EmbeddingsMixin:
|
|
|
790
787
|
cursor = self.conn.cursor()
|
|
791
788
|
try:
|
|
792
789
|
cursor.execute(
|
|
793
|
-
f"DELETE FROM {
|
|
790
|
+
f"DELETE FROM {self._t('kg_NodeEmbeddings')} WHERE id=?", [node_id]
|
|
794
791
|
)
|
|
795
792
|
cursor.execute(
|
|
796
|
-
f"INSERT INTO {
|
|
793
|
+
f"INSERT INTO {self._t('kg_NodeEmbeddings')} (id, emb) "
|
|
797
794
|
f"VALUES (?, TO_VECTOR('{emb_str}', {self.vector_dtype}))",
|
|
798
795
|
[node_id],
|
|
799
796
|
)
|
|
@@ -839,7 +836,7 @@ class EmbeddingsMixin:
|
|
|
839
836
|
def embedding_count(self) -> int:
|
|
840
837
|
cursor = self.conn.cursor()
|
|
841
838
|
try:
|
|
842
|
-
cursor.execute(f"SELECT COUNT(*) FROM {
|
|
839
|
+
cursor.execute(f"SELECT COUNT(*) FROM {self._t('kg_NodeEmbeddings')}")
|
|
843
840
|
row = cursor.fetchone()
|
|
844
841
|
return int(row[0]) if row else 0
|
|
845
842
|
except Exception:
|