Вы получаете сообщение об ошибке, потому что вы используете WHERE
с предложением MERGE
. WHERE
нельзя использовать с MERGE
.
Вы можете изменить свой запрос, чтобы удалить синтаксическую ошибку следующим образом:
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///DOL_data_whd_whisard_reduced.csv" AS row
WITH row
WHERE NOT row.st_cd IS NULL AND NOT row.zip_cd IS NULL
MERGE (state_code:State_Code {code: row.st_cd})
MERGE (zip_code:Zip_Code {code: row.zip_cd, type:'location'})
MERGE (zip_code)-[:located_in]->(state_code)
Примечание:
- Эта запись будет пропущена, если один из
st_cd
или zip_cd
равен NULL.
- Не рекомендуется использовать более одного
MERGE
в одном запросе, рассмотрите написание 3 отдельных запросов для этого.
Рекомендуемый метод:
Коды состояний загрузки:
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///DOL_data_whd_whisard_reduced.csv" AS row
WITH row
WHERE NOT row.st_cd IS NULL
MERGE (state_code:State_Code {code: row.st_cd})
Почтовые индексы загрузки:
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///DOL_data_whd_whisard_reduced.csv" AS row
WITH row
WHERE NOT row.zip_cd IS NULL
MERGE (zip_code:Zip_Code {code: row.zip_cd, type:'location'})
Создание связей State-Zip:
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///DOL_data_whd_whisard_reduced.csv" AS row
WITH row
WHERE NOT row.st_cd IS NULL AND NOT row.zip_cd IS NULL
MATCH (state_code:State_Code {code: row.st_cd})
MATCH (zip_code:Zip_Code {code: row.zip_cd, type:'location'})
MERGE (zip_code)-[:located_in]->(state_code)