llama-index-graph-stores-coordinode
LlamaIndex PropertyGraphStore backed by CoordiNode — graph + vector + full-text in a single transactional engine.
Installation
pip install llama-index-graph-stores-coordinode
uv add llama-index-graph-stores-coordinode
Requirements
- Python 3.11+
- Running CoordiNode instance
Quick Start
PropertyGraphIndex — Build from Documents
from llama_index.core import PropertyGraphIndex, SimpleDirectoryReader
from llama_index.graph_stores.coordinode import CoordinodePropertyGraphStore
# Connect to CoordiNode
store = CoordinodePropertyGraphStore("localhost:7080")
# Build graph index from documents (auto-extracts entities + relationships)
docs = SimpleDirectoryReader("./data").load_data()
index = PropertyGraphIndex.from_documents(
docs,
property_graph_store=store,
show_progress=True,
)
# Query
engine = index.as_query_engine(include_text=True)
response = engine.query("Explain the attention mechanism in transformers")
print(response)
Load Existing Graph
from llama_index.core import PropertyGraphIndex
from llama_index.graph_stores.coordinode import CoordinodePropertyGraphStore
store = CoordinodePropertyGraphStore("localhost:7080")
# Load from existing data in CoordiNode (no re-extraction)
index = PropertyGraphIndex.from_existing(property_graph_store=store)
engine = index.as_query_engine()
response = engine.query("Who are the key researchers in graph neural networks?")
Vector + Keyword Hybrid Retrieval
from llama_index.core import PropertyGraphIndex
from llama_index.core.indices.property_graph import (
VectorContextRetriever,
LLMSynonymRetriever,
)
from llama_index.graph_stores.coordinode import CoordinodePropertyGraphStore
from llama_index.embeddings.openai import OpenAIEmbedding
store = CoordinodePropertyGraphStore("localhost:7080")
embed_model = OpenAIEmbedding(model="text-embedding-3-small")
index = PropertyGraphIndex.from_existing(
property_graph_store=store,
embed_model=embed_model,
)
# Combine vector similarity + keyword/synonym retrieval
retriever = index.as_retriever(
sub_retrievers=[
VectorContextRetriever(index.property_graph_store, embed_model=embed_model),
LLMSynonymRetriever(index.property_graph_store),
]
)
nodes = retriever.retrieve("graph attention networks")
Manual Node and Relation Upsert
from llama_index.core.graph_stores.types import EntityNode, Relation
from llama_index.graph_stores.coordinode import CoordinodePropertyGraphStore
store = CoordinodePropertyGraphStore("localhost:7080")
# Upsert entities
nodes = [
EntityNode(label="Person", name="Alice", properties={"role": "researcher"}),
EntityNode(label="Concept", name="GraphRAG", properties={"field": "AI"}),
]
store.upsert_nodes(nodes)
# Upsert relationships
relations = [
Relation(
label="RESEARCHES",
source_id="Alice",
target_id="GraphRAG",
properties={"since": 2023},
)
]
store.upsert_relations(relations)
# Query triplets
triplets = store.get_triplets(entity_names=["Alice"])
for subj, rel, obj in triplets:
print(f"{subj.name} -[{rel.label}]-> {obj.name}")
Direct Cypher
from llama_index.graph_stores.coordinode import CoordinodePropertyGraphStore
store = CoordinodePropertyGraphStore("localhost:7080")
result = store.structured_query(
"MATCH (n:Person)-[:KNOWS]->(m) WHERE n.name = $name RETURN m.name AS name",
param_map={"name": "Alice"},
)
Connection Options
# host:port string
store = CoordinodePropertyGraphStore("localhost:7080")
# TLS
store = CoordinodePropertyGraphStore("db.example.com:7443", tls=True)
# Custom timeout
store = CoordinodePropertyGraphStore("localhost:7080", timeout=60.0)
Capabilities
| Feature | Supported |
|---|---|
| Node upsert | ✅ |
| Relation upsert | ✅ |
| Triplet queries | ✅ |
| Relationship map traversal | ✅ |
| Schema inspection | ✅ |
Direct Cypher (structured_query) |
✅ |
| Vector similarity queries | ✅ (server-side HNSW; falls back to empty when the injected client has no vector_search) |
| Async support | via AsyncCoordinodeClient |
Related Packages
| Package | Description |
|---|---|
coordinode |
Core gRPC client |
langchain-coordinode |
LangChain GraphStore + GraphCypherQAChain |
Links
Support
USDT (TRC-20), maintainer's personal wallet: TFDsezHa1cBkoeZT5q2T49Wp66K8t2DmdA
License
Apache-2.0
Metadata
Release files for llama-index-graph-stores-coordinode 4.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llama_index_graph_stores_coordinode-4.0.1.tar.gz | 11.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llama_index_graph_stores_coordinode-4.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.7 kB
Release files / llama_index_graph_stores_coordinode-4.0.1.tar.gz
| Download URL | llama_index_graph_stores_coordinode-4.0.1.tar.gz |
|---|---|
| Size | 11.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d54bedc7b06879bfe603edd13adfe42ebd5bae521f0ac88d47dd679a2d279089
|
|
BLAKE2b-256 checksum How to use checksums |
8488e851de993ba54bec5bf07192fe1c508bdd4ef38fd76eac4fddedf838284f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / llama_index_graph_stores_coordinode-4.0.1-py3-none-any.whl
| Download URL | llama_index_graph_stores_coordinode-4.0.1-py3-none-any.whl |
|---|---|
| Size | 13.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
894c33acf477b5796425e2b191e52774170f07a8d2033d01fba4adf686b431b3
|
|
BLAKE2b-256 checksum How to use checksums |
ff10c8846a92dd2e49c689bd4fd8b367366315474760143a1a83130e0daa9844
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency log