From cb380e51e9e45d44666ce882e5173881920bb2d5 Mon Sep 17 00:00:00 2001 From: Boris Arzentar Date: Sat, 22 Nov 2025 13:09:31 +0100 Subject: [PATCH] fix: add attributes to edges --- .../84e5d08260d6_replace_graph_ledger_table_with_nodes_.py | 3 ++- cognee/modules/graph/methods/upsert_nodes.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/alembic/versions/84e5d08260d6_replace_graph_ledger_table_with_nodes_.py b/alembic/versions/84e5d08260d6_replace_graph_ledger_table_with_nodes_.py index a1ab191e6..0604ad40a 100644 --- a/alembic/versions/84e5d08260d6_replace_graph_ledger_table_with_nodes_.py +++ b/alembic/versions/84e5d08260d6_replace_graph_ledger_table_with_nodes_.py @@ -36,6 +36,7 @@ def upgrade() -> None: sa.Column("dataset_id", sa.UUID, index=True), sa.Column("label", sa.String()), sa.Column("type", sa.String(), nullable=False), + sa.Column("attributes", sa.JSON()), sa.Column("indexed_fields", sa.JSON(), nullable=False), sa.Column( "created_at", sa.DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) @@ -54,7 +55,7 @@ def upgrade() -> None: sa.Column("destination_node_id", sa.UUID, nullable=False), sa.Column("label", sa.Text()), sa.Column("relationship_name", sa.Text(), nullable=False), - sa.Column("props", sa.JSON()), + sa.Column("attributes", sa.JSON()), sa.Column( "created_at", sa.DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) ), diff --git a/cognee/modules/graph/methods/upsert_nodes.py b/cognee/modules/graph/methods/upsert_nodes.py index eca5eaf43..f50897b0b 100644 --- a/cognee/modules/graph/methods/upsert_nodes.py +++ b/cognee/modules/graph/methods/upsert_nodes.py @@ -1,5 +1,6 @@ from typing import List from uuid import NAMESPACE_OID, UUID, uuid5 +from fastapi.encoders import jsonable_encoder from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy.dialects.postgresql import insert @@ -44,6 +45,7 @@ async def upsert_nodes( "type": node.type, "indexed_fields": DataPoint.get_embeddable_property_names(node), "label": getattr(node, "label", getattr(node, "name", str(node.id))), + "attributes": jsonable_encoder(node), } for node in nodes ]