-
Notifications
You must be signed in to change notification settings - Fork 113
Open
Description
It seems that using elementId
s is not safe outside the scope of a single transaction as per the official Neo4j documentation.
upsert_vectors()
expects an ids
list which is then injected into a Cypher query depending on the entity_type
targeted, for example here for nodes.
Requiring the ids
to be the element IDs means they need to be retrieved in a different session than the one started within upsert_vectors()
from the .execute_query()
call here, which contradicts the official recommendation as those IDs can't be considered stable across sessions/transactions.
Suggested changes:
- support passing a user-created ID to
upsert_vectors()
instead (e.g. a UUID property on nodes/relationships) - and/or support elementId matching in scope of the same session/transaction as underlying upsert query
Let me know if I'm missing something.
stellasia
Metadata
Metadata
Assignees
Labels
No labels