Currently I am using Neptune's bulk loader to load data from CSV to Neptune database using Python. I was getting only modified records. So I was only inserting the data.
Now the file contains full/historical records and the requirement is to delete all existing edges for a given record in the CSV file and reload all the edges from CSV file. I was thinking of deleting all edges based on certain property from the DB and then call the Neptune's bulk loader method.
I have multiple (different labels) edges which are loaded from CSV files (kept in a s3 bucket). So I might have to delete multiple edges before I can start loading CSV files.
However if I delete the edges and then CSV bulk load fails, I will have no way to get back the deleted data.
How do I make sure my delete and bulk insert happens within a transaction block? Do we have such option in Neptune? I am using Python Gremlin.