diff --git a/graphiti_core/nodes.py b/graphiti_core/nodes.py index f4f50a0c..4313c4c2 100644 --- a/graphiti_core/nodes.py +++ b/graphiti_core/nodes.py @@ -251,6 +251,31 @@ class EpisodicNode(Node): return episodes + @classmethod + async def get_by_entity_node_uuid(cls, driver: AsyncDriver, entity_node_uuid: str): + records, _, _ = await driver.execute_query( + """ + MATCH (e:Episodic)-[r:MENTIONS]->(n:Entity {uuid: $entity_node_uuid}) + RETURN DISTINCT + e.content AS content, + e.created_at AS created_at, + e.valid_at AS valid_at, + e.uuid AS uuid, + e.name AS name, + e.group_id AS group_id, + e.source_description AS source_description, + e.source AS source, + e.entity_edges AS entity_edges + """, + entity_node_uuid=entity_node_uuid, + database_=DEFAULT_DATABASE, + routing_='r', + ) + + episodes = [get_episodic_node_from_record(record) for record in records] + + return episodes + class EntityNode(Node): name_embedding: list[float] | None = Field(default=None, description='embedding of the name')