diff --git a/graphiti_core/graphiti.py b/graphiti_core/graphiti.py index 8c46670d..e27ea9c6 100644 --- a/graphiti_core/graphiti.py +++ b/graphiti_core/graphiti.py @@ -79,7 +79,6 @@ from graphiti_core.utils.maintenance.community_operations import ( update_community, ) from graphiti_core.utils.maintenance.edge_operations import ( - build_duplicate_of_edges, build_episodic_edges, extract_edges, resolve_extracted_edge, @@ -503,7 +502,7 @@ class Graphiti: ) # Extract edges and resolve nodes - (nodes, uuid_map, node_duplicates), extracted_edges = await semaphore_gather( + (nodes, uuid_map, _), extracted_edges = await semaphore_gather( resolve_extracted_nodes( self.clients, extracted_nodes, @@ -540,9 +539,7 @@ class Graphiti: max_coroutines=self.max_coroutines, ) - duplicate_of_edges = build_duplicate_of_edges(episode, now, node_duplicates) - - entity_edges = resolved_edges + invalidated_edges + duplicate_of_edges + entity_edges = resolved_edges + invalidated_edges episodic_edges = build_episodic_edges(nodes, episode.uuid, now) diff --git a/graphiti_core/utils/maintenance/edge_operations.py b/graphiti_core/utils/maintenance/edge_operations.py index 5de8d22a..259c1db3 100644 --- a/graphiti_core/utils/maintenance/edge_operations.py +++ b/graphiti_core/utils/maintenance/edge_operations.py @@ -65,32 +65,6 @@ def build_episodic_edges( return episodic_edges -def build_duplicate_of_edges( - episode: EpisodicNode, - created_at: datetime, - duplicate_nodes: list[tuple[EntityNode, EntityNode]], -) -> list[EntityEdge]: - is_duplicate_of_edges: list[EntityEdge] = [] - for source_node, target_node in duplicate_nodes: - if source_node.uuid == target_node.uuid: - continue - - is_duplicate_of_edges.append( - EntityEdge( - source_node_uuid=source_node.uuid, - target_node_uuid=target_node.uuid, - name='IS_DUPLICATE_OF', - group_id=episode.group_id, - fact=f'{source_node.name} is a duplicate of {target_node.name}', - episodes=[episode.uuid], - created_at=created_at, - valid_at=created_at, - ) - ) - - return is_duplicate_of_edges - - def build_community_edges( entity_nodes: list[EntityNode], community_node: CommunityNode, diff --git a/graphiti_core/utils/maintenance/node_operations.py b/graphiti_core/utils/maintenance/node_operations.py index 55e79b9c..e58d8750 100644 --- a/graphiti_core/utils/maintenance/node_operations.py +++ b/graphiti_core/utils/maintenance/node_operations.py @@ -282,14 +282,6 @@ async def resolve_extracted_nodes( resolved_nodes.append(resolved_node) uuid_map[extracted_node.uuid] = resolved_node.uuid - duplicates: list[int] = resolution.duplicates - if duplicate_idx not in duplicates and duplicate_idx > -1: - duplicates.append(duplicate_idx) - for idx in duplicates: - existing_node = existing_nodes[idx] if idx < len(existing_nodes) else resolved_node - - node_duplicates.append((extracted_node, existing_node)) - logger.debug(f'Resolved nodes: {[(n.name, n.uuid) for n in resolved_nodes]}') new_node_duplicates: list[ diff --git a/pyproject.toml b/pyproject.toml index c6b1bee5..4e1092ec 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "graphiti-core" description = "A temporal graph building library" -version = "0.21.0pre5" +version = "0.21.0pre6" authors = [ { name = "Paul Paliychuk", email = "paul@getzep.com" }, { name = "Preston Rasmussen", email = "preston@getzep.com" }, diff --git a/uv.lock b/uv.lock index 96bc54ae..f2dd7efe 100644 --- a/uv.lock +++ b/uv.lock @@ -783,7 +783,7 @@ wheels = [ [[package]] name = "graphiti-core" -version = "0.21.0rc5" +version = "0.21.0rc6" source = { editable = "." } dependencies = [ { name = "diskcache" },