Graph + Vector retrieval system for InterSystems IRIS with hybrid search, openCypher, and GraphQL APIs
Project description
IRIS Vector Graph
The ultimate Graph + Vector + Text Retrieval Engine for InterSystems IRIS.
IRIS Vector Graph is a general-purpose graph utility built on InterSystems IRIS that supports and demonstrates knowledge graph construction and query techniques. It combines graph traversal, HNSW vector similarity, and lexical search in a single, unified database.
Why IRIS Vector Graph?
- Multi-Query Power: Query your graph via SQL, openCypher, or GraphQL — all on the same data.
- Blazing Fast Vectors: Native HNSW indexing delivering ~1.7ms search latency (vs 5.8s standard).
- Zero-Dependency Integration: Built with IRIS Embedded Python — no external vector DBs or graph engines required.
- Production-Ready: The engine behind iris-vector-rag for advanced RAG pipelines.
Quick Start
# 1. Clone & Sync
git clone https://github.com/intersystems-community/iris-vector-graph.git && cd iris-vector-graph
uv sync
# 2. Spin up IRIS
docker-compose up -d
# 3. Start API
uvicorn api.main:app --reload
Visit:
- GraphQL Playground: http://localhost:8000/graphql
- API Docs: http://localhost:8000/docs
Unified Query Engines
openCypher
MATCH (p:Protein {id: "PROTEIN:TP53"})-[:interacts_with*1..2]->(target)
RETURN p.name, target.name
GraphQL
query {
protein(id: "PROTEIN:TP53") {
name
interactsWith(first: 5) { id name }
similar(limit: 3) { protein { name } similarity }
}
}
SQL (Hybrid)
SELECT TOP 10 id,
kg_RRF_FUSE(id, vector, 'cancer suppressor') as score
FROM nodes
ORDER BY score DESC
Performance
| Operation | Standard IRIS | ACORN-1 (HNSW) | Gain |
|---|---|---|---|
| Vector Search | 5,800ms | 1.7ms | 3400x |
| Graph Hop | 1.0ms | 0.09ms | 11x |
| Ingestion | 29 nodes/s | 6,496 nodes/s | 224x |
Interactive Demos
Experience the power of IRIS Vector Graph through our interactive demo applications.
Biomedical Research Demo
Explore protein-protein interaction networks with vector similarity and D3.js visualization.
Fraud Detection Demo
Real-time fraud scoring with transaction networks and bitemporal audit trails.
To run the demos:
# Start the demo server
export PYTHONPATH=$PYTHONPATH:$(pwd)/src
uv run uvicorn src.iris_demo_server.app:app --port 8200 --host 0.0.0.0
Visit http://localhost:8200 to begin.
iris-vector-rag Integration
IRIS Vector Graph is the core engine powering iris-vector-rag. You can use it in your RAG pipelines like this:
from iris_vector_rag import create_pipeline
# Create a GraphRAG pipeline powered by this engine
pipeline = create_pipeline('graphrag')
# Combined vector + text + graph retrieval
result = pipeline.query(
"What are the latest cancer treatment approaches?",
top_k=5
)
Documentation
- Detailed Architecture
- Biomedical Domain Examples
- Full Test Suite
- iris-vector-rag Integration
- Verbose README (Legacy)
Author: Thomas Dyar (thomas.dyar@intersystems.com)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iris_vector_graph-1.2.0.tar.gz.
File metadata
- Download URL: iris_vector_graph-1.2.0.tar.gz
- Upload date:
- Size: 885.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11deb47d07c7e0b206f393ebbcbbf8244695ff337152a942c03d1726614452a0
|
|
| MD5 |
d00116279f105fa68af4c4d717a1bd67
|
|
| BLAKE2b-256 |
9ae516f4e9e99ed8e0116212a38c0ce2d35376c8b672d09c5e4411ecdbace3ed
|
File details
Details for the file iris_vector_graph-1.2.0-py3-none-any.whl.
File metadata
- Download URL: iris_vector_graph-1.2.0-py3-none-any.whl
- Upload date:
- Size: 256.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ab62c2817001fa77cdc76587e2cddcc4a5e8dde70f071ac71a8fbbb81b6ebe2
|
|
| MD5 |
3ae31d53a11505dcb5dc7e963e35262a
|
|
| BLAKE2b-256 |
d9eed443413fff774a6c09cd15236ae799a303dfe293de80e9cb01f9f4603ee4
|