Thanks for answering. The complete error traceback is shown below:
Traceback (most recent call last):00.
File "graphBuilder.py", line 242, in <module>
CorrelationBuilder3(args.r2).build()
File "graphBuilder.py", line 109, in build
self.feeder()
File "graphBuilder.py", line 86, in feeder
results = session.write_transaction(commit_batch, batch)
File "/home/user/anaconda3/envs/builder/lib/python3.6/site-packages/neo4j/__init__.py", line 714, in write_transaction
return self._run_transaction(WRITE_ACCESS, unit_of_work, *args, **kwargs)
File "/home/user/anaconda3/envs/builder/lib/python3.6/site-packages/neo4j/__init__.py", line 686, in _run_transaction
tx.close()
File "/home/user/anaconda3/envs/builder/lib/python3.6/site-packages/neo4j/__init__.py", line 828, in close
self.sync()
File "/home/user/anaconda3/envs/builder/lib/python3.6/site-packages/neo4j/__init__.py", line 793, in sync
self.session.sync()
File "/home/user/anaconda3/envs/builder/lib/python3.6/site-packages/neo4j/__init__.py", line 538, in sync
detail_count, _ = self._connection.sync()
File "/home/user/.local/lib/python3.6/site-packages/neobolt/direct.py", line 531, in sync
detail_delta, summary_delta = self.fetch()
File "/home/user/.local/lib/python3.6/site-packages/neobolt/direct.py", line 422, in fetch
return self._fetch()
File "/home/user/.local/lib/python3.6/site-packages/neobolt/direct.py", line 464, in _fetch
response.on_failure(summary_metadata or {})
File "/home/user/.local/lib/python3.6/site-packages/neobolt/direct.py", line 759, in on_failure
raise CypherError.hydrate(**metadata)
neobolt.exceptions.ConstraintError: Node(41663539) already exists with label `X` and property `Y` = 'ABC'
Failed to write data to connection Address(host='localhost', port=7687) (Address(host='127.0.0.1', port=7687)); ("0; 'Underlying socket connection gone (_ssl.c:2084)'")
Failed to write data to connection Address(host='localhost', port=7687) (Address(host='127.0.0.1', port=7687)); ("0; 'Underlying socket connection gone (_ssl.c:2084)'")
(i altered label and property names)
I tried to import that error but i dont know how exactly.
I also tried the suggestion with a simple except: pass since i am looping anyway. It doesnt break completely but the import simply crashes in every single batch without importing anything while spamming
FIXME: should always disconnect before connect
on stdout.
@Thomas_Silkjaer Even though this might be true, i think it is very very cumbersome to manually manage that no single node one is trying to import is already present in the graph. Especially when we have hundreds of millions of nodes and are still adding more from different sources, this becomes unfeasible. Of course it is possible to manage all the IDs, properties, adjacencies and whatsoever in huge csv files and then just use neo4j admin import, but i dont see the value of a graph database if you have to hold all its contents in massive static tabular formats anyway.
Please correct me if I'm wrong, i am always happy to hear if some things are actually easier than i thought