Я пытаюсь использовать пакетный импортер Neo4j csv для загрузки большого файла csv (~ 20 млн строк). Я застрял в том, как разобрать csv, чтобы использовать импортер. Вот как выглядит csv:
CUSTOMER_NAME,TRANSACTION_DATE,TRANSACTION_NO,TRANSACTION_TYPE,COMPANY_TYPE,COMPANY_NAME,STREETNUM,STREETNAME,CITY,STATE,ZIPCODE
Структура графика следующая - я создавал график в браузере (слишком медленно с таким количеством строк):
MERGE (state:STATE{STATE: {line.STATE}})
MERGE (company:COMPANY{COMPANY_NAME: line.COMPANY_NAME, COMPANY_TYPE: line.COMPANY_TYPE, STREETNUM: line.STREETNUM, STREETNAME: line.STREETNAME})
MERGE (customer:CUSTOMER{CUSTOMER_NAME: line.CUSTOMER_NAME})
MERGE (zipcode:ZIPCODE{ZIPCODE: line.ZIPCODE})
MERGE (customer)-[:TRANSACTION{TRANSACTION_NO: line.TRANSACTION_NO, TRANSACTION_TYPE: line.TRANSACTION_TYPE}]->(company)-[:LOCATION]-(zipcode)
MERGE (state)-[:CITY{CITY: line.STATE}]-(zipcode)
Сколько CSV мне нужно использовать с пакетным импортером? Могу ли я воссоздать эту структуру графа всего с двумя csv (узлами/отношениями)? Если да, то я запутался в структуре этих конкретных CSV. Например:
nodes.csv:
COMPANY:string:COMPANY,l:label,COMPANY:string:COMPANY_NAME,COMPANY:string:COMPANY_TYPE,COMPANY:string:STREETNUM,COMPANY:string:STREETNAME
^ где я могу включить другие узлы?
rels.csv
STATE:string:STATE,ZIPCODE:string:ZIPCODE,CITY,CITY:string:CITY
^как включить полный путь (2+ ссылки) или несколько отношений?