Skip to main content

LangChain integration for CoordiNode — GraphStore backed by graph + vector + full-text

Project description

langchain-coordinode

PyPI Python License CI

LangChain integration for CoordiNodeGraphStore implementation and GraphCypherQAChain support for GraphRAG pipelines.

Installation

pip install langchain-coordinode
uv add langchain-coordinode

Requirements

  • Python 3.11+
  • Running CoordiNode instance

Quick Start

GraphCypherQAChain — Question Answering over a Knowledge Graph

from langchain_coordinode import CoordinodeGraph
from langchain.chains import GraphCypherQAChain
from langchain_openai import ChatOpenAI

# Connect to CoordiNode
graph = CoordinodeGraph("localhost:7080")

# Build a QA chain that generates and executes Cypher queries
chain = GraphCypherQAChain.from_llm(
    ChatOpenAI(model="gpt-4o-mini"),
    graph=graph,
    verbose=True,
)

result = chain.invoke({"query": "What concepts are related to attention mechanisms?"})
print(result["result"])

Schema Inspection

from langchain_coordinode import CoordinodeGraph

graph = CoordinodeGraph("localhost:7080")

# Refresh schema from database
graph.refresh_schema()

# Schema string used by the LLM to generate Cypher
print(graph.schema)
# Node properties: Person (name: String, age: Integer), Concept (name: String) ...
# Relationships: (Person)-[:KNOWS]->(Person), (Document)-[:ABOUT]->(Concept) ...

Direct Cypher Queries

from langchain_coordinode import CoordinodeGraph

graph = CoordinodeGraph("localhost:7080")

# Returns List[Dict[str, Any]]
result = graph.query(
    "MATCH (n:Person)-[:KNOWS]->(m) WHERE n.name = $name RETURN m.name AS colleague",
    params={"name": "Alice"},
)
for row in result:
    print(row["colleague"])

LLMGraphTransformer — Extract Knowledge from Text

from langchain_community.graphs.graph_document import GraphDocument
from langchain_openai import ChatOpenAI
from langchain_experimental.graph_transformers import LLMGraphTransformer
from langchain_coordinode import CoordinodeGraph
from langchain_core.documents import Document

graph = CoordinodeGraph("localhost:7080")
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)

transformer = LLMGraphTransformer(llm=llm)

docs = [Document(page_content="Alice knows Bob. Bob works at Acme Corp.")]
graph_docs = transformer.convert_to_graph_documents(docs)

# Store extracted entities and relationships
graph.add_graph_documents(graph_docs)

Connection Options

# host:port string
graph = CoordinodeGraph("localhost:7080")

# TLS
graph = CoordinodeGraph("db.example.com:7443", tls=True)

# Custom timeout
graph = CoordinodeGraph("localhost:7080", timeout=60.0)

API Reference

CoordinodeGraph

Method Description
query(query, params) Execute Cypher, returns List[Dict[str, Any]]
refresh_schema() Reload node/relationship schema from database
add_graph_documents(docs) Batch MERGE nodes + relationships from GraphDocument list
keyword_search(query, k, label, fuzzy, language) Full-text BM25 search — returns [{"id", "score", "snippet"}, …]
similarity_search(query_vector, k, label, property) Vector nearest-neighbour search — returns [{"id", "node", "distance"}, …]
schema Schema string for LLM context
structured_schema Structured schema dict for programmatic access

Related Packages

Package Description
coordinode Core gRPC client
llama-index-graph-stores-coordinode LlamaIndex PropertyGraphStore

Links

Support

USDT TRC-20

USDT (TRC-20): TFDsezHa1cBkoeZT5q2T49Wp66K8t2DmdA

GitHub Sponsors · Open Collective

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langchain_coordinode-1.0.6.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langchain_coordinode-1.0.6-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file langchain_coordinode-1.0.6.tar.gz.

File metadata

  • Download URL: langchain_coordinode-1.0.6.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for langchain_coordinode-1.0.6.tar.gz
Algorithm Hash digest
SHA256 89683d24d6a8d97f7149994d40b478181bfaccedd580e802b7227cb363db8995
MD5 9ce61cb3862b96a48783e74f316e8cbc
BLAKE2b-256 06805061974ef85e0a5fca58659ee95c1c38e1d5a124a58b1ad9138a850d7cc9

See more details on using hashes here.

Provenance

The following attestation bundles were made for langchain_coordinode-1.0.6.tar.gz:

Publisher: release.yml on structured-world/coordinode-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file langchain_coordinode-1.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_coordinode-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 15d78972fc15d16a93f7404bfa5f548287c460a3282132522bebbfcce736d0e6
MD5 a200a6050f4c164e4146446c83b8ef64
BLAKE2b-256 374bff789860769c385fb2db397fe8e81a23853aed79f9051ec94ee3b4f5ce8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for langchain_coordinode-1.0.6-py3-none-any.whl:

Publisher: release.yml on structured-world/coordinode-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page