Overview
========
`cognee `_ is an AI-memory framework: you ``add`` data, ``cognify``
it into a knowledge graph plus embeddings, and then ``search`` that memory in many different
ways. **cognee-agensgraph** lets a single
`AgensGraph `_ database back both halves of
that memory — the knowledge graph **and** the vector store.
The package registers two adapters with cognee:
- **Graph adapter** (``AgensgraphAdapter``) — stores entities and relationships as an
AgensGraph property graph, queried with Cypher. Each cognee class is a vertex label of its
own, in lower case, under a common ``__node__`` label; each relationship is an edge label.
- **Vector adapter** (``AgensgraphVectorAdapter``) — stores embeddings using the
`pgvector `_ HNSW index in the same database.
Importing ``cognee_agensgraph`` registers both; you then select them with
``graph_database_provider="agensgraph"`` and ``vector_db_provider="agensgraph"``.
**What you get**
- One AgensGraph database for the graph **and** the embeddings — no second datastore.
- cognee's search modes over the same memory — from graph-grounded answers and
chain-of-thought reasoning to plain vector RAG, raw Cypher, and natural-language → Cypher.
- End-to-end ``add`` → ``cognify`` → ``search`` with the AgensGraph vector adapter.
- Async throughout, on the `agensgraph-python `_
driver. Both adapters share one connection pool when they use the same connection string
(credentials in the URL; a separate username or password gives the graph adapter its own).
- ``query()`` (behind ``SearchType.CYPHER`` and ``NATURAL_LANGUAGE``) is read-only by default.
As a superuser it can still run a program on the database host; see :doc:`usage`.
- Direct graph access via ``get_graph_engine()`` (from
``cognee.infrastructure.databases.graph``) and HTML visualization via
``cognee.visualize_graph()``.
.. note::
**Version 0.3.1.** ``cognee-agensgraph`` is published to PyPI (see :doc:`installation`).
0.3.1 is a documentation release; its code is 0.3.0's. 0.3.0 moved both
adapters onto the ``agensgraph-python`` driver, stores each DataPoint class on its own
label, returns all ten graph metrics, sends embeddings in binary, adds ``bulk_ingest()``
for first loads, and makes ``query()`` read-only by default. It requires cognee 0.2
(``>=0.2.1,<0.3``), AgensGraph 2.17 or later, and Python 3.11 to 3.13. A graph written by
0.2.0 is not readable by 0.3.x; drop it in SQL, reset cognee's metadata, and add and
cognify your data again (see :doc:`installation`).