add delete nodes by group_id (#217)
* add delete nodes by group_id * remove unused imports * bump version
This commit is contained in:
parent
52c590878a
commit
397291de4b
4 changed files with 34 additions and 34 deletions
|
|
@ -103,6 +103,7 @@ class EpisodicEdge(Edge):
|
|||
""",
|
||||
uuid=uuid,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
edges = [get_episodic_edge_from_record(record) for record in records]
|
||||
|
|
@ -126,6 +127,7 @@ class EpisodicEdge(Edge):
|
|||
""",
|
||||
uuids=uuids,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
edges = [get_episodic_edge_from_record(record) for record in records]
|
||||
|
|
@ -149,6 +151,7 @@ class EpisodicEdge(Edge):
|
|||
""",
|
||||
group_ids=group_ids,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
edges = [get_episodic_edge_from_record(record) for record in records]
|
||||
|
|
@ -230,6 +233,7 @@ class EntityEdge(Edge):
|
|||
""",
|
||||
uuid=uuid,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
edges = [get_entity_edge_from_record(record) for record in records]
|
||||
|
|
@ -260,6 +264,7 @@ class EntityEdge(Edge):
|
|||
""",
|
||||
uuids=uuids,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
edges = [get_entity_edge_from_record(record) for record in records]
|
||||
|
|
@ -290,6 +295,7 @@ class EntityEdge(Edge):
|
|||
""",
|
||||
group_ids=group_ids,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
edges = [get_entity_edge_from_record(record) for record in records]
|
||||
|
|
@ -329,6 +335,7 @@ class CommunityEdge(Edge):
|
|||
""",
|
||||
uuid=uuid,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
edges = [get_community_edge_from_record(record) for record in records]
|
||||
|
|
@ -350,6 +357,7 @@ class CommunityEdge(Edge):
|
|||
""",
|
||||
uuids=uuids,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
edges = [get_community_edge_from_record(record) for record in records]
|
||||
|
|
@ -371,6 +379,7 @@ class CommunityEdge(Edge):
|
|||
""",
|
||||
group_ids=group_ids,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
edges = [get_community_edge_from_record(record) for record in records]
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ class Node(BaseModel, ABC):
|
|||
async def delete(self, driver: AsyncDriver):
|
||||
result = await driver.execute_query(
|
||||
"""
|
||||
MATCH (n {uuid: $uuid})
|
||||
MATCH (n:Entity|Episodic|Community {uuid: $uuid})
|
||||
DETACH DELETE n
|
||||
""",
|
||||
uuid=self.uuid,
|
||||
|
|
@ -105,6 +105,19 @@ class Node(BaseModel, ABC):
|
|||
return self.uuid == other.uuid
|
||||
return False
|
||||
|
||||
@classmethod
|
||||
async def delete_by_group_id(cls, driver: AsyncDriver, group_id: str):
|
||||
await driver.execute_query(
|
||||
"""
|
||||
MATCH (n:Entity|Episodic|Community {group_id: $group_id})
|
||||
DETACH DELETE n
|
||||
""",
|
||||
group_id=group_id,
|
||||
database_=DEFAULT_DATABASE,
|
||||
)
|
||||
|
||||
return 'SUCCESS'
|
||||
|
||||
@classmethod
|
||||
async def get_by_uuid(cls, driver: AsyncDriver, uuid: str): ...
|
||||
|
||||
|
|
@ -159,6 +172,7 @@ class EpisodicNode(Node):
|
|||
""",
|
||||
uuid=uuid,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
episodes = [get_episodic_node_from_record(record) for record in records]
|
||||
|
|
@ -185,6 +199,7 @@ class EpisodicNode(Node):
|
|||
""",
|
||||
uuids=uuids,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
episodes = [get_episodic_node_from_record(record) for record in records]
|
||||
|
|
@ -208,6 +223,7 @@ class EpisodicNode(Node):
|
|||
""",
|
||||
group_ids=group_ids,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
episodes = [get_episodic_node_from_record(record) for record in records]
|
||||
|
|
@ -259,6 +275,7 @@ class EntityNode(Node):
|
|||
""",
|
||||
uuid=uuid,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
nodes = [get_entity_node_from_record(record) for record in records]
|
||||
|
|
@ -283,6 +300,7 @@ class EntityNode(Node):
|
|||
""",
|
||||
uuids=uuids,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
nodes = [get_entity_node_from_record(record) for record in records]
|
||||
|
|
@ -304,6 +322,7 @@ class EntityNode(Node):
|
|||
""",
|
||||
group_ids=group_ids,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
nodes = [get_entity_node_from_record(record) for record in records]
|
||||
|
|
@ -355,6 +374,7 @@ class CommunityNode(Node):
|
|||
""",
|
||||
uuid=uuid,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
nodes = [get_community_node_from_record(record) for record in records]
|
||||
|
|
@ -379,6 +399,7 @@ class CommunityNode(Node):
|
|||
""",
|
||||
uuids=uuids,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
communities = [get_community_node_from_record(record) for record in records]
|
||||
|
|
@ -400,6 +421,7 @@ class CommunityNode(Node):
|
|||
""",
|
||||
group_ids=group_ids,
|
||||
database_=DEFAULT_DATABASE,
|
||||
routing_='r',
|
||||
)
|
||||
|
||||
communities = [get_community_node_from_record(record) for record in records]
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[tool.poetry]
|
||||
name = "graphiti-core"
|
||||
version = "0.4.1"
|
||||
version = "0.4.2"
|
||||
description = "A temporal graph building library"
|
||||
authors = [
|
||||
"Paul Paliychuk <paul@getzep.com>",
|
||||
|
|
|
|||
|
|
@ -66,40 +66,9 @@ def setup_logging():
|
|||
async def test_graphiti_init():
|
||||
logger = setup_logging()
|
||||
graphiti = Graphiti(NEO4J_URI, NEO4j_USER, NEO4j_PASSWORD)
|
||||
now = datetime.now(timezone.utc)
|
||||
|
||||
alice_node = EntityNode(
|
||||
name='Alice',
|
||||
labels=[],
|
||||
created_at=now,
|
||||
summary='Alice summary',
|
||||
group_id='test',
|
||||
)
|
||||
|
||||
bob_node = EntityNode(
|
||||
name='Bob',
|
||||
labels=[],
|
||||
created_at=now,
|
||||
summary='Bob summary',
|
||||
group_id='test',
|
||||
)
|
||||
|
||||
entity_edge = EntityEdge(
|
||||
source_node_uuid=alice_node.uuid,
|
||||
target_node_uuid=bob_node.uuid,
|
||||
created_at=now,
|
||||
name='likes',
|
||||
fact='Alice likes Bob',
|
||||
episodes=[],
|
||||
expired_at=now,
|
||||
valid_at=now,
|
||||
group_id='test',
|
||||
)
|
||||
|
||||
await graphiti.add_triplet(alice_node, entity_edge, bob_node)
|
||||
|
||||
results = await graphiti._search(
|
||||
"Emily: I can't log in",
|
||||
'My name is Alice',
|
||||
COMBINED_HYBRID_SEARCH_CROSS_ENCODER,
|
||||
group_ids=['test'],
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue