У меня есть набор данных, в котором каждая запись является переносом из одного местоположения в другое.
TransferID,ObjectID,DestinationObjectID
1,A,B
2,B,C
3,D,C
4,C,E
5,F,G
Я хочу создать график, который затем будет возвращать все уникальные деревья переноса.Таким образом, объекты A, B, C, D, E будут в одном дереве, а объекты F, G будут в отдельном дереве.Обратите внимание, что DestinationObjectID может быть ObjectID, но не всегда.
У меня более 600 000 транспорта и 900 000 объектов.На небольшом примере я пробовал следующее:
USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM
'file:///file.csv' AS line
MERGE (object:Object {name: line.ObjectID})
MERGE (destination:Object {name: line.DestinationObjectID})
CREATE (object)-[transfer:Transfer {transfer_id: line.TransferID}]->(destination)
Кажется, это работает, но очень медленно на полном наборе данных.Я еще не применял никаких ограничений или индексов.Должен отметить, что единственным уникальным полем является TransferID.
Должен ли я переформатировать данные перед загрузкой?Попробуйте какое-нибудь ограничение или индекс?Сначала загрузить уникальные объекты, а затем построить отношения между ними?